:root{--bg: #110c20;--panel: #1b1433;--panel-2: #221a3d;--panel-3: #2e2452;--panel-deep: #150f29;--line: #4a3d7a;--line-soft: #2e2452;--edge-dark: #0c0819;--ink: #f4efff;--ink-dim: #c9c1e8;--ink-faint: #9289b8;--accent: #f59e3b;--accent-hi: #ffc477;--accent-lo: #7a4512;--accent-rgb: 245, 158, 59;--accent-2: #3fd0ff;--gold: #ffd23f;--pink: #ff4fa3;--cyan: #3fd0ff;--green: #6ef07a;--danger: #ff5b5b;--ok: #6ef07a;--pick: #ffd23f;--font: "Silkscreen", "Press Start 2P", monospace;--font-display: "Press Start 2P", monospace;--font-read: "Pixelify Sans", system-ui, sans-serif;--radius: 10px;--frame: #4a3d7a;--frame-line: 3px solid var(--frame);--frame-shadow: 0 8px 0 var(--edge-dark);--overlay-bg: rgba(12, 8, 25, .84);color-scheme:dark;--bar-h: 72px;--rail-w: 364px}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--font-read);font-size:16px;-webkit-font-smoothing:antialiased}h2{font-family:var(--font-display);font-weight:400;font-size:18px;line-height:1.3}.share-box h2{font-size:18px}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}::selection{background:var(--gold);color:#150f29}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:var(--line);border-radius:4px}*::-webkit-scrollbar-track{background:transparent}body.has-wallpaper{background:var(--edge-dark)}body.has-wallpaper:before{content:"";position:fixed;inset:0;z-index:0;background:var(--wallpaper) center / cover no-repeat;opacity:.3;filter:saturate(.85) contrast(1.05)}body.has-wallpaper:after{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 90% 70% at 50% 45%,transparent 30%,rgba(12,8,25,.75) 100%)}body.has-wallpaper #app{position:relative;z-index:1}#app{height:100%;display:flex;flex-direction:column}#workspace{flex:1 1 auto;display:flex;min-height:0}.hidden{display:none!important}button.px{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;font-family:var(--font-display);font-size:14px;line-height:1.2;color:var(--ink);background:var(--panel-3);border:3px solid var(--line);border-radius:var(--radius);box-shadow:inset 0 -5px #0000004d;padding:8px 14px;cursor:pointer;white-space:nowrap;text-transform:uppercase}button.px:hover{border-color:var(--gold)}button.px:active{transform:translateY(2px);box-shadow:inset 0 -2px #0000004d}button.px.tog{background:var(--panel-deep);color:var(--ink-dim)}button.px.tog.toggled,button.px.tog.toggled:hover{background:var(--gold);border-color:#fff;color:#150f29}button.px.toggled:not(.tog){background:var(--gold);border-color:#fff;color:#150f29}button.px.primary,button.px.primary:hover{background:var(--gold);border-color:#fff;color:#150f29}button.px.danger{color:var(--danger)}button.px:disabled,button.px:disabled:hover,button.px:disabled:active{opacity:.35;cursor:default;color:var(--ink-dim);background:var(--panel-3);border-color:var(--line);transform:none}#stage{flex:1 1 auto;position:relative;display:flex;align-items:center;justify-content:center;min-height:0;min-width:0;padding:6px;overflow:hidden;background:var(--bg)}body:not(.in-game) #stage{padding:0}body:not(.in-game) #viewport{padding:0;border-radius:0;box-shadow:none;background:#000}body:not(.in-game) #screen-wrap{border-radius:0}body.has-wallpaper #stage{background:transparent}#viewport{position:relative;flex:none;padding:10px;border-radius:18px;background:var(--panel-3);box-shadow:0 0 0 4px var(--line),0 10px 0 4px var(--edge-dark)}#screen-wrap{position:relative;line-height:0;overflow:hidden;border-radius:9px;background:#050310}#screen{display:block;background:var(--world-bg, #0b0b14);touch-action:none;cursor:crosshair;image-rendering:auto}#screen.hard-pixels{image-rendering:pixelated;image-rendering:crisp-edges}#view3d{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center}#view3d.hidden{display:none}#pg3d{position:absolute;inset:0;z-index:4}#pg3d.hidden{display:none}.pg3d-hint{position:absolute;left:50%;bottom:10px;translate:-50% 0;padding:6px 12px;font-family:var(--font-read);font-size:15px;line-height:1.4;color:var(--ink);background:#150f29d9;border-radius:8px;pointer-events:none;white-space:nowrap}#crt{pointer-events:none;position:absolute;inset:0;z-index:5;opacity:0;transform:translateZ(0)}body.crt-on #crt{opacity:1;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.5) 100%)}body.gl-render.crt-on #crt{background:radial-gradient(ellipse at center,transparent 52%,rgba(0,0,0,.5) 100%)}#brush-ring{position:absolute;left:0;top:0;z-index:7;pointer-events:none;border-radius:50%;border:2px solid var(--pick);box-shadow:0 0 0 1px #0009,inset 0 0 0 1px #00000059;opacity:0;transition:opacity .12s,width .08s,height .08s}#brush-ring[data-mode=wind]{border:2px dashed var(--ink)}#brush-ring[data-mode=flood]{border-radius:3px;rotate:45deg}#hover-tag{position:absolute;left:0;top:0;z-index:8;pointer-events:none;display:flex;align-items:center;gap:6px;padding:3px 8px;font-family:var(--font-read);font-size:15px;white-space:nowrap;color:#f3f0ff;background:#070816d1;border:1px solid rgba(255,255,255,.22);border-radius:4px;opacity:0;transition:opacity .12s}#hover-tag.on{opacity:1}#hover-tag .hover-chip{width:12px;height:12px;border-radius:2px;box-shadow:0 0 0 1px #0009}@media (prefers-reduced-motion: reduce){#hover-tag{transition:none}}#empty-hint{position:absolute;inset:0;z-index:6;display:grid;place-items:center;padding:24px;text-align:center;font-family:var(--font-read);font-size:clamp(18px,1.6vw,26px);line-height:1.3;color:#f4efff8c;pointer-events:none}body:not(.in-game) #empty-hint,body:has(#overlay:not(.hidden)) #empty-hint{display:none}#paused-badge{position:absolute;top:14px;left:50%;translate:-50% 0;z-index:6;padding:10px 16px;font-family:var(--font-display);font-size:16px;line-height:1;color:var(--gold);background:#150f29e0;border:3px solid var(--line);border-radius:8px;animation:ts-blink 1s steps(1) infinite;pointer-events:none}body:has(#overlay:not(.hidden) .title-screen) #paused-badge{display:none}#fps{display:none;position:absolute;left:10px;top:10px;z-index:6;padding:3px 8px;font-family:var(--font-read);font-size:15px;line-height:1.3;font-variant-numeric:tabular-nums;color:var(--ink);background:#150f29d9;border-radius:6px;pointer-events:none}body.show-fps.in-game #fps{display:block}body:not(.in-game) #paused-badge{display:none}#hudbar{flex:0 0 var(--bar-h);height:var(--bar-h);display:flex;align-items:center;gap:6px;min-width:0;padding:0 16px;background:var(--panel-2);border-bottom:5px solid var(--pink);color:var(--ink-dim);z-index:20}.sb-seg{display:flex;align-items:center;gap:10px;padding:0 8px;white-space:nowrap}.logo{font-family:var(--font-display);font-size:22px;line-height:1;background:linear-gradient(180deg,var(--accent-hi),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(2px 2px 0 var(--accent-lo)) drop-shadow(2px 2px 0 #0a0706)}.modetabs{gap:8px;margin:0 6px}.tab{height:46px;padding:0 14px;font-family:var(--font-display);font-size:14px;color:var(--ink-dim);background:var(--panel-deep);border:3px solid var(--line);border-radius:var(--radius);cursor:pointer}.tab:hover{color:var(--ink);border-color:var(--gold)}.tab.on{color:#150f29;background:var(--gold);border-color:#fff;box-shadow:inset 0 -5px #0003}.sb-challenge{font-family:var(--font-display);font-size:14px;color:var(--gold)}.sb-mat{flex:1 1 0;min-width:0;overflow:hidden}.sb-chip{flex:0 0 auto;width:22px;height:22px;border-radius:5px;border:2px solid #fff}.sb-name{flex:0 0 auto;font-size:20px;font-weight:700;color:var(--ink)}.sb-note{min-width:0;font-size:17px;line-height:1.15;color:var(--ink-dim);white-space:normal}.sb-val{color:var(--ink)}.sb-val.num{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.sb-unit{font-size:16px;color:var(--ink-dim)}.sb-rx .sb-val{min-width:3ch;text-align:right}.sb-now{flex:0 1 auto;min-width:0;max-width:34ch}.sb-cells{min-width:12ch;justify-content:flex-end}.sb-btns{gap:10px;padding-right:0}#hudbar:has(.sb-rx:not(.hidden)) .sb-note{display:none}@media (max-width: 1600px){.sb-now{display:none}}@media (max-width: 1400px){.sb-rx,.sb-note{display:none}}@media (max-width: 1100px){.sb-logo{display:none}}button.px.sq{width:46px;height:46px;min-height:46px;padding:0;border-radius:50%;background:var(--gold);border-color:#fff;color:#150f29}button.px.sq .ico{width:13px;height:15px;background:currentColor;clip-path:polygon(0 0,35% 0,35% 100%,0 100%,0 0,65% 0,100% 0,100% 100%,65% 100%,65% 0)}button.px.sq.toggled .ico{margin-left:3px;clip-path:polygon(0 0,100% 50%,0 100%)}#toolbar{flex:0 0 var(--rail-w);width:var(--rail-w);display:flex;flex-direction:column;gap:12px;min-height:0;padding:14px 14px 12px 16px;background:var(--panel);border-right:5px solid var(--panel-3);z-index:15}.dock-tools{flex:0 0 auto;display:flex;flex-direction:column;gap:10px;padding-bottom:12px;border-bottom:4px solid var(--panel-3)}.glabel{font-family:var(--font-display);font-size:14px;line-height:1.2;color:var(--gold)}.brushdots{display:flex;align-items:center;gap:4px}.brushdots .glabel{width:82px;color:var(--cyan)}.bdot{display:grid;place-items:center;width:44px;height:44px;padding:0;background:var(--panel-deep);border:3px solid var(--line);border-radius:9px;cursor:pointer}.bdot .d{border-radius:50%;background:var(--ink-faint)}.bdot:hover{border-color:var(--gold)}.bdot.sel{background:var(--gold);border-color:#fff}.bdot.sel .d{background:#150f29}.pinrow{display:flex;gap:8px}#palette{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:14px;overflow-y:auto;overflow-x:hidden;padding:4px 6px 6px 3px}.matgroup{display:flex;flex-direction:column;gap:8px}.matgroup:nth-child(5n+2) .glabel{color:var(--green)}.matgroup:nth-child(5n+3) .glabel{color:var(--cyan)}.matgroup:nth-child(5n+4) .glabel{color:var(--pink)}.matgroup:nth-child(5n+5) .glabel{color:var(--ink-dim)}.pgroup{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px 2px}.swatch{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:0;font-family:var(--font-read);font-size:15px;line-height:1.1;color:var(--ink);background:none;border:0;cursor:pointer}.swatch .chip{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:9px;color:var(--ci, var(--ink));background:var(--c, var(--panel-3));border:2px solid rgba(255,255,255,.18);box-shadow:inset 0 -6px #00000040}.swatch .nm{max-width:100%;text-align:center;color:var(--ink-dim)}.swatch:hover .chip{border-color:var(--ink)}.swatch:hover .nm{color:var(--ink)}.swatch:active .chip{transform:translateY(2px)}.swatch.sel .chip,.swatch.toggled .chip{border:3px solid #fff;outline:3px solid var(--gold);outline-offset:2px}.swatch.sel .nm,.swatch.toggled .nm{color:var(--gold)}.swatch.dashed .chip{background:var(--world-bg, #0b0b14);border:3px dashed var(--danger)}.swatch.dashed.sel .chip{border-style:dashed;border-color:var(--danger)}.swatch .budget{position:absolute;top:-8px;right:calc(50% - 32px);z-index:1;min-width:22px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:14px;font-weight:700;line-height:20px;text-align:center;font-variant-numeric:tabular-nums}.swatch.tile .chip{font-size:18px;font-weight:700}.swatch.exhausted{opacity:.3;pointer-events:none;filter:grayscale(1)}.swatch.locked{opacity:.22;pointer-events:none}.swatch.tooltile .chip{background:var(--panel-3);color:var(--ink)}.swatch.tooltile.toggled .chip{background:var(--gold);color:#150f29}.ico{flex:0 0 auto;background:currentColor}.ico-flood{width:18px;height:16px;clip-path:polygon(10% 0,90% 0,100% 100%,0 100%)}.ico-wind{width:20px;height:3px;box-shadow:-4px -6px 0 currentColor,4px 6px 0 currentColor}.acts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.acts button.px{width:100%;padding:6px 8px;font-family:var(--font-read);font-size:17px;font-weight:600;text-transform:none;white-space:normal}.acts button.px.surprise{grid-column:1 / -1;color:var(--gold);border-color:var(--gold)}.acts button.px:only-child{grid-column:1 / -1}#deck{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:center;gap:40px;min-width:0;padding:12px 20px 14px;background:var(--panel-2);border-top:5px solid var(--line);overflow-x:auto;z-index:20}.deck-group{flex:none;display:flex;flex-direction:column;gap:8px}.deck-row{display:flex;align-items:center;gap:8px}.deck-label{font-family:var(--font-display);font-size:14px;color:var(--cyan)}.lamp{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:48px;padding:0;font-family:var(--font-read);font-size:15px;color:var(--ink-dim);background:none;border:0;cursor:pointer}.lamp-cap{width:38px;height:38px;border-radius:50%;background:var(--panel-deep);border:4px solid var(--line);box-shadow:inset 0 -6px #0006}.lamp:hover .lamp-cap{border-color:var(--ink-dim)}.lamp.on{color:var(--ink)}.lamp.on .lamp-cap{background:var(--lamp);border-color:#fff;box-shadow:0 0 14px var(--lamp),inset 0 -6px #00000040}.sky{width:34px;height:34px;padding:0;border-radius:8px;border:3px solid var(--line);cursor:pointer}.sky:hover{border-color:var(--ink-dim)}.sky:nth-child(3){margin-right:10px}.sky.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--panel-2),0 0 0 5px var(--gold)}.deck-sound .deck-row{flex-direction:column;align-items:flex-start;gap:6px}.vol{display:flex;align-items:center;gap:2px}.vol-nm{width:64px;font-size:15px;color:var(--ink-dim)}.cell{width:16px;height:22px;padding:0;border:0;border-radius:3px;background:#3a2f63;cursor:pointer}.cell:hover{background:var(--line)}.vol:first-of-type .cell.on{background:var(--cyan)}.vol:last-of-type .cell.on{background:var(--pink)}#overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--overlay-bg);animation:fade-in .18s ease-out}#overlay.hidden{display:none}#overlay:has(.title-screen){padding:0;background:radial-gradient(ellipse at center,#08060500 50%,#080605d9);backdrop-filter:none}#overlay:has(.title-screen[data-kind=pause]){background:radial-gradient(ellipse at center,#080605c2 30%,#080605eb)}#overlay:has(.title-screen[data-kind=title]):not(.attract){background:radial-gradient(ellipse at center,#0e0b09cc,#060504f7)}.title-screen{--ink: #f1e8da;--ink-dim: #ab9f8f;--ink-faint: #72675b;--font-read: "IBM Plex Mono", ui-monospace, "Courier New", monospace;--ts-outline: 2px 2px 0 #0a0706, -1px -1px 0 #0a0706, 0 0 8px rgba(0, 0, 0, .8);position:relative;isolation:isolate;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:clamp(8px,2.4vh,30px);padding:clamp(12px,3vh,40px) 16px clamp(34px,6vh,60px);text-align:center;overflow-y:auto;text-shadow:var(--ts-outline)}.title-screen:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 50vw 52vh at 50% 50%,#0000008c,#0000)}body.crt-on .title-screen:after{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px)}.ts-logo{font-family:var(--font-display);font-weight:400;font-size:clamp(28px,min(7vw,12vh),120px);line-height:1;letter-spacing:.02em;background:linear-gradient(180deg,var(--accent-hi),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(.05em .05em 0 var(--accent-lo)) drop-shadow(.1em .1em 0 #0a0706) drop-shadow(0 0 8px rgba(0,0,0,.8));animation:ts-bob 2s steps(1) infinite}.ts-body{display:flex;flex-direction:column;align-items:center;animation:ts-fade .12s linear}.ts-press{margin-top:6vh;font-family:var(--font-display);font-size:clamp(14px,min(1.6vw,3vh),26px);color:var(--ink);animation:ts-blink 1s steps(1) infinite}.ts-heading{font-family:var(--font-display);font-weight:400;font-size:clamp(16px,min(2.6vw,4.4vh),40px);color:var(--accent-hi);margin-bottom:.6em}.ts-list{display:flex;flex-direction:column;align-items:center}.ts-item{font-family:var(--font-display);font-size:clamp(14px,min(2vw,3.6vh),30px);line-height:1.9;color:var(--ink-dim);cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}.ts-label{position:relative;display:inline-block}.ts-arrow{position:absolute;top:0;visibility:hidden;color:var(--accent-hi)}.ts-arrow.l{right:calc(100% + .6em)}.ts-arrow.r{left:calc(100% + .6em)}.ts-item.sel{color:var(--accent-hi)}.ts-item.sel .ts-label{transform:translate(.15em)}.ts-item.sel .ts-arrow{visibility:visible;animation:ts-blink 1s steps(1) infinite}.ts-item:focus-visible .ts-label{text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.25em}.ts-item.locked{color:var(--ink-faint);cursor:default}.ts-item.locked.sel{color:var(--ink-dim)}.ts-challenges{width:min(94vw,32em);font-size:clamp(14px,min(1.5vw,3.2vh),24px)}.ts-challenges .ts-item{width:100%;font-size:inherit}.ts-grid{display:grid;grid-template-columns:2.2em 1fr auto;column-gap:1em;width:100%;text-align:left}.ts-stars{white-space:nowrap}.ts-bar{margin-left:.8em;color:var(--accent);letter-spacing:.05em}@media (max-width: 720px){.ts-bar{display:block;margin-left:0}}.ts-item.locked .ts-stars{font-size:.7em;align-self:center}.ts-desc{height:3em;max-width:min(92vw,60em);margin-top:.4em;font-family:var(--font-read);font-size:clamp(14px,1.1vw,24px);line-height:1.45;color:var(--ink)}.ts-foot{position:fixed;left:0;right:0;bottom:14px;font-family:var(--font);font-size:clamp(11px,.75vw,15px);letter-spacing:1px;color:var(--ink-dim);pointer-events:none}.menu-live{position:absolute;left:16px;bottom:12px;font-family:var(--font);font-size:clamp(11px,.75vw,15px);letter-spacing:1px;color:var(--ink-dim);text-shadow:2px 2px 0 #0a0706,-1px -1px 0 #0a0706,0 0 8px rgba(0,0,0,.8);pointer-events:none}.title-screen[data-kind=pause] .ts-foot{font-size:14px}@media (pointer: coarse),(max-width: 720px){.ts-item{min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1.25}}@keyframes ts-blink{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes ts-bob{0%,49%{transform:translateY(0)}50%,to{transform:translateY(-2px)}}@keyframes ts-fade{0%{opacity:0}to{opacity:1}}@media (max-width: 720px){.ts-foot{display:none}}@media (prefers-reduced-motion: reduce){.ts-logo,.ts-press,.ts-item.sel .ts-arrow,.ts-body{animation:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.screen{position:relative;width:min(920px,94vw);max-height:92vh;overflow-y:auto;background:var(--panel);border-radius:16px;box-shadow:0 0 0 1px var(--line),var(--frame-shadow);padding:30px 32px;animation:panel-in .18s ease-out}@keyframes panel-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}#toast-wrap{position:fixed;top:calc(var(--bar-h) + 14px);left:50%;translate:-50% 0;z-index:80;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none}.toast{background:var(--panel-2);color:var(--ink);font-family:var(--font-read);font-size:14px;font-weight:500;padding:10px 16px;border-radius:999px;box-shadow:0 0 0 1px var(--line),var(--frame-shadow);animation:toast-in .16s ease-out}.toast.bad{box-shadow:0 0 0 1px var(--danger),var(--frame-shadow);color:#ffc9c2}@keyframes toast-in{0%{transform:translateY(-10px);opacity:0}to{transform:none;opacity:1}}.result-box{padding:30px 36px}.result-box h2{text-align:center;font-size:20px;margin-bottom:6px}.result-box h2.win{color:var(--ok)}.result-box h2.lose{color:var(--danger)}.result-name{text-align:center;font-family:var(--font-read);font-size:14px;color:var(--ink-dim);margin-bottom:18px}.result-stars{text-align:center;font-size:30px;letter-spacing:10px;margin:6px 0 20px;color:var(--accent)}.result-stars span{display:inline-block}.result-stars .on{animation:star-pop .34s steps(4) backwards}.result-stars .on:nth-child(1){animation-delay:.5s}.result-stars .on:nth-child(2){animation-delay:.8s}.result-stars .on:nth-child(3){animation-delay:1.1s}.result-stars .off{color:var(--line-soft)}@keyframes star-pop{0%{opacity:0;transform:scale(2.4) rotate(-25deg)}to{opacity:1;transform:none}}.result-stats{display:grid;gap:8px;max-width:420px;margin:0 auto 24px;font-family:var(--font-read);font-size:14px;color:var(--ink-dim)}.result-stats .row{display:flex;justify-content:space-between;gap:16px;padding:7px 12px;background:#0000004d;border-left:4px solid var(--frame)}.result-stats .row b{color:var(--ink);font-weight:500}.btn-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}@media (max-width: 720px){button.px{padding:8px 10px}.screen{padding:22px 18px}}@media (max-width: 900px) and (orientation: portrait){:root{--bar-h: 60px}#hudbar{gap:0;padding:0 8px}.sb-mat,.sb-cells,.sb-rx,.sb-now,.sb-logo{display:none}.modetabs{flex:1 1 auto;margin:0 6px 0 0;gap:4px}.tab{flex:1 1 0;height:44px;padding:0 4px;font-family:var(--font-read);font-size:16px;font-weight:700}.sb-btns button.px:not(.sq){display:none}#workspace{flex-direction:column}body.in-game #stage{order:-1;flex:0 0 auto;height:calc((100vw - 16px)*.5625 + 36px);padding:4px}#workspace .react-bar{order:0;flex-direction:row;justify-content:center;padding:6px;border-left:0;border-top:3px solid var(--panel-3)}#workspace .react-btn.ping{margin:0 0 0 6px}#toolbar{order:1;flex:1 1 0;width:auto;border-right:0;border-top:5px solid var(--panel-3);padding:10px 12px}.dock-tools{flex-direction:row;flex-wrap:wrap;align-items:center}.brushdots .glabel{display:none}.pgroup{grid-template-columns:repeat(auto-fill,minmax(64px,1fr))}#deck{justify-content:flex-start;gap:24px;padding:10px 12px}.deck-label{display:none}.deck-sound .vol-nm{width:56px}.cell{height:44px}}@media (max-height: 520px) and (orientation: landscape){:root{--bar-h: 52px;--rail-w: 240px}.sb-mat,.sb-logo,.sb-rx,.sb-now{display:none}.sb-btns button.px:not(.sq){display:none}.tab{height:44px;padding:0 8px;font-family:var(--font-read);font-size:16px;font-weight:700}#workspace .react-btn{width:44px;height:44px;font-size:20px}#toolbar{padding:8px 10px;gap:8px}.brushdots .glabel{display:none}#deck{justify-content:flex-start;gap:20px;padding:6px 10px}.deck-label,.lamp-nm{display:none}.lamp-cap,.sky{width:44px;height:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media (prefers-reduced-motion: reduce){#paused-badge{animation:ts-blink 1s steps(1) infinite!important}}.v3d-ui{position:absolute;left:50%;bottom:14px;translate:-50% 0;max-width:calc(100% - 24px);z-index:5;display:flex;align-items:center;gap:6px;padding:6px 10px;border:var(--frame-line);background:#080605db;box-shadow:var(--frame-shadow)}.v3d-ui .px{padding:4px 8px}.v3d-hint{margin-left:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-read);font-size:14px;color:var(--ink-faint);white-space:nowrap}@media (max-width: 640px){.v3d-hint{display:none}}.share-box{max-width:560px;display:flex;flex-direction:column;gap:14px}.share-blurb{font-family:var(--font-read);font-size:14px;line-height:1.5;color:var(--ink-dim);text-align:center}.share-url{width:100%;padding:10px 12px;font-family:var(--font-read);font-size:14px;color:var(--ink);background:var(--bg);border:var(--frame-line)}.share-url:focus{outline:2px solid var(--accent);outline-offset:1px}.share-meta{font-family:var(--font-read);font-size:14px;color:var(--ink-faint);text-align:center;line-height:1.5}.share-meta.warn{color:var(--accent)}.px.surprise{border-color:var(--accent);color:var(--accent-hi)}.room-pill{position:absolute;top:10px;left:50%;translate:-50% 0;z-index:6;display:flex;align-items:center;gap:10px;padding:6px 8px 6px 12px;font-family:var(--font-read);font-size:14px;white-space:nowrap;color:var(--ink);background:var(--panel);border-radius:12px;box-shadow:0 0 0 1px var(--line),var(--frame-shadow)}.room-pill[hidden]{display:none}.room-pill .px{padding:6px 10px;box-shadow:none}.room-code{color:var(--accent);font-weight:700}.room-role{color:var(--ink-faint)}.room-people{color:var(--ink-dim);min-width:8ch}.room-dot{width:8px;height:8px;background:var(--ok)}.room-pill.alone .room-dot{background:var(--accent)}.room-dots{display:flex;gap:3px}.room-avatar{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font-size:14px;font-weight:700;color:#111;cursor:default}.room-avatar.self{outline:2px solid var(--ink);outline-offset:1px}.room-avatar.self{cursor:pointer}.room-mode{color:var(--accent)!important;border-color:rgba(var(--accent-rgb),.5)!important}.room-mode[hidden]{display:none}.room-rename{width:15ch;padding:3px 6px;font:inherit;font-size:14px;color:var(--ink);background:var(--panel-3);border:2px solid var(--accent);outline:none}.room-pill.waiting .room-dot{background:var(--danger);animation:blink 1s steps(2) infinite}.room-pill.waiting .room-role{color:var(--danger)}@media (max-width: 720px),(max-height: 520px) and (orientation: landscape){.room-pill{top:6px;gap:6px;padding:4px 6px 4px 8px;flex-wrap:wrap;justify-content:center;width:max-content;max-width:calc(100% - 16px);white-space:normal}.room-pill .room-role,.room-pill .room-people,.room-pill .room-dots{display:none}.room-pill .px{padding:6px 8px;min-height:44px}}@keyframes blink{50%{opacity:.3}}.peer-cursor{position:absolute;left:0;top:0;z-index:5;pointer-events:none;transition:transform 70ms linear,opacity .3s}.peer-cursor.gone{opacity:0}.peer-arrow{position:absolute;left:-1px;top:-1px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}.peer-name{position:absolute;left:14px;top:20px;padding:2px 6px;font-size:14px;font-weight:700;white-space:nowrap;color:#111}.peer-tool{position:absolute;translate:-50% -50%;opacity:.45;transition:width .12s,height .12s,opacity .12s}.peer-tool.active{opacity:1}.peer-tool.tool-b,.peer-tool.tool-e{border:2px solid;border-radius:50%}.peer-tool.tool-b.active{background:color-mix(in srgb,currentColor 22%,transparent)}.peer-tool.tool-e{border-style:dashed}.peer-tool.tool-e.active{background:#ff8a8a1f}.peer-tool.tool-w{animation:peer-swirl 1.2s linear infinite}.peer-tool.tool-w.active{animation-duration:.5s}.peer-tool.tool-w span{position:absolute;inset:0;border:2px solid transparent;border-top-color:currentColor;border-radius:50%}.peer-tool.tool-w span:nth-child(2){inset:18%;rotate:120deg}.peer-tool.tool-w span:nth-child(3){inset:36%;rotate:240deg}@keyframes peer-swirl{to{rotate:360deg}}.peer-tool.tool-f{translate:8px -36px;width:auto;height:auto;opacity:.9}.peer-tool.tool-f.active{opacity:1}.peer-tool.tool-f svg{display:block;width:28px;height:28px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.7))}@media (prefers-reduced-motion: reduce){.peer-tool.tool-w{animation:none}}.pf-dialog{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:var(--overlay-bg)}.pf-dialog-box{width:min(420px,92vw);padding:22px 24px 18px;background:var(--panel);border-radius:16px;box-shadow:0 0 0 1px var(--line),var(--frame-shadow)}.pf-dialog-box h2{margin:0 0 10px;font-size:18px;color:var(--ink)}.pf-dialog-box p{margin:0 0 14px;font-family:var(--font-read);font-size:14px;line-height:1.5;color:var(--ink-dim)}.pf-dialog-box .pf-dialog-hint{margin:10px 0 0;font-size:14px;color:var(--ink-faint)}.pf-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.pf-dialog-box.pic-dialog{width:min(720px,94vw);max-height:94vh;overflow-y:auto}.pic-view{display:block;width:100%;aspect-ratio:16 / 9;border-radius:8px;image-rendering:pixelated;box-shadow:0 0 0 2px var(--line)}.pic-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin-top:14px;font-family:var(--font-display);font-size:14px;color:var(--cyan)}.pic-row input{width:100%;accent-color:var(--gold)}.pic-mats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.pic-mat{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 12px 6px 8px;font-family:var(--font-read);font-size:15px;color:var(--ink-dim);background:var(--panel-deep);border:3px solid var(--line);border-radius:9px;cursor:pointer}.pic-mat:before{content:"";width:20px;height:20px;border-radius:5px;background:var(--c)}.pic-mat:hover{border-color:var(--gold);color:var(--ink)}.pic-mat[aria-pressed=true]{border-color:var(--gold);color:var(--ink);box-shadow:0 0 0 2px var(--gold)}.pf-name-row{display:flex;align-items:center;gap:12px}.room-avatar.big{width:38px;height:38px;font-size:14px;flex:none}.pf-name-input{flex:1;min-width:0;padding:9px 10px;font:inherit;font-size:14px;text-transform:uppercase;color:var(--ink);background:var(--panel-3);border:var(--frame-line);outline:none}.pf-name-input:focus{border-color:var(--accent)}.pf-swatches{display:flex;gap:8px;margin-top:14px}.pf-swatch{width:24px;height:24px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}.pf-swatch.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--panel)}.pf-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.react-bar{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:10px 8px;background:var(--panel);border-left:var(--frame-line)}.react-btn{display:grid;place-items:center;width:44px;height:44px;padding:0;font-size:22px;line-height:1;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;cursor:pointer}.react-btn:hover{background:var(--panel-3)}.react-btn:active{transform:translate(2px,2px)}.react-btn.ping{margin-top:6px;border-color:var(--accent)}.react-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.emote{position:absolute;z-index:6;pointer-events:none}.emote.ping{width:0;height:0;animation:ping-life 3.2s linear forwards}.ping-ring{position:absolute;left:-30px;top:-30px;width:60px;height:60px;border:3px solid var(--who);border-radius:50%;opacity:0;animation:ping-pulse 1.3s ease-out 2 both}.ping-dot{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:var(--who)}.ping-label{position:absolute;left:22px;top:-40px;padding:4px 8px;font-size:14px;font-weight:700;white-space:nowrap;color:#111;background:var(--who)}@keyframes ping-pulse{0%{transform:scale(.2);opacity:1}to{transform:scale(2.6);opacity:0}}@keyframes ping-life{0%,85%{opacity:1}to{opacity:0}}.peer-bubble{position:absolute;left:4px;bottom:6px;display:grid;place-items:center;width:40px;height:40px;font-size:24px;line-height:1;background:var(--panel);border:2px solid currentColor;box-shadow:3px 3px 0 var(--edge-dark);transform-origin:0% 100%;animation:bubble-life 2.6s cubic-bezier(.2,.8,.3,1) forwards}@keyframes bubble-life{0%{transform:scale(.2);opacity:0}10%{transform:scale(1.18);opacity:1}18%{transform:scale(1)}85%{transform:scale(1);opacity:1}to{transform:translateY(-10px) scale(.9);opacity:0}}.room-avatar{transition:background .2s}.room-avatar.reacting{font-size:14px;background:var(--panel-3)!important;box-shadow:0 0 0 2px var(--who);animation:avatar-pop .45s cubic-bezier(.2,.9,.3,1.4)}.room-avatar.reacting.held{animation:none}@keyframes avatar-pop{0%{transform:scale(.5)}60%{transform:scale(1.35)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.peer-bubble{animation:ping-life 2.6s linear forwards}.room-avatar.reacting{animation:none}.ping-ring{animation:none;opacity:1}}@media (max-width: 720px),(max-height: 520px) and (orientation: landscape){#workspace .react-btn{width:44px;height:44px;font-size:20px}}.pt-root{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:16px;background:var(--overlay-bg)}.pt-panel{width:min(1060px,100%);max-height:100%;overflow:auto;padding:16px 18px 18px;border:2px solid var(--accent);background:var(--panel);box-shadow:var(--frame-shadow)}.pt-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}.pt-head h2{margin:0;font-size:16px;color:var(--accent)}.pt-hint{flex:1;font:14px var(--font-read);color:var(--ink-faint)}.pt-grid{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));grid-template-rows:repeat(7,auto) 10px repeat(2,auto);gap:3px}.pt-cell{--tint: #6b6b7e;position:relative;aspect-ratio:1;min-width:0;padding:0;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--tint) 70%,transparent);background:color-mix(in srgb,var(--tint) 30%,var(--panel-deep));color:var(--ink);cursor:pointer}.pt-cell:hover:not(.off),.pt-cell:focus-visible{transform:scale(1.12);box-shadow:0 0 0 2px var(--accent);z-index:1;outline:none}.pt-cell.sel{box-shadow:0 0 0 2px var(--accent-hi)}.pt-cell.off{opacity:.32;cursor:default}.pt-z{position:absolute;top:2px;left:3px;font:14px var(--font-read);color:var(--ink-dim)}.pt-sym{font:700 clamp(14px,1.4vw,15px) var(--font-read)}.pt-cell.alkali{--tint: #e8734a}.pt-cell.alkaline{--tint: #e8b44a}.pt-cell.transition{--tint: #c9a6d8}.pt-cell.post{--tint: #7fb2c8}.pt-cell.metalloid{--tint: #8fc49a}.pt-cell.nonmetal{--tint: #6fd48a}.pt-cell.halogen{--tint: #d4e04a}.pt-cell.noble{--tint: #6fa8f2}.pt-cell.lanthanide{--tint: #e88aa8}.pt-cell.actinide{--tint: #c8728a}.pt-card{align-self:start;padding:6px 10px;font:14px/1.45 var(--font-read);color:var(--ink-dim)}.pt-card-title{display:flex;align-items:baseline;gap:10px;color:var(--ink);font-weight:700}.pt-card-sym{font-size:22px;color:var(--accent)}.pt-card-facts{margin:2px 0 4px}.pt-card-off{color:var(--ink-faint)}.pt-card-rx{margin:0;padding-left:16px;color:var(--ink)}@media (prefers-reduced-motion: reduce){.pt-cell:hover:not(.off),.pt-cell:focus-visible{transform:none}}.pf-help{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:var(--overlay-bg)}.pf-help-box{width:min(860px,94vw);max-height:88vh;display:flex;flex-direction:column;padding:20px 24px;border-color:var(--accent-2)}.pf-help-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.pf-help-head h2{font-size:20px;color:var(--ink)}.pf-help-cols{overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding-right:6px}.pf-help-heading{font-family:var(--font-read);font-size:16px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:6px;margin-bottom:8px}.pf-key{flex:0 0 132px;color:var(--ink);font-family:var(--font-read);font-size:14px;background:var(--panel-3);border-radius:6px;padding:4px 6px;margin-right:10px;white-space:nowrap;text-align:center}.pf-desc{color:var(--ink-dim);line-height:1.5}.pf-help-krow{display:flex;align-items:center;margin-bottom:7px}.pf-el-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 14px}.pf-el{display:flex;align-items:baseline;gap:7px}.pf-chip{flex:0 0 auto;width:10px;height:10px;border:1px solid var(--line);transform:translateY(1px)}.pf-el-txt{font-size:14.5px;color:var(--ink-dim)}.pf-el-txt b{color:var(--ink)}.pf-chal{margin-bottom:10px}.pf-chal-name{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:3px}.pf-chal-desc{font-size:14.5px;color:var(--ink-dim);line-height:1.45}.pf-chal-hint{font-size:14.5px;color:var(--accent);opacity:.85;margin-top:2px}.pf-help-blurb{font-size:14.5px;color:var(--ink-dim);line-height:1.6}.pf-tip{position:fixed;z-index:95;max-width:260px;padding:7px 10px;background:var(--panel-2);border:2px solid var(--accent-2);box-shadow:3px 3px 0 var(--edge-dark);color:var(--ink-dim);font-size:14.5px;line-height:1.4;pointer-events:none}.pf-tip b{display:block;color:var(--ink);margin-bottom:2px}#blast-flash{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:5;background:radial-gradient(circle at var(--fx, 50%) var(--fy, 50%),rgba(255,246,214,.95) 0%,rgba(255,190,110,.55) 9%,rgba(255,120,60,.18) 24%,transparent 46%)}body.immersive #stage{padding:0;background:#000}body.immersive #viewport{padding:0;border-radius:0;box-shadow:none;background:none}body.immersive #screen-wrap{border-radius:0}body.immersive #toolbar,body.immersive #hudbar,body.immersive #deck{position:fixed;z-index:40;opacity:0;pointer-events:none;transition:transform .18s steps(4),opacity .14s steps(3)}body.immersive #hudbar{top:0;left:0;right:0;transform:translateY(-100%)}body.immersive #toolbar{top:0;bottom:0;left:0;transform:translate(-100%)}body.immersive #deck{bottom:0;left:0;right:0;transform:translateY(100%)}body.immersive.reveal-top #hudbar,body.immersive.reveal-left #toolbar,body.immersive.reveal-bottom #deck{transform:none;opacity:1;pointer-events:auto}@media (prefers-reduced-motion: reduce){body.immersive #toolbar,body.immersive #hudbar,body.immersive #deck{transition:opacity .12s linear}}.garden-canvas{position:absolute;left:0;top:0;z-index:3;touch-action:none;pointer-events:none}body.garden-on #screen,body.garden-preview #screen{opacity:0}.ascii-canvas{position:absolute;left:0;top:0;z-index:3;pointer-events:none;display:none}body.ascii-on .ascii-canvas{display:block}body.ascii-on #screen,body.math-on #screen{opacity:0}.math-code{position:absolute;top:0;right:0;bottom:0;width:44%;z-index:4;overflow-y:auto;padding:14px 16px;background:#0e0b1ee6;border-left:2px solid #2a2350;color:#e8e2ff;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:clamp(11px,.85vw,14px)}.math-title{font-family:var(--font-display);font-size:14px;color:var(--gold);margin-bottom:6px}.math-idea{margin:0 0 10px;line-height:1.45;color:#b9b0de;font-family:var(--font-read);font-size:1.05em}.math-tex{margin:0 0 12px;padding:4px 12px;min-height:3.2em;background:#07060f;border-left:3px solid var(--gold);border-radius:6px;color:#fff3c4;overflow-x:auto;overflow-y:hidden}.math-tex .katex-display{margin:.5em 0}.math-tex .katex{font-size:1.5em}.math-lines{margin:0 0 12px;padding:8px 0 8px 2.6em;background:#07060f;border-radius:6px;line-height:1.55}.math-lines li{white-space:pre;padding-right:8px;color:#cfc8ef}.math-lines li::marker{color:#5c5480}.math-lines li.on{background:#ffd23f2e;color:#fff;box-shadow:inset 3px 0 0 var(--gold)}.math-sliders{display:grid;gap:8px}.math-slider{display:grid;grid-template-columns:7.5em 1fr 3.5em;align-items:center;gap:8px;font-family:var(--font-read)}.math-key{font-size:.95em;letter-spacing:.06em;color:#b9b0de}.math-slider input{accent-color:var(--gold);width:100%;min-height:28px}.math-val{text-align:right;color:var(--gold);font-variant-numeric:tabular-nums}.math-formula{margin:0 0 10px}.math-formula-row{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px}.math-formula-row input{font:inherit;font-size:1.15em;color:#fff;background:#07060f;border:2px solid var(--gold);border-radius:6px;padding:6px 10px;min-height:36px}.math-error{min-height:1.4em;margin-top:4px;color:#ff8a80;font-family:var(--font-read)}.math-ideas{display:flex;flex-wrap:wrap;gap:6px}.math-idea-btn{font:inherit;font-size:.95em;color:#e8e2ff;background:#1b1433;border:1px solid #4a3d7a;border-radius:4px;padding:4px 8px;cursor:pointer}.math-idea-btn:hover,.math-idea-btn:focus-visible{border-color:var(--gold);color:#fff}.math-py{width:100%;box-sizing:border-box;margin:8px 0;padding:8px 10px;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1em;line-height:1.5;color:#e8e2ff;background:#07060f;border:2px solid #3776ab;border-radius:6px;resize:vertical;tab-size:4;white-space:pre}.math-py:focus-visible{outline:none;border-color:var(--gold)}.math-py-row{display:flex;align-items:center;gap:8px;margin:6px 0 8px;flex-wrap:wrap}.math-run{background:#3776ab;border-color:#5a9ad6;color:#fff;font-weight:600}.math-run:disabled{opacity:.6;cursor:progress}.math-py-status{color:#b9b0de;font-family:var(--font-read)}.math-py-out{margin:0;padding:8px 10px;background:#07060f;border-radius:6px;color:#cfc8ef;white-space:pre-wrap;max-height:9em;overflow:auto;font-family:IBM Plex Mono,ui-monospace,monospace}.math-py-out.bad{color:#ff8a80}.sb-time.urgent .sb-val{color:#ff6a6a}body.elements-on #screen{opacity:0}body.elements-on #stage{align-items:stretch;justify-content:stretch}body.elements-on #viewport{flex:1 1 auto;display:flex;min-width:0;min-height:0}body.elements-on #screen-wrap{flex:1 1 auto;min-width:0;min-height:0}body.elements-on #screen{position:absolute;left:0;top:0}.rail-fold{flex:none;width:100%;min-height:44px}body.elements-on.el-folded #toolbar{flex-basis:84px;width:84px;padding:10px 8px;overflow-y:auto}body.elements-on.el-folded #toolbar .dock-tools,body.elements-on.el-folded #toolbar .glabel,body.elements-on.el-folded #toolbar .matgroup:has(.acts),body.elements-on.el-folded #toolbar .swatch .nm{display:none}body.elements-on.el-folded #toolbar .pgroup{grid-template-columns:1fr;justify-items:center}body.elements-on.el-folded #deck{display:none}.el-root{--el-tint: #5ad8ff;--el-ink: #e6e8ff;--el-dim: #a3a9dc;--el-faint: #7c82b8;--el-line: #23284f;position:absolute;inset:0;z-index:4;display:grid;grid-template-columns:minmax(0,var(--el-left, 58%)) 14px minmax(0,1fr);line-height:1.35;background:#070816;color:var(--el-ink);font-family:IBM Plex Mono,ui-monospace,monospace;font-size:14px}.el-left{display:grid;grid-template-rows:minmax(0,1fr) 14px var(--el-table-h, auto);min-height:0;min-width:0}.el-atom{position:relative;min-height:0;container-type:size}@container (max-height: 360px){.el-caption{display:none}}.el-atom canvas{position:absolute;inset:0}.el-head{position:absolute;top:12px;left:16px;pointer-events:none}.el-z{color:var(--el-tint);letter-spacing:.1em}.el-sym{font:700 clamp(30px,4.2vw,64px) / 1.05 "IBM Plex Mono",monospace;color:var(--el-tint);text-shadow:0 0 18px color-mix(in srgb,var(--el-tint) 60%,transparent)}.el-name{font-weight:500;letter-spacing:.32em;font-size:1.15em}.el-kind{margin-top:2px;color:var(--el-dim);letter-spacing:.12em}.el-caption{position:absolute;left:16px;right:16px;bottom:6px;color:var(--el-faint);pointer-events:none}.el-table{display:flex;flex-direction:column;min-height:0;overflow:auto;padding:6px 12px 10px}.el-grid{flex:1 1 auto;display:grid;grid-template-columns:repeat(18,minmax(0,1fr));grid-template-rows:repeat(7,minmax(22px,1fr)) 5px repeat(2,minmax(22px,1fr));gap:2px}.el-split{position:relative;display:grid;place-items:center;background:#10132e;touch-action:none;outline:none}.el-split.v{cursor:col-resize;border-left:1px solid var(--el-line);border-right:1px solid var(--el-line)}.el-split.h{cursor:row-resize;border-top:1px solid var(--el-line);border-bottom:1px solid var(--el-line)}.el-split:before{content:"";position:absolute;inset:-10px 0}.el-split.v:before{inset:0 -10px}.el-split span{border-radius:3px;background:var(--el-faint)}.el-split.v span{width:4px;height:56px}.el-split.h span{width:56px;height:4px}.el-split:hover span,.el-split.held span,.el-split:focus-visible span{background:var(--el-tint)}.el-split:focus-visible{box-shadow:inset 0 0 0 2px var(--el-tint)}html.el-dragging,html.el-dragging *{user-select:none;-webkit-user-select:none}.el-view{position:absolute;top:0;left:0;bottom:0;right:var(--el-col, 84px)}.el-tools{position:absolute;top:0;right:0;bottom:0;z-index:2;width:var(--el-col, 84px);box-sizing:border-box;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;overflow-y:auto;scrollbar-width:none;background:#0d0f26f0;border-left:1px solid var(--el-line)}.el-tool{position:relative;flex:none;width:72px;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 0;font:600 14px IBM Plex Mono,monospace;color:var(--el-ink);background:#15183a;border:1px solid #3a3f78;border-radius:10px;cursor:pointer}.el-tool svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.el-tool svg .fill{fill:currentColor}.el-tool:hover,.el-tool:focus-visible{border-color:var(--el-tint);outline:none}.el-tool.view.on{color:#070816;background:#ffd23f;border-color:#ffd23f}.el-tool.explore.on{color:#070816;background:#5ad8ff;border-color:#5ad8ff;font-weight:700}.el-tool.light.on{color:#070816;background:var(--cat, #ffd23f);border-color:var(--cat, #ffd23f)}.el-tool.focus{margin-top:auto;color:#070816;background:#8cf06a;border-color:#8cf06a;font-weight:700}.el-tool.on:hover,.el-tool.on:focus-visible,.el-tool.focus:hover,.el-tool.focus:focus-visible{border-color:#fff}.el-tool-sep{flex:none;width:44px;height:1px;margin:4px 0;background:#3a3f78}.el-tool-wrap{position:relative;flex:none}.el-light{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px}.el-tool-wrap:focus-within .el-tool{border-color:var(--el-tint)}.el-caption{right:calc(var(--el-col, 84px) + 16px)}.el-head{right:calc(var(--el-col, 84px) + 8px)}@container (max-height: 440px){.el-tool{min-height:44px}.el-tool svg{display:none}.el-name{letter-spacing:.1em;font-size:14px}.el-kind{letter-spacing:.04em}}.el-cell{min-width:0;min-height:22px;padding:0;font:500 14px/1 IBM Plex Mono,monospace;letter-spacing:-.04em;color:color-mix(in srgb,var(--tint) 75%,white);background:color-mix(in srgb,var(--tint) 14%,#0c0e22);border:1px solid color-mix(in srgb,var(--tint) 30%,transparent);border-radius:2px;cursor:pointer;transition:opacity .2s,background-color .15s}.el-cell:hover,.el-cell:focus-visible{background:color-mix(in srgb,var(--tint) 38%,#0c0e22);outline:none}.el-cell:focus-visible{box-shadow:0 0 0 2px #fff}.el-cell.sel{background:var(--tint);color:#070816;font-weight:700;box-shadow:0 0 10px var(--tint)}.el-cell.dim{opacity:.16}.el-fgap{display:flex;align-items:center;justify-content:center;color:var(--el-faint)}.el-panel{min-height:0;overflow-y:auto;container-type:inline-size;padding:12px 18px 14px;font-size:16px;line-height:1.45;border-left:1px solid var(--el-line);background:#0a0b1d}.el-section{display:flex;justify-content:space-between;gap:8px;margin:16px 0 8px;padding-bottom:5px;border-bottom:1px solid var(--el-line);color:var(--el-dim);font-size:14px;letter-spacing:.12em}.el-section span:first-child{color:var(--el-ink);font-weight:600}.el-section:first-child{margin-top:0}.el-rows{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:0}.el-rows dt{color:var(--el-dim);letter-spacing:.05em}.el-rows dd{margin:0;text-align:right;font-weight:500}.el-spectrum canvas{display:block;width:100%;height:36px;border:1px solid var(--el-line);border-radius:3px}.el-axis{position:relative;height:1.5em;color:var(--el-faint)}.el-axis span{position:absolute;top:1px;transform:translate(-50%)}.el-lines{color:var(--el-tint)}.el-uses{margin:0;padding-left:2.4em}.el-uses li{margin:2px 0}.el-uses li::marker{content:counter(list-item,decimal-leading-zero) "  ";color:var(--el-faint)}.el-fact{margin:10px 0 6px;color:#cdd1ff;line-height:1.5}.el-source{margin:0;color:var(--el-faint)}.el-card{grid-column:3 / 13;grid-row:1 / 4;display:grid;align-content:start;gap:3px;padding:0 8px;min-width:0}.el-card-top{display:flex;gap:6px;min-width:0}.el-select,.el-find{min-width:0;height:24px;padding:0 6px;font:14px IBM Plex Mono,monospace;color:var(--el-ink);background:#0c0e22;border:1px solid var(--el-line);border-radius:3px}.el-select{flex:1 1 auto;cursor:pointer}.el-find{flex:0 1 11em}.el-find::placeholder{color:var(--el-faint)}.el-select:focus-visible,.el-find:focus-visible{outline:none;border-color:var(--el-tint)}.el-find.miss{border-color:#ff6b8a}.el-key{display:flex;flex-wrap:wrap;align-items:center;gap:2px 10px;min-height:22px;color:var(--el-dim)}.el-key-row{display:flex;align-items:center;gap:8px;flex:1 1 100%}.el-key-val{color:var(--el-ink);white-space:nowrap}.el-key-note{color:var(--el-dim)}.el-slider{flex:1 1 auto;min-width:0;accent-color:var(--el-tint)}.el-ramp{flex:1 1 4em;height:10px;border-radius:2px}.el-chip{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.el-chip-dot{width:10px;height:10px;border-radius:2px;background:var(--tint)}.el-chip.none .el-chip-dot{background:repeating-linear-gradient(45deg,#2a2e5a 0 2px,#0a0b1d 2px 4px)}.el-readout{color:var(--el-tint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-grid.heat .el-cell{background:var(--tint);color:var(--ink);border-color:transparent}.el-grid.heat .el-cell:hover,.el-grid.heat .el-cell:focus-visible{filter:brightness(1.2)}.el-grid.heat .el-cell.sel{box-shadow:0 0 0 2px #fff,0 0 10px var(--tint)}.el-grid .el-cell.nodata{background:repeating-linear-gradient(45deg,#15183a 0 3px,#0a0b1d 3px 6px);color:#5d6294;border-color:#1d2147}.el-grid .el-cell.nodata.sel{box-shadow:0 0 0 2px #fff;color:#fff}.el-rows dd.none{color:var(--el-faint);font-weight:400}.el-boxes{display:grid;gap:4px}.el-boxrow{display:flex;align-items:center;gap:10px}.el-boxlabel{width:2.4em;color:var(--el-dim)}.el-boxset{display:flex;flex-wrap:wrap}.el-box{display:inline-grid;place-items:center;width:2.2em;height:1.6em;border:1px solid color-mix(in srgb,var(--el-tint) 55%,transparent);margin-right:-1px;color:var(--el-tint);letter-spacing:.08em}.el-facts{margin:0;padding-left:1.2em}.el-facts li{margin:4px 0;line-height:1.45;color:#cdd1ff}.el-facts-k{color:var(--el-dim);letter-spacing:.1em}.el-cell.sel2{box-shadow:0 0 0 2px #fff,0 0 10px var(--tint);color:#fff;font-weight:700}.el-grid.bonding .el-cell{position:relative}.el-grid.bonding .el-cell.bondable:after{content:"";position:absolute;top:2px;right:2px;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 4px #fff}.el-dx-bar{position:relative;display:flex;height:26px;margin-top:6px;border-radius:4px;overflow:visible}.el-dx-ticks{position:relative;height:1.4em;margin-bottom:8px;color:var(--el-faint);font-size:14px}.el-dx-ticks span{position:absolute;top:2px;transform:translate(-50%)}.el-dx-ticks span:first-child{transform:none}.el-dx-ticks span:last-child{transform:translate(-100%)}.el-dx-seg{flex:1 1 0;display:grid;place-items:center;min-width:0;overflow:hidden;font-size:14px;color:color-mix(in srgb,var(--k) 70%,var(--el-dim));background:color-mix(in srgb,var(--k) 10%,#0c0e22);border:1px solid color-mix(in srgb,var(--k) 30%,transparent);letter-spacing:.08em;white-space:nowrap}.el-dx-seg:first-child{border-radius:4px 0 0 4px}.el-dx-seg:last-of-type{border-radius:0 4px 4px 0}.el-dx-seg.on{color:#070816;font-weight:700;background:var(--k)}.el-dx-mark{position:absolute;top:-2px;bottom:-2px;width:2px;transform:translate(-50%);background:#fff;box-shadow:0 0 6px #fff}.el-dx-mark:before{content:"";position:absolute;left:50%;top:-8px;transform:translate(-50%);border:6px solid transparent;border-top-color:#fff;border-bottom:0}.el-kindbadge{display:flex;align-items:baseline;gap:12px;padding:8px 12px;border-radius:4px;border-left:4px solid var(--k);background:color-mix(in srgb,var(--k) 14%,#0c0e22)}.el-kindbadge-k{color:var(--k);font-size:20px;font-weight:700;letter-spacing:.1em}.el-kindbadge-dx{color:var(--el-ink)}.el-why{margin:0 0 10px;color:var(--el-ink)}.el-replay{font:15px IBM Plex Mono,monospace;padding:6px 12px;color:var(--el-tint);background:#0c0e22;border:1px solid color-mix(in srgb,var(--el-tint) 45%,transparent);border-radius:4px;letter-spacing:.08em;cursor:pointer}.el-cmps{display:grid;gap:6px}.el-cmp{display:grid;grid-template-columns:minmax(4.5em,auto) 1fr;align-items:baseline;gap:12px;padding:8px 12px;font:16px IBM Plex Mono,monospace;text-align:left;color:var(--el-ink);background:#0e1029;border:1px solid var(--el-line);border-radius:4px;cursor:pointer}.el-cmp-f{color:var(--el-tint);font-size:20px;font-weight:600}.el-cmp-n{color:var(--el-dim)}.el-cmp.on{border-color:var(--el-tint);background:color-mix(in srgb,var(--el-tint) 14%,#0c0e22)}.el-cmp.on .el-cmp-n{color:var(--el-ink)}.el-replay:hover,.el-cmp:hover,.el-replay:focus-visible,.el-cmp:focus-visible{border-color:var(--el-tint);outline:none}.el-drawn{margin:8px 0 0;color:var(--el-dim)}.el-odd{padding:6px 10px;border-left:3px solid #ffc65c;background:#17162a;color:var(--el-ink)}.el-two{width:100%;border-collapse:collapse}.el-two th{padding:0 0 4px;text-align:right;font-size:20px;font-weight:700}.el-two td{padding:4px 0;border-top:1px solid var(--el-line);text-align:right;font-weight:500}.el-two td:first-child{text-align:left;color:var(--el-dim);font-weight:400;font-size:14px;letter-spacing:.05em}.el-two td+td,.el-two th+th{padding-left:14px}.el-two td.none{color:var(--el-faint);font-weight:400}.el-tags{position:absolute;inset:0;pointer-events:none;overflow:hidden}.el-tag{position:absolute;left:0;top:0;padding:2px 8px;font-size:18px;font-weight:700;white-space:nowrap;color:var(--el-ink);background:#070816c7;border:1px solid var(--el-line);border-radius:4px;transition:opacity .3s,color .3s,border-color .3s}.el-tag.pos{color:#5ad8ff;border-color:#5ad8ff;box-shadow:0 0 10px #5ad8ff59}.el-tag.neg{color:#ff6b8a;border-color:#ff6b8a;box-shadow:0 0 10px #ff6b8a59}.el-tag.shared{color:#ffcf6b;border-color:#ffcf6b;font-size:15px;font-weight:600}.el-link{color:var(--el-tint);white-space:nowrap}.el-rsearch{width:100%;height:34px;margin-bottom:8px;padding:0 10px;font:16px IBM Plex Mono,monospace;color:var(--el-ink);background:#0c0e22;border:1px solid var(--el-line);border-radius:4px}.el-rsearch::placeholder{color:var(--el-faint)}.el-rsearch:focus-visible{outline:none;border-color:var(--el-tint)}.el-rxs{display:grid;gap:4px}.el-rx{display:grid;gap:2px;padding:7px 10px;font:16px IBM Plex Mono,monospace;text-align:left;color:var(--el-ink);background:#0e1029;border:1px solid var(--el-line);border-radius:4px;cursor:pointer}.el-rx:hover,.el-rx:focus-visible{border-color:var(--el-tint);outline:none}.el-rx-eq{color:var(--el-ink);font-weight:600}.el-rx-name{color:var(--el-dim);font-size:14px}.el-back,.el-lab{font:15px IBM Plex Mono,monospace;padding:6px 12px;color:var(--el-dim);background:#0c0e22;border:1px solid var(--el-line);border-radius:4px;letter-spacing:.06em;cursor:pointer}.el-back:hover,.el-back:focus-visible,.el-lab:hover,.el-lab:focus-visible{color:var(--el-ink);border-color:var(--el-tint);outline:none}.el-lab{display:block;margin-top:10px;color:#070816;font-weight:700;background:#8cf06a;border-color:#8cf06a}.el-lab:hover,.el-lab:focus-visible{color:#070816;filter:brightness(1.1)}.el-rname{font-size:20px;font-weight:700;color:var(--el-ink)}.el-eq{margin:6px 0 4px;padding:10px 12px;font-size:20px;font-weight:600;color:var(--el-tint);background:#0e1029;border:1px solid var(--el-line);border-radius:4px;overflow-wrap:anywhere}.el-steps{margin:0 0 10px;padding-left:0;list-style:none;counter-reset:step;display:grid;gap:6px}.el-steps li{counter-increment:step;display:grid;grid-template-columns:2em 1fr;padding:6px 8px;border-left:3px solid var(--el-line);color:var(--el-ink);transition:background-color .25s,border-color .25s}.el-steps li:before{content:counter(step);color:var(--el-dim);font-weight:700}.el-steps li.on{border-left-color:#ffcf6b;background:#1b1a2c}.el-steps li.on:before{color:#ffcf6b}@media (prefers-reduced-motion: reduce){.el-tag{transition:none}}@container (max-width: 420px){.el-rows{grid-template-columns:minmax(0,1fr);gap:0}.el-rows dt{margin-top:8px}.el-rows dd{text-align:left}}@media (max-width: 900px) and (orientation: portrait){body.elements-on.in-game #stage{flex:1 1 auto;height:auto}body.elements-on #toolbar,body.elements-on #deck{display:none}.el-root{display:flex;flex-direction:column;overflow-y:auto}.el-left{display:contents}.el-atom{position:sticky;top:0;z-index:3;flex:none;height:var(--el-tall, 46%);background:#070816}.el-split.h{position:sticky;top:var(--el-tall, 46%);z-index:3;flex:none;height:20px}.el-split.v,.el-caption{display:none}.el-table{flex:none;overflow-x:auto;overflow-y:visible}.el-grid{min-width:560px}.el-cell{min-height:30px}.el-panel{flex:none;overflow:visible;border-left:0;border-top:1px solid var(--el-line)}.el-card{grid-column:1 / 19;grid-row:11;padding:6px 0 0}}@media (prefers-reduced-motion: reduce){.el-cell{transition:none}}body.elements-preview #screen{opacity:0}.el-preview{position:absolute;inset:0;z-index:3;pointer-events:none;line-height:1}.el-preview canvas{position:absolute;inset:0}.el-preview-label{--el-tint: #5ad8ff;position:absolute;right:6%;bottom:9%;display:grid;justify-items:end;gap:6px;font-family:IBM Plex Mono,ui-monospace,monospace;color:var(--el-tint)}.el-preview-sym{font-size:clamp(40px,7vw,120px);font-weight:700;text-shadow:0 0 24px color-mix(in srgb,var(--el-tint) 55%,transparent)}.el-preview-name{font-size:clamp(14px,1.4vw,22px);letter-spacing:.4em;color:#e6e8ff}.lamp:disabled,.sky:disabled{opacity:.3;cursor:not-allowed}.countdown{position:absolute;inset:0;z-index:9;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:var(--font-display);font-size:clamp(48px,12vw,160px);color:#ff3b30;text-shadow:6px 6px 0 #1a0606,0 0 30px rgba(255,59,48,.6)}.countdown.pop{animation:count-pop .6s steps(4) both}.countdown.boom{color:#fff3b0;animation:count-pop .5s steps(3) both}@keyframes count-pop{0%{transform:scale(1.8);opacity:0}30%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:.25}}.replay-banner{position:absolute;top:12px;left:50%;translate:-50% 0;z-index:9;padding:6px 14px;pointer-events:none;font-family:var(--font-read);font-size:14px;letter-spacing:1px;color:#fff;background:#c81e1ed9;border-radius:4px;animation:ts-blink 1.2s steps(1) infinite}@media (prefers-reduced-motion: reduce){.countdown.pop,.countdown.boom,.replay-banner{animation:none}}
