@font-face{font-family:"Atkinson";src:url(fonts/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson";src:url(fonts/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"JBMono";src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"JBMono";src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}

:root{
  --bg:#e6eeea; --paper:#f8fbf9; --ink:#12261f; --ink-2:#47615a; --rule:#c5d6ce; --rule-2:#dbe7e1;
  --flag:#e5471b; --term:#12261f; --term-ink:#e9f3ee; --term-dim:#8fb0a3;
  --good:#17714a; --good-bg:#dcf2e6; --warn:#8a3a06; --warn-bg:#fdeccf; --bad:#a3200f; --bad-bg:#fde0da;
  --accent:#12261f; --accent-ink:#fff; --focus:#1d5fd1;
  --sans:"Atkinson",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --mono:"JBMono",ui-monospace,Menlo,Consolas,monospace;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0c1512; --paper:#13211c; --ink:#e6f1ec; --ink-2:#9db8ad; --rule:#27403a; --rule-2:#1d312b;
  --flag:#ff7a50; --term:#08100d; --term-ink:#e6f1ec; --term-dim:#7fa396;
  --good:#6fd6a0; --good-bg:#14382a; --warn:#ffcb8a; --warn-bg:#3d2a0e; --bad:#ff9d8c; --bad-bg:#431a14;
  --accent:#ff7a50; --accent-ink:#12100d; --focus:#8bb6ff;
}}
:root[data-theme="dark"]{
  --bg:#0c1512; --paper:#13211c; --ink:#e6f1ec; --ink-2:#9db8ad; --rule:#27403a; --rule-2:#1d312b;
  --flag:#ff7a50; --term:#08100d; --term-ink:#e6f1ec; --term-dim:#7fa396;
  --good:#6fd6a0; --good-bg:#14382a; --warn:#ffcb8a; --warn-bg:#3d2a0e; --bad:#ff9d8c; --bad-bg:#431a14;
  --accent:#ff7a50; --accent-ink:#12100d; --focus:#8bb6ff;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.55 var(--sans);padding-bottom:3rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--paper);padding:.5rem .75rem;z-index:9}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}
[hidden]{display:none!important}
h1{font-size:clamp(1.75rem,6vw,2.6rem);line-height:1.1;margin:0 0 .75rem;letter-spacing:-.02em}
h2{font-size:1.15rem;margin:0}
p{margin:0 0 .75rem}
.muted{color:var(--ink-2)}.small{font-size:.875rem}
.top,main,footer{max-width:48rem;margin-inline:auto;padding-inline:max(1rem,env(safe-area-inset-left))}
.top{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:center;justify-content:space-between;padding-block:1rem .5rem}
.brand{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.1rem}
.mark{width:1.6rem;height:1.6rem}
.privacy{font-size:.85rem;color:var(--ink-2);margin:0;display:flex;align-items:center;gap:.4rem}
.dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--good)}
.intro{padding-block:1.25rem .5rem}
.lede{font-size:1.1rem;color:var(--ink-2);max-width:38rem}

.tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--rule);margin:1rem 0 1.25rem}
.tabs button{font:inherit;font-weight:700;background:none;border:0;border-bottom:4px solid transparent;margin-bottom:-2px;padding:.65rem .9rem;color:var(--ink-2);cursor:pointer;min-height:44px}
.tabs button[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--flag)}

.field-label{display:block;font-weight:700;margin-bottom:.4rem}
.prompt{display:flex;align-items:center;gap:.5rem;background:var(--term);color:var(--term-ink);border-radius:8px;padding:.25rem .5rem .25rem .9rem;border:2px solid var(--term)}
.prompt:focus-within{border-color:var(--flag)}
.ps1{font-family:var(--mono);color:var(--flag);font-weight:600}
.prompt input{flex:1;min-width:0;background:none;border:0;color:inherit;font:400 1.05rem/1.4 var(--mono);padding:.7rem 0;outline:none}
.prompt input::placeholder{color:var(--term-dim)}
.ghost{font:inherit;font-size:.9rem;background:none;border:1px solid var(--rule);color:var(--ink);border-radius:6px;padding:.4rem .75rem;cursor:pointer;min-height:36px}
.prompt .ghost{color:var(--term-ink);border-color:var(--term-dim)}
.primary{font:inherit;font-weight:700;background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;padding:.5rem 1.1rem;cursor:pointer;min-height:44px}
.chips{display:flex;flex-wrap:wrap;gap:.4rem}
#suggest{margin:.25rem 0 .5rem}
.chip{font:400 .9rem var(--mono);background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:999px;padding:.3rem .75rem;cursor:pointer;min-height:36px}
.chip small{font:400 .75rem var(--sans);color:var(--ink-2);margin-left:.4rem}
.chip:hover{border-color:var(--flag)}
.examples{display:flex;flex-wrap:wrap;gap:.4rem .6rem;align-items:center;margin-bottom:1rem}

.alert{border-radius:8px;padding:.85rem 1rem;margin-bottom:.75rem;border-left:6px solid}
.alert h2{font-size:1.05rem;margin-bottom:.15rem}
.alert p{margin:.15rem 0}
.alert .safer{font-weight:700}
.alert.critical,.alert.high{background:var(--bad-bg);border-color:var(--bad);color:var(--ink)}
.alert.medium,.alert.low{background:var(--warn-bg);border-color:var(--warn);color:var(--ink)}
.badge{display:inline-block;font:600 .75rem var(--sans);border-radius:4px;padding:.1rem .45rem;margin-right:.4rem;background:var(--ink);color:var(--paper)}
.clean{background:var(--good-bg);border-left:6px solid var(--good);border-radius:8px;padding:.6rem 1rem;margin-bottom:.75rem}

.summary{font-size:1.1rem;font-weight:700;margin:.25rem 0 .75rem}
.seg{background:var(--paper);border:1px solid var(--rule);border-radius:8px;margin-bottom:.75rem;overflow:hidden}
.seg-op{font-size:.85rem;color:var(--ink-2);margin:.25rem 0 .5rem}
.part{display:grid;grid-template-columns:minmax(6rem,11rem) 1fr;gap:.25rem 1rem;padding:.6rem 1rem;border-top:1px solid var(--rule-2)}
.part:first-child{border-top:0}
.tok{font-family:var(--mono);font-weight:600;overflow-wrap:anywhere}
.kind{display:block;font:400 .75rem var(--sans);color:var(--ink-2)}
.mean{overflow-wrap:anywhere}
.part.unknown{background:var(--warn-bg)}
.part .sub{grid-column:2;font-size:.95rem;color:var(--ink-2)}
.part .sub b{font-family:var(--mono);color:var(--ink)}
.fix{font:inherit;font-weight:700;margin-left:.4rem;background:var(--accent);color:var(--accent-ink);border:0;border-radius:6px;padding:.2rem .7rem;cursor:pointer;min-height:32px}
.problem{color:var(--warn);font-weight:700}
.empty{color:var(--ink-2);padding:1rem 0}
@media (max-width:30rem){.part{grid-template-columns:1fr}.part .sub{grid-column:1}}

select{font:inherit;width:100%;padding:.7rem .6rem;border:2px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink);min-height:44px}
.fields{display:grid;gap:.85rem;margin:1rem 0}
.fields label{font-weight:700;display:block;margin-bottom:.25rem}
.fields input{width:100%;font:400 1rem var(--mono);padding:.65rem .75rem;border:2px solid var(--rule);border-radius:8px;background:var(--paper);color:var(--ink);min-height:44px}
.built{background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:1rem}
.built-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}
.codebox{background:var(--term);color:var(--term-ink);font:400 1rem/1.5 var(--mono);padding:.9rem 1rem;border-radius:8px;margin:0 0 .75rem;white-space:pre-wrap;overflow-wrap:anywhere}
footer{padding-block:2rem 1rem;color:var(--ink-2);font-size:.85rem}
@media (prefers-reduced-motion:no-preference){.chip,.tabs button,.primary{transition:border-color .12s,background .12s}}
