@import "https://fonts.googleapis.com/css2?family=Unbounded:wght@500;700&family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,600;12..96,800&family=Geist:wght@400;500;600&family=JetBrains+Mono:wght@400;600&display=swap";.acc-btn{border:1px solid var(--line2);background:var(--bg);width:100%;color:var(--fg);font:500 14px var(--font-body);cursor:pointer;border-radius:10px;align-items:center;gap:8px;min-width:0;padding:9px 10px;text-decoration:none;transition:border-color .15s;display:flex}.acc-btn:hover{border-color:var(--fg2)}.acc-btn-ghost{color:var(--muted);cursor:default}.acc-btn-hint{font:11px var(--font-mono);color:var(--muted);margin-left:auto}.acc-btn-name{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.acc-pill{font:600 11px var(--font-mono);border:1px solid var(--line2);color:var(--fg2);border-radius:999px;flex:none;padding:2px 8px}.acc-pill.low{border-color:var(--red,#ee342f);color:var(--red,#ee342f)}.acc-avatar{object-fit:cover;border-radius:50%;flex:none}.acc-avatar-initial{border:1px solid var(--line2);font:600 12px var(--font-body);color:var(--fg);justify-content:center;align-items:center;display:inline-flex}.acc-scrim{z-index:120;background:#000c;justify-content:center;align-items:center;padding:16px;animation:.2s acc-fade;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.acc-dialog{background:var(--bg);border:1px solid var(--line2);border-radius:16px;gap:14px;width:min(420px,100%);padding:28px 24px 22px;animation:.3s cubic-bezier(.22,1,.36,1) acc-rise;display:grid;position:relative}.acc-dialog h2{font:700 26px var(--font-display);margin:0}.acc-sub{color:var(--fg2);margin:0;font-size:15px}.acc-x{border:1px solid var(--line);background:var(--bg);width:32px;height:32px;color:var(--fg2);cursor:pointer;border-radius:8px;position:absolute;top:12px;right:12px}.acc-providers{gap:8px;display:grid}.acc-provider{border:1px solid var(--line2);background:var(--bg);color:var(--fg);font:600 15px var(--font-body);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:12px;transition:border-color .15s;display:flex}.acc-provider:hover:not(:disabled){border-color:var(--fg)}.acc-provider:disabled{opacity:.6;cursor:default}.acc-muted{color:var(--muted);margin:0}.acc-error{color:#ff6b5f;margin:0;font-size:14px}@keyframes acc-fade{0%{opacity:0}}@keyframes acc-rise{0%{opacity:0;transform:translateY(10px)}}.acc-page{gap:28px;max-width:880px;padding:64px max(20px,min(5vw,72px)) 80px;display:grid}.acc-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.acc-head h1{font:800 clamp(32px, 4.5vw, 52px) / 1.05 var(--font-display);letter-spacing:-.02em;margin:0}.acc-lede{color:var(--fg2);max-width:60ch;margin:12px 0 0;font-size:18px}.acc-identity{align-items:center;gap:14px;min-width:0;display:flex}.acc-primary{background:var(--accent,var(--yellow));color:var(--on-accent,#1a1205);font:600 15px var(--font-body);cursor:pointer;border:none;border-radius:999px;justify-self:start;padding:10px 20px}.acc-primary:disabled{opacity:.6;cursor:default}.acc-secondary{background:var(--bg);color:var(--fg);border:1px solid var(--line2);font:500 14px var(--font-body);cursor:pointer;border-radius:999px;padding:9px 18px}.acc-notice{border:1px solid var(--line2);color:var(--fg);border-radius:12px;padding:12px 16px}.acc-balance{border:1px solid var(--line);border-radius:16px;flex-wrap:wrap;align-items:flex-end;gap:28px 48px;padding:22px 24px;display:flex}.acc-label{font:11px var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.acc-big{font:800 64px / 1 var(--font-display);color:var(--accent,var(--yellow));font-variant-numeric:tabular-nums}.acc-costs{gap:6px;margin:0;display:grid}.acc-costs div{justify-content:space-between;gap:16px;min-width:240px;font-size:14px;display:flex}.acc-costs dt{color:var(--fg2)}.acc-costs dd{font-family:var(--font-mono);color:var(--fg);margin:0}.acc-section{gap:12px;display:grid}.acc-section h2{font:600 24px var(--font-display);margin:0}.acc-packs{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.acc-pack{border:1px solid var(--line);border-radius:14px;gap:6px;padding:18px;display:grid}.acc-pack-credits{font:700 22px var(--font-display)}.acc-pack-name{color:var(--muted);font-size:13px}.acc-pack-price{font:600 18px var(--font-mono);margin-bottom:6px}.acc-pack-per{color:var(--muted);font:400 13px var(--font-mono)}.acc-fine{color:var(--muted);margin:0;font-size:13px}.acc-table{border-collapse:collapse;width:100%;font-size:14px}.acc-table td{border-bottom:1px solid var(--line);padding:9px 4px}.acc-when{color:var(--muted);font-family:var(--font-mono);font-size:12px}.acc-delta{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.acc-delta.plus{color:var(--ok,#7fc98a)}.acc-delta.minus{color:var(--fg2)}@media (max-width:520px){.acc-when{display:none}.acc-costs div{min-width:0}}.ai-loading{align-items:center;gap:10px;width:-moz-fit-content;width:fit-content;display:inline-flex}.ai-grid{flex:none;grid-template-columns:repeat(3,4px);gap:1.5px;display:grid}.ai-grid span{background:var(--fg);opacity:.15;border-radius:1px;width:4px;height:4px;animation:.65s ease-in-out infinite ai-pixel-on}.ai-shimmer{white-space:nowrap;color:#0000;background-image:linear-gradient(90deg, var(--muted) 35%, var(--fg) 50%, var(--muted) 65%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;font-size:13px;font-weight:500;animation:1.4s linear infinite ai-shimmer-text}.ai-elapsed{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.ai-trace{flex-direction:column;width:100%;display:flex}.ai-trace-head{width:-moz-fit-content;width:fit-content;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:8px;margin:0 -6px;padding:4px 6px;transition:background-color .1s;display:inline-flex}.ai-trace-head:hover{background:var(--panel2)}.ai-trace.is-working .ai-trace-head{color:var(--fg2)}.ai-trace-done{color:var(--fg2);font-size:13px;font-weight:500;animation:.35s ease-out both ai-fade-in}.ai-trace-chevron{transition:transform .3s}.ai-trace-head[aria-expanded=true] .ai-trace-chevron{transform:rotate(180deg)}.ai-trace-body{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.23,1,.32,1),opacity .4s cubic-bezier(.23,1,.32,1);display:grid}.ai-trace-head[aria-expanded=true]+.ai-trace-body{opacity:1;grid-template-rows:1fr}.ai-trace-steps{border-left:1px solid var(--line);flex-direction:column;gap:4px;margin:4px 0 0 5px;padding:4px 0 4px 16px;list-style:none;display:flex;overflow:hidden}.ai-trace-steps li{min-height:24px;color:var(--muted);align-items:center;gap:8px;margin:0;padding:0 6px;font-size:13px;font-weight:500;animation:.3s cubic-bezier(.23,1,.32,1) both ai-fade-up;display:flex}.ai-trace-steps .is-done,.ai-trace-steps .is-active{color:var(--fg)}.ai-trace-steps .is-failed{color:var(--accent2)}.ai-step-icon{color:var(--muted);flex:none}.is-failed .ai-step-icon{color:var(--accent2)}.ai-step-spinner,.ai-step-pending{border:1.5px solid var(--line2);border-radius:50%;flex:none;width:12px;height:12px;margin:0 1px}.ai-step-spinner{border-top-color:var(--fg2);animation:.7s linear infinite ai-spin}.ai-stream.is-revealing>:last-child:after{content:"";background:var(--fg);vertical-align:-.1em;border-radius:2px;width:2px;height:.9em;margin-left:3px;animation:.15s ease-out both ai-fade-in;display:inline-block}.ai-stream>:last-child{margin-bottom:0}@keyframes ai-pixel-on{0%,to{opacity:.15}18%,42%{opacity:1}62%{opacity:.15}}@keyframes ai-shimmer-text{0%{background-position:150%}to{background-position:-50%}}@keyframes ai-fade-in{0%{opacity:0}}@keyframes ai-fade-up{0%{opacity:0;transform:translateY(8px)}}@keyframes ai-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.ai-grid span,.ai-shimmer,.ai-step-spinner,.ai-trace-steps li{animation:none}.ai-shimmer{color:var(--fg2);background:0 0}.ai-trace-body,.ai-trace-chevron{transition:none}}.pg{font-family:var(--font-body);color:var(--fg);flex-direction:column;gap:20px;display:flex}.pg button{font:inherit;cursor:pointer}.pg button:disabled{cursor:not-allowed;opacity:.45}.pg select,.pg input:not([type]),.pg input[type=text]{background:var(--bg2);color:var(--fg);border:1px solid var(--line);font:inherit;border-radius:8px;padding:6px 8px;font-size:13px}.pg label{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.pg-mono{font-family:var(--font-mono);font-size:12.5px}.pg-muted{color:var(--muted)}.pg-small{font-size:12px}.pg-ts{font-family:var(--font-mono);color:var(--muted);font-size:11px;font-weight:400}.pg-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);font-size:11px}.pg-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.pg-end{justify-content:flex-end}.pg-tabs{background:var(--bg2);border:1px solid var(--line);border-radius:12px;gap:4px;width:-moz-fit-content;width:fit-content;max-width:100%;padding:4px;display:flex;overflow-x:auto}.pg-tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:8px 16px;font-weight:600;transition:background .2s,color .2s}.pg-tabs button.on{background:var(--yellow);color:#1a1408}.pg-chips{flex-wrap:wrap;gap:6px;display:flex}.pg-chips button{border:1px solid var(--line);background:var(--panel);color:var(--fg);border-radius:999px;padding:6px 12px;font-size:13px;transition:border-color .2s,background .2s}.pg-chips button:hover{border-color:var(--yellow)}.pg-chips button.on{background:color-mix(in oklab, var(--yellow) 18%, var(--panel));border-color:var(--yellow)}.pg-chips small{color:var(--muted);margin-left:4px}.pg-sim{flex-direction:column;gap:14px;animation:.35s both pg-in;display:flex}@keyframes pg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.pg-sim-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.pg-sim-head h3{font-family:var(--font-display);letter-spacing:-.01em;margin:4px 0 6px;font-size:26px}.pg-sim-head p{max-width:70ch;margin:0;line-height:1.55}.pg-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pg-toolbar>button,.pg-form button,.pg-row>button,.pg-mut button{border:1px solid var(--yellow);background:color-mix(in oklab, var(--yellow) 14%, transparent);color:var(--fg);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s,transform .1s}.pg-toolbar>button:hover:not(:disabled),.pg-form button:hover:not(:disabled),.pg-row>button:hover:not(:disabled){background:color-mix(in oklab, var(--yellow) 28%, transparent)}.pg button:active:not(:disabled){transform:translateY(1px)}.pg button.ghost{border-color:var(--line);background:0 0}.pg button.danger{border-color:var(--red);background:color-mix(in oklab, var(--red) 14%, transparent)}.pg-toggle{cursor:pointer}.pg-toggle input{accent-color:var(--yellow)}.pg-grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.pg-grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.pg-grid-wide{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}@media (max-width:980px){.pg-grid3,.pg-grid2,.pg-grid-wide{grid-template-columns:1fr}.pg-sim-head{flex-direction:column}}.pg-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;min-width:0;padding:14px}.pg-panel+.pg-panel{margin-top:0}.pg-grid-wide>div>.pg-panel{margin-top:12px}.pg-panel-title{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.pg-pipeline{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}@media (max-width:760px){.pg-pipeline{grid-template-columns:1fr 1fr}}.pg-stage{border:1px solid var(--line);color:var(--muted);background:var(--bg2);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;transition:all .3s;display:flex}.pg-stage span{font-family:var(--font-mono);background:var(--line);width:20px;height:20px;color:var(--fg);border-radius:50%;flex:none;place-items:center;font-size:11px;display:grid}.pg-stage.on{border-color:var(--yellow);color:var(--fg);background:color-mix(in oklab, var(--yellow) 12%, var(--bg2));box-shadow:0 0 0 3px color-mix(in oklab, var(--yellow) 18%, transparent)}.pg-stage.on span{background:var(--yellow);color:#1a1408;animation:.85s infinite pg-pulse}.pg-stage.past span{background:color-mix(in oklab, var(--yellow) 50%, var(--line))}@keyframes pg-pulse{50%{transform:scale(1.18)}}.pg-form{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.pg-hint{color:var(--muted);margin:6px 0 10px;font-size:12px;line-height:1.5}.pg-table{border:1px solid var(--line);font-family:var(--font-mono);border-radius:10px;font-size:12px;overflow:hidden}.pg-tr{border-top:1px solid var(--line);grid-template-columns:44px 70px 1fr;gap:8px;padding:5px 10px;transition:background .3s;display:grid}.pg-tr span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pg-th{color:var(--muted);background:var(--bg2);border-top:0}.pg-tr.hot{background:color-mix(in oklab, var(--yellow) 18%, transparent)}.pg-sub{border:1px solid var(--line);background:var(--bg2);border-radius:10px;margin-bottom:8px;padding:10px;transition:all .35s}.pg-sub-top{font-size:13px}.pg-sub-read{color:var(--muted);margin:4px 0;font-size:12px}.pg-sub-status{font-size:12px}.pg-sub.checking{border-color:var(--purple);animation:.8s linear infinite pg-scan}@keyframes pg-scan{50%{box-shadow:0 0 0 3px color-mix(in oklab, var(--purple) 30%, transparent)}}.pg-sub.invalidated{border-color:var(--red);background:color-mix(in oklab, var(--red) 12%, var(--bg2))}.pg-sub.unaffected{opacity:.6}.pg-client{border:1px solid color-mix(in oklab, var(--c) 45%, var(--line));background:var(--bg2);border-radius:10px;margin-bottom:10px;padding:8px 10px}.pg-client-top{justify-content:space-between;margin-bottom:6px;display:flex}.pg-result{border-radius:6px;flex-direction:column;gap:2px;padding:4px 0;font-size:12px;display:flex}.pg-result .pg-mono{word-break:break-word}.pg-result.flash{animation:1.4s pg-flash}@keyframes pg-flash{0%{background:color-mix(in oklab, var(--yellow) 40%, transparent)}to{background:0 0}}.pg-log{background:var(--bg2);border:1px solid var(--line);border-radius:14px;max-height:240px;padding:12px 14px;overflow:auto}.pg-log-line{margin-bottom:4px;padding:3px 0;font-size:12.5px;line-height:1.5;animation:.3s both pg-in}.pg-log-line.tone-y{border-color:var(--yellow)}.pg-log-line.tone-r{border-color:var(--red)}.pg-log-line.tone-p{border-color:var(--purple)}.pg-mut{transition:border-color .3s,background .3s}.pg-mut .pg-mono{white-space:pre-wrap;margin-bottom:10px}.pg-mut.conflict{border-color:var(--red);animation:.4s pg-shake}.pg-mut.done{border-color:color-mix(in oklab, var(--yellow) 60%, var(--line))}@keyframes pg-shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.pg-steps{grid-template-columns:1fr 1fr;gap:6px;display:grid}.pg-step{border:1px dashed var(--line);color:var(--muted);border-radius:8px;padding:6px 8px;font-size:12px}.pg-step.past{color:var(--fg);background:color-mix(in oklab, var(--yellow) 10%, transparent);border-style:solid}.pg-step.next{border-color:var(--yellow);color:var(--fg)}.pg-note{font-family:var(--font-mono);min-height:18px;margin-top:10px;font-size:12px}.pg-versions{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.pg-versions>.pg-mono{width:64px}.pg-ver{font-family:var(--font-mono);background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:2px 8px;font-size:13px;animation:.3s both pg-in}.pg-ver:last-child{border-color:var(--yellow)}.pg-ver small{color:var(--muted);margin-left:2px}.pg-final{margin-top:12px;font-size:14px}.pg-events{max-height:380px;overflow:auto}.pg-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0;display:grid}.pg-stats>div{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:10px;font-size:12px}.pg-stats span{font-family:var(--font-display);color:var(--fg);font-variant-numeric:tabular-nums;font-size:28px;display:block}.pg-error{border:1px solid var(--red);background:color-mix(in oklab, var(--red) 12%, transparent);border-radius:12px;margin:10px 0;padding:12px;font-size:13px;line-height:1.5}.pg-legend{color:var(--muted);align-items:center;gap:12px;margin-bottom:8px;font-size:12px;display:flex}.pg-legend span{border-radius:3px;width:12px;height:12px;display:inline-block}.pg-legend .sc{background:color-mix(in oklab, var(--purple) 45%, transparent)}.pg-legend .rt{background:var(--yellow)}.pg-idx{flex-direction:column;gap:2px;max-height:560px;display:flex;overflow:auto}.pg-idx-row{border-radius:6px;justify-content:space-between;gap:8px;padding:3px 8px;font-size:12px;transition:background .25s;display:flex}.pg-idx-row.sc{background:color-mix(in oklab, var(--purple) 28%, transparent)}.pg-idx-row.rt{background:color-mix(in oklab, var(--yellow) 30%, transparent)}.pg-idx-row .pg-muted{white-space:nowrap}.pg-verdict{border-radius:10px;margin-top:8px;padding:10px;font-size:13px;line-height:1.5}.pg-verdict.hit{background:color-mix(in oklab, var(--red) 14%, transparent);border:1px solid var(--red)}.pg-verdict.miss{background:var(--bg2);border:1px solid var(--line)}.pg-todo{background:var(--bg2);border:1px solid var(--line);border-radius:8px;margin-bottom:6px;padding:7px 10px;font-size:13px;animation:.3s both pg-in}.pg-todo.opt{border-style:dashed;border-color:var(--yellow);opacity:.85}.pg-layer{border:1px dashed var(--purple);border-radius:8px;flex-direction:column;gap:2px;margin-bottom:6px;padding:7px 10px;font-size:13px;animation:.3s both pg-in;display:flex}.pg-layer.committed{border-style:solid}.pg-challenges{flex-direction:column;gap:16px;display:flex}.pg-scorebar{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.pg-score{font-family:var(--font-display);font-size:20px}.pg-score b{color:var(--yellow);font-size:28px}.pg-meter{background:var(--bg2);border:1px solid var(--line);border-radius:99px;flex:1;min-width:120px;height:8px;overflow:hidden}.pg-meter span{background:linear-gradient(90deg, var(--yellow), var(--red), var(--purple));height:100%;transition:width .5s cubic-bezier(.2,.8,.2,1);display:block}.pg-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));align-items:start;gap:14px;display:grid}.pg-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-width:0;padding:16px;transition:border-color .3s}.pg-card.solved{border-color:color-mix(in oklab, var(--yellow) 45%, var(--line))}.pg-card.boss{border-color:color-mix(in oklab, var(--purple) 60%, var(--line));background:linear-gradient(160deg, color-mix(in oklab, var(--purple) 14%, var(--panel)), var(--panel) 50%)}.pg-card header{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pg-card h4{font-family:var(--font-display);margin:8px 0 6px;font-size:19px}.pg-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;background:var(--bg2);border:1px solid var(--line);color:var(--muted);border-radius:99px;padding:2px 8px;font-size:10.5px}.pg-tag.kind{color:var(--yellow)}.pg-diff{color:var(--red);letter-spacing:2px;margin-left:auto;font-size:10px}.pg-check{color:var(--yellow);font-weight:700}.pg-q{margin-bottom:10px;line-height:1.55}.pg-opts{flex-direction:column;gap:6px;display:flex}.pg-opts button{text-align:left;border:1px solid var(--line);background:var(--bg2);color:var(--fg);border-radius:10px;align-items:flex-start;gap:10px;padding:9px 12px;font-size:13.5px;line-height:1.45;transition:border-color .15s,background .2s;display:flex}.pg-opts button:hover:not(:disabled){border-color:var(--yellow)}.pg-opts button:disabled{opacity:1;cursor:default}.pg-opts button.right{border-color:var(--yellow);background:color-mix(in oklab, var(--yellow) 16%, var(--bg2))}.pg-opts button.wrong{border-color:var(--red);background:color-mix(in oklab, var(--red) 14%, var(--bg2))}.pg-opts button.dim{opacity:.5}.pg-letter{font-family:var(--font-mono);background:var(--line);border-radius:6px;flex:none;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.pg-explain{border-radius:10px;margin-top:10px;padding:12px;font-size:13.5px;line-height:1.55;animation:.3s both pg-in}.pg-explain.ok{background:color-mix(in oklab, var(--yellow) 10%, transparent);border:1px solid color-mix(in oklab, var(--yellow) 40%, transparent)}.pg-explain.no{background:color-mix(in oklab, var(--red) 10%, transparent);border:1px solid color-mix(in oklab, var(--red) 40%, transparent)}.pg-solved-tag{color:var(--yellow);font-size:11px;font-family:var(--font-mono)}.pg-order{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:600px){.pg-order{grid-template-columns:1fr}}.pg-order-pool{flex-direction:column;gap:6px;display:flex}.pg-order-pool button{text-align:left;border:1px solid var(--line);background:var(--bg2);color:var(--fg);border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.4}.pg-order-pool button:hover:not(:disabled){border-color:var(--yellow)}.pg-order-pool button:disabled{opacity:.3}.pg-order-seq{flex-direction:column;gap:6px;margin:0;padding-left:22px;font-size:13px;line-height:1.4;display:flex}.pg-order-seq li{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:6px 8px;animation:.25s both pg-in}.pg-order-seq li.right{border-color:var(--yellow)}.pg-order-seq li.wrong{border-color:var(--red)}.pg-placeholder{color:var(--muted);border-style:dashed!important}@media (prefers-reduced-motion:reduce){.pg *,.pg :before{transition:none!important;animation:none!important}}body{background:#000}:root{--accent:#c9f0ff;--accent2:#ff8f70;--accent3:#a99bff;--on-accent:#001018;--bg:#000;--bg2:#0a0a0a;--panel:#141414;--panel2:#1c1c1c;--fg:#f5f5f5;--fg2:#d0d0d0;--muted:#8c8c8c;--line:#262626;--line2:#363636;--ok:#7fc98a;--font-display:"Unbounded", ui-sans-serif, system-ui, sans-serif;--font-body:"Geist", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease-out:cubic-bezier(.22, 1, .36, 1);--side:288px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,.themed{--yellow:var(--accent);--red:var(--accent2);--purple:var(--accent3);--purple-hi:color-mix(in oklab, var(--accent3) 70%, var(--fg));--code-bg:var(--bg);--code-fg:color-mix(in oklab, var(--fg) 92%, var(--bg));--ok-bg:color-mix(in oklab, var(--ok) 14%, var(--bg2));--no-bg:color-mix(in oklab, var(--accent2) 14%, var(--bg2))}.themed{background:var(--bg);color:var(--fg);font-family:var(--font-body);min-height:100vh}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font:16px / 1.65 var(--font-body);-webkit-font-smoothing:antialiased;margin:0}a{color:inherit}p{color:var(--fg2);margin:0 0 1em}strong,b{color:var(--fg);font-weight:600}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.1}::selection{background:var(--accent);color:var(--on-accent)}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:var(--fg)}ul,ol{color:var(--fg2);padding-left:1.3em}li{margin:.25em 0}.muted{color:var(--muted)}.small{font-size:13px}.ic{font-family:var(--font-mono);background:var(--panel2);border:1px solid var(--line);color:var(--fg);white-space:nowrap;border-radius:5px;padding:.05em .35em;font-size:.86em}:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.shell{grid-template-columns:var(--side) 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--bg);flex-direction:column;gap:16px;height:100vh;padding:22px 14px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{font-family:"Unbounded", var(--font-display);letter-spacing:-.01em;color:var(--fg);align-items:center;gap:10px;padding:0 8px;font-size:18px;font-weight:700;text-decoration:none;display:flex}.brand em{color:var(--yellow);font-style:normal}.side-progress{color:var(--muted);align-items:center;gap:10px;padding:0 8px;font-size:12px;display:flex}.bar{background:var(--line);border-radius:4px;flex:1;height:4px;overflow:hidden}.bar span{background:linear-gradient(90deg, var(--purple), var(--red), var(--yellow));height:100%;transition:width .6s var(--ease-out);display:block}.nav-label{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:14px 8px 6px;font-size:11px}.nav-item{color:var(--fg2);border-radius:8px;grid-template-columns:28px 1fr auto;align-items:center;gap:6px;padding:8px;font-size:14px;text-decoration:none;transition:background .15s,color .15s;display:grid}.nav-item:hover{background:var(--panel);color:var(--fg)}.nav-item.on{background:var(--panel2);color:var(--fg)}.nav-item.on .nav-n{color:var(--yellow)}.nav-n{font-family:var(--font-mono);color:var(--muted);font-size:11px}.nav-item.done .nav-n{color:var(--ok)}.nav-item.done .nav-n:before{content:"✓ "}.nav-min{color:var(--muted);font-size:11px;font-family:var(--font-mono)}.nav-min.live{color:var(--ok)}.side-foot{color:var(--muted);border-top:1px solid var(--line);margin-top:auto;padding:12px 8px 0;font-size:12px}.nav-toggle{display:none}.main{min-width:0}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{z-index:40;width:min(86vw,320px);transition:transform .3s var(--ease-out);position:fixed;left:0;transform:translate(-100%)}.sidebar.open{transform:none;box-shadow:0 0 60px #000a}.nav-toggle{z-index:50;border:1px solid var(--line);background:var(--panel);border-radius:10px;width:42px;height:42px;display:block;position:fixed;top:12px;right:12px}}.btn{transition:transform .2s var(--ease-out), background .2s, border-color .2s;border:1px solid #0000;border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn.primary{background:var(--yellow);color:var(--on-accent)}.btn.primary:hover{background:color-mix(in oklab, var(--accent) 86%, var(--fg))}.btn.ghost{border-color:var(--line2);color:var(--fg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0006}.btn.ghost:hover{border-color:var(--fg2)}.link{color:var(--yellow);text-underline-offset:3px;background:0 0;border:none;padding:0 4px;font-size:13px;text-decoration:underline}.copy-btn{font-size:12px;font-family:var(--font-body);border:1px solid var(--line);background:var(--bg2);color:var(--muted);border-radius:6px;flex:none;align-items:center;gap:5px;padding:4px 9px;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.copy-btn:hover{color:var(--fg);border-color:var(--line2)}.copy-btn.done{color:var(--ok);border-color:var(--ok)}.toast{z-index:100;opacity:0;pointer-events:none;background:var(--fg);color:var(--bg);transition:opacity .2s, transform .3s var(--ease-out);border-radius:999px;padding:9px 16px;font-size:14px;font-weight:600;position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}.reveal{transition:transform .7s var(--ease-out), filter .7s var(--ease-out)}.reveal:not(.in){filter:saturate(.6);transform:translateY(10px)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}.hero{border-bottom:1px solid var(--line);align-items:flex-end;min-height:min(640px,78vh);display:flex;position:relative;overflow:hidden}.hero-shader{position:absolute;top:0;bottom:0;left:0;right:0}.hero-shader:after{content:"";background:linear-gradient(180deg, transparent 30%, color-mix(in oklab, var(--bg) 90%, transparent) 92%);position:absolute;top:0;bottom:0;left:0;right:0}.hero-inner{max-width:960px;padding:56px max(20px,min(5vw,72px));position:relative}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--fg2);margin-bottom:16px;font-size:12px}.hero h1{letter-spacing:-.035em;font-size:max(44px,min(8vw,104px));font-weight:800;line-height:.95}.hl{color:var(--yellow);font-style:italic}.lede{color:var(--fg2);max-width:64ch;margin-top:20px;font-size:max(17px,min(1.6vw,20px))}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.howto{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:40px;padding:48px max(20px,min(5vw,72px));display:grid}.howto h3{margin-bottom:10px;font-size:22px}@media (max-width:760px){.howto{grid-template-columns:1fr;gap:24px}}.curriculum{gap:2px;padding:32px max(16px,min(5vw,72px)) 80px;display:grid}.mod-card{border-bottom:1px solid var(--line);border-radius:10px;grid-template-columns:76px 1fr 40px;align-items:center;gap:18px;padding:22px 16px;text-decoration:none;transition:background .2s;display:grid}.mod-card:hover{background:var(--bg2)}.mod-card:hover .mod-state{color:var(--yellow);transform:translate(4px)}.mod-n{font-family:var(--font-display);color:var(--line2);font-size:44px;font-weight:800;line-height:1}.mod-card:hover .mod-n{color:var(--yellow)}.mod-card.done .mod-n{color:var(--ok)}.mod-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:11px}.mod-title{font-family:var(--font-display);margin:4px 0 6px;font-size:24px;font-weight:600}.mod-body p{max-width:72ch;margin:0;font-size:15px}.mod-state{color:var(--muted);transition:transform .2s var(--ease-out), color .2s;font-size:20px}.mod-card.done .mod-state{color:var(--ok)}@media (max-width:600px){.mod-card{grid-template-columns:48px 1fr}.mod-n{font-size:30px}.mod-state{display:none}}.module-head{border-bottom:1px solid var(--line);position:relative;overflow:hidden}.module-shader{opacity:.9;position:absolute;top:0;bottom:0;left:0;right:0}.module-shader:after{content:"";background:linear-gradient(90deg, color-mix(in oklab, var(--bg) 94%, transparent) 0%, color-mix(in oklab, var(--bg) 69%, transparent) 55%, color-mix(in oklab, var(--bg) 25%, transparent) 100%);position:absolute;top:0;bottom:0;left:0;right:0}.module-head-inner{max-width:1280px;padding:72px max(20px,min(5vw,72px)) 52px;position:relative}.module-head h1{letter-spacing:-.03em;font-size:max(38px,min(5.6vw,72px));font-weight:800}.module-body{max-width:1280px;padding:24px max(20px,min(5vw,72px)) 40px}.module-foot{border-top:1px solid var(--line);position:relative;overflow:hidden}.module-foot-shader{opacity:.35;position:absolute;top:0;bottom:0;left:0;right:0}.module-foot-inner{flex-wrap:wrap;gap:12px;padding:48px max(20px,min(5vw,72px));display:flex;position:relative}.section{border-top:1px solid var(--line);margin-top:24px;padding:40px 0 8px}.section:first-child{border-top:none;margin-top:0}.section-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.section h2{letter-spacing:-.02em;font-size:max(26px,min(3vw,36px));font-weight:600}.section h3{margin:28px 0 10px;font-size:21px;font-weight:600}.section h4{margin:20px 0 8px;font-size:17px}.section p,.section li{max-width:72ch}.copyable{margin:20px 0;position:relative}.copyable-bar{opacity:0;z-index:3;gap:6px;transition:opacity .15s;display:flex;position:absolute;top:10px;right:10px}.copyable.is-simplified .copyable-bar{opacity:1}.copyable-bar:has(.simp-menu){opacity:1}.copyable:hover .copyable-bar,.copyable:focus-within .copyable-bar{opacity:1}@media (hover:none){.copyable-bar{opacity:1}}.callout{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px}.callout-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:11px}.callout-title{font-family:var(--font-display);margin-bottom:6px;padding-right:80px;font-size:19px;font-weight:600}.callout-text{color:var(--fg2)}.callout-text p:last-child{margin-bottom:0}.callout-insight{border-color:color-mix(in oklab, var(--yellow) 40%, var(--line))}.callout-insight .callout-kicker{color:var(--yellow)}.callout-warn{border-color:color-mix(in oklab, var(--red) 40%, var(--line))}.callout-warn .callout-kicker{color:var(--accent2)}.callout-deep{border-color:color-mix(in oklab, var(--purple-hi) 40%, var(--line))}.callout-deep .callout-kicker{color:var(--purple-hi)}.callout-analogy .callout-kicker{color:var(--fg2)}.callout-rule{border-color:color-mix(in oklab, var(--ok) 35%, var(--line))}.callout-rule .callout-kicker{color:var(--ok)}.terms dl{background:var(--line);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1px;margin:0;display:grid;overflow:hidden}.term{background:var(--bg2);padding:14px 16px}.term dt{font-family:var(--font-mono);color:var(--yellow);margin-bottom:4px;font-size:13px}.term dd{color:var(--fg2);margin:0;font-size:14px}.compare-cap{font-family:var(--font-display);margin-bottom:8px;font-weight:600}.table-scroll{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.compare table{border-collapse:collapse;width:100%;font-size:14px}.compare th{text-align:left;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--bg2);font-size:12px}.compare th,.compare td{border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px}.compare td{color:var(--fg2)}.compare td:first-child{color:var(--fg);font-weight:500}.compare tr:last-child td{border-bottom:none}.code{border:1px solid var(--line);background:var(--code-bg);border-radius:12px;margin:20px 0;overflow:hidden}.code figcaption{border-bottom:1px solid var(--line);background:var(--bg2);justify-content:space-between;align-items:center;gap:10px;padding:7px 10px 7px 14px;display:flex}.code-title{font-family:var(--font-mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.code-actions{gap:6px;display:flex}.code pre{font:13.5px / 1.6 var(--font-mono);color:var(--code-fg);-moz-tab-size:2;tab-size:2;margin:0;padding:16px 18px;overflow-x:auto}.code-note{border-top:1px solid var(--line);color:var(--fg2);background:var(--bg2);padding:10px 14px;font-size:14px}.tk-kw{color:#ff7a6e}.tk-str{color:#f3c55a}.tk-com{color:#7a7a7a;font-style:italic}.tk-num{color:#d68ad0}.tk-fn{color:#9fd3ff}.tk-ctx{color:var(--accent)}.flow{border:1px solid var(--line);background:var(--bg2);border-radius:14px;margin:28px 0;overflow:hidden}.flow-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.flow-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);font-size:11px}.flow-title{font-family:var(--font-display);font-size:19px;font-weight:600}.flow-canvas{background:radial-gradient(circle at 1px 1px, color-mix(in oklab, var(--fg) 6%, transparent) 1px, transparent 0) 0 0 / 22px 22px, var(--code-bg);padding:10px;overflow-x:auto}.flow-canvas svg{width:100%;min-width:620px;height:auto;font-family:var(--font-body);display:block}.flow-canvas text{fill:var(--fg2)}.node rect{fill:var(--panel);stroke:var(--line2);stroke-width:1.5px;transition:fill .3s,stroke .3s,filter .3s}.node .node-label{fill:var(--fg);font-size:15px;font-weight:600}.node .node-sub{fill:var(--muted);font-size:11.5px;font-family:var(--font-mono)}.node.tone-yellow rect{stroke:color-mix(in oklab, var(--accent) 40%, transparent)}.node.tone-red rect{stroke:color-mix(in oklab, var(--accent2) 40%, transparent)}.node.tone-purple rect{stroke:color-mix(in oklab, var(--purple-hi) 40%, transparent)}.node.on rect{stroke-width:2.5px;filter:drop-shadow(0 0 14px color-mix(in oklab, var(--accent) 33%, transparent))}.node.on.tone-yellow rect,.node.on.tone-plain rect{fill:color-mix(in oklab, var(--accent) 22%, var(--panel));stroke:var(--yellow)}.node.on.tone-red rect{fill:color-mix(in oklab, var(--accent2) 22%, var(--panel));stroke:var(--red);filter:drop-shadow(0 0 14px color-mix(in oklab, var(--accent2) 33%, transparent))}.node.on.tone-purple rect{fill:color-mix(in oklab, var(--accent3) 28%, var(--panel));stroke:var(--purple-hi);filter:drop-shadow(0 0 14px color-mix(in oklab, var(--purple-hi) 33%, transparent))}.edge path{fill:none;stroke:var(--line2);stroke-width:1.6px;transition:stroke .3s}.edge.on path{stroke:var(--yellow);stroke-width:2.2px;stroke-dasharray:6 5;animation:.8s linear infinite dash}.arrow-head{fill:var(--line2)}.arrow-head.on{fill:var(--yellow)}.packet{fill:var(--yellow);filter:drop-shadow(0 0 6px var(--yellow))}.edge-label{font-size:11.5px;font-family:var(--font-mono);paint-order:stroke;stroke:var(--code-bg);stroke-width:4px;fill:var(--muted)!important}.edge.on .edge-label{fill:var(--yellow)!important}@keyframes dash{to{stroke-dashoffset:-22px}}.flow-steps{border-top:1px solid var(--line);grid-template-columns:220px 1fr;gap:20px;padding:16px;display:grid}.flow-controls{flex-wrap:wrap;align-content:flex-start;gap:6px;display:flex}.flow-controls>button{border:1px solid var(--line2);background:var(--panel);border-radius:8px;min-width:40px;padding:6px 12px}.flow-controls>button:disabled{opacity:.35;cursor:default}.flow-controls>button.play{background:var(--yellow);color:var(--on-accent);border-color:var(--yellow);flex:1;font-weight:600}.dots{flex-wrap:wrap;gap:5px;width:100%;margin-top:6px;display:flex}.dots button{background:var(--line2);border:none;border-radius:3px;width:22px;height:6px;padding:0}.dots button.past{background:color-mix(in oklab, var(--accent) 47%, transparent)}.dots button.on{background:var(--yellow)}.flow-text{animation:fadeUp .45s var(--ease-out)}.flow-step-n{font-family:var(--font-mono);color:var(--muted);font-size:11px}.flow-step-title{font-family:var(--font-display);margin:2px 0 6px;font-size:18px;font-weight:600}.flow-text p{margin:0;font-size:15px}.flow-caption{color:var(--muted);border-top:1px solid var(--line);padding:10px 16px 14px;font-size:13px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:700px){.flow-steps{grid-template-columns:1fr}}.check{border:1px dashed var(--line2);background:var(--bg2);border-radius:14px;margin:28px 0;padding:18px 20px}.check-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.check-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--purple-hi);font-size:11px}.check-q{font-family:var(--font-display);margin-bottom:12px;font-size:18px;font-weight:600}.check-opts{gap:8px;display:grid}.check-opts button{text-align:left;border:1px solid var(--line);background:var(--panel);color:var(--fg2);border-radius:10px;align-items:baseline;gap:12px;padding:11px 14px;font-size:15px;transition:border-color .15s,background .15s;display:flex}.check-opts button:not(:disabled):hover{border-color:var(--yellow);color:var(--fg)}.check-opts button:disabled{cursor:default}.check-opts button.right{border-color:var(--ok);background:var(--ok-bg);color:var(--fg)}.check-opts button.wrong{border-color:var(--red);background:var(--no-bg)}.check-opts button.dim{opacity:.5}.opt-letter{font-family:var(--font-mono);color:var(--muted);font-size:12px}.check-explain{color:var(--fg2);animation:fadeUp .4s var(--ease-out);border-radius:10px;margin-top:12px;padding:12px 14px;font-size:15px}.check-explain.ok{background:var(--ok-bg)}.check-explain.no{background:var(--no-bg)}.page-head{max-width:980px;padding:64px max(20px,min(5vw,72px)) 28px}.page-head h1{letter-spacing:-.03em;font-size:max(36px,min(5vw,64px));font-weight:800}.lab{padding-bottom:80px}.lab-setup,.lab-bar,.lab-grid{margin:0 max(20px,min(5vw,72px))}.lab-setup{border:1px solid var(--line);background:var(--bg2);border-radius:14px;max-width:760px;padding:24px}.lab-setup h3{margin-bottom:8px;font-size:22px}.lab-url{gap:8px;margin-top:8px;display:flex}.lab-url input,.lab-send input,.small-input{background:var(--bg);border:1px solid var(--line2);border-radius:8px;flex:1;min-width:0;padding:10px 12px}.small-input{max-width:120px;padding:4px 8px;font-size:12px}.lab-url button,.lab-send button,.lab-card .row>button{background:var(--yellow);color:var(--on-accent);border:none;border-radius:8px;padding:9px 16px;font-weight:600}.lab-bar{color:var(--fg2);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;font-size:14px;display:flex}.live-dot{background:var(--ok);border-radius:50%;width:9px;height:9px;animation:1.8s infinite pulse;box-shadow:0 0 #7fc98a88}@keyframes pulse{70%{box-shadow:0 0 0 9px #7fc98a00}to{box-shadow:0 0 #7fc98a00}}.lab-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:start;gap:16px;display:grid}@media (max-width:1100px){.lab-grid{grid-template-columns:1fr}}.lab-col{gap:16px;display:grid}.lab-card{border:1px solid var(--line);background:var(--bg2);border-radius:14px;min-width:0;padding:16px 18px}.lab-card h3{font-size:17px}.lab-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.seg{border:1px solid var(--line2);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);background:0 0;border:none;padding:5px 12px;font-size:13px}.seg button.on{background:var(--panel2);color:var(--fg)}.lab-send{gap:8px;margin:8px 0 12px;display:flex}.lab-msgs{gap:4px;max-height:280px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.lab-msgs li{background:var(--panel);animation:fadeUp .3s var(--ease-out);border-radius:8px;margin:0;padding:7px 10px;font-size:14px}.lab-msgs li.opt{opacity:.6;border:1px dashed var(--yellow)}.lab-msgs .who{font-family:var(--font-mono);color:var(--yellow);margin-right:6px;font-size:12px}.tag{font-size:10px;font-family:var(--font-mono);color:var(--yellow);text-transform:uppercase;margin-left:8px}.counter{font-family:var(--font-display);color:var(--yellow);margin:8px 0 14px;font-size:64px;font-weight:800;line-height:1}.wire{position:sticky;top:16px}.frames{max-height:72vh;font-family:var(--font-mono);margin:0;padding:0;font-size:12.5px;list-style:none;overflow-y:auto}.frame{border-bottom:1px solid var(--line);margin:0}.frame-head{text-align:left;background:0 0;border:none;grid-template-columns:20px 1fr auto auto;align-items:center;gap:10px;width:100%;padding:7px 4px;display:grid}.frame-head:hover{background:var(--panel)}.frame.up .dir{color:var(--purple-hi)}.frame.down .dir{color:var(--yellow)}.ftype{color:var(--fg)}.frame-body{padding:4px 4px 10px}.frame-body pre{background:var(--code-bg);max-height:340px;color:var(--code-fg);white-space:pre-wrap;word-break:break-all;border-radius:8px;margin:6px 0 0;padding:10px;overflow:auto}.ixviz{border:1px solid var(--line);background:var(--bg2);border-radius:14px;padding:18px 20px}.chip{border:1px solid var(--line2);background:var(--panel);color:var(--fg2);border-radius:999px;padding:5px 12px;font-size:13px;transition:border-color .15s,background .15s}.chip:hover{border-color:var(--yellow);color:var(--fg)}.chip.on{background:var(--yellow);color:var(--on-accent);border-color:var(--yellow);font-weight:600}.ixviz-code{background:var(--code-bg);border:1px solid var(--line);font:13px / 1.55 var(--font-mono);color:var(--code-fg);border-radius:10px;margin:0 0 10px;padding:12px 14px;overflow-x:auto}.ixviz-meta{color:var(--fg2);margin-bottom:10px;font-size:14px}.ixviz-rows{overflow-x:auto}.ixviz-rows>div{min-width:420px}.ixviz-foot{margin:12px 0 0;font-size:14px}.pg{max-width:1400px;padding:0 max(20px,min(5vw,56px)) 80px}.pg-head{padding:64px 0 28px}.pg-head h1{letter-spacing:-.03em;font-size:max(36px,min(5vw,64px));font-weight:800}.node.has-code{cursor:pointer}.node.has-code:hover rect:first-child{stroke:var(--yellow)}.node.has-code:focus-visible rect:first-child{stroke:var(--yellow)}.node.has-code:focus-visible{outline:none}.code-badge rect{fill:var(--yellow);stroke:none!important;filter:none!important}.code-badge text{font:700 10px var(--font-mono);fill:var(--on-accent)!important}.edge.has-code{cursor:pointer}.edge-hit{fill:none;stroke:#0000!important;stroke-width:18px!important;stroke-dasharray:none!important}.edge.has-code:hover path:not(.edge-hit){stroke:var(--yellow)}.code-mark{fill:var(--yellow);color:var(--yellow);font-family:var(--font-mono);font-weight:700}.code-hint{color:var(--fg2)}.cd-scrim{z-index:80;opacity:0;pointer-events:none;background:#0009;transition:opacity .25s;position:fixed;top:0;bottom:0;left:0;right:0}.cd-scrim.open{opacity:1;pointer-events:auto}.cd{z-index:90;background:var(--bg2);width:min(820px,100vw);height:100%;max-height:100dvh;transition:transform .35s var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%);box-shadow:-30px 0 80px #000a}.cd.open{transform:none}.cd-head{border-bottom:1px solid var(--line);padding:16px 18px 12px;padding-top:max(16px, env(safe-area-inset-top,0px));gap:10px;display:grid}.cd-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.cd-ctx{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);font-size:11px}.cd-close{border:1px solid var(--line2);background:var(--panel);border-radius:8px;width:34px;height:34px}.cd-tabs{flex-wrap:wrap;gap:6px;display:flex}.cd-tabs button{border:1px solid var(--line2);background:var(--panel);color:var(--fg2);border-radius:999px;padding:4px 11px;font-size:12.5px}.cd-tabs button.on{background:var(--yellow);color:var(--on-accent);border-color:var(--yellow);font-weight:600}.cd-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;min-height:0;padding:18px;padding-bottom:max(24px, env(safe-area-inset-bottom,0px));flex-direction:column;flex:auto;gap:14px;display:flex;overflow-y:auto}.cd-body>*,.cd-head{flex:none}.cd-title{font-family:var(--font-display);font-size:24px;font-weight:600}.cd-path{font-family:var(--font-mono);color:var(--muted);word-break:break-all;font-size:12.5px}.cd-path a{color:var(--fg2)}.cd-summary{color:var(--fg);margin:0;font-size:16px}.cd-explain p{margin:0 0 .7em}.cd-actions{flex-wrap:wrap;gap:8px;display:flex}.cd-code{border:1px solid var(--line);background:var(--code-bg);touch-action:pan-x pan-y;border-radius:12px;overflow:auto visible}.cd-code table{border-collapse:collapse;font:12.8px / 1.6 var(--font-mono);width:100%}.cd-code td{vertical-align:top;white-space:pre;color:var(--code-fg);padding:0 12px 0 0}.cd-code td.ln{color:color-mix(in oklab, var(--muted) 70%, var(--bg));text-align:right;-webkit-user-select:none;user-select:none;width:1%;padding:0 10px 0 12px}.cd-code tr.noted td{background:color-mix(in oklab, var(--accent) 8%, transparent)}.cd-code tr.noted td.ln{color:var(--yellow)}.cd-code tr.note td{white-space:normal;font-family:var(--font-body);color:var(--fg);background:color-mix(in oklab, var(--accent) 14%, var(--bg2));padding:6px 12px 8px;font-size:13.5px}.cd-code tr.elide td{color:var(--muted);font-style:italic}.cd-missing{color:var(--muted)}.srcmap{padding-bottom:80px}.srcmap-search{background:var(--bg2);border:1px solid var(--line2);border-radius:10px;width:100%;max-width:560px;margin-top:22px;padding:11px 14px}.srcmap-groups{gap:36px;max-width:1200px;padding:0 max(20px,min(5vw,72px));display:grid}.srcmap-group h2{font-size:26px;font-weight:600}.srcmap-group>p{margin:6px 0 14px}.srcmap-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;display:grid}.srcmap-item{text-align:left;border:1px solid var(--line);background:var(--bg2);min-width:0;transition:border-color .15s, transform .2s var(--ease-out);border-radius:12px;gap:4px;padding:14px 16px;display:grid}.srcmap-item:hover{border-color:var(--yellow);transform:translateY(-2px)}.srcmap-sym{font-family:var(--font-mono);color:var(--yellow);overflow-wrap:anywhere;font-size:12px}.srcmap-title{font-family:var(--font-display);color:var(--fg);font-size:16.5px;font-weight:600}.srcmap-path{font-family:var(--font-mono);color:var(--muted);overflow-wrap:anywhere;font-size:11.5px}.srcmap-sum{color:var(--fg2);font-size:13.5px}@media (max-width:420px){.srcmap-list{grid-template-columns:1fr}}.side-legal{color:var(--muted);margin-top:8px;font-size:11px;display:block}.side-legal a{color:var(--fg2)}.section-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.section-head{flex-wrap:wrap}.simp{display:inline-flex;position:relative}.simp-btn:disabled{opacity:.45;cursor:not-allowed}.simp-menu{z-index:20;background:var(--panel);border:1px solid var(--line2);min-width:220px;animation:fadeUp .18s var(--ease-out);border-radius:12px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 18px 40px #0008}.simp-menu button{text-align:left;background:0 0;border:none;border-radius:8px;gap:2px;padding:8px 10px;display:grid}.simp-menu button:hover{background:var(--panel2)}.simp-menu button:focus-visible{background:var(--panel2)}.simp-menu b{font-size:14px}.simp-menu span{color:var(--muted);font-size:12px}.simplified{border:1px dashed color-mix(in oklab, var(--accent) 45%, var(--line));background:var(--bg2);animation:fadeUp .35s var(--ease-out);border-radius:12px;margin-top:12px;padding:14px 16px}.section>.simplified{margin:0 0 18px}.flow>.simplified,.code>.simplified{border-style:dashed;border-width:1px 0 0;border-radius:0;margin:0}.simplified-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.simplified-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:11px}.simplified-actions{gap:10px;display:inline-flex}.simplified-text p:last-child,.simplified-text ul:last-child{margin-bottom:0}.simplified-msg{margin:0;font-size:14.5px}.simplified-msg a{color:var(--accent)}.simplified-loading{padding:4px 0}.side-course{border-radius:10px;gap:2px;padding:10px 8px;text-decoration:none;display:grid}.side-course:hover{background:var(--panel)}.side-course-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.side-course-title{font-family:var(--font-display);font-size:17px;font-weight:600;line-height:1.2}.nav-item.pending{opacity:.5;pointer-events:none}.side-foot{gap:10px;display:grid}.spinner{border:2px solid var(--line2);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:16px;height:16px;animation:.9s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.mod-card.pending{opacity:.6;cursor:default}.mod-card.pending:hover{background:0 0}.module-pending{align-items:center;gap:12px;padding:40px 0;display:flex}.module-pending p{margin:0}.gen-note{align-items:center;gap:10px;margin-top:22px;font-size:14.5px;display:flex}.hero-tag{font-family:var(--font-display);color:var(--fg);margin:18px 0 0;font-size:max(20px,min(2.2vw,26px))}.hero-platform{min-height:min(600px,74vh)}.hero-platform h1{font-family:"Unbounded", var(--font-display);letter-spacing:-.04em;text-wrap:balance;font-size:max(40px,min(7vw,92px));font-weight:700;line-height:.98}.hero-platform .hl{color:var(--accent);font-style:normal}.platform-section{padding:48px max(20px,min(5vw,72px)) 8px}.ps-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:18px;display:flex}.ps-head h2{font-size:max(24px,min(3vw,34px));font-weight:600}.ps-head p{margin:0}.cc-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:14px;display:grid}.cc{border:1px solid var(--line);background:var(--bg2);min-width:0;transition:border-color .2s, transform .25s var(--ease-out);border-radius:16px;align-content:start;gap:10px;padding:20px;text-decoration:none;display:grid}.cc:hover{border-color:var(--cc-accent,var(--accent));transform:translateY(-3px)}.cc-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.cc-logo{width:30px;height:30px;display:inline-flex}.cc-logo svg{width:100%;height:100%}.cc-swatches{gap:4px;display:inline-flex}.cc-swatches span{border-radius:50%;width:12px;height:12px}.cc-kind{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px}.cc-title{letter-spacing:-.02em;color:var(--fg);text-wrap:balance;font-size:28px;font-weight:700;line-height:1.05}.cc-tag{margin:0;font-size:15px}.cc-foot{font-family:var(--font-mono);color:var(--muted);align-items:center;gap:12px;margin-top:6px;font-size:12px;display:flex}.cc-go{color:var(--fg2);transition:transform .2s var(--ease-out);margin-left:auto;font-size:18px}.cc:hover .cc-go{color:var(--cc-accent,var(--accent));transform:translate(4px)}.how-steps{counter-reset:how;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;margin:0 0 64px;padding:0;list-style:none;display:grid}.how-steps li{counter-increment:how;border:1px solid var(--line);border-radius:14px;gap:6px;margin:0;padding:18px 20px;display:grid}.how-steps li:before{content:counter(how, decimal-leading-zero);font-family:var(--font-mono);color:var(--accent);font-size:12px}.how-steps b{font-size:16px}.how-steps span{color:var(--fg2);font-size:14.5px}.ch-page{padding-bottom:80px}.ch-score{max-width:420px;color:var(--muted);font-size:13px;font-family:var(--font-mono);align-items:center;gap:12px;margin-top:18px;display:flex}.ch-filters,.ch-list{margin:0 max(20px,min(5vw,72px))}.ch-filters{justify-items:start;gap:12px;margin-bottom:20px;display:grid}.chips{flex-wrap:wrap;gap:6px;display:flex}.ch-list{gap:14px;max-width:900px;display:grid}.ch-card{border:1px solid var(--line);background:var(--bg2);border-radius:14px;min-width:0;padding:18px 20px}.ch-card.solved{border-color:color-mix(in oklab, var(--ok) 45%, var(--line))}.ch-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.ch-meta{font-family:var(--font-mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11.5px}.ch-right{align-items:center;gap:8px;display:inline-flex}.ch-solved{color:var(--ok);font-size:12px;font-weight:600}.check-opts button>span:last-child{min-width:0}@media (prefers-reduced-motion:reduce){.simplified,.simp-menu,.flow-text,.check-explain,.spinner,.live-dot{animation:none}.cc:hover{transform:none}}.cr{gap:32px;max-width:980px;padding:0 max(20px,min(5vw,72px)) 96px;display:grid}.cr-head{padding-top:64px}.cr-head h1{letter-spacing:-.03em;text-wrap:balance;font-size:max(36px,min(5vw,64px));font-weight:800}.cr-note{color:var(--fg2)}.cr a{color:var(--accent)}.cr-form{border:1px solid var(--line);background:var(--bg2);border-radius:16px;gap:18px;padding:24px;display:grid}.cr-seg{border:1px solid var(--line2);border-radius:999px;justify-self:start;gap:2px;padding:3px;display:inline-flex}.cr-seg button{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:7px 16px;font-size:14px;font-weight:500;transition:background .15s,color .15s}.cr-seg button.on{background:var(--accent);color:var(--on-accent)}.cr-field{gap:6px;display:grid}.cr-field>span{color:var(--fg2);font-size:13px;font-weight:500}.cr-field input{background:var(--bg);border:1px solid var(--line2);color:var(--fg);border-radius:10px;min-width:0;padding:12px 14px;font-size:16px;transition:border-color .15s}.cr-field input:focus{border-color:var(--accent);outline:none}.cr-examples{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cr-chip{border:1px solid var(--line2);background:var(--panel);color:var(--fg2);font-size:12.5px;font-family:var(--font-mono);border-radius:999px;padding:4px 11px}.cr-chip:hover{border-color:var(--accent);color:var(--fg)}.cr-vis{color:var(--fg2);border:none;flex-wrap:wrap;gap:8px 22px;margin:0;padding:0;font-size:14px;display:flex}.cr-vis legend{color:var(--fg2);width:100%;margin-bottom:6px;padding:0;font-size:13px;font-weight:500}.cr-vis label{align-items:center;gap:8px;display:flex}.cr-vis input{accent-color:var(--accent)}.cr-submit{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.cr-submit .btn:disabled{opacity:.6;cursor:progress}.cr-submit .muted{max-width:52ch}.cr-problem{border:1px solid color-mix(in oklab, var(--accent2) 45%, var(--line));color:var(--fg);border-radius:10px;margin:0;padding:12px 14px;font-size:14.5px}.cr-progress{border:1px solid var(--line);background:var(--bg2);border-radius:16px;gap:22px;padding:24px;display:grid}.cr-progress-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.cr-progress-top>div:first-child{min-width:0}.cr-progress h2{letter-spacing:-.02em;text-wrap:balance;margin:6px 0 4px;font-size:max(26px,min(3.4vw,38px));font-weight:700}.cr-progress p{margin:0}.cr-actions{flex-wrap:wrap;gap:8px;display:flex}.cr-actions .btn.primary{color:var(--on-accent)}.cr-status{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:12px;display:inline-flex}.cr-status.s-ready{color:var(--ok)}.cr-status.s-failed{color:var(--accent2)}.cr-mods{gap:2px;margin:0;padding:0;list-style:none;display:grid}.cr-mods li{border-bottom:1px solid var(--line);grid-template-columns:40px 1fr auto;align-items:center;gap:14px;margin:0;padding:12px 8px;display:grid}.cr-mods li:last-child{border-bottom:none}.cr-mod-n{font-family:var(--font-display);color:var(--line2);font-size:22px;font-weight:800}.cr-mods .m-ready .cr-mod-n{color:var(--ok)}.cr-mods .m-writing .cr-mod-n{color:var(--accent)}.cr-mods .m-failed .cr-mod-n{color:var(--accent2)}.cr-mod-body{gap:2px;min-width:0;display:grid}.cr-mod-title{color:var(--fg);font-weight:600}.cr-mod-state{color:var(--muted);font-size:13px;font-family:var(--font-mono)}.cr-mods .m-writing .cr-mod-state{color:var(--accent)}.cr-log summary{cursor:pointer;color:var(--fg2);font-size:13px;font-weight:500}.cr-log ul{font-family:var(--font-mono);gap:4px;max-height:260px;margin:10px 0 0;padding:0;font-size:12.5px;list-style:none;display:grid;overflow-y:auto}.cr-log li{color:var(--fg2);overflow-wrap:anywhere;grid-template-columns:76px 1fr;gap:10px;margin:0;display:grid}.cr-log time{color:var(--muted)}.cr-log .lv-warn{color:var(--accent)}.cr-log .lv-error{color:var(--accent2)}.cr-mine h3{margin-bottom:10px;font-size:20px}.cr-mine ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.cr-mine li{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:12px 14px;display:flex}.cr-mine li.on{border-color:var(--line2);background:var(--panel)}.cr-mine li>a:first-child{color:var(--fg);gap:2px;min-width:0;text-decoration:none;display:grid}.cr-mine-title{font-weight:600}@media (max-width:600px){.cr-form,.cr-progress{padding:18px}.cr-mods li{grid-template-columns:30px 1fr}.cr-mod-state{grid-column:2}}
/*$vite$:1*/