@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(vt323.cf4de751ad.ttf) format("truetype")}:root{--bg:#0f0e13;--bg-2:#17151d;--surface:#1d1838;--surface-2:#2a2250;--border:#0c0a20;--edge:#6c58b0;--text:#f0e8ff;--muted:#b0a4d0;--faint:#7c70a0;--accent:#ffb23c;--accent-ink:#231a10;--accent-soft:rgba(255, 178, 60, .16);--ok:#4cc38a;--warn:#ffb23c;--bad:#ff6a6e;--radius:6px;--shadow:0 18px 50px -16px rgba(0, 0, 0, .75),0 2px 6px rgba(0, 0, 0, .4);--pixel:"VT323",ui-monospace,"Cascadia Mono",Menlo,Consolas,monospace;--letterbox:#07060b;--scrim:rgba(8, 6, 20, .5)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f4f1ea;--bg-2:#f6edd2;--surface:#fff6dc;--surface-2:#f6e8c0;--border:#3a2a1a;--edge:#fffbea;--text:#2a1e12;--muted:#6b5a42;--faint:#8f7e62;--accent:#e8741c;--accent-ink:#fff8ec;--accent-soft:rgba(232, 116, 28, .16);--ok:#1f8a58;--warn:#b36a10;--bad:#c4301c;--shadow:0 18px 50px -20px rgba(60, 40, 10, .45),0 2px 6px rgba(60, 40, 10, .12);--letterbox:#14110f;--scrim:rgba(30, 20, 8, .35)}}:root[data-theme=light]{--bg:#f4f1ea;--bg-2:#f6edd2;--surface:#fff6dc;--surface-2:#f6e8c0;--border:#3a2a1a;--edge:#fffbea;--text:#2a1e12;--muted:#6b5a42;--faint:#8f7e62;--accent:#e8741c;--accent-ink:#fff8ec;--accent-soft:rgba(232, 116, 28, .16);--ok:#1f8a58;--warn:#b36a10;--bad:#c4301c;--shadow:0 18px 50px -20px rgba(60, 40, 10, .45),0 2px 6px rgba(60, 40, 10, .12);--letterbox:#14110f;--scrim:rgba(30, 20, 8, .35)}*{box-sizing:border-box}body,html{margin:0;height:100%}body{background:var(--letterbox);color:var(--text);overflow:hidden;font:15px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input{font:inherit;color:inherit}[hidden]{display:none!important}.scene{position:fixed;inset:0;z-index:2;background:var(--letterbox)}@keyframes blink{0%{opacity:1}50%{opacity:.15}}.scene{overflow:hidden}#scene-canvas{position:absolute;display:block;image-rendering:pixelated;max-width:none}#landing{position:fixed;inset:0;z-index:3;display:flex;align-items:center;justify-content:flex-start;padding:24px max(16px,7vw);overflow:auto;pointer-events:none}#landing .card{pointer-events:auto}#quip{position:fixed;z-index:6;padding:10px 14px 12px;pointer-events:none;font:400 25px/1.15 var(--pixel);letter-spacing:.02em;color:var(--text);background:var(--surface);border:3px solid var(--border);box-shadow:inset 0 0 0 2px var(--edge),4px 4px #00000059;min-height:3em}#scenepick{position:fixed;left:10px;bottom:10px;z-index:7;display:flex;gap:4px;align-items:center;flex-wrap:wrap;padding:5px 7px;background:var(--surface);border:2px solid var(--border);box-shadow:inset 0 0 0 1px var(--edge)}#scenepick span{font:400 17px/1 var(--pixel);letter-spacing:.08em;color:var(--muted);margin-right:4px}#scenepick button{height:24px;padding:0 8px;border:2px solid var(--border);background:var(--surface-2);color:var(--text);font:400 18px/1 var(--pixel);letter-spacing:.04em;cursor:pointer}#scenepick button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}#scenepick button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}body:not([data-view=setup]):not([data-view=dialing]) #quip,body:not([data-view=setup]):not([data-view=dialing]) #scenepick{display:none}body:not([data-view=setup]):not([data-view=dialing]) #landing,body:not([data-view=setup]):not([data-view=dialing]) .scene{display:none}body:not(.classic) #landing{display:none}.scene{touch-action:none}#scene-canvas{transition:left .5s ease-out}#scene-canvas.dragging{transition:none}body.dropping .scene:after{content:"";position:absolute;inset:10px;border:4px dashed var(--accent);pointer-events:none;background:var(--accent-soft)}.adv{font-family:var(--pixel);color:var(--text)}.nojs{position:fixed;z-index:20;top:16px;left:16px;right:16px;max-width:40rem;margin:0 auto;padding:14px 18px;background:var(--surface);border:3px solid var(--border);box-shadow:inset 0 0 0 2px var(--edge);font-size:17px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0}#menubar{position:fixed;top:0;left:0;right:0;z-index:12;height:30px;display:flex;align-items:stretch;gap:2px;padding:0 6px;background:var(--surface);border-bottom:3px solid var(--border);box-shadow:inset 0 -2px 0 var(--edge),0 3px #00000040;transform:translateY(-110%);transition:transform .14s steps(3);font-size:22px;line-height:1;user-select:none}#menubar.open,#menubar.show,#menubar:focus-within{transform:none}@media(hover:none),(max-width:700px){#menubar{transform:none}}#menubar>button{border:0;background:0 0;color:inherit;font:inherit;letter-spacing:.04em;padding:0 12px;cursor:pointer}#menubar>button:hover,#menubar>button[aria-expanded=true]{background:var(--accent);color:var(--accent-ink)}#menubar .spacer{flex:1}#musicbtn{align-self:stretch;border:0;background:0 0;color:inherit;font:inherit;padding:0 10px;cursor:pointer;position:relative}#musicbtn:hover{background:var(--accent);color:var(--accent-ink)}#musicbtn[aria-pressed=false]{opacity:.6}#musicbtn[aria-pressed=false]:after{content:"";position:absolute;left:8px;right:8px;top:50%;border-top:3px solid currentColor;transform:rotate(-35deg)}#nowp{position:fixed;left:12px;top:40px;z-index:8;margin:0;padding:6px 12px 8px;background:var(--surface);border:3px solid var(--border);box-shadow:inset 0 0 0 2px var(--edge),3px 3px #00000059;font-size:22px;line-height:1.15;letter-spacing:.02em;pointer-events:none;max-width:calc(100% - 24px)}#nowp[hidden],body:not([data-view=setup]):not([data-view=dialing]) #nowp{display:none}#menubar .score{align-self:center;position:relative;padding:0 8px;letter-spacing:.05em;white-space:nowrap}#menubar .plus{position:absolute;right:8px;top:24px;color:var(--accent);font-size:22px;animation:plus 1.4s steps(8) forwards;text-shadow:1px 1px 0 var(--border);pointer-events:none}@keyframes plus{0%{transform:translateY(0);opacity:1}to{transform:translateY(18px);opacity:0}}#menupop{position:fixed;z-index:13;min-width:230px;padding:3px;background:var(--surface);border:3px solid var(--border);box-shadow:inset 0 0 0 2px var(--edge),4px 4px #00000059;font-size:22px;line-height:1.1}#menupop .mi{display:flex;gap:8px;padding:5px 12px 5px 6px;cursor:pointer;white-space:nowrap;outline:0}#menupop .tick{width:14px;text-align:center}#menupop .mi:focus,#menupop .mi:hover{background:var(--accent);color:var(--accent-ink)}#menupop .mi[aria-disabled=true]{opacity:.45;cursor:default;background:0 0;color:inherit}#menupop .sep{height:2px;margin:4px 2px;background:var(--faint);opacity:.5}#inv{position:fixed;right:12px;top:40px;z-index:6;display:flex;gap:6px}#inv .item{width:44px;height:44px;padding:5px;background:var(--surface);border:3px solid var(--border);box-shadow:inset 0 0 0 2px var(--edge),3px 3px #00000059}#inv svg{display:block;width:100%;height:100%}#narr,#term{position:fixed;z-index:8;background:var(--surface);border:3px solid var(--border);box-shadow:inset 0 0 0 2px var(--edge),4px 4px #00000059}#narr{left:50%;bottom:36px;transform:translate(-50%);width:min(680px,calc(100% - 32px));padding:10px 16px 12px;font-size:25px;line-height:1.15;letter-spacing:.02em;max-height:46vh;overflow:auto;cursor:default}@media(min-width:701px){#narr[data-side=left]{left:16px;transform:none}#narr[data-side=right]{left:auto;right:16px;transform:none}}#narr.bad{border-left-width:10px;border-left-color:var(--bad)}#narr p{margin:0}#narr .text{min-height:1.15em}.acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.acts:empty{display:none}.abtn{height:30px;padding:0 14px;border:2px solid var(--border);background:var(--surface-2);color:var(--text);font:400 22px/1 var(--pixel);letter-spacing:.04em;cursor:pointer;box-shadow:inset 0 -3px #0000002e}.abtn.primary{background:var(--accent);color:var(--accent-ink)}.abtn.link{display:inline-flex;align-items:center;text-decoration:none}#menupop a.mi{color:inherit;text-decoration:none}.abtn:hover{filter:brightness(1.1)}.abtn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#term{width:360px;padding:8px 12px 12px}#term.dock{left:16px;right:16px;bottom:36px;width:auto}#term .bar{display:flex;justify-content:space-between;align-items:center;font-size:22px;letter-spacing:.06em;color:var(--muted)}#term .tlights{display:inline-flex;gap:10px;font-style:normal}#term .tlights i{font-style:normal;font-size:18px;padding-left:14px;position:relative}#term .tlights i:before{content:"";position:absolute;left:0;top:5px;width:9px;height:9px;background:#2c3a30;border:1px solid var(--border)}#term .tlights.tx i.tx:before{background:#3cff6c;box-shadow:0 0 6px #3cff6c}#term .tlights.cd i.cd:before{background:#3cff6c;box-shadow:0 0 6px #3cff6c}#term .tlights.err i.tx:before{background:#ff5040;box-shadow:0 0 6px #ff5040}#term .who{margin:2px 0 6px;font-size:22px;color:var(--accent)}#term .who:empty{display:none}#term .modem{min-height:112px}.dlg{position:fixed;inset:0;z-index:16;display:grid;place-items:center;background:var(--scrim);padding:16px}.dlg .box{width:min(440px,100%);padding:14px 16px;background:var(--surface);border:3px solid var(--border);box-shadow:inset 0 0 0 2px var(--edge),6px 6px #00000059}.dlg h2{margin:0 0 4px;font:400 30px/1.1 var(--pixel)}.dlg .hint{margin:0 0 10px;font:400 21px/1.15 var(--pixel);color:var(--muted)}.dlg .err{margin:6px 0 0;font:400 21px/1.15 var(--pixel);color:var(--bad)}.dlg .err:empty{display:none}#narr .cards{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}#narr:has(.cards:not([hidden])){max-height:76vh}#narr .cards[hidden]{display:none}.ccard{position:relative;display:flex;flex-direction:column;width:200px;min-height:120px;padding:0 0 12px;text-align:left;cursor:pointer;color:#2a1e12;background:#f6f0dc;border:2px solid var(--border);box-shadow:3px 3px #00000059;overflow:hidden;font:400 21px/1 var(--pixel);letter-spacing:.03em}.ccard canvas{position:absolute;left:0;top:0;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}.ccard span{position:relative;display:block}.ccard .ct{height:20px;padding:3px 7px 0;color:#fff8ec;font-size:16px;letter-spacing:.1em;white-space:nowrap;overflow:hidden;text-shadow:1px 1px 0 rgba(0,0,0,.4)}.ccard .cn{margin-right:66px;padding:5px 7px 0;font-size:22px;line-height:1;overflow-wrap:anywhere;text-shadow:1px 0 0 rgba(255,250,236,.75),-1px 0 0 rgba(255,250,236,.75),0 1px 0 rgba(255,250,236,.75)}.ccard .cf{margin-right:74px;padding:5px 7px 0;font-size:16px;line-height:.95;color:#4a3a28}.ccard.own{border-style:dashed}#narr .cline{flex-basis:100%;margin:0;font-size:19px;line-height:1.05;color:var(--muted)}.ccard:hover{transform:translateY(-2px)}.ccard:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media(max-width:700px){.ccard{width:100%;min-height:84px}}#narr .hold{display:flex;gap:8px;margin-top:6px;height:22px;align-items:flex-end}#narr .hold[hidden]{display:none}#narr .hold svg{width:14px;height:18px;fill:var(--accent);animation:bob 1.2s steps(4) infinite}#narr .hold svg:nth-child(2){animation-delay:.3s}#narr .hold svg:nth-child(3){animation-delay:.6s}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}body.still #narr .hold svg{animation:none}@media(prefers-reduced-motion:reduce){#narr .hold svg{animation:none}.ccard:hover{transform:none}}#fineprint{position:fixed;right:8px;bottom:6px;z-index:9;display:flex;align-items:center;gap:6px;padding:2px 9px 3px;font:400 19px/1.1 var(--pixel);letter-spacing:.04em;color:var(--text);background:var(--surface);border:2px solid var(--border);box-shadow:inset 0 0 0 1px var(--edge),2px 2px #0000004d}#fineprint a{color:var(--text);text-decoration:underline dotted;text-underline-offset:3px;padding:0 1px}#fineprint a:hover{background:var(--accent);color:var(--accent-ink);text-decoration:none}#fineprint a:focus-visible,.drawer .fineprint a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}#fineprint .dot{color:var(--muted)}body:not([data-view=setup]):not([data-view=dialing]) #fineprint{display:none}@media(max-width:700px){#fineprint{left:16px;right:16px;justify-content:center}}.drawer .fineprint a{color:var(--text);margin-right:14px}.consent{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:16px;overflow:auto;background:#0806149e}.consent:empty{display:none}.consent .box{width:min(520px,100%);max-height:100%;overflow:auto;padding:18px 22px 16px;outline:0;background:var(--surface);color:var(--text);border:3px solid var(--border);box-shadow:inset 0 0 0 2px var(--edge),6px 6px #0006;font-family:var(--pixel)}.consent h2{margin:0 0 6px;font:400 36px/1.05 var(--pixel);letter-spacing:.02em}.consent .aside{margin:0 0 10px;font:italic 400 21px/1.15 var(--pixel);color:var(--muted)}.consent .lead{margin:0 0 10px;font:400 27px/1.15 var(--pixel)}.consent .small{margin:0 0 6px;font:400 22px/1.2 var(--pixel);color:var(--text)}.consent .tiny{margin:12px 0 0;font:400 19px/1.2 var(--pixel);color:var(--muted)}.consent a{color:var(--text);text-decoration:underline;text-underline-offset:3px}.consent a:hover{background:var(--accent);color:var(--accent-ink);text-decoration:none}.consent a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.consent .acts{margin-top:14px}.consent .abtn{flex:1 1 0;height:auto;min-height:40px;padding:6px 10px;font-size:23px;line-height:1.05;min-width:140px}.consent .abtn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}#iris{position:fixed;inset:0;z-index:30;pointer-events:all;background:0 0}body.adventure:not([data-view=setup]):not([data-view=dialing]) .adv{display:none}body.adventure:not([data-view=setup]):not([data-view=dialing]) #inv{display:none}body.classic .adv{display:none}@media(max-width:700px){#narr{width:auto;left:16px;right:16px;transform:none}#menubar{font-size:20px}#menubar>button{padding:0 8px}#menubar .score{font-size:19px;padding:0 4px}#menubar .score .lbl{display:none}}.card{width:min(440px,100%);background:var(--surface);color:var(--text);border:3px solid var(--border);border-radius:var(--radius);box-shadow:inset 0 0 0 2px var(--edge),6px 6px #00000059,var(--shadow);padding:22px 22px 18px;margin:auto 0}#dial-title,#setup-title{margin:0 0 4px;font:400 30px/1.1 var(--pixel);letter-spacing:.02em}.wordmark{margin:0 0 8px;font:400 40px/1 var(--pixel);letter-spacing:.04em;color:var(--accent)}.card .lede{margin:0 0 16px;color:var(--muted);font-size:14px}.drop{position:relative;border:2px dashed var(--faint);border-radius:var(--radius);padding:18px 14px;text-align:center;background:var(--surface-2);transition:border-color .15s,background .15s}.drop.over{border-color:var(--accent);background:var(--accent-soft)}.drop svg{width:34px;height:34px;color:var(--accent);shape-rendering:auto}.drop .title{font-weight:600;margin:6px 0 2px}.drop .hint{font-size:13px;color:var(--muted);margin:0 0 12px}.drop-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.install{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius);background:var(--surface-2);border:2px solid var(--border)}.install .check{width:30px;height:30px;border-radius:4px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--ok) 22%,transparent);color:var(--ok)}.install .check svg{width:18px;height:18px}.install .what{flex:1;min-width:0}.install .what b{display:block;font-weight:600;font-size:14.5px}.install .what span{font-size:13px;color:var(--muted)}details.adv{margin-top:14px}details.adv summary{cursor:pointer;font:400 19px/1.2 var(--pixel);letter-spacing:.04em;color:var(--muted);padding:4px 0}details.adv summary:hover{color:var(--text)}details.adv[open] summary{margin-bottom:6px}.field label{display:block;font:400 17px/1.2 var(--pixel);letter-spacing:.05em;color:var(--muted);margin:6px 0 4px}.input{width:100%;height:38px;padding:0 10px;border-radius:4px;border:2px solid var(--border);background:var(--bg-2);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;font-size:14px;cursor:pointer}.toggle small{display:block;color:var(--muted);font-size:12.5px}.switch{position:relative;width:40px;height:22px;flex:none}.switch input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.switch span{position:absolute;inset:0;border-radius:3px;background:var(--faint);border:2px solid var(--border);pointer-events:none}.switch span:after{content:"";position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:2px;background:#fff;transition:transform .12s steps(3)}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled+span{opacity:.4}.btn{height:36px;padding:0 14px;border-radius:4px;border:2px solid var(--border);background:var(--surface-2);font-weight:600;font-size:14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:inset 0 -3px #0000002e;text-decoration:none;color:var(--text)}.btn:hover{filter:brightness(1.1)}.btn:active{transform:translateY(1px)}.btn.primary{background:var(--accent);color:var(--accent-ink)}.btn.big{height:46px;width:100%;justify-content:center;font:400 26px/1 var(--pixel);letter-spacing:.06em;margin-top:16px}.btn.danger{color:var(--bad);background:0 0;box-shadow:none}.btn:disabled{opacity:.45;cursor:default;filter:none}.btn svg{width:16px;height:16px;shape-rendering:auto}.btn:focus-visible,.icon-btn:focus-visible,details.adv summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fine{margin:12px 0 0;font-size:12.5px;color:var(--faint)}#providers{margin-top:16px;padding-top:12px;border-top:2px dotted var(--faint)}#providers h2{margin:0 0 8px;font:400 19px/1.2 var(--pixel);letter-spacing:.04em;color:var(--muted)}#provider-list{display:flex;flex-direction:column;gap:8px}#provider-list .btn{justify-content:center;width:100%}.modem{margin:0;padding:12px 14px;min-height:148px;border-radius:4px;border:2px solid var(--border);background:#07140c;color:#5cff8c;font:400 22px/1.25 var(--pixel);letter-spacing:.04em;white-space:pre-wrap;word-break:break-word;box-shadow:inset 0 0 24px #3cff781f}.modem .cur{display:inline-block;width:.5em;height:1em;vertical-align:-.12em;background:currentColor;animation:blink 1s steps(1) infinite}.modem .bad{color:#ff7a7a}.lights{display:flex;gap:14px;margin:12px 0 0;font:400 17px/1 var(--pixel);letter-spacing:.06em;color:var(--muted)}.lights span{display:inline-flex;align-items:center;gap:6px}.lights i{width:9px;height:9px;background:#2c3a30;border:1px solid var(--border)}.lights .on i{background:#3cff6c;box-shadow:0 0 6px #3cff6c}.lights .err i{background:#ff5040;box-shadow:0 0 6px #ff5040}#stage{position:fixed;inset:0;z-index:1;display:grid;place-items:center;overflow:hidden;cursor:default;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--letterbox) 80%,#4a3c80) 0,var(--letterbox) 70%)}.frame{position:relative;width:var(--fw,min(100vw,133.333vh));height:var(--fh,min(75vw,100vh));background:#000}#canvas{display:block;width:100%;height:100%;outline:0;image-rendering:pixelated;cursor:none}#stage[data-scale=smooth] #canvas{image-rendering:auto}#glcanvas{position:absolute;inset:0;width:100%;height:100%;display:none;pointer-events:none}#stage[data-gpu="1"] #glcanvas{display:block}#stage[data-gpu="1"] #canvas{opacity:0}.chip{position:absolute;left:50%;bottom:14px;transform:translate(-50%);padding:7px 14px;border-radius:4px;background:#0f0e13c7;color:#fff;font-size:13px;pointer-events:none;opacity:0;transition:opacity .2s;white-space:nowrap}.frame.blurred .chip{opacity:1}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#0a090dc7;text-align:center;color:#fff;padding:20px;cursor:default}.overlay h2{margin:0 0 6px;font:400 34px/1.1 var(--pixel)}.overlay p{margin:0 0 16px;color:#c9c3d6;font-size:14px}#strip{position:fixed;top:0;left:50%;z-index:12;transform:translate(-50%,-110%);transition:transform .18s ease-out;display:none;align-items:center;gap:4px;padding:6px 10px;width:min(560px,calc(100% - 16px));background:color-mix(in srgb,var(--surface) 78%,transparent);border:2px solid var(--border);border-top:0;border-radius:0 0 8px 8px;backdrop-filter:blur(8px);box-shadow:var(--shadow);color:var(--text);cursor:default}body[data-view=play] #strip{display:flex}#strip.show,#strip:has(:focus-visible){transform:translate(-50%)}.spacer{flex:1}.pill{display:inline-flex;align-items:center;gap:7px;height:26px;padding:0 9px;border-radius:4px;font-size:12.5px;color:var(--muted);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);white-space:nowrap;min-width:0}.pill i{width:8px;height:8px;background:var(--faint);flex:none}.pill[data-state=connecting] i{background:var(--warn);animation:pulse 1.2s ease-in-out infinite}.pill[data-state=online] i{background:var(--ok)}.pill[data-state=offline] i{background:var(--bad)}.pill[data-state=syncing] i{background:var(--warn);animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.icon-btn{min-width:36px;height:34px;padding:0 6px;display:inline-flex;gap:6px;align-items:center;justify-content:center;border-radius:4px;border:0;background:0 0;color:var(--muted);cursor:pointer;flex:none}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn svg{width:20px;height:20px;shape-rendering:auto}.icon-btn[aria-pressed=true]{color:var(--accent)}.icon-btn .lbl{font:400 18px/1 var(--pixel);letter-spacing:.04em}.scrim{position:fixed;inset:0;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity .2s;z-index:14}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,100%);z-index:15;background:var(--surface);color:var(--text);border-left:3px solid var(--border);box-shadow:var(--shadow);transform:translate(102%);cursor:default;transition:transform .22s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}body.drawer-open .scrim{opacity:1;pointer-events:auto}body.drawer-open .drawer{transform:none}.drawer header{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 20px;border-bottom:2px solid var(--border)}.drawer header h2{margin:0;font:400 28px/1 var(--pixel)}.drawer .body{flex:1;overflow:auto;padding:4px 20px 24px}.drawer section{padding:14px 0;border-bottom:2px dotted var(--faint)}.drawer section:last-child{border-bottom:0}.drawer h3{margin:0 0 8px;font:400 20px/1.1 var(--pixel);letter-spacing:.05em;color:var(--muted)}.drawer .note{font-size:13px;color:var(--muted);margin:8px 0 0}.drawer .note a{color:var(--text);text-underline-offset:2px}select.input{font-family:inherit;font-size:14px;cursor:pointer}#scale-desc{min-height:3.2em}#log{margin:0;height:240px;overflow:auto;padding:10px 12px;border-radius:4px;background:#0a090d;color:#bdb6cc;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word;border:2px solid var(--border)}.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}#toasts{position:fixed;left:50%;bottom:20px;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:20;width:min(440px,calc(100% - 32px));pointer-events:none;cursor:default}body[data-view=dialing] #toasts,body[data-view=setup] #toasts{top:40px;bottom:auto}.toast{padding:11px 14px;border-radius:4px;background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow);font-size:14px;display:flex;gap:10px;align-items:flex-start;color:var(--text);animation:rise .2s ease-out}.toast i{width:8px;height:8px;margin-top:7px;flex:none;background:var(--accent)}.toast.bad i{background:var(--bad)}.toast.ok i{background:var(--ok)}@keyframes rise{0%{transform:translateY(8px);opacity:0}}@media(max-width:820px){#landing{justify-content:center;align-items:flex-start;padding:16px}.card{margin:0;padding:18px 16px 14px}.card .lede{display:none}.drop{padding:12px 10px}.drop svg{display:none}.drop .hint{margin-bottom:8px}}@media(max-width:520px){#strip .lbl,.pill span{display:none}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
