/* PR Lab — editorial design system (self-contained, theme-aware) */
:root{
  --pr-paper:#f7f5f0; --pr-card:#ffffff; --pr-ink:#181a1f; --pr-ink2:#4c525e; --pr-line:#e4e0d6;
  --pr-accent:#df4b2e; --pr-accent-ink:#b83518; --pr-gold:#c08a2d; --pr-good:#1f8a4c; --pr-soft:#efece4;
  --pr-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --pr-serif:"Iowan Old Style","Palatino Linotype",Georgia,"Times New Roman",serif;
  --pr-sans:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
@media(prefers-color-scheme:dark){:root{
  --pr-paper:#14151a; --pr-card:#1b1d24; --pr-ink:#eef1f6; --pr-ink2:#9aa2b1; --pr-line:#2a2d36;
  --pr-accent:#f2694d; --pr-accent-ink:#f2694d; --pr-soft:#22242c;
}}
:root[data-theme="dark"]{--pr-paper:#14151a;--pr-card:#1b1d24;--pr-ink:#eef1f6;--pr-ink2:#9aa2b1;--pr-line:#2a2d36;--pr-accent:#f2694d;--pr-accent-ink:#f2694d;--pr-soft:#22242c;}
:root[data-theme="light"]{--pr-paper:#f7f5f0;--pr-card:#ffffff;--pr-ink:#181a1f;--pr-ink2:#4c525e;--pr-line:#e4e0d6;--pr-accent:#df4b2e;--pr-accent-ink:#b83518;--pr-soft:#efece4;}
*{box-sizing:border-box}
body.prlab{margin:0;background:var(--pr-paper);color:var(--pr-ink);font-family:var(--pr-sans);line-height:1.5;-webkit-font-smoothing:antialiased}
.prwrap{max-width:1120px;margin:0 auto;padding:0 22px}
a{color:inherit}
.pr-top{border-bottom:1px solid var(--pr-line);background:var(--pr-card)}
.pr-top .prwrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}
.pr-logo{font-family:var(--pr-serif);font-weight:700;font-size:1.35rem;letter-spacing:-.01em;text-decoration:none;display:flex;align-items:center;gap:9px}
.pr-logo .dot{width:11px;height:11px;border-radius:2px;background:var(--pr-accent);display:inline-block;transform:rotate(45deg)}
.pr-top nav{display:flex;gap:20px;font-size:.9rem;font-weight:600}
.pr-top nav a{text-decoration:none;color:var(--pr-ink2)}.pr-top nav a:hover{color:var(--pr-accent)}
.eyebrow{font-family:var(--pr-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pr-accent-ink);font-weight:600}
h1.pr-h{font-family:var(--pr-serif);font-weight:700;font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.05;letter-spacing:-.02em;margin:.3em 0;text-wrap:balance}
h2.pr-h{font-family:var(--pr-serif);font-weight:700;font-size:1.7rem;letter-spacing:-.01em;margin:0 0 .4em}
.lead{font-size:1.12rem;color:var(--pr-ink2);max-width:60ch}
.hero{padding:64px 0 40px}
.brandbar{display:flex;gap:10px;margin-top:26px;max-width:640px}
.brandbar input{flex:1;font-size:1.05rem;padding:15px 18px;border:2px solid var(--pr-ink);border-radius:12px;background:var(--pr-card);color:var(--pr-ink);font-family:var(--pr-sans)}
.brandbar input:focus{outline:none;border-color:var(--pr-accent)}
.btn{background:var(--pr-accent);color:#fff;border:none;border-radius:11px;padding:14px 22px;font-weight:700;font-size:.98rem;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn:hover{background:var(--pr-accent-ink)}.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--pr-ink);border:1.5px solid var(--pr-line)}
.btn.sm{padding:9px 14px;font-size:.85rem;border-radius:9px}
.mono{font-family:var(--pr-mono)}
.muted{color:var(--pr-ink2)}.small{font-size:.86rem}
.grid{display:grid;gap:16px}
.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:26px 0}
.kpi{background:var(--pr-card);border:1px solid var(--pr-line);border-radius:14px;padding:16px 18px}
.kpi .n{font-family:var(--pr-mono);font-size:1.9rem;font-weight:600;letter-spacing:-.02em;line-height:1}
.kpi .l{font-size:.8rem;color:var(--pr-ink2);margin-top:7px;text-transform:uppercase;letter-spacing:.06em}
.est{font-family:var(--pr-mono);font-size:.62rem;background:var(--pr-soft);color:var(--pr-ink2);padding:2px 6px;border-radius:5px;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;margin-left:6px}
.tools{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:14px 0 60px}
.tool{background:var(--pr-card);border:1px solid var(--pr-line);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit;transition:border-color .12s,transform .12s;position:relative}
.tool:hover{border-color:var(--pr-accent);transform:translateY(-2px)}
.tool .ic{font-size:1.6rem;width:46px;height:46px;display:grid;place-items:center;background:var(--pr-soft);border-radius:12px}
.tool h3{font-family:var(--pr-serif);font-size:1.22rem;margin:6px 0 0}
.tool p{font-size:.9rem;color:var(--pr-ink2);margin:0;flex:1}
.tool .go{font-weight:700;color:var(--pr-accent);font-size:.88rem;margin-top:6px}
.badge{position:absolute;top:16px;right:16px;font-family:var(--pr-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:20px;font-weight:600}
.badge.soon{background:var(--pr-soft);color:var(--pr-ink2)}
.badge.free{background:rgba(31,138,76,.14);color:var(--pr-good)}
.badge.beta{background:rgba(223,75,46,.14);color:var(--pr-accent-ink)}
.badge.pro{background:rgba(192,138,45,.16);color:var(--pr-gold)}
.tool.soon{opacity:.66}.tool.soon:hover{transform:none;border-color:var(--pr-line)}
.card{background:var(--pr-card);border:1px solid var(--pr-line);border-radius:16px;padding:24px}
.section{padding:10px 0}
.field label{display:block;font-weight:600;font-size:.86rem;margin:0 0 6px}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1px solid var(--pr-line);border-radius:10px;background:var(--pr-paper);color:var(--pr-ink);font:inherit;font-size:.98rem}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--pr-accent)}
.field{margin-bottom:16px}
.row{display:flex;gap:14px;flex-wrap:wrap}.row>*{flex:1;min-width:180px}
.result-big{font-family:var(--pr-mono);font-size:3rem;font-weight:600;letter-spacing:-.03em;color:var(--pr-accent);line-height:1}
table.pr-tbl{width:100%;border-collapse:collapse;font-size:.9rem}
table.pr-tbl th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--pr-ink2);border-bottom:2px solid var(--pr-line);padding:9px 10px}
table.pr-tbl td{border-bottom:1px solid var(--pr-line);padding:9px 10px;vertical-align:top}
table.pr-tbl tr:hover td{background:var(--pr-soft)}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.empty{text-align:center;padding:40px 20px;color:var(--pr-ink2)}
.empty .big{font-size:2.4rem;opacity:.5}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{font-size:.78rem;background:var(--pr-soft);border-radius:20px;padding:5px 12px;color:var(--pr-ink2)}
.notice{background:var(--pr-soft);border-left:3px solid var(--pr-gold);border-radius:8px;padding:12px 16px;font-size:.88rem;color:var(--pr-ink2);margin:16px 0}
.toolhead{border-bottom:1px solid var(--pr-line);padding:26px 0 20px;margin-bottom:24px}
.toolhead .back{font-size:.85rem;color:var(--pr-ink2);text-decoration:none;font-weight:600}
.toolhead .back:hover{color:var(--pr-accent)}
.pr-foot{border-top:1px solid var(--pr-line);padding:26px 0;color:var(--pr-ink2);font-size:.85rem;margin-top:40px}
.pr-foot a{color:var(--pr-ink2)}
@media(max-width:640px){.pr-top nav{display:none}.hero{padding:40px 0 24px}}
