:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef2f5;--surface:#fff;--surface-2:#f5f8fa;--line:#d6dee5;--line-strong:#b4c1cc;--text:#0c1822;--text-2:#41525f;--text-3:#667886;--accent:#1b4f7a;--accent-soft:#dce9f4;--accent-ink:#fff;--focus:#1b4f7a;--stage-a:#e9f0f6;--stage-b:#bccddb;--risk-low:#1f9d8f;--risk-mid:#e0a33a;--risk-high:#d2444f;--shadow-1:0 1px 2px #0c18220f, 0 14px 32px -18px #0c182238;--font-display:"Instrument Serif", "Iowan Old Style", Georgia, serif;--font-body:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--t-xs:.75rem;--t-s:.8125rem;--t-m:.9375rem;--t-l:1.125rem;--t-xl:1.5rem;--t-2xl:2.25rem;--t-hero:clamp(3rem, 7vw, 5.5rem);--r-s:6px;--r-m:10px;--r-l:18px;--r-pill:999px;--ease:cubic-bezier(.2, .7, .2, 1);--dur:.18s}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#08121b;--surface:#0f1c28;--surface-2:#142434;--line:#1e3142;--line-strong:#2c455b;--text:#e7eef4;--text-2:#a3b4c2;--text-3:#74899c;--accent:#86b8e3;--accent-soft:#12293c;--accent-ink:#06121c;--focus:#86b8e3;--stage-a:#14354f;--stage-b:#040a10;--shadow-1:0 1px 0 #ffffff08 inset, 0 16px 36px -18px #000000b3}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{overflow-x:clip}body{background:var(--bg);color:var(--text);font:400 var(--t-m)/1.55 var(--font-body);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:400;line-height:1.05}p{margin:0}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-s)}.num{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{flex-direction:column;height:100dvh;padding:14px 18px 18px;display:flex}.top{flex:none;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.top-actions{flex:none;align-items:center;gap:10px;display:flex}@media (width<=480px){.shell{padding:10px 14px 14px}.top{flex-wrap:wrap;row-gap:10px}.brand{font-size:var(--t-l)}.top-actions{gap:8px}.top-actions .btn-label{display:none}.top-actions .hist-btn,.top-actions .themebtn{padding:8px 11px}.panel{padding:16px}}.brand{font-family:var(--font-display);font-size:var(--t-xl);letter-spacing:-.01em;align-items:center;gap:10px;display:inline-flex}.brand svg{border-radius:8px}.themebtn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text-2);font-size:var(--t-s);box-shadow:var(--shadow-1);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;gap:8px;padding:8px 14px 8px 10px;display:inline-flex}.themebtn:hover{border-color:var(--line-strong);color:var(--text)}.themebtn svg{width:18px;height:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-l);box-shadow:var(--shadow-1);padding:22px}.hint{color:var(--text-3);font-size:var(--t-s)}.split{flex:1;grid-template-columns:clamp(420px,33vw,560px) minmax(0,1fr);gap:16px;min-height:0;display:grid}.split.assess{grid-template-columns:clamp(460px,42vw,700px) minmax(0,1fr)}.side{flex-direction:column;min-height:0;display:flex}.split-stage{height:100%;min-height:0;position:relative}.split-stage .stage{height:100%;min-height:0}.errs{border:1px solid var(--risk-high);border-radius:var(--r-m);background:color-mix(in srgb, var(--risk-high) 10%, var(--surface));font-size:var(--t-s);margin:8px 0;padding:12px 14px}.errs ul{margin:6px 0 0;padding-left:18px}@media (width<=960px){.shell{height:auto;min-height:100dvh}.split{flex-direction:column;display:flex}.split-stage{flex:none;order:-1;height:46vh;min-height:300px}.side{min-height:0}.panel{padding:18px}}@media (width<=560px){.shell{padding:10px 12px 14px}.split{gap:12px}.split-stage{height:40vh;min-height:260px}.panel{border-radius:var(--r-m);padding:14px}.errs{font-size:var(--t-xs)}}.stage{border-radius:var(--r-l);border:1px solid var(--line);background:radial-gradient(ellipse 70% 60% at 50% 42%, var(--stage-a), var(--stage-b));width:100%;height:100%;min-height:420px;position:relative;overflow:hidden}.stage-canvas{position:absolute;inset:0}.stage canvas{touch-action:none;display:block}.stage-tools{z-index:40;position:absolute;top:12px;right:12px}.stage-btn{background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text-2);font-size:var(--t-s);box-shadow:var(--shadow-1);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;gap:7px;padding:7px 13px 7px 10px;display:inline-flex}.stage-btn:hover{border-color:var(--accent);color:var(--text)}.stage-loading{color:var(--text-2);font-size:var(--t-s);white-space:nowrap}.vlabel{transition:opacity .12s linear}.vlabel button{white-space:nowrap;background:color-mix(in srgb, var(--surface) 84%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text);font-size:var(--t-s);box-shadow:var(--shadow-1);transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease);align-items:center;gap:8px;padding:6px 12px 6px 9px;display:inline-flex}.vlabel button:hover{border-color:var(--accent)}.vlabel button.is-active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 30%, transparent)}.vlabel .dot{border-radius:50%;width:9px;height:9px}.vlabel .code{font-weight:600}.vlabel .val{color:var(--text-2)}.stage-credit{z-index:2;color:var(--text-3);pointer-events:none;font-size:11px;position:absolute;bottom:10px;left:14px}@media (width<=960px){.stage{min-height:0}.stage-tools{top:8px;right:8px}.stage-btn{font-size:var(--t-xs);padding:6px 11px 6px 9px}}@media (width<=560px){.vlabel button{font-size:var(--t-xs);gap:6px;padding:4px 9px 4px 7px}.stage-credit{display:none}}.hist-wrap{flex:none;position:relative}.hist-btn{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--text-2);font-size:var(--t-s);box-shadow:var(--shadow-1);transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;gap:8px;padding:8px 14px 8px 12px;display:inline-flex}.hist-btn:hover{border-color:var(--line-strong);color:var(--text)}.hist-btn .chev{transition:transform var(--dur) var(--ease)}.hist-btn .chev.up{transform:rotate(180deg)}.hist-panel{z-index:100;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-m);width:min(340px,100vw - 32px);max-height:min(60vh,420px);box-shadow:var(--shadow-1);flex-direction:column;gap:4px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto}.hist-empty{color:var(--text-3);font-size:var(--t-s);margin:4px;line-height:1.5}.hist-err{border:1px solid var(--risk-high);border-radius:var(--r-s);background:color-mix(in srgb, var(--risk-high) 10%, var(--surface));color:var(--text);font-size:var(--t-xs);margin:4px;padding:8px 10px}.hist-row{border-radius:var(--r-s);align-items:stretch;gap:2px;display:flex}.hist-row:hover{background:var(--surface-2)}.hist-row.is-active{background:var(--accent-soft)}.hist-main{text-align:left;background:0 0;border:0;flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;padding:8px 10px;display:flex}.hist-when{color:var(--text-3);font-size:var(--t-xs)}.hist-score{color:var(--text-2);font-size:var(--t-s);align-items:center;gap:7px;display:inline-flex}.hist-score i{border-radius:50%;flex:none;width:9px;height:9px}.hist-score strong{color:var(--text);font-weight:600}.hist-cur{font-size:var(--t-xs);color:var(--accent);font-weight:600}.hist-del{border-radius:var(--r-s);width:30px;height:30px;color:var(--text-3);background:0 0;border:1px solid #0000;flex:none;align-self:center;place-items:center;display:inline-grid}.hist-del:hover{border-color:var(--line-strong);color:var(--risk-high)}.hist-foot{border-top:1px solid var(--line);color:var(--text-3);font-size:var(--t-xs);justify-content:space-between;align-items:center;gap:10px;margin-top:4px;padding:8px 10px 4px;display:flex}.hist-foot .danger.armed{color:var(--risk-high);font-weight:600;text-decoration:none}.field{border-bottom:1px solid var(--line);padding:14px 0}.field:last-child{border-bottom:0}.f-head{justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:10px;display:flex}.f-head label{font-size:var(--t-m);min-width:0;font-weight:500}.f-hint{border:1px solid var(--line-strong);width:16px;height:16px;color:var(--text-3);cursor:help;border-radius:50%;place-items:center;margin-left:8px;font-size:10px;display:inline-grid;position:relative}.f-num{flex:none;align-items:baseline;gap:6px;display:inline-flex}.f-num input{text-align:right;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-s);width:84px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;padding:5px 8px;font-weight:600}.f-num input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent);outline:none}.f-num input::-webkit-inner-spin-button{appearance:none}.unit{min-width:42px;color:var(--text-3);font-size:var(--t-xs)}.f-slider{align-items:center;height:24px;display:flex;position:relative}.f-slider input{appearance:none;z-index:1;background:0 0;width:100%;height:24px;margin:0;position:relative}.f-slider input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--line-strong) var(--pct), var(--line) var(--pct));border-radius:4px;height:4px}.f-slider input::-moz-range-track{background:var(--line);border-radius:4px;height:4px}.f-slider input::-moz-range-progress{background:var(--line-strong);border-radius:4px;height:4px}.is-set .f-slider input::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--accent) var(--pct), var(--line) var(--pct))}.is-set .f-slider input::-moz-range-progress{background:var(--accent)}.f-slider input::-webkit-slider-thumb{appearance:none;background:var(--surface);border:2px solid var(--text-3);width:18px;height:18px;box-shadow:var(--shadow-1);transition:transform var(--dur) var(--ease);border-radius:50%;margin-top:-7px}.f-slider input::-moz-range-thumb{background:var(--surface);border:2px solid var(--text-3);border-radius:50%;width:14px;height:14px}.is-set .f-slider input::-webkit-slider-thumb{border-color:var(--accent)}.is-set .f-slider input::-moz-range-thumb{border-color:var(--accent)}.f-slider input:active::-webkit-slider-thumb{transform:scale(1.15)}.f-tick{left:var(--tick);background:var(--line-strong);border-radius:2px;width:2px;height:18px;margin-left:-1px;position:absolute;top:3px}.f-foot{min-height:20px;font-size:var(--t-xs);color:var(--text-3);margin-top:4px}.f-msg{min-width:0}.f-foot button{color:var(--accent);font-size:var(--t-xs);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.f-foot .bad{color:var(--risk-high)}.f-foot .warn{color:color-mix(in srgb, var(--risk-mid) 70%, var(--text))}.f-seg{grid-template-columns:repeat(var(--n), 1fr);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-m);gap:2px;padding:3px;display:grid}.f-seg button{color:var(--text-2);font-size:var(--t-s);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;border-radius:7px;padding:7px 8px}.f-seg button:hover{color:var(--text)}.f-seg button.on{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-1);font-weight:600}.field.is-row{grid-template-columns:1fr 132px;align-items:center;gap:12px;padding:10px 0;display:grid}.field.is-row .f-head{margin:0}.f-note{min-height:2.9em;color:var(--text-2);font-size:var(--t-xs);margin:8px 0 0;line-height:1.45}.field.is-missing .f-head label{color:var(--risk-high)}.field.is-missing .f-seg,.field.is-missing .f-num input{border-color:var(--risk-high);box-shadow:0 0 0 3px color-mix(in srgb, var(--risk-high) 18%, transparent)}.field.is-missing .f-slider{background:color-mix(in srgb, var(--risk-high) 7%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--risk-high) 65%, transparent);border-radius:12px}button.f-hint{color:var(--text-3);font:inherit;vertical-align:1px;transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;padding:0;font-size:10px}button.f-hint:hover,button.f-hint[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.tip-pop{z-index:1000;background:var(--text);color:var(--bg);border-radius:var(--r-m);font:400 var(--t-s)/1.5 var(--font-body);pointer-events:none;animation:tipin .12s var(--ease);padding:10px 12px;position:fixed;box-shadow:0 12px 32px -8px #00000073}.tip-pop.above{transform:translateY(-100%)}@keyframes tipin{0%{opacity:0}to{opacity:1}}.f-ref{background:color-mix(in srgb, var(--risk-low) 26%, transparent);border-radius:6px;height:12px;position:absolute;top:50%;transform:translateY(-50%)}.f-out{z-index:2;pointer-events:none;background:repeating-linear-gradient(90deg, transparent 0 3px, var(--surface) 3px 5px);height:4px;position:absolute;top:50%;transform:translateY(-50%)}.f-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 10px;display:flex}.unit-sw{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);flex:none;padding:2px;display:inline-flex}.f-foot .unit-sw button{border-radius:var(--r-pill);color:var(--text-3);font-size:var(--t-xs);padding:2px 9px;text-decoration:none}.f-foot .unit-sw button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}@media (width<=480px){.f-head{flex-wrap:wrap;row-gap:8px}.f-num input{width:72px}.f-seg{gap:2px}.f-seg button{font-size:var(--t-xs);text-overflow:ellipsis;padding:8px 4px;overflow:hidden}.field.is-row{grid-template-columns:1fr;gap:10px}.f-num{width:100%}.f-num input{flex:1;width:auto;min-width:0}.f-foot{row-gap:8px}}.intake{flex-direction:column;height:100%;min-height:0;display:flex}.stepper{border-bottom:1px solid var(--line);align-items:center;gap:6px;margin-bottom:6px;padding-bottom:14px;display:flex}.steps{scrollbar-width:none;flex:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.steps::-webkit-scrollbar{display:none}.arrow{background:var(--surface-2);border:1px solid var(--line);width:34px;height:34px;color:var(--text-2);transition:all var(--dur) var(--ease);border-radius:50%;flex:none;place-items:center;display:inline-grid}.arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.arrow:disabled{opacity:.35;cursor:default}.steps .bad .mark{background:var(--risk-high);color:#fff}.gaps{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.gaps button{background:var(--surface);border:1px solid var(--risk-high);border-radius:var(--r-pill);color:var(--risk-high);font-size:var(--t-xs);padding:4px 10px}.steps button{border-radius:var(--r-pill);color:var(--text-3);font-size:var(--t-s);white-space:nowrap;transition:all var(--dur) var(--ease);background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:7px 12px 7px 8px;display:inline-flex}.steps button:hover{color:var(--text)}.steps button.cur{background:var(--surface-2);border-color:var(--line);color:var(--text);font-weight:600}.steps .mark{background:var(--line);min-width:20px;height:20px;color:var(--text-2);border-radius:50%;place-items:center;font-size:11px;display:inline-grid}.steps .ok .mark{background:var(--risk-low);color:#fff}.sect{flex:1;padding:4px 6px 12px 0;overflow-y:auto}.sect h2{font-size:var(--t-2xl);margin:14px 0 4px}.derived{color:var(--text-2);font-size:var(--t-s);margin-bottom:4px}.bulk{background:var(--accent-soft);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--accent);font-size:var(--t-s);margin:6px 0 2px;padding:6px 12px}.more{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2);margin-top:16px}.more-btn{width:100%;font-size:var(--t-s);background:0 0;border:0;justify-content:space-between;align-items:center;padding:12px 14px;font-weight:500;display:flex}.more-btn em{color:var(--text-3);margin-left:8px;font-style:normal;font-weight:400}.more-btn svg{transition:transform var(--dur) var(--ease)}.more.open .more-btn svg{transform:rotate(180deg)}.more-body{transition:grid-template-rows .26s var(--ease);grid-template-rows:0fr;display:grid}.more.open .more-body{grid-template-rows:1fr}.more-body>div{padding:0 14px;overflow:hidden}.more.open .more-body>div{padding-bottom:6px}.bar{border-top:1px solid var(--line);padding-top:14px}.prog{background:var(--line);border-radius:4px;height:4px;margin-bottom:22px;position:relative}.prog div{background:var(--accent);height:100%;transition:width .3s var(--ease);border-radius:4px}.prog span{color:var(--text-3);font-size:var(--t-xs);position:absolute;top:10px;left:0}.nav{justify-content:space-between;gap:10px;display:flex}.nav button{border-radius:var(--r-pill);font-weight:600;font-size:var(--t-s);border:1px solid var(--line-strong);background:0 0;padding:11px 22px}.nav .solid{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);margin-left:auto}.nav button:disabled{opacity:.45;cursor:not-allowed}.sub-block{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2);margin-top:22px;padding:14px}.sub-block h3{font-size:var(--t-xl)}.sub-block>p{color:var(--text-2);font-size:var(--t-s);margin:4px 0 2px}.sub-block .field{border-bottom:0}.prog .reset-all{color:var(--text-3);font-size:var(--t-xs);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline;position:absolute;top:4px;right:0}.prog .reset-all:hover:not(:disabled){color:var(--text)}.prog .reset-all.armed{color:var(--risk-high);font-weight:600;text-decoration:none}.prog .reset-all:disabled{opacity:.4;cursor:default;text-decoration:none}@media (width<=560px){.stepper{gap:4px;padding-bottom:10px}.arrow{width:30px;height:30px}.steps button{font-size:var(--t-xs);padding:6px 10px 6px 7px}.sect{padding-right:0}.sect h2{font-size:var(--t-xl);margin-top:10px}.nav{flex-wrap:wrap}.nav button{flex:140px;padding:12px 16px}.sub-block{margin-top:16px;padding:12px}}.res{flex-direction:column;gap:12px;height:100%;min-height:0;display:flex}.res-top{flex:none;justify-content:space-between;align-items:baseline;display:flex}.res-top h2{font-size:var(--t-2xl)}.res-body{flex:1;min-height:0;padding-right:4px;overflow-y:auto}.link{color:var(--accent);font-size:var(--t-s);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.link:disabled{color:var(--text-3);cursor:default;text-decoration:none}.tabs{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);flex:none;gap:4px;padding:4px;display:flex}.tabs button{border-radius:var(--r-pill);min-width:0;color:var(--text-2);font-size:var(--t-s);white-space:nowrap;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;border:0;flex:1;padding:8px 10px}.tabs button:hover{color:var(--text)}.tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1);font-weight:600}.chips{flex-wrap:wrap;flex:none;gap:8px;display:flex}.chip{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--t-s);color:var(--text-2);align-items:center;gap:8px;padding:6px 14px 6px 10px;display:inline-flex}.chip i{border-radius:50%;width:9px;height:9px}.chip.on{border-color:var(--accent);color:var(--text);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent);font-weight:600}.chip:disabled{opacity:.5;cursor:default}.ov{flex-direction:column;gap:12px;display:flex;container-type:inline-size}.status{font-weight:600;font-size:var(--t-m);align-items:center;gap:7px;display:inline-flex}.status i{border-radius:50%;flex:none;width:10px;height:10px}.cut{color:var(--text-3);font-size:var(--t-xs);line-height:1.4}.overall{text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-m);transition:border-color var(--dur) var(--ease);flex-direction:column;align-items:stretch;gap:8px;padding:16px 18px;display:flex}.overall.sel{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.eyebrow{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.overall-name{font-family:var(--font-display);font-size:var(--t-xl);line-height:1.1}.vgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}@container (width<=380px){.vgrid{grid-template-columns:1fr}}.vc{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-m);transition:border-color var(--dur) var(--ease), opacity var(--dur) var(--ease);flex-direction:column;display:flex}.vc.sel{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.vc.off{opacity:.55}.vc-main{text-align:center;background:0 0;border:0;flex-direction:column;flex:1;align-items:stretch;gap:6px;padding:12px 8px 10px;display:flex}.vc-main:disabled{cursor:default}.vc-name{text-align:center;font-weight:600;font-size:var(--t-m);line-height:1.2}.vc-name small{font-weight:400;font-size:var(--t-xs);color:var(--text-3);display:block}.vc-main .status{font-size:var(--t-s);justify-content:center}.vc-main .big,.vc-main .cut{text-align:center}.vc-tools{border-top:1px solid var(--line);justify-content:center;gap:6px;padding:8px;display:flex}.vc-tools button{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-s);color:var(--text-2);font-size:var(--t-xs);place-items:center;padding:5px 10px;display:inline-grid}.vc-tools button[aria-pressed=true]{color:var(--accent)}.vc-tools button:hover{border-color:var(--line-strong)}.res-tools{font-size:var(--t-xs);color:var(--text-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.chk{align-items:center;gap:8px;display:flex}.chk input{accent-color:var(--accent)}.how{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2);font-size:var(--t-s)}.how summary{cursor:pointer;padding:10px 14px;font-weight:500}.how dl{margin:0;padding:0 14px 12px}.how dt{margin-top:8px;font-weight:600}.how dd{color:var(--text-2);margin:2px 0 0;line-height:1.5}.rbar{width:100%;padding-top:4px}.rbar-track{height:12px;position:relative}.rbar-zones{border-radius:6px;display:flex;position:absolute;inset:0;overflow:hidden}.rbar-zones i{opacity:.3;height:100%;display:block}.rbar-zones b{border-radius:6px;position:absolute;top:0;bottom:0;left:0}.rbar-cut{background:var(--text);opacity:.75;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.rbar-scale{height:16px;margin-top:5px;position:relative}.rbar-scale span{white-space:nowrap;font-size:var(--t-xs);color:var(--text-3);position:absolute;transform:translate(-50%)}.big{font-family:var(--font-body);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text);font-size:2.1rem;font-weight:650;line-height:1}.big-row{flex-wrap:wrap;align-items:baseline;gap:6px 14px;display:flex}.overall .big{font-size:2.8rem}.res-actions{flex-wrap:wrap;align-items:center;gap:8px 16px;display:inline-flex}.save-btn{background:var(--accent);border:1px solid var(--accent);border-radius:var(--r-pill);color:var(--accent-ink);font-size:var(--t-s);transition:opacity var(--dur) var(--ease);padding:8px 18px;font-weight:600}.save-btn:hover:not(:disabled){opacity:.88}.save-btn.is-saved,.save-btn:disabled{opacity:.55;cursor:default}.save-btn.is-saved{background:var(--surface-2);border-color:var(--line-strong);color:var(--text-2)}.link.armed{color:var(--risk-high);font-weight:600}.why-sum.lines span{display:block}.why-sum.lines span+span{margin-top:4px}.why h3,.phys h3{font-size:var(--t-xl);margin-bottom:6px}.why-sum{color:var(--text-2);font-size:var(--t-s);margin-bottom:12px;line-height:1.55}.why-sum strong{color:var(--text);font-weight:600}.sh-head,.sh li{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.sh-axis{font-size:var(--t-xs);color:var(--text-3);justify-content:space-between;display:flex}.sh-axis em{font-style:normal}.sh{margin:4px 0 10px;padding:0;list-style:none}.sh li{border-bottom:1px solid var(--line);padding:8px 0}.sh-label{font-size:var(--t-s);flex-direction:column;line-height:1.3;display:flex}.sh-label em{color:var(--text-3);font-style:normal;font-size:var(--t-xs)}.sh-bar{height:14px;display:block;position:relative}.sh-bar .axis{background:var(--line-strong);width:1px;position:absolute;top:-4px;bottom:-4px;left:50%}.sh-bar b{border-radius:3px;height:10px;position:absolute;top:2px}.sh-bar b.up{background:var(--risk-high);left:50%}.sh-bar b.down{background:var(--risk-low);right:50%}.sh-pct{text-align:right;font-size:var(--t-xs);color:var(--text-2)}.fine{font-size:var(--t-xs);color:var(--text-3);margin-top:12px;line-height:1.55}.pr-list{margin:0 0 10px;padding:0;list-style:none}.pr{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:14px;padding:10px 0;display:grid}.pr-main{flex-direction:column;gap:2px;display:flex}.pr-name{font-size:var(--t-s);font-weight:500}.pr-val{font-size:var(--t-l);font-family:var(--font-body);letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-weight:600;line-height:1.15}.pr-ref{font-size:var(--t-xs);color:var(--text-3)}.pr-ref small{font-size:var(--t-xs);display:block}.pr-ref.above,.pr-ref.below{color:var(--text-2);font-weight:500}.est{font-style:normal;font-weight:400;font-size:var(--t-xs);color:var(--text-2);border:1px solid color-mix(in srgb, var(--risk-mid) 60%, var(--line));border-radius:var(--r-pill);background:color-mix(in srgb, var(--risk-mid) 14%, transparent);margin-left:8px;padding:1px 7px}.pr-effect{flex-direction:column;gap:6px;display:flex}.pr-pct{font-size:var(--t-xs);color:var(--text-2);text-align:center}.notice{border:1px solid var(--line);border-radius:var(--r-m);background:var(--surface-2);font-size:var(--t-s);gap:12px;padding:14px;line-height:1.5;display:flex}.notice svg{color:var(--text-3);flex:none;margin-top:1px}.notice strong{margin-bottom:2px;display:block}.notice p{color:var(--text-2);margin:0}.notice details{margin-top:8px}.notice summary{cursor:pointer;color:var(--accent);font-size:var(--t-xs)}.notice .used{font-size:var(--t-xs);margin-top:6px}.notice>div{min-width:0}@media (width<=480px){.res-top{flex-wrap:wrap;gap:4px 12px}.res-top h2{font-size:var(--t-xl)}.res-actions{gap:12px}.save-btn{padding:7px 14px}.tabs{overflow-x:auto}.tabs button{font-size:var(--t-xs);flex:1 0 auto;padding:8px 12px}.overall{padding:14px}.overall .big{font-size:2.2rem}.big{font-size:1.7rem}.overall-name{font-size:var(--t-l)}.chips{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.chip{flex:none}.sh-head,.sh li{grid-template-columns:minmax(0,1fr) 44px}.sh-head span:first-child,.sh-head span:last-child{display:none}.sh-head .sh-axis{grid-column:1/-1}.sh li .sh-bar{order:2;grid-column:1/-1}.sh-pct{grid-area:1/2}.pr{grid-template-columns:1fr;gap:8px}.pr-pct{text-align:left}.res-body{padding-right:0}}@media (width<=560px){.vgrid{grid-template-columns:1fr}}.heartly{z-index:50;flex-direction:column;align-items:flex-end;max-width:calc(100% - 28px);max-height:calc(100% - 64px);display:flex;position:absolute;bottom:14px;right:14px}.h-fab{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text);font-weight:600;font-size:var(--t-s);transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease);align-items:center;gap:10px;padding:6px 18px 6px 6px;display:inline-flex;box-shadow:0 8px 24px #00000038}.h-fab:hover{border-color:var(--accent);transform:translateY(-2px)}.h-fab svg{border-radius:10px;flex:none}.h-panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-l);flex-direction:column;width:min(390px,100%);height:min(560px,100%);min-height:0;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000052}.h-head{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface));flex:none;align-items:center;gap:10px;padding:12px 12px 12px 14px;display:flex}.h-head svg{border-radius:10px;flex:none}.h-title{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.h-title strong{font-family:var(--font-display);font-size:var(--t-xl);font-weight:400}.h-title span{font-size:var(--t-xs);color:var(--text-3)}.h-icon{border-radius:var(--r-s);width:32px;height:32px;color:var(--text-2);background:0 0;border:1px solid #0000;place-items:center;display:inline-grid}.h-icon:hover:not(:disabled){border-color:var(--line-strong);color:var(--text)}.h-icon:disabled{opacity:.35;cursor:default}.h-log{flex-direction:column;flex:1;gap:12px;min-height:0;padding:14px;display:flex;overflow-y:auto}.h-msg{align-items:flex-start;gap:8px;display:flex}.h-msg>svg{border-radius:7px;flex:none;margin-top:2px}.h-msg.me{justify-content:flex-end}.h-bubble{background:var(--surface-2);border:1px solid var(--line);max-width:86%;font-size:var(--t-s);color:var(--text);overflow-wrap:anywhere;border-radius:14px;padding:9px 13px;line-height:1.5}.h-msg.me .h-bubble{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);border-bottom-right-radius:4px}.h-msg.bot .h-bubble{border-top-left-radius:4px}.h-bubble>*{margin:0}.h-bubble>*+*{margin-top:8px}.h-bubble ul,.h-bubble ol{padding-left:20px}.h-bubble li+li{margin-top:3px}.h-bubble code{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:4px;padding:1px 5px;font-size:.92em}.h-bubble .r-head{margin-top:10px}.h-typing{align-items:center;gap:5px;padding:13px 15px;display:inline-flex}.h-typing i{background:var(--text-3);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite h-bounce}.h-typing i:nth-child(2){animation-delay:.15s}.h-typing i:nth-child(3){animation-delay:.3s}@keyframes h-bounce{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.h-typing i{opacity:.7;animation:none}.h-fab{transition:none}}.h-chips{flex-direction:column;align-items:flex-start;gap:7px;padding-left:30px;display:flex}.h-chips button{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--accent);font-size:var(--t-s);text-align:left;padding:7px 13px}.h-chips button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.h-err{border:1px solid var(--risk-high);border-radius:var(--r-m);background:color-mix(in srgb, var(--risk-high) 10%, var(--surface));font-size:var(--t-s);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 12px;display:flex}.h-err button{color:var(--accent);text-underline-offset:3px;font-size:var(--t-s);background:0 0;border:0;padding:0;text-decoration:underline}.h-compose{border-top:1px solid var(--line);flex:none;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.h-compose textarea{resize:none;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-m);min-width:0;max-height:96px;color:var(--text);font:inherit;font-size:var(--t-s);flex:1;padding:9px 12px;line-height:1.4}.h-send{background:var(--accent);border-radius:var(--r-pill);min-width:38px;height:38px;color:var(--accent-ink);font-weight:600;font-size:var(--t-s);border:0;place-items:center;padding:0 14px;display:inline-grid}.h-send:disabled{opacity:.4;cursor:default}.h-setup{font-size:var(--t-s);flex-direction:column;flex:1;gap:12px;padding:16px;line-height:1.5;display:flex;overflow-y:auto}.h-setup p{color:var(--text-2);margin:0}.h-setup strong{color:var(--text)}.h-setup input{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:var(--r-m);color:var(--text);font:inherit;padding:10px 12px}.h-setup-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.h-setup-row a{color:var(--accent)}.h-foot{border-top:1px solid var(--line);font-size:var(--t-xs);color:var(--text-3);flex-wrap:wrap;flex:none;gap:4px 12px;padding:8px 14px 10px;line-height:1.4;display:flex}.h-foot .link{font-size:var(--t-xs);margin-left:auto}@media (width<=960px){.heartly{max-height:calc(100% - 56px)}.h-panel{width:100%}}@media (width<=560px){.heartly{align-items:stretch;max-width:none;bottom:8px;left:8px;right:8px}.h-fab{align-self:flex-end}.h-panel{width:100%;height:min(70vh,480px)}.h-compose textarea{font-size:16px}}
