:root,:root[data-theme=dark]{--bg:#0b1220;--panel:#121c30;--panel-2:#18253f;--line:#2a3a5c;--text:#e8eef8;--muted:#a9b8d2;--water:#56b4e9;--water-deep:#0072b2;--ok:#2fc59a;--warn:#e69f00;--bad:#ee7a2a;--accent2:#cc79a7;--yellow:#f0e442;--focus:#f0e442;--btn-text:#fff;--log-bg:#060b16;--log-text:#cfe6ff;--border-w:1px;--radius:10px;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root[data-theme=auto]{--bg:#f3f6fb;--panel:#fff;--panel-2:#eaf0f9;--line:#b7c5de;--text:#0e1b33;--muted:#3d4f72;--water:#005f94;--water-deep:#004f7c;--ok:#006b4c;--warn:#8a5a00;--bad:#a33f00;--accent2:#a8527f;--yellow:#7a6f00;--focus:#0072b2;--log-bg:#0e1b33;--log-text:#dbeaff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f3f6fb;--panel:#fff;--panel-2:#eaf0f9;--line:#b7c5de;--text:#0e1b33;--muted:#3d4f72;--water:#005f94;--water-deep:#004f7c;--ok:#006b4c;--warn:#8a5a00;--bad:#a33f00;--accent2:#a8527f;--yellow:#7a6f00;--focus:#0072b2;--log-bg:#0e1b33;--log-text:#dbeaff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=hc-dark]{--bg:#000;--panel:#000;--panel-2:#1a1a1a;--line:#fff;--text:#fff;--muted:#fff;--water:#66d9ff;--water-deep:#0a4a8a;--ok:#4dffc3;--warn:#ffd23f;--bad:#ff9a4d;--accent2:#ff8ad8;--yellow:#ff0;--focus:#ff0;--btn-text:#fff;--log-bg:#000;--log-text:#fff;--border-w:2px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=hc-light]{--bg:#fff;--panel:#fff;--panel-2:#eee;--line:#000;--text:#000;--muted:#000;--water:#00406e;--water-deep:#00406e;--ok:#005c3d;--warn:#6b4500;--bad:#8a2f00;--accent2:#7a1f55;--yellow:#000;--focus:#00e;--btn-text:#fff;--log-bg:#000;--log-text:#fff;--border-w:2px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme^=hc] a{text-decoration:underline}:root[data-theme^=hc] :focus-visible{outline-width:4px}:root[data-theme^=hc] .chip,:root[data-theme^=hc] .badge{border-width:2px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:1rem/1.5 var(--sans);min-height:100vh;margin:0}h1,h2,h3{margin:0 0 .5em;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.25rem}h3,.h3{font-size:1.05rem}h1.title{margin:0;font-size:1rem}p{margin:0 0 .8em}a{color:var(--water)}code,pre,.mono{font-family:var(--mono)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip{background:var(--focus);color:#000;z-index:100;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip:focus{left:0}.app{max-width:1100px;margin:0 auto;padding:0 16px 48px}header.bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:10px 0;display:flex}header.bar .title{letter-spacing:.02em;flex:1;min-width:160px;font-weight:700}header.bar .title small{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.card{background:var(--panel);border:var(--border-w) solid var(--line);border-radius:var(--radius);margin-bottom:14px;padding:14px 16px}.card.inset{background:var(--panel-2)}.grid{gap:14px;display:grid}@media (min-width:820px){.grid.two{grid-template-columns:1fr 1fr}.grid.sidebar{grid-template-columns:340px 1fr}}.btn{border:var(--border-w) solid var(--line);background:var(--panel-2);min-width:44px;min-height:44px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.4em;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--water)}.btn.primary{background:var(--water-deep);border-color:var(--water);color:var(--btn-text)}.btn[aria-pressed=true],.btn[aria-selected=true]{outline:2px solid var(--water);outline-offset:-2px}.btn.danger{border-color:var(--bad)}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn.small{min-height:36px;padding:4px 10px;font-size:.9rem}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 10px;font-size:.85rem}.chip.on{color:var(--text);border-color:var(--water);background:var(--panel-2);font-weight:700}.chip.done:before{content:"✓ "}.log{font-family:var(--mono);background:var(--log-bg);color:var(--log-text);border:var(--border-w) solid var(--line);border-radius:var(--radius);white-space:pre-wrap;padding:12px 14px;font-size:.9rem}.log .ts{color:#7cc4f0}.log .warn{color:var(--warn)}.log .err{color:#ff9e5e}label.field{gap:4px;margin-bottom:12px;display:grid}label.field .lab{justify-content:space-between;gap:8px;font-weight:600;display:flex}label.field .lab .val{font-family:var(--mono);color:var(--water)}label.field small{color:var(--muted)}input[type=range]{width:100%;height:36px;accent-color:var(--water)}input[type=number],select,textarea{border:1px solid var(--line);background:var(--bg);width:100%;min-height:44px;color:var(--text);font:inherit;border-radius:8px;padding:8px 10px}textarea.code{font-family:var(--mono);tab-size:2;white-space:pre;min-height:280px;font-size:.9rem;overflow:auto}.badge{border:1px solid;border-radius:6px;align-items:center;gap:.35em;padding:2px 10px;font-size:.85rem;font-weight:700;display:inline-flex}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.badge.bad{color:var(--bad)}.kv{grid-template-columns:auto 1fr;gap:2px 14px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{font-family:var(--mono);text-align:right;margin:0}table.t{border-collapse:collapse;width:100%;font-size:.92rem}table.t th,table.t td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:6px 8px}table.t td.num,table.t th.num{text-align:right;font-family:var(--mono)}.muted{color:var(--muted)}.disclaimer{color:var(--muted);border-left:3px solid var(--warn);padding-left:10px;font-size:.85rem}canvas.view{border-radius:var(--radius);border:1px solid var(--line);touch-action:none;background:#08101f;width:100%;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.chart{width:100%;min-height:220px}.u-legend{font-size:.8rem}.hero{text-align:center;padding:12px 0 4px}.hero h1{margin-bottom:.2em;font-size:2.1rem}.hero .sub{color:var(--muted)}.language-picker{align-items:center;gap:8px;margin:4px auto 12px;font-weight:600;display:inline-flex}.language-select{width:auto;min-width:170px}.before-dialog{border:var(--border-w) solid var(--line);border-radius:var(--radius);background:var(--panel);width:calc(100% - 32px);max-width:620px;color:var(--text);padding:22px}.before-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#000000c7}.notice-list{padding-left:1.25rem}.notice-list li{margin-bottom:.7rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}:root[data-motion=reduce] *{transition:none!important;animation:none!important}header.bar{position:relative}.bar .actions{flex-wrap:wrap;gap:6px;display:flex}.iconbtn{min-width:44px;padding:4px 10px}nav.stepper{margin:0 0 6px}nav.stepper .count{margin-right:4px;font-size:.9rem;font-weight:700}nav.stepper ol{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}nav.stepper .step{border:var(--border-w) solid var(--line);background:var(--panel);min-height:40px;color:var(--muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.4em;padding:4px 12px;font-size:.9rem;display:inline-flex}nav.stepper .step .num{border:1px solid;border-radius:50%;place-items:center;width:1.5em;height:1.5em;font-size:.8rem;display:inline-grid}nav.stepper .step[aria-current=step]{color:var(--text);border-color:var(--water);background:var(--panel-2);font-weight:700}nav.stepper .step.done .num:after{content:"✓"}nav.stepper .step.done .num span{display:none}nav.stepper .step:hover{border-color:var(--water)}.chips button.chip{cursor:pointer;font:inherit;background:0 0;min-height:36px;font-size:.85rem}.chips button.chip[disabled]{opacity:.45;cursor:not-allowed}.pager{align-items:center;gap:8px;display:flex}footer.foot{color:var(--muted);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;gap:14px;margin-top:8px;padding:10px 0 0;font-size:.85rem;display:flex}dialog{background:var(--panel);color:var(--text);border:var(--border-w) solid var(--water);border-radius:var(--radius);max-width:min(640px,94vw);padding:18px 20px}dialog::backdrop{background:#0009}dialog h2{margin-top:0}fieldset{border:var(--border-w) solid var(--line);border-radius:8px;margin:0 0 12px;padding:8px 12px}fieldset label{align-items:center;gap:8px;min-height:36px;display:flex}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.tabs .btn[aria-selected=true]{background:var(--water-deep);color:var(--btn-text);border-color:var(--water)}.prose{max-width:70ch}.prose h2{margin-top:1.2em}.prose .lead{font-size:1.1rem}.credit{gap:2px;display:grid}.credit .role{color:var(--muted)}.email-slot{word-break:break-all;align-self:center;font-weight:600}.credit-row{align-items:center;gap:16px;display:flex}.avatar{background:var(--panel-2);border:var(--border-w) solid var(--line);width:96px;height:96px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:1.6rem;font-weight:700;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.workspace{gap:14px;display:grid}.workspace>.col>.card:last-child{margin-bottom:0}.screen-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:6px;display:flex}.screen-head h1{margin:0;font-size:1.25rem}@media (min-width:900px){html.fit,html.fit body{height:100%;overflow:hidden}html.fit .app{flex-direction:column;height:100dvh;padding-bottom:8px;display:flex}html.fit #main{outline:none;flex-direction:column;flex:1;min-height:0;display:flex}html.fit #main>.screen{flex-direction:column;flex:1;min-height:0;display:flex}html.fit #main>.scrollpage{flex:1;min-height:0;overflow:auto}html.fit header.bar{margin-bottom:6px;padding:4px 0}html.fit .screen-head{margin-bottom:4px}html.fit footer.foot{margin-top:4px;padding-top:6px}html.fit .workspace{flex:1;grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr);min-height:0}html.fit .workspace>.col{min-height:0;padding-right:4px;overflow:auto}html.fit .workspace>.col.left{overflow:hidden auto}}@media (max-width:899px){.workspace>.col.left{order:-1}}html.fit .workspace.single,.workspace.single{grid-template-columns:minmax(0,1fr)}[hidden]{display:none!important}.picture{text-align:center;max-width:1000px;margin:10px auto}.picture img{border-radius:var(--radius);border:var(--border-w) solid var(--line);background:var(--panel-2);width:auto;max-width:100%;height:auto;max-height:56vh;display:inline-block}.picture-slot{min-height:0}.opener{z-index:60;background:#000000b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.opener-card{background:var(--panel);width:min(96vw,1040px);max-height:96vh;color:var(--text);border:var(--border-w) solid var(--line);border-radius:var(--radius);padding:12px;overflow:auto}.opener-card .picture{margin:0}.opener-card .picture img{max-height:62vh}.opener-cap{justify-content:space-between;align-items:center;gap:12px;padding:10px 4px 2px;display:flex}.rain-layer{z-index:-1;pointer-events:none;opacity:.55;width:100vw;height:100vh;position:fixed;inset:0}.dialogue{gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.line{grid-template-columns:64px 1fr;align-items:start;gap:12px;display:grid}.line .face{background:var(--panel-2);border:var(--border-w) solid var(--line);width:64px;height:64px;color:var(--muted);border-radius:50%;place-items:center;font-weight:700;display:grid;overflow:hidden}.line .face img{object-fit:cover;object-position:50% 20%;transform-origin:50% 30%;width:100%;height:100%;display:block;transform:scale(1.7)}.line .who{margin-bottom:2px;font-weight:700;display:block}.line .say{margin:0}.cue-line{min-height:1.4em;font-size:.9rem}.pulse{animation:.667s steps(2,jump-none) infinite pulse}@keyframes pulse{0%{opacity:1}to{opacity:.55}}:root[data-motion=reduce] .pulse{animation:none}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.card:empty{display:none}
