:root{--bg:#eef0ee;--surface:#fff;--surface-2:#f6f7f5;--ink:#18232b;--ink-2:#4b5862;--ink-3:#85919a;--line:#d8ddda;--primary:#23495b;--primary-ink:#fff;--primary-soft:#e3ecef;--brass:#9c7a43;--brass-soft:#f3ece0;--marker:#c8322b;--good:#2f7254;--good-soft:#e2efe8;--warn:#9a6a12;--warn-soft:#f6ecd8;--viewer-bg:#dfe3e1;--f-display:"Newsreader", "Iowan Old Style", Georgia, serif;--f-body:"Public Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--r:10px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#11171b;--surface:#182128;--surface-2:#1d2830;--ink:#e5eaec;--ink-2:#a9b5bc;--ink-3:#6f7d86;--line:#2a363e;--primary:#8fb8c9;--primary-ink:#0f1a20;--primary-soft:#1f3540;--brass:#c9a66c;--brass-soft:#2e2618;--marker:#ef5a4f;--good:#6cc29a;--good-soft:#17302a;--warn:#e2b25a;--warn-soft:#33270f;--viewer-bg:#1b252c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#11171b;--surface:#182128;--surface-2:#1d2830;--ink:#e5eaec;--ink-2:#a9b5bc;--ink-3:#6f7d86;--line:#2a363e;--primary:#8fb8c9;--primary-ink:#0f1a20;--primary-soft:#1f3540;--brass:#c9a66c;--brass-soft:#2e2618;--marker:#ef5a4f;--good:#6cc29a;--good-soft:#17302a;--warn:#e2b25a;--warn-soft:#33270f;--viewer-bg:#1b252c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body)}button,input,textarea{font:inherit;color:inherit}h1,h2{font-family:var(--f-display);text-wrap:balance;letter-spacing:-.005em;margin:0;font-weight:600}h1{font-size:clamp(26px,4vw,34px);line-height:1.1}h2{font-size:21px;line-height:1.2}p{margin:0}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.wrap{max-width:1180px;padding-block:0 48px;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));margin:0 auto}header.top{border-bottom:1px solid var(--line);background:var(--surface)}header.top .wrap{align-items:center;gap:12px;padding-block:14px;display:flex}.brand{align-items:baseline;gap:10px;display:flex}.brand b{font-family:var(--f-display);font-size:22px;font-weight:600}.brand span{letter-spacing:.12em;text-transform:uppercase;color:var(--brass);font-size:12px}.top .who{color:var(--ink-2);text-align:right;margin-left:auto;font-size:13px}main{flex-direction:column;gap:20px;padding-top:24px;display:flex}.seg{border:1px solid var(--line);background:var(--surface);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:6px;padding:6px 12px;font-weight:500}.seg button[aria-pressed=true]{background:var(--primary);color:var(--primary-ink)}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 16px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-3)}.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn.small{min-height:32px;padding:5px 10px;font-size:13.5px}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.back{align-self:flex-start}.crumb{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);font-size:12.5px}.headrow{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;display:flex}.headrow>div{flex-direction:column;gap:6px;min-width:0;display:flex}.sub{color:var(--ink-2)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}.list{flex-direction:column;display:flex}.row{border-top:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;border-bottom:0;border-left:0;border-right:0;grid-template-columns:1fr auto;align-items:center;gap:6px 16px;width:100%;padding:16px 18px;display:grid}.row:first-child{border-top:0}.row:hover{background:var(--surface-2)}.row .t{font-weight:600}.row .m{color:var(--ink-2);flex-wrap:wrap;grid-column:1;gap:4px 14px;font-size:13.5px;display:flex}.chip{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:500}.chip.ok{background:var(--good-soft);color:var(--good)}.chip.rev{background:var(--brass-soft);color:var(--brass)}.chip.run{background:var(--primary-soft);color:var(--primary)}.grid2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:14px;font-weight:600}.field input[type=text],textarea{border:1px solid var(--line);background:var(--surface);border-radius:8px;width:100%;padding:10px 12px}.strip{flex-direction:column;gap:12px;padding:16px;display:flex}.strip .h{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.strip .h b{font-family:var(--f-display);font-size:19px;font-weight:600}.slots{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.slot{aspect-ratio:3/4;border:1.5px dashed var(--line);color:var(--ink-3);background:var(--surface-2);cursor:pointer;border-radius:8px;place-items:center;max-width:100%;font-size:22px;display:grid;position:relative;overflow:hidden}.slot img{object-fit:cover;width:100%;height:100%;display:block}.slot.filled{border-style:solid}.slot .x{color:#fff;cursor:pointer;background:#0000008c;border:0;border-radius:50%;width:24px;height:24px;font-size:14px;line-height:24px;position:absolute;top:4px;right:4px}.hint{color:var(--ink-2);font-size:13.5px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.actions .note{color:var(--ink-3);font-size:13px}.steps{flex-direction:column;margin:0;padding:8px 18px;list-style:none;display:flex}.steps li{border-top:1px solid var(--line);grid-template-columns:28px 1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.steps li:first-child{border-top:0}.dot{border:2px solid var(--line);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.steps li.done .dot{background:var(--good);border-color:var(--good);color:var(--surface)}.steps li.now .dot{border-color:var(--primary);border-top-color:#0000;animation:1s linear infinite spin}.steps li .d{color:var(--ink-3);font-size:13px}.steps li.done .n,.steps li.now .n{font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.steps li.now .dot{animation:none}}.bar{background:var(--surface-2);border-radius:6px;height:6px;overflow:hidden}.bar i{background:var(--primary);width:0;height:100%;transition:width .4s;display:block}.stage{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=900px){.stage.side{grid-template-columns:minmax(0,1fr) 360px}}.vwrap{border-radius:var(--r);border:1px solid var(--line);background:var(--viewer-bg);min-width:0;position:relative;overflow:hidden}.vslot{height:min(68vh,560px);min-height:340px}.viewer{touch-action:none;outline:none;position:absolute;inset:0}.viewer canvas{width:100%;height:100%;display:block}.vbar{pointer-events:none;flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}.vbar>*{pointer-events:auto}.vbar .seg{background:color-mix(in srgb, var(--surface) 92%, transparent)}.help{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--line);max-width:calc(100% - 24px);color:var(--ink-2);border-radius:8px;flex-wrap:wrap;gap:4px 14px;padding:8px 12px;font-size:12.5px;display:flex;position:absolute;bottom:12px;left:12px}.help kbd{font-family:var(--f-mono);border:1px solid var(--line);background:var(--surface);color:var(--ink);border-bottom-width:2px;border-radius:4px;padding:0 5px;font-size:11.5px}.placing{background:var(--marker);color:#fff;white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;position:absolute;top:60px;left:50%;transform:translate(-50%)}.joy{border:1.5px solid color-mix(in srgb, var(--ink) 30%, transparent);background:color-mix(in srgb, var(--surface) 55%, transparent);touch-action:none;border-radius:50%;width:110px;height:110px;display:none;position:absolute;bottom:64px;left:20px}.joy i{background:var(--primary);opacity:.85;border-radius:50%;width:44px;height:44px;margin:-22px;position:absolute;top:50%;left:50%}@media (pointer:coarse){.vwrap.fp .joy{display:block}}.tag{background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--line);color:var(--ink-2);border-radius:8px;padding:4px 10px;font-size:12.5px;position:absolute;bottom:12px;right:12px}.fb{flex-direction:column;gap:12px;min-width:0;display:flex}.fb .head{justify-content:space-between;align-items:center;gap:8px;display:flex}.count{font-family:var(--f-mono);color:var(--ink-2);font-size:13px}.card{flex-direction:column;gap:10px;padding:14px;display:flex}.card .ch{align-items:center;gap:10px;display:flex}.num{background:var(--marker);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:13px;font-weight:600;display:grid}.card .obj{min-width:0;font-weight:600}.card .obj small{color:var(--ink-3);font-size:12px;font-weight:400;display:block}.card .ch .btn{margin-left:auto}.card textarea{resize:vertical;min-height:70px}.card .tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.thumbs{flex-wrap:wrap;gap:6px;display:flex}.thumbs img{object-fit:cover;border:1px solid var(--line);border-radius:6px;width:56px;height:42px}.thumbs figure{color:var(--ink-3);flex-direction:column;gap:2px;margin:0;font-size:11px;display:flex}.rec{color:var(--marker)}.empty{color:var(--ink-2);flex-direction:column;gap:6px;padding:18px;font-size:14px;display:flex}.versions{color:var(--ink-2);font-size:13px}.share{flex-direction:column;gap:14px;padding:18px;display:flex}.linkbox{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.linkbox code{font-family:var(--f-mono);background:var(--surface-2);border:1px solid var(--line);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:8px;flex:260px;min-width:0;padding:9px 12px;font-size:14px}.radio{border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.radio.off{opacity:.55}.radio small{color:var(--ink-3);display:block}.facts{color:var(--ink-2);flex-wrap:wrap;gap:6px 22px;font-size:14px;display:flex}.facts b{color:var(--ink);font-weight:600}.toast{left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);z-index:20;border-radius:8px;padding:10px 16px;font-size:14px;position:fixed;transform:translate(-50%)}.legend{color:var(--ink-2);font-size:13px}body{margin:0}.center-screen{text-align:center;min-height:100vh;color:var(--ink-2);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.error{color:var(--marker)}.banner{background:var(--warn-soft);color:var(--warn);border-radius:8px;padding:12px 14px;font-size:14px}.banner.bad{background:color-mix(in srgb, var(--marker) 12%, var(--surface));color:var(--marker)}.top .who button{margin-left:8px}.thumbrow{object-fit:cover;border:1px solid var(--line);border-radius:6px;flex:none;width:64px;height:48px}.row{grid-template-columns:auto 1fr auto}.row .m{grid-column:2}.row .thumbrow{grid-row:span 2}.row.nothumb{grid-template-columns:1fr auto}.row.nothumb .m{grid-column:1}.card.saved{opacity:.95}.card .meta{color:var(--ink-3);font-size:12.5px}.earlier{color:var(--ink-2);font-size:13.5px}.earlier summary{cursor:pointer}.earlier ul{flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;display:flex}.loading{color:var(--ink-3);padding:24px}
