:host{display:block}body{background:#fff;margin:0}.apcvw{--bg:#fff;--bg-1:#f7f9fb;--bg-2:#f1f4f8;--bg-3:#e9edf2;--line:#e2e6ec;--line-2:#cfd6df;--ink:#2b3340;--ink-2:#5c6a7e;--ink-3:#7e93ad;--heading:#0e0f0c;--accent:#0798fe;--accent-2:#0077d8;--accent-soft:#4e97e0;--accent-ink:#fff;--pop:#ff9e1b;--danger:#c0392b;--warn:#b7791f;--sans:"Figtree", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--serif:"Spectral", Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;--mono:"DM Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius:3px;--maxw:1480px;color:var(--ink);background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-width:320px;font-size:15px;line-height:1.45}.apcvw *,.apcvw :before,.apcvw :after{box-sizing:border-box}.apcvw [hidden]{display:none!important}.apcvw :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.apcvw a{color:var(--ink-2)}.apcvw a:hover{color:var(--ink)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.wrap{word-break:break-all;white-space:normal}.small{color:var(--ink-3);font-size:12px}.warn{color:var(--warn)}.shell{max-width:var(--maxw);margin:0 auto;padding:0 24px 48px}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:28px;min-height:56px;display:flex}.brand{align-items:baseline;gap:12px;display:flex}.brand-name{letter-spacing:.1em;font-size:15px;font-weight:700}.brand-sub{color:var(--ink-2);font-size:13px}.tag{border:1px solid var(--line-2);color:var(--ink-2);letter-spacing:.06em;padding:1px 6px;font-size:10px}.toplinks{gap:20px;display:flex}.toplinks a{letter-spacing:.02em;font-size:13px;text-decoration:none}.status{color:var(--ink-2);align-items:center;gap:8px;margin-left:auto;font-size:12px;display:flex}.status-detail{color:var(--ink-3);font-size:11px}.status-dot{background:var(--ink-3);border-radius:50%;flex:none;width:8px;height:8px}.status-dot--ready{background:var(--accent)}.status-dot--busy{background:var(--warn)}.status-dot--error{background:var(--danger)}.masthead{border-bottom:1px solid var(--line);padding:44px 0 28px;display:block;position:relative;overflow:hidden}.masthead-text{z-index:1;position:relative}.subhead,.lede{max-width:78ch}.headline{font-family:var(--serif);color:var(--heading);letter-spacing:-.015em;margin:0 0 14px;font-size:clamp(26px,4.4vw,62px);font-weight:600;line-height:1.08}.kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin:0 0 10px;font-size:11px}.subhead{color:var(--ink-2);max-width:62ch;margin:0 0 14px;font-size:17px;line-height:1.5}.authors{color:var(--ink);margin:0 0 4px;font-size:15px}.author-name{font-weight:600}.author-affil{color:var(--ink-2)}.author-affil:before{content:", ";color:var(--ink-3)}.cite-title{font-family:var(--serif);margin:0 0 6px;font-size:18px}.run-hint{color:var(--ink-3);margin:6px 0 14px}.paper-ref{color:var(--ink-3);margin:0 0 18px;font-size:12px}.paper-ref a{color:var(--accent);border-bottom:1px solid var(--line-2);text-decoration:none}.lede{max-width:64ch;color:var(--ink-2);margin:0 0 10px;font-size:16px}.meta{color:var(--ink-3);margin:0;font-size:12px}.hero-watermark{object-fit:contain;z-index:0;opacity:.05;pointer-events:none;-webkit-user-select:none;user-select:none;width:auto;max-width:42%;height:min(92%,520px);position:absolute;top:50%;right:0;transform:translateY(-50%)}.operate{grid-template-columns:220px minmax(0,1fr) 340px;align-items:start;gap:28px;padding-top:8px;display:grid}.protocol ol{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.protocol .btn-ghost{margin-top:18px;font-size:12px}.step{text-align:left;width:100%;color:var(--ink-2);cursor:pointer;border-radius:var(--radius);font:inherit;background:0 0;border:1px solid #0000;grid-template-rows:auto auto;grid-template-columns:30px 1fr;padding:10px;transition:border-color .12s;display:grid}.step:hover:not(:disabled){border-color:var(--line-2);color:var(--ink)}.step.is-active{background:var(--bg-2);border-color:var(--line-2);color:var(--ink)}.step:disabled{cursor:not-allowed;color:var(--ink-3)}.step-num{color:var(--accent);grid-row:1/span 2;padding-top:3px;font-size:12px}.step[data-status=locked] .step-num{color:var(--ink-3)}.step-title{font-size:14px}.step-state{color:var(--ink-3);grid-column:2;font-size:11px}.step[data-status=done] .step-state{color:var(--accent)}.stage{min-width:0}.stage-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.frame{min-width:0;margin:0}.frame figcaption{justify-content:space-between;gap:12px;min-height:22px;padding:0 0 6px;display:flex}.caption-title{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);flex:none;font-size:11px}.caption-detail{color:var(--ink-3);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.frame-body{aspect-ratio:2;border:1px solid var(--line);background:#000;position:relative;overflow:hidden}.frame-body>img,.frame-body>video,.frame-body>canvas{object-fit:contain;width:100%;height:100%;display:block}.poster--waiting{opacity:.35;filter:grayscale(.6)}.frame-note{color:#fff;border:1px solid var(--line-2);pointer-events:none;background:#0e0f0cb8;max-width:calc(100% - 16px);padding:3px 7px;font-size:11px;position:absolute;bottom:8px;left:8px}.interval{color:var(--ink-2);margin:10px 0 0;font-size:12px}.stage-messages{flex-direction:column;gap:8px;margin-top:12px;display:flex}.notice{border:1px solid var(--line-2);background:var(--bg-1);color:var(--ink-2);padding:10px 12px;font-size:13px}.notice--error{border-color:var(--danger);color:var(--ink)}.notice--blocker{border-color:var(--warn)}.progress-wrap{align-items:center;gap:12px;display:flex}.progress-wrap:empty{display:none}.progress{border:1px solid var(--line-2);background:var(--bg-1);flex:1;padding:8px 12px;font-size:13px}.progress-row{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.progress-count{color:var(--accent)}.progress-rung{color:var(--ink-3);margin-left:auto;font-size:12px}.bar{background:var(--bg-3);height:3px;margin-top:8px;display:block}.bar-fill{background:var(--accent);width:0;height:100%;transition:width .15s linear;display:block}.panel{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.panel-head{align-items:baseline;gap:12px;display:flex}.panel-num{color:var(--accent);font-size:12px}.panel h2{margin:0;font-size:20px;font-weight:600}.panel h3,.verdict h4,.record h3,.inspector h3,.learn-block h3{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin:0 0 10px;font-size:12px;font-weight:600}.panel h4{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:12px 0 6px;font-size:11px}.panel-intro{color:var(--ink-2);max-width:74ch;margin:8px 0 16px}.result{border:1px solid var(--line);background:var(--bg-1);margin:14px 0;padding:14px 16px}.result--ok{border-color:var(--accent-2)}.result.is-rejected{border-color:var(--danger)}.kv{border-top:1px solid var(--line);grid-template-columns:230px minmax(0,1fr);align-items:baseline;gap:12px;padding:7px 0;font-size:13px;display:grid}.result .kv:first-of-type,.verdict .kv:first-of-type{border-top:0}.k{color:var(--ink-3)}.kv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.kv-grid .kv{grid-template-columns:1fr;gap:2px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row-end{justify-content:flex-end;margin-top:16px}.row-between{justify-content:space-between}.row .input{flex:240px}.row .input-num{flex:0 0 110px}.field{margin:12px 0;display:block}.field-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;gap:12px;margin-bottom:6px;font-size:11px;display:flex}.counter{text-transform:none;letter-spacing:0}.counter.is-invalid,.is-invalid{color:var(--danger)}.btn{font:inherit;border:1px solid var(--line-2);background:var(--bg-2);color:var(--ink);cursor:pointer;border-radius:var(--radius);padding:9px 14px;font-size:14px;transition:border-color .12s,filter .12s}.btn:hover:not(:disabled){border-color:var(--ink-3)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-ghost{background:0 0}.btn-small{padding:5px 10px;font-size:12px}.input{font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--line-2);border-radius:var(--radius);min-width:0;max-width:100%;padding:8px 10px;font-size:14px}.input:focus{border-color:var(--accent);outline:none}.input:disabled{opacity:.6}.textarea{resize:vertical;width:100%;font-family:var(--mono);font-size:14px;display:block}input[type=file]{font:inherit;color:var(--ink-2);font-size:13px}.tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:2px;margin-bottom:12px;display:flex}.tab{font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 12px;font-size:13px}.tab:hover{color:var(--ink)}.tab.is-active{color:var(--ink);border-bottom-color:var(--accent)}.tabs-small{border:0;align-items:center;gap:4px;margin:0}.tabs-small .tab{padding:4px 8px;font-size:12px}.check{color:var(--ink-2);align-items:center;gap:6px;margin-left:8px;font-size:12px;display:inline-flex}.seed{border:1px dashed var(--warn);margin-top:10px;padding:10px}.ladder{white-space:pre-wrap;color:var(--ink-2);font-family:var(--mono);margin:0 0 10px}details.external,details.limits{border:1px solid var(--line);margin:14px 0;padding:10px 14px}details summary{cursor:pointer;color:var(--ink);font-size:14px}.verdict{border:1px solid var(--line);background:var(--bg-1);margin:12px 0;padding:12px 14px}.verdict-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.verdict-label{border:1px solid var(--line-2);color:var(--ink-2);letter-spacing:.08em;padding:2px 8px;font-size:12px}.verdict[data-state=verified] .verdict-label{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.verdict[data-state=rejected] .verdict-label,.verdict[data-state=inconsistent] .verdict-label{color:var(--danger);border-color:var(--danger)}.verdict-reason{color:var(--ink-2);margin:8px 0;font-size:13px}.verdict-note{color:var(--ink-3);margin:0 0 8px;font-size:12px}.verdict-note:empty{display:none}.verdict-value{font-size:13px}.flag{color:var(--ink-3);grid-column:2;font-size:11px}.flag:empty{display:none}.inspector{flex-direction:column;gap:18px;min-width:0;display:flex;position:sticky;top:16px}.record dl{margin:0;font-size:12px}.record dt{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-top:10px;font-size:10px}.record dd{color:var(--ink-2);word-break:break-word;margin:2px 0 0}.record dd.is-verified{color:var(--accent)}.record dd.is-rejected{color:var(--danger)}.code pre,.learn pre{background:var(--bg-1);border:1px solid var(--line);max-height:380px;font-size:12px;line-height:1.5;font-family:var(--mono);color:var(--ink-2);white-space:pre-wrap;word-break:break-word;margin:0;padding:12px;overflow:auto}.code-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.code-head h3{margin:0}.inspect-block{margin:16px 0}.inspect-block h3{margin:0}.inspect-canvas{aspect-ratio:2;border:1px solid var(--line);background:#000;width:100%;margin-top:8px;display:block}.groups-canvas{border:1px solid var(--line);width:100%;height:28px;image-rendering:pixelated;display:block}.learn-title{margin:0}.learn-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.learn-block p,.learn-block li{color:var(--ink-2);font-size:14px}.protocol-list{margin:0;padding-left:20px}.protocol-list li{margin:6px 0}.limits ul{padding-left:18px}.attribution{white-space:pre-wrap;color:var(--ink-2);font-size:12px;font-family:var(--mono);background:var(--bg-1);border:1px solid var(--line);margin:0;padding:12px}.foot{border-top:1px solid var(--line);color:var(--ink-3);margin-top:0;padding:16px 0 8px;font-size:11px}.run-row{flex-wrap:wrap;align-items:center;gap:10px;margin:6px 0 8px;display:flex}.btn-run{padding:11px 18px;font-size:15px}.run-status{color:var(--ink-2);max-width:64ch;margin:0 0 10px;font-size:13px}.run-status:empty{display:none}.walkthrough{border-bottom:1px solid var(--line);padding:28px 0 10px}.section-head{gap:6px;margin:0 0 22px;display:grid}.section-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent-2);font-size:11px}.section-title{font-family:var(--serif);color:var(--heading);margin:0;font-size:28px;font-weight:600;line-height:1.15}.section-intro{color:var(--ink-2);max-width:76ch;margin:0;font-size:14px}.walkthrough,.details,.learn{border-top:1px solid var(--line);padding:40px 0 44px}.walkthrough{border-top:0}.walk-header{margin-bottom:22px}.walk-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:20px;margin:0;padding:0;list-style:none;display:grid}.walk-card{border:1px solid var(--line);border-top:3px solid var(--line-2);background:var(--bg);flex-direction:column;min-width:0;padding:18px 20px 16px;display:flex}.walk-card[data-status=done]{border-top-color:var(--accent)}.walk-card[data-status=running]{border-top-color:var(--accent-soft)}.walk-card[data-status=failed]{border-top-color:var(--danger)}.walk-card[data-card=inspect]{grid-column:1/-1}.walk-card[data-status=pending]{color:var(--ink-2)}.walk-head{align-items:baseline;gap:12px;display:flex}.walk-num{color:var(--accent);font-size:12px}.walk-title{flex:1;min-width:0;margin:0;font-size:17px;font-weight:600}.walk-status{letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-2);color:var(--ink-2);flex:none;padding:2px 8px;font-size:11px}.walk-card[data-status=done] .walk-status{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.walk-card[data-status=running] .walk-status{color:var(--warn);border-color:var(--warn)}.walk-card[data-status=failed] .walk-status{color:var(--danger);border-color:var(--danger)}.walk-summary{color:var(--ink-2);margin:8px 0 10px;font-size:14px}.walk-facts{margin:0}.walk-facts:empty{display:none}.wfact{border-top:1px solid var(--line);grid-template-columns:210px minmax(0,1fr);align-items:baseline;gap:12px;padding:6px 0;font-size:13px;display:grid}.wfact dt{color:var(--ink-3);margin:0}.wfact dd{min-width:0;color:var(--ink);overflow-wrap:anywhere;word-break:normal;margin:0}.wfact--hex dd{word-break:break-all}.wfact--full{grid-template-columns:1fr;gap:2px}.walk-notes{margin-top:8px}.wnote{color:var(--ink-3);margin:6px 0 0;font-size:12px}.walk-visual{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.walk-figure{min-width:0;margin:0}.walk-figure .inspect-canvas{margin-top:0}.walk-figure figcaption{color:var(--ink-3);margin-top:6px;font-size:11px}.details-bar{flex-wrap:wrap;align-items:center;gap:14px;margin:-6px 0 18px;display:flex}.operate.is-collapsed{opacity:.01;pointer-events:none;width:1px;height:1px;margin:0;padding:0;position:absolute;top:0;left:0;overflow:hidden}.hidden-host{opacity:.01;pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.apcvw-hidden-video,.apcvw-hidden-canvas{width:1px;height:1px}@media (max-width:1180px){.operate{grid-template-columns:200px minmax(0,1fr)}.inspector{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:static}.code--embed{grid-column:1/-1}}@media (max-width:860px){.operate{grid-template-columns:minmax(0,1fr);gap:20px}.operate>*{min-width:0}.protocol ol{flex-direction:row;gap:6px;padding-bottom:6px;overflow-x:auto}.protocol .btn-ghost{margin-top:8px}.step{min-width:150px}.masthead{padding-top:28px}.hero-watermark{opacity:.05;max-width:60%;height:min(70%,300px)}.stage-grid,.inspector,.learn-grid{grid-template-columns:1fr}.kv{grid-template-columns:1fr;gap:2px}.topbar{flex-wrap:wrap;gap:10px 20px;padding:10px 0}.status{width:100%;margin-left:0}.walk-list,.walk-visual{grid-template-columns:minmax(0,1fr)}.wfact{grid-template-columns:1fr;gap:2px}.walk-heading{font-size:22px}}@media (max-width:480px){.shell{padding:0 14px 32px}.toplinks a{align-items:center;min-height:44px;padding:0 6px;display:inline-flex}.btn,.btn-small{min-height:44px}.btn-run{width:100%}.headline{font-size:30px}.row .input{flex-basis:100%}.kv-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.apcvw *,.apcvw :before,.apcvw :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
