:root{--navy-900:#0a1420;--navy-800:#0d1b2a;--navy-700:#132437;--navy-600:#1b3047;--line:#223c56;--line-soft:#1a2e44;--text:#e8eef5;--text-dim:#93a8bd;--text-faint:#64798f;--accent:#4cc9f0;--accent-dim:#2d8fb3;--danger:#ef5d5d;--warn:#f2b134;--ok:#5ec98a;--radius:8px;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--sw-support-accent:var(--accent)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--navy-900);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:14px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.app{flex-direction:column;min-height:100%;display:flex}.topbar{background:var(--navy-800);border-bottom:1px solid var(--line);z-index:20;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 20px;display:flex;position:sticky;top:0}.spacer{flex:1}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:650;display:flex}.brand em{color:var(--text-faint);margin-left:6px;font-size:12px;font-style:normal;font-weight:400}.brand-mark{border:1px solid var(--accent-dim);background:linear-gradient(90deg,#bfbfbf 0 14.3%,#bfbf00 14.3% 28.6%,#00bfbf 28.6% 42.9%,#00bf00 42.9% 57.1%,#bf00bf 57.1% 71.4%,#bf0000 71.4% 85.7%,#0000bf 85.7% 100%);border-radius:3px;width:28px;height:18px}.btn{appearance:none;border:1px solid var(--line);background:var(--navy-700);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.btn:hover{border-color:var(--accent-dim)}.btn--quiet{color:var(--text-dim);background:0 0}.layout{flex:1;grid-template-columns:minmax(340px,400px) minmax(0,1fr);align-items:start;gap:20px;padding:20px;display:grid}@media (width<=940px){.layout{grid-template-columns:minmax(0,1fr)}.col--main{order:-1}}.col{flex-direction:column;gap:14px;min-width:0;display:flex}.intro{color:var(--text-dim);margin:0;font-size:12.5px;line-height:1.6}.panel{background:var(--navy-800);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.panel--derived{border-color:var(--accent-dim);box-shadow:0 0 0 1px #4cc9f02e}.panel__head{background:var(--navy-700);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:9px 12px;display:flex}.panel__head h2{letter-spacing:.01em;flex:1;margin:0;font-size:13px;font-weight:650}.panel__body{flex-direction:column;gap:10px;padding:12px;display:flex}.chip{border:1px solid var(--line);color:var(--text-dim);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:11px}.chip--out{border-color:var(--accent-dim);color:var(--accent);background:#4cc9f01a}.chip--btn{cursor:pointer;background:0 0;font-family:inherit}.chip--btn:hover{border-color:var(--accent-dim);color:var(--accent)}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid2--out{border-top:1px dashed var(--line-soft);padding-top:2px}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field__label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-size:11px}.field--out .field__label{color:var(--text-faint)}.field__box{border:1px solid var(--line);background:var(--navy-900);border-radius:6px;align-items:stretch;display:flex;overflow:hidden}.field--out .field__box{background:0 0;border-style:dashed}.field__box:focus-within{border-color:var(--accent)}.input{appearance:none;min-width:0;color:var(--text);font:500 14px/1 var(--mono);background:0 0;border:0;outline:none;flex:1;padding:8px 9px}.input[readonly]{color:var(--accent);cursor:default}.input.bad{color:var(--danger)}.field__suffix{color:var(--text-faint);background:var(--navy-700);border-left:1px solid var(--line-soft);align-items:center;padding:0 8px;font-size:11px;display:flex}.field--out .field__suffix{background:0 0}.field__hint{color:var(--text-faint);font-size:11px}.unit,.preset{appearance:none;color:var(--text-dim);font:inherit;cursor:pointer;background:0 0;border:0;outline:none;padding:0 2px;font-size:11px}.preset{border:1px solid var(--line);background:var(--navy-800);border-radius:6px;max-width:116px;padding:3px 6px}.unit option,.preset option,.preset optgroup{background:var(--navy-800);color:var(--text)}.check{color:var(--text-dim);align-items:center;gap:8px;font-size:12px;display:flex}.check input{accent-color:var(--accent)}.note{color:var(--text-faint);margin:0;font-size:11.5px;line-height:1.55}.note code{font-family:var(--mono);color:var(--text-dim);background:var(--navy-900);border-radius:3px;padding:1px 4px;font-size:11px}.segmented{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.seg{appearance:none;color:var(--text-dim);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:4px 9px;font-size:11px}.seg+.seg{border-left:1px solid var(--line)}.seg.on{background:var(--accent-dim);color:#05131c;font-weight:650}.viz{width:100%;height:auto;max-height:62vh;font-family:var(--mono);display:block}.ratiocard{background:var(--navy-800);border:1px solid var(--accent-dim);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 16px;display:flex}.ratiocard--second{border-color:var(--warn)}.ratiocard__main{flex:220px;min-width:0}.ratiocard__big{font:700 34px/1.1 var(--mono);letter-spacing:-.02em;color:var(--accent)}.ratiocard--second .ratiocard__big{color:var(--warn)}.ratiocard__caption{color:var(--text-dim);margin-top:4px;font-size:12.5px}.ratiocard__note{color:var(--text-faint);margin-top:6px;font-size:12px;line-height:1.5}.dim{color:var(--text-faint)}.stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.ratiocard .stats{flex:2 320px}.stats--wide{background:var(--navy-800);border:1px solid var(--line-soft);border-radius:var(--radius);padding:14px 16px}.stat{min-width:0}.stat__label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10.5px}.stat__value{font:600 17px/1.3 var(--mono);color:var(--text);overflow-wrap:anywhere;margin-top:2px}.stat--accent .stat__value{color:var(--accent)}.stat__sub{color:var(--text-faint);overflow-wrap:anywhere;margin-top:1px;font-size:11.5px}.alert{border-radius:var(--radius);border:1px solid var(--line);background:var(--navy-800);color:var(--text-dim);margin:0;padding:10px 13px;font-size:12.5px;line-height:1.55}.alert--warn{border-color:var(--warn);color:#f6d79a;background:#f2b13414}.alert--error{border-color:var(--danger);color:#f8b4b4;background:#ef5d5d14}
