:root{--bg:#eeebe1;--grain:#e7e3d6;--panel:#f6f4ec;--panel-2:#faf9f2;--inset:#f1eee4;--ink:#1a1915;--ink-2:#55503f;--ink-3:#6e6858;--ink-4:#9c9581;--line:#dad5c5;--line-2:#c9c3b0;--line-3:#b7b19c;--green:#178a52;--green-b:#1fb068;--green-bg:#e3efe2;--red:#c5412c;--red-b:#e0553d;--red-bg:#f5e2dc;--amber:#b5832a;--amber-bg:#f3ead4;--mono:ui-monospace, "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, monospace;--pad:clamp(16px, 4vw, 40px);--ease:cubic-bezier(.22, .72, .24, 1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--mono);-webkit-font-smoothing:antialiased;background-image:radial-gradient(var(--grain) 1px, transparent 1.4px);background-size:5px 5px;font-size:14px;line-height:1.6}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a{color:var(--green);border-bottom:1px solid #178a5259;text-decoration:none}a:hover{color:var(--ink);border-bottom-color:var(--ink)}code{font-family:var(--mono);background:var(--inset);border:1px solid var(--line);border-radius:3px;padding:0 4px;font-size:.92em}.tnum{font-variant-numeric:tabular-nums}#hud-top{z-index:4;padding:10px var(--pad) 9px;flex-wrap:wrap;align-items:center;gap:14px;display:flex;position:fixed;top:0;left:0;right:0}.brand{align-items:baseline;gap:8px;display:flex}.brand .dot{background:var(--green-b);border-radius:50%;align-self:center;width:8px;height:8px;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.brand b{letter-spacing:.06em;font-size:16px}.brand .sub{color:var(--ink-3);letter-spacing:.04em;font-size:11px}.hud-links{gap:14px;margin-left:auto;font-size:12px;display:flex}#act-strip{border:1px solid var(--line);border-left:3px solid var(--green-b);letter-spacing:.04em;pointer-events:none;background:#f6f4ecd1;align-items:center;gap:10px;padding:4px 11px 5px;font-size:11.5px;display:flex}#act-strip .a-no{color:var(--ink-4);font-variant-numeric:tabular-nums}#act-strip .a-no b{color:var(--green);font-size:13px}#act-strip .a-title{color:var(--ink);font-weight:600}#act-strip .a-bar{background:var(--line-2);width:66px;height:2px;overflow:hidden}#act-strip .a-bar i{background:var(--green-b);width:0;height:100%;transition:width .7s;display:block}#deck{z-index:2;left:var(--pad);right:var(--pad);position:fixed;top:56px;bottom:14px}.win{transform-origin:50%;background:var(--panel);border:1px solid var(--line-2);transition:transform .82s var(--ease), width .82s var(--ease), height .82s var(--ease), opacity .38s ease;flex-direction:column;display:flex;position:absolute;top:0;left:0;overflow:hidden;box-shadow:0 14px 30px -22px #1a19158c}.win[hidden]{display:none}.win--in{opacity:0}.win-bar{border-bottom:1px solid var(--line);background:var(--panel-2);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);flex:none;align-items:center;gap:8px;padding:6px 10px;font-size:10.5px;display:flex}.wb-dot{background:var(--green-b);border-radius:50%;flex:none;width:7px;height:7px}.wb-name{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.wb-meta{text-transform:none;letter-spacing:.02em;color:var(--ink-4);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto}.win--conf .wb-meta{color:var(--amber)}.win--wall:not([hidden]){animation:.34s ease-in-out both panelDone;animation-delay:var(--done-at,2.4s)}@keyframes panelDone{0%,to{border-color:var(--line-2);background:var(--panel)}50%{border-color:var(--amber);background:var(--amber-bg)}}.win-body{flex:auto;min-height:0;overflow:auto}.win--scope .win-body{overflow:hidden}.win-foot{border-top:1px solid var(--line);color:var(--ink-3);background:var(--panel-2);flex:none;padding:6px 10px;font-size:10.5px}.win-foot code{padding:0 3px;font-size:10px}.win-foot .ok{color:var(--green)}.win-foot .bad{color:var(--red)}#stage{width:100%;height:100%}#stage canvas{width:100%;height:100%;display:block}#editor{white-space:pre-wrap;tab-size:2;outline:0;flex:auto;min-height:0;padding:10px 12px 14px;font-size:13px;line-height:1.62;overflow:auto}#editor .typing{letter-spacing:calc(-.02em * var(--z));color:var(--ink)}#editor .typing .cm{color:color-mix(in srgb, var(--ink-4), var(--ink-2) calc(var(--z) * 100%))}#editor .typing .num{color:color-mix(in srgb, var(--red), var(--ink) calc(var(--p) * 60%))}#editor .typing .key{color:color-mix(in srgb, var(--ink-2), var(--ink) calc(var(--z) * 100%))}#editor .typing .caret{border-left-width:.1em}#editor:focus-visible{box-shadow:inset 0 0 0 2px var(--green-b)}#editor .cm{color:var(--ink-4);font-style:italic}#editor .sec{color:var(--amber);font-weight:700}#editor .key{color:var(--ink-2)}#editor .num{color:var(--red)}#editor .str{color:var(--green)}#editor .bool{color:#7a5bd6}#editor .caret{border-left:2px solid var(--green-b);margin-left:1px;animation:1s steps(2,end) infinite blink}#editor .caret.solid{animation:none}@keyframes blink{50%{border-color:#0000}}#editor .hot{box-shadow:-4px 0 0 0 var(--amber);-webkit-box-decoration-break:clone;box-decoration-break:clone;background-image:linear-gradient(90deg, #0000 calc(var(--m,0) * 100%), var(--panel) calc(var(--m,0) * 100%)), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 14' preserveAspectRatio='none'%3E%3Cpath fill='%23b5832a' fill-opacity='0.62' d='M2 7.7C26 6 52 5.2 84 4.9c36-.3 76 .5 112 .1 20-.2 36 .7 42 1.3l0 2.1c-8 1-24 .4-42 .8-38 .8-78 .2-112 .6-30 .3-58 .6-84-.4z'/%3E%3C/svg%3E");background-position:left 0 bottom .14em,left 0 bottom .14em;background-repeat:no-repeat,no-repeat;background-size:100% .4em,100% .4em}#editor .slot{display:inline-block}#editor.focus .ln{opacity:.4;transition:opacity .25s}#editor.focus .ln.cur{opacity:1}#controls{flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:flex}#controls button{cursor:pointer;background:var(--panel);color:var(--ink-2);border:1px solid var(--line-2);letter-spacing:.04em;border-radius:2px;padding:5px 10px;font-family:inherit;font-size:11.5px}#controls button:hover{color:var(--ink);border-color:var(--ink-3)}#controls button:focus-visible{outline:2px solid var(--green-b);outline-offset:2px}#controls{transition:opacity .5s}#controls.gone button:not(#btn-replay){display:none}#sb-list{grid-template-rows:repeat(9,auto);grid-template-columns:1fr 1fr;grid-auto-flow:column;gap:0 12px;padding:5px 9px;font-size:11px;list-style:none;display:grid}#sb-list li{border-bottom:1px dotted var(--line);grid-template-columns:1fr auto auto auto;align-items:baseline;gap:6px;padding:2px;animation:.34s cubic-bezier(.2,.75,.25,1) both rowEmbed;display:grid;position:relative}@keyframes rowEmbed{0%{opacity:0;filter:blur(2px);transform:perspective(700px)translateY(-13px)rotateX(14deg)scale(1.045)}78%{opacity:1;filter:blur();transform:perspective(700px)translateY(0)rotateX(0)scale(.995)}to{opacity:1;transform:none}}#sb-list li:after{content:"";background:var(--amber);height:1.5px;animation:.42s ease-out both seam;animation-delay:inherit;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}@keyframes seam{0%,55%{opacity:.85;transform:scaleX(0)}72%{opacity:.85;transform:scaleX(1)}to{opacity:0;transform:scaleX(1)}}#sb-list .v{animation:.2s ease-out both iconLand}@keyframes iconLand{0%{opacity:0;transform:scale(.55)}to{opacity:1;transform:none}}#sb-list li:nth-child(9),#sb-list li:nth-child(18){border-bottom:0}#sb-list .m{color:var(--ink)}#sb-list .v.ok{color:var(--green)}#sb-list .v.no{color:var(--red)}#sb-list .n{color:var(--ink-3);font-variant-numeric:tabular-nums}body.outro #deck{transform:perspective(1400px)rotateX(4deg)scale(1.06)}body.outro.settled #deck{transition:transform 1.3s cubic-bezier(.22,.72,.24,1);transform:none}body.outro .win{opacity:.9;filter:saturate(.9)blur(5px);transition:opacity .45s,filter .55s}#outro{z-index:5;pointer-events:none;opacity:0;background:radial-gradient(120% 90% at 50% 46%,#f6f4eca8 34%,#eeebe157 100%);transition:opacity .5s;position:fixed;inset:0}#outro.go{opacity:1}#outro.bye{opacity:0}#outro .photo{position:absolute;inset:0}#outro .chip{background:var(--panel);border:1px solid var(--line-2);letter-spacing:.03em;color:var(--ink-2);white-space:nowrap;transform:translate(-50%, -50%) translate(var(--fx), var(--fy)) rotate(var(--rs));padding:6px 13px 7px;font-size:12px;position:absolute;top:50%;left:50%;box-shadow:0 12px 22px -18px #1a191599}#outro.go .chip{animation:.4s cubic-bezier(.34,1.4,.44,1) both chipFly;animation-delay:calc(var(--i) * .1s)}@keyframes chipFly{0%{opacity:0;transform:translate(-50%, -50%) translate(calc(var(--fx) * 2.7), calc(var(--fy) * 2.7)) rotate(var(--rf)) scale(1.12)}to{opacity:1;transform:translate(-50%, -50%) translate(var(--fx), var(--fy)) rotate(var(--rs)) scale(1)}}#outro.go .chip:after{content:"";background:var(--amber);opacity:0;animation:.2s ease-out both chipGlow;animation-delay:calc(var(--i) * .1s + .34s);mix-blend-mode:multiply;position:absolute;inset:-1px}@keyframes chipGlow{0%{opacity:.35}to{opacity:0}}#outro .mark{letter-spacing:.06em;color:var(--ink);font-size:clamp(34px,5.4vw,62px);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#outro.go .mark i{animation:.27s cubic-bezier(.2,.8,.3,1) both letterIn;animation-delay:calc(.72s + var(--i) * 60ms);font-style:normal;display:block}@keyframes letterIn{0%{opacity:0;transform:translateY(.16em)scale(.94)}to{opacity:1;transform:none}}#outro .rule{transform-origin:50%;background:var(--line-3);width:min(320px,42vw);height:1px;position:absolute;top:calc(50% + 2.4em);left:50%;transform:translate(-50%,-50%)scaleX(0)}#outro.go .rule{animation:.34s ease-out 1.3s both ruleGrow}@keyframes ruleGrow{to{transform:translate(-50%,-50%)scaleX(1)}}#outro .rule em{background:var(--amber);width:0;height:1px;position:absolute;top:0}#outro .rule em:first-child{right:100%}#outro .rule em:last-child{left:100%}#outro.go .rule em{animation:.5s ease-out 1.6s both railShoot}@keyframes railShoot{0%{opacity:.9;width:0}45%{opacity:.9;width:96px}to{opacity:0;width:96px}}#outro .sign{letter-spacing:.05em;color:var(--ink-3);white-space:nowrap;opacity:0;font-size:11.5px;position:absolute;top:calc(50% + 4.1em);left:50%;transform:translate(-50%)}#outro.go .sign{animation:.5s ease-out 1.75s both signIn}@keyframes signIn{to{opacity:1}}@media (max-width:900px){#outro .chip{display:none}body.outro #deck,body.outro.settled #deck{transform:none}}#doc{z-index:2;background:var(--bg);border-top:1px solid var(--line-2);padding:0 var(--pad) 80px;margin-top:100vh;position:relative;box-shadow:0 -24px 40px -20px #1a19151f}.wrap{max-width:1080px;margin:0 auto}.sec{padding:54px 0 8px;scroll-margin-top:64px}.sec>h2{letter-spacing:-.01em;align-items:baseline;gap:10px;margin-bottom:6px;font-size:clamp(19px,2.4vw,26px);display:flex}.sec>h2 .no{color:var(--green);letter-spacing:.16em;font-size:11px;font-weight:700}.sec>.lede{color:var(--ink-2);max-width:72ch;margin-bottom:20px;font-size:13px}.risk{background:var(--amber-bg);border:1px solid #e2d3a8;border-left:3px solid var(--amber);color:var(--ink-2);margin:28px 0 0;padding:14px 16px;font-size:12.5px}.risk b{color:var(--ink)}.cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px;display:grid}.card{background:var(--panel);border:1px solid var(--line);padding:14px 15px}.card.key{border-left:3px solid var(--green-b)}.card h3{letter-spacing:.02em;margin-bottom:6px;font-size:13.5px}.card p{color:var(--ink-2);font-size:12px}.card .tag{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-bottom:6px;font-size:10px;display:inline-block}table.t{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);width:100%;font-size:12px}table.t th,table.t td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:7px 10px}table.t th{background:var(--panel-2);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:600}table.t tr:last-child td{border-bottom:0}table.t td.num{font-variant-numeric:tabular-nums;text-align:right}.ok{color:var(--green)}.no{color:var(--red)}.mid{color:var(--amber)}pre.code{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--line-3);color:var(--ink-2);padding:12px 14px;font-size:11.5px;line-height:1.6;overflow-x:auto}pre.code b{color:var(--ink);font-weight:600}pre.code i{color:var(--ink-4);font-style:normal}.foot{border-top:1px solid var(--line-2);color:var(--ink-3);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:56px;padding-top:18px;font-size:11.5px;display:flex}.cta{flex-wrap:wrap;align-items:center;gap:12px;margin-top:30px;display:flex}.cta a.big{background:var(--ink);color:var(--panel-2);border:1px solid var(--ink);letter-spacing:.04em;padding:10px 18px;font-size:13px}.cta a.big:hover{background:var(--green);border-color:var(--green);color:#fff}.cta a.ghost{border:1px solid var(--line-2);color:var(--ink-2);padding:10px 16px;font-size:13px}.cta a.ghost:hover{border-color:var(--ink-3);color:var(--ink)}@media (min-width:901px){#deck{transition:opacity .32s,visibility .32s}body.reading #deck{opacity:0;visibility:hidden;pointer-events:none}body.reading #act-strip,body.reading #controls{opacity:0;pointer-events:none}body.reading #hud-top{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#eeebe1f0}}@media (max-width:900px){#hud-top{padding:12px var(--pad) 8px;row-gap:8px;position:relative}#act-strip{order:3}#controls{order:2;margin-left:auto}.hud-links{order:1}#deck{padding:0 var(--pad);flex-direction:column;gap:12px;margin-top:10px;display:flex;position:relative;inset:auto}.win{position:relative;width:auto!important;height:auto!important;transform:none!important}.win--conf{order:0}.win--scope{order:1}.win--wall{order:2}#editor{max-height:46vh}.win--scope .win-body{height:46vh}#sb-list{grid-template-rows:none;grid-template-columns:1fr;grid-auto-flow:row}#sb-list li:nth-child(9){border-bottom:1px dotted var(--line)}#doc{margin-top:28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.brand .dot,#editor .caret{animation:none}.win{transition:none}}
