:root{--bg:#eef1f2;--surface:#ffffff;--ink:#1b2328;--muted:#5d6a71;--line:#d3dadd;--accent:#c9521a;--accent-soft:#f6e3d8;--tube:#2f4a57;--good:#2e7d4f;--good-soft:#dcefe3;--warn:#a8680c;--warn-soft:#f7ead2;--bad:#b3261e;--bad-soft:#f6dcda;--f-display:"Saira Condensed","Arial Narrow",sans-serif;--f-body:"Source Sans 3","Segoe UI",system-ui,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,Menlo,monospace}@media (prefers-color-scheme:dark){:root{--bg:#12181b;--surface:#1a2226;--ink:#e4eaec;--muted:#93a2a9;--line:#2d393e;--accent:#ef7a42;--accent-soft:#3a251b;--tube:#8fb3c2;--good:#5cc28a;--good-soft:#1d3326;--warn:#e0a548;--warn-soft:#3a2d15;--bad:#f08a80;--bad-soft:#3d1f1c;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.5}a{color:var(--accent)}h1,h2,h3{text-wrap:balance}h1{font-family:var(--f-display);font-weight:700;font-size:2rem;line-height:1.05;margin:0;text-transform:uppercase;letter-spacing:.01em}h2{font-size:1.05rem;letter-spacing:.08em;margin:0 0 12px;color:var(--muted)}h2,h3{font-family:var(--f-display);font-weight:600;text-transform:uppercase}h3{font-size:1.2rem;margin:0;letter-spacing:.03em}.wrap{max-width:1180px;margin:0 auto;padding:24px 16px 56px}.topbar{background:var(--ink);color:var(--surface)}.topbar .inner{max-width:1180px;margin:0 auto;padding:10px 16px;display:flex;gap:8px 20px;align-items:center;flex-wrap:wrap}.brand{font-family:var(--f-display);font-weight:700;font-size:1.35rem;text-transform:uppercase;color:var(--surface);text-decoration:none;margin-right:auto}.brand span{color:var(--accent)}.topbar nav{display:flex;gap:4px;flex-wrap:wrap}.topbar nav a{color:var(--surface);text-decoration:none;padding:6px 10px;border-radius:4px;font-weight:500;opacity:.85}.topbar nav a:hover,.topbar nav a[aria-current=page]{opacity:1;background:rgba(255,255,255,.1)}.topbar form button{background:transparent;color:var(--surface);border-color:rgba(255,255,255,.3)}@media (prefers-color-scheme:dark){.topbar{background:#0b1013}.brand,.topbar,.topbar form button,.topbar nav a{color:var(--ink)}}.pagehead{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:10px;margin-bottom:20px}.sub{color:var(--muted);margin:0;max-width:62ch}.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:18px;min-width:0}.stack{display:grid;grid-gap:20px;gap:20px}.grid2{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}@media (max-width:880px){.grid2{grid-template-columns:minmax(0,1fr)}}label{font-weight:500}.field{display:grid;grid-template-columns:minmax(0,1fr) 26px 110px;grid-gap:8px;gap:8px;align-items:center}.field .hint,.lab i{display:block;font-style:normal;font-weight:400;color:var(--muted);font-size:.82rem;line-height:1.3}.inp{position:relative}.inp input{padding-right:36px;font-family:var(--f-mono);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inp .u{position:absolute;right:9px;top:50%;transform:translateY(-50%);color:var(--muted);font:12px var(--f-mono);pointer-events:none}input,select,textarea{width:100%;font:500 15px var(--f-body);padding:7px 9px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--ink)}input::placeholder{color:var(--muted);font-weight:400}textarea{min-height:70px;resize:vertical}fieldset{border:0;padding:0;margin:0 0 18px;display:grid;grid-gap:10px;gap:10px;min-width:0}legend{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem;margin-bottom:8px;display:flex;gap:8px;align-items:center}legend small{font-family:var(--f-body);text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400;font-size:.85rem}.form-row{display:grid;grid-gap:4px;gap:4px}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,170px),1fr));grid-gap:12px;gap:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn,button{font:600 14px var(--f-body);padding:8px 14px;border-radius:4px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.btn:hover,button:hover{border-color:var(--ink)}button:disabled{opacity:.5;cursor:default}.btn-main{background:var(--ink);color:var(--surface);border-color:var(--ink)}.btn-main:hover{background:var(--accent);border-color:var(--accent)}.btn-danger{color:var(--bad)}.btn-sm{padding:4px 10px;font-size:13px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.q{width:26px;height:26px;padding:0;justify-content:center;border-radius:50%;font:600 13px var(--f-mono);color:var(--accent);border-color:var(--accent-soft);background:var(--accent-soft)}.seg{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:4px;overflow:hidden}.seg input{position:absolute;opacity:0;pointer-events:none;width:auto}.seg label{text-align:center;padding:8px 4px;cursor:pointer;border-right:1px solid var(--line);background:var(--bg)}.seg label:last-of-type{border-right:0}.seg input:checked+label{background:var(--ink);color:var(--surface)}.seg input:focus-visible+label{outline:2px solid var(--accent);outline-offset:-2px}.status{font-size:.88rem;color:var(--muted)}.err,.status.err{color:var(--bad)}.status.ok{color:var(--good)}.warn-text{color:var(--accent);font-size:.88rem;margin:0}.muted{color:var(--muted)}.sample{display:inline-block;font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.08em;background:var(--accent-soft);color:var(--accent);padding:3px 7px;border-radius:3px}.results{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}.r,.results{display:grid}.r{background:var(--surface);padding:14px 16px;grid-gap:4px;gap:4px;align-content:start;min-width:0}.r .k{font-family:var(--f-display);text-transform:uppercase;letter-spacing:.07em;font-size:.85rem;color:var(--muted)}.r .v{font:600 1.6rem var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.15}.r .v small{font-size:.8rem;font-weight:400;margin-left:3px}.r .n,.r .v small{color:var(--muted)}.r .n{font-size:.84rem;line-height:1.35}.fig{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px;overflow-x:auto}.fig svg{display:block;width:100%;min-width:520px;height:auto}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.94rem}th{text-align:left;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:.82rem;color:var(--muted);padding:8px 10px;border-bottom:2px solid var(--line);white-space:nowrap}td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}td.num,th.num{text-align:right;font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}tr.sel td{background:var(--accent-soft)}.pill{display:inline-block;font:600 11px var(--f-mono);text-transform:uppercase;letter-spacing:.05em;padding:3px 7px;border-radius:3px;white-space:nowrap}.pill.good,.pill.ok{background:var(--good-soft);color:var(--good)}.pill.ok{opacity:.8}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.ctable{display:grid;border-top:1px solid var(--line)}.crow{display:grid;grid-template-columns:minmax(0,1fr) 110px 150px;grid-gap:12px;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}.crow.calc{background:linear-gradient(90deg,var(--accent-soft),transparent 70%);padding-left:10px;margin-left:-10px}.crow .lab b{font-weight:600;display:block}.crow .out{font:600 1.15rem var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.crow .out small{font-size:.75rem;color:var(--muted);font-weight:400;margin-left:2px}.badge{display:block;font:600 10px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.badge.you{color:var(--ink)}.badge.rec{color:var(--muted)}.badge.calc{color:var(--accent)}@media (max-width:520px){.crow{grid-template-columns:minmax(0,1fr) 100px}.crow .out{grid-column:1/-1;text-align:left}}ul.plain{margin:0;padding-left:18px;display:grid;grid-gap:6px;gap:6px}ul.plain li.bad{color:var(--accent)}dialog{border:1px solid var(--line);border-radius:8px;padding:0;max-width:min(560px,calc(100vw - 32px));background:var(--surface);color:var(--ink)}dialog::-webkit-backdrop{background:rgba(10,15,18,.55)}dialog::backdrop{background:rgba(10,15,18,.55)}.card{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:14px;gap:14px;padding:16px}.card svg{width:120px;height:auto;display:block}.card .tag{font:12px var(--f-mono);color:var(--accent);margin:2px 0 8px}.card ol{margin:0;padding-left:18px;display:grid;grid-gap:4px;gap:4px;font-size:.92rem}.card .tip{margin:8px 0 0;font-size:.84rem;color:var(--muted);border-top:1px dashed var(--line);padding-top:6px}.dlg-foot{display:flex;justify-content:flex-end;padding:0 16px 16px}@media (max-width:440px){.card{grid-template-columns:minmax(0,1fr)}.card svg{margin:0 auto;width:140px}}.auth{max-width:400px;margin:48px auto}.auth .panel{display:grid;grid-gap:14px;gap:14px}.tabs{display:flex;gap:2px;border-bottom:2px solid var(--ink);margin-bottom:18px;flex-wrap:wrap}.tabs button{border:0;border-radius:4px 4px 0 0;background:transparent;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.06em;font-size:1rem;padding:8px 14px;color:var(--muted)}.tabs button[aria-selected=true]{background:var(--ink);color:var(--surface)}@media print{.noprint,.topbar{display:none!important}body{background:#fff}}@media (prefers-reduced-motion:no-preference){.btn,button{transition:background .15s,border-color .15s}}