.mine-grid{--mine-grid-stone:#3b3631;--mine-grid-stone-light:#514a42;--mine-grid-groove:#221f1c;--mine-grid-gilt:#e2c27a;--mine-grid-opened:#c9bfae;--mine-grid-opened-edge:#a99f8d;--mine-grid-ink:#2a2520;--mine-grid-ember:#b8432f;--mine-grid-crystal:#6fb6c9;flex-direction:column;inline-size:max-content;font-family:system-ui,sans-serif;display:flex}.mine-grid-bar{block-size:var(--mine-grid-bar);justify-content:space-between;align-items:center;gap:16px;padding-inline:8px;display:flex}.mine-grid-counter{background:var(--mine-grid-groove);color:var(--mine-grid-gilt);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:10px;padding:6px 16px;font-size:22px;font-weight:600;display:inline-flex}.mine-grid-counter .mine-grid-glyph{block-size:22px;inline-size:22px}button.mine-grid-hint{background:var(--mine-grid-groove);border-color:var(--mine-grid-gilt);color:var(--mine-grid-gilt);font-size:18px}.mine-grid-plate{padding:var(--mine-grid-padding);background:radial-gradient(circle at 30% 20%, #ffffff12, transparent 60%), linear-gradient(145deg, var(--mine-grid-stone-light), var(--mine-grid-stone));box-shadow:inset 0 0 0 3px var(--mine-grid-groove), inset 0 0 0 5px #e2c27a59, 0 10px 30px #00000059;border-radius:18px;flex-direction:column;align-self:flex-start;display:flex}.mine-grid[data-status=solved] .mine-grid-plate{box-shadow:inset 0 0 0 3px var(--mine-grid-groove), inset 0 0 0 5px var(--mine-grid-gilt), 0 0 40px #e2c27a73}.mine-grid[data-status=failed] .mine-grid-plate{box-shadow:inset 0 0 0 3px var(--mine-grid-groove), inset 0 0 0 5px var(--mine-grid-ember), 0 0 40px #b8432f8c}.mine-grid[data-status=failed] .mine-grid-cell:not([data-state=exploded]){filter:saturate(.4)brightness(.8)}.mine-grid-row{grid-template-columns:var(--mine-grid-label) repeat(var(--mine-grid-columns), var(--mine-grid-cell));display:grid}.mine-grid-row:first-child{block-size:var(--mine-grid-label)}.mine-grid-axis{color:var(--mine-grid-gilt);opacity:.75;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}.mine-grid-slot{inline-size:var(--mine-grid-cell);block-size:var(--mine-grid-cell);padding:2px;display:block}.mine-grid-cell{block-size:100%;inline-size:100%;font:inherit;color:var(--mine-grid-ink);border:0;border-radius:6px;justify-content:center;align-items:center;margin:0;padding:0;display:flex;position:relative}.mine-grid-cell[data-state=closed]{background:linear-gradient(160deg,#6a6157,#4a433b);box-shadow:inset 1px 1px #ffffff2e,inset -2px -2px #00000059}button.mine-grid-cell{cursor:pointer}button.mine-grid-cell[data-state=closed]:hover,button.mine-grid-cell:focus-visible{outline:2px solid var(--mine-grid-gilt);outline-offset:-2px}.mine-grid-cell[data-state=open]{background:var(--mine-grid-opened);box-shadow:inset 2px 2px 3px #0000004d}button.mine-grid-cell[data-state=open]:hover{outline:2px solid var(--mine-grid-ink);outline-offset:-2px}.mine-grid-cell[data-state=exploded]{box-shadow:inset 0 0 0 3px var(--mine-grid-ember);background:#e6c6bc}.mine-grid-number{font-size:26px;font-weight:700;line-height:1}.mine-grid-glyph{block-size:30px;inline-size:30px}.mine-grid-mine path{fill:var(--mine-grid-crystal);stroke:var(--mine-grid-groove);stroke-width:1.2px;stroke-linejoin:round}.mine-grid-cell[data-state=exploded] .mine-grid-mine path{fill:var(--mine-grid-ember)}.mine-grid-mine .facet{fill:none;stroke:#ffffff8c;stroke-width:.8px}.mine-grid-mine.faint{opacity:.45;position:absolute}.mine-grid-flag path{fill:var(--mine-grid-gilt);stroke:var(--mine-grid-groove);stroke-width:1px;stroke-linejoin:round}.mine-grid-flag .staff{fill:none;stroke:var(--mine-grid-gilt);stroke-width:2px;stroke-linecap:round}.mine-grid-cell .mine-grid-note{fill:#f2ead8;block-size:14px;inline-size:14px;position:absolute;inset-block-start:2px;inset-inline-end:2px}.mine-grid-proposal{border:3px dashed var(--proposer);border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mine-grid-proposal .mine-grid-glyph{block-size:16px;inline-size:16px;position:absolute;inset-block-end:1px;inset-inline-end:1px}.mine-grid-reveal path{fill:#f2ead8;stroke:var(--mine-grid-groove);stroke-width:1px}.mine-grid-reveal circle{fill:var(--mine-grid-groove)}.mine-grid-menu{z-index:50;color:#f2ead8;border:1px solid var(--mine-grid-gilt,#e2c27a);background:#2b2723;border-radius:10px;flex-direction:column;gap:6px;inline-size:15rem;padding:10px;font-family:system-ui,sans-serif;display:flex;position:fixed;box-shadow:0 8px 24px #0006}.mine-grid-menu p{margin:0}.mine-grid-menu-title{font-weight:600}.mine-grid-menu-proposal{font-size:.9rem}.mine-grid-menu button{text-align:start;color:#f2ead8;background:0 0;border:1px solid #6a6157;min-block-size:2.5rem;inline-size:100%}.mine-grid-menu button.mine-grid-confirm{color:#221f1c;background:#e2c27a;border-color:#e2c27a;font-weight:600}.mine-grid-menu button.mine-grid-menu-close{text-align:center;border-color:#0000}.mine-grid-input{font-family:ui-monospace,monospace;line-height:1.25}.mine-grid-preview{flex-direction:column;gap:.4rem;margin:0;display:flex}.mine-grid-preview-cells{gap:2px;inline-size:max-content;font-family:ui-monospace,monospace;font-size:.85rem;display:grid}.mine-grid-preview-cells span{color:#f2ead8;background:#6a6157;border-radius:3px;justify-content:center;align-items:center;block-size:1.4em;display:flex}.mine-grid-preview-cells span[data-kind=open]{color:#2a2520;background:#c9bfae}.mine-grid-preview-cells span[data-kind=mine]{background:#b8432f}.mine-grid-generate .row{flex-wrap:wrap;align-items:flex-end}.mine-grid-generate input[type=number]{inline-size:5rem}.mine-grid-paste summary{cursor:pointer}.scene-root{--scene-accent:#ff6a24;--scene-ink:#f3ece6;--scene-panel:#171412;--scene-line:#5a4a3e;inline-size:max-content;font-family:var(--font,system-ui, sans-serif);color:var(--scene-ink);flex-direction:column;display:flex}.scene-root button{border:calc(2 * var(--scene-unit)) solid var(--scene-accent);border-radius:calc(6 * var(--scene-unit));background:var(--scene-accent);color:#1a0b04;font-weight:650}.scene-root button:disabled{opacity:.55}.scene{position:relative;overflow:visible}.scene[data-searchable=true][data-status=active]{cursor:crosshair}.scene-image,.scene-text,.scene-hotspot,.scene-input,.scene-hidden,.scene-proposal{box-sizing:border-box;position:absolute}.scene-image img{-webkit-user-select:none;user-select:none;block-size:100%;inline-size:100%;display:block}.scene-text{color:var(--scene-text,var(--scene-ink));white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.35}button.scene-hotspot{border:calc(2 * var(--scene-unit)) solid transparent;border-radius:calc(6 * var(--scene-unit));color:inherit;cursor:pointer;background:0 0;margin:0;padding:0;transition:border-color .12s ease-out,box-shadow .12s ease-out,background .12s ease-out}button.scene-hotspot[data-appearance=area]:is(:hover,:focus-visible){border-color:var(--scene-accent);box-shadow:0 0 calc(24 * var(--scene-unit)) calc(-4 * var(--scene-unit)) var(--scene-accent)}button.scene-hotspot[data-appearance=button]{border-color:var(--scene-accent);background:color-mix(in srgb, var(--scene-panel) 82%, transparent);font-size:calc(26 * var(--scene-unit));place-items:center;font-weight:650;display:grid}button.scene-hotspot[data-appearance=button]:is(:hover,:focus-visible){background:color-mix(in srgb, var(--scene-accent) 24%, var(--scene-panel))}button.scene-hotspot[data-proposed=true]{border-color:var(--proposer,var(--scene-accent));border-style:dashed}button.scene-hotspot:disabled{cursor:default;box-shadow:none;border-color:#0000}.scene-input{gap:calc(8 * var(--scene-unit));margin:0;display:flex}.scene-input input{border:calc(2 * var(--scene-unit)) solid var(--scene-line);border-radius:calc(6 * var(--scene-unit));background:color-mix(in srgb, var(--scene-panel) 90%, transparent);min-inline-size:0;color:var(--scene-ink);font:inherit;letter-spacing:.06em;flex:1;padding:0 .4em}.scene-input input:focus-visible{border-color:var(--scene-accent);outline:none}.scene-input button{padding:0 .6em;font-size:.6em}.scene-proposal{z-index:2;align-items:center;gap:calc(10 * var(--scene-unit));padding:calc(12 * var(--scene-unit)) calc(16 * var(--scene-unit));border-inline-start:calc(6 * var(--scene-unit)) solid var(--proposer,var(--scene-accent));border-radius:calc(6 * var(--scene-unit));background:var(--scene-panel);box-shadow:0 calc(12 * var(--scene-unit)) calc(30 * var(--scene-unit)) #00000073;font-size:calc(22 * var(--scene-unit));inline-size:max-content;max-inline-size:calc(560 * var(--scene-unit));flex-wrap:wrap;margin-block-start:calc(10 * var(--scene-unit));display:flex}.scene-proposal p{flex-basis:100%;margin:0}.scene-proposal button{font-size:inherit;padding:.25em .8em}.scene-proposal button+button{color:var(--scene-ink);background:0 0}.scene-name{padding:0 calc(6 * var(--scene-unit));color:#ffd27a;font-family:ui-monospace,monospace;font-size:calc(16 * var(--scene-unit));pointer-events:none;background:#000000b3;font-weight:400;position:absolute;inset-block-end:100%;inset-inline-start:0}.scene-hidden{border:calc(2 * var(--scene-unit)) dashed #ffd27a;pointer-events:none;background:#ffd27a1f}.scene-answers{padding:0 calc(6 * var(--scene-unit));color:#ffd27a;font-size:calc(18 * var(--scene-unit));white-space:nowrap;pointer-events:none;background:#000000b3;position:absolute;inset-block-start:100%;inset-inline-start:0}.scene-gm{box-sizing:border-box;block-size:calc(220 * var(--scene-unit));padding:calc(12 * var(--scene-unit)) calc(20 * var(--scene-unit));border:calc(2 * var(--scene-unit)) dashed #ffd27a;border-radius:calc(6 * var(--scene-unit));background:var(--scene-panel);font-size:calc(20 * var(--scene-unit));margin-block-start:calc(16 * var(--scene-unit));overflow:auto}.scene-gm h3,.scene-gm p{margin:0 0 .4em}.scene-gm h3{font-size:1.1em}.scene-flags{flex-wrap:wrap;gap:.5em;margin:0;padding:0;list-style:none;display:flex}.scene-flags button{font-size:inherit;color:inherit;background:0 0;padding:.2em .7em}.scene-flags button[aria-pressed=true]{background:var(--scene-accent);color:#1a0b04}.scene-editor-json{inline-size:100%;font-family:ui-monospace,monospace;font-size:.9rem}.scene-editor-images{gap:.5rem;margin:0 0 .75rem;padding:0;list-style:none;display:grid}.scene-editor-images li{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.scene-editor-images img{object-fit:cover;border-radius:4px;block-size:48px;inline-size:72px}.scene-editor-images span{overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:.85rem}.scene-editor-issues{margin:0;padding-inline-start:1.2rem}.scene-editor-valid{color:var(--success,#8fdc7a)}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d0b0a;--bg-glow:#ff4e1a29;--surface:#171412;--surface-tone:#201c19;--line:#352e29;--text:#f3ece6;--muted:#a89c92;--magma:#ff4e1a;--magma-hot:#ffae2b;--magma-gradient:linear-gradient(100deg, #ff3d14, #ff7a1f 55%, #ffae2b);--magma-soft:#ff4e1a24;--on-magma:#1a0b04;--link:#ff8a3d;--ember:#ff7a1f;--danger:#ff6b5e;--danger-tone:#ff6b5e1f;--success:#8fdc7a;--board:#13110f;--board-crack:#ff62221a;--shadow:0 1px 0 #ffffff0a inset, 0 24px 50px -20px #000000d9;--glow:0 0 24px -4px #ff4e1a8c;--font:"Archivo Variable", "Arial Black", sans-serif;--radius:6px;--radius-small:4px;--ease-out:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--c-surface:var(--surface);--c-sunken:var(--surface-tone);--c-line:var(--line);--c-highlight:var(--magma);--c-highlight-soft:var(--magma-soft);--c-link:var(--link);--c-heading-font:var(--font);--c-radius:var(--radius);--c-radius-small:var(--radius-small);--c-shadow:var(--shadow);font-family:var(--font);background:var(--bg);color:var(--text);font-size:1.0625rem;line-height:1.55}@media (prefers-color-scheme:light){:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#ece8e4;--bg-glow:#ff4e1a1a;--surface:#faf8f6;--surface-tone:#f1ece8;--line:#d9d0c8;--text:#1a1513;--muted:#6d625a;--magma:#e2400f;--link:#c73a0e;--ember:#e2400f;--danger:#c2261b;--danger-tone:#c2261b14;--success:#2f7a2a;--board:#f4f0ec;--board-crack:#e2400f17;--shadow:0 1px 2px #1a151314, 0 18px 40px -20px #1a151359;--glow:0 0 20px -6px #e2400f73}}*{box-sizing:border-box}body{background-color:var(--bg);background-image:radial-gradient(ellipse 90% 45% at 50% 105%, var(--bg-glow), transparent 70%);background-attachment:fixed;min-block-size:100vh;margin:0}body:before,body:after{content:"";pointer-events:none;background-image:radial-gradient(circle at 12% 30%, var(--ember) 0 1.5px, transparent 2.5px), radial-gradient(circle at 47% 70%, var(--magma-hot) 0 1px, transparent 2px), radial-gradient(circle at 78% 20%, var(--ember) 0 1.2px, transparent 2.2px), radial-gradient(circle at 90% 85%, var(--magma-hot) 0 1.5px, transparent 2.5px), radial-gradient(circle at 30% 95%, var(--ember) 0 1px, transparent 2px);opacity:.7;will-change:transform;background-size:420px 520px;block-size:calc(100vh + 520px);animation:22s linear infinite embers;position:fixed;inset-block-start:0;inset-inline:0}body:after{opacity:.45;background-size:300px 380px;block-size:calc(100vh + 380px);animation-name:embers-near;animation-duration:15s}#root{z-index:1;isolation:isolate;position:relative}::selection{background:var(--magma);color:#fff}a{color:var(--link);text-underline-offset:.25em;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;transition:color .15s,text-shadow .15s}a:hover{color:var(--magma-hot);text-shadow:0 0 12px var(--magma)}:focus-visible{outline:2px solid var(--magma-hot);outline-offset:3px}h1,h2{letter-spacing:-.01em;text-transform:uppercase;font-weight:850;font-stretch:125%;line-height:1.05}h1{margin-block:0 1.25rem;font-size:clamp(1.8rem,5.5vw,2.6rem)}h1:after{content:"";background:var(--magma-gradient);block-size:3px;inline-size:4rem;box-shadow:var(--glow);transform-origin:0;animation:seam .8s var(--ease-out) .4s both;margin-block-start:.7rem;display:block}h2{letter-spacing:.04em;color:var(--muted);margin-block:1.5rem .75rem;font-size:1rem}p{margin-block:0 .85rem}small{font-size:.85rem}button{font:inherit;letter-spacing:.01em;color:var(--on-magma);background:var(--magma-gradient);border-radius:var(--radius-small);box-shadow:0 6px 18px -8px var(--magma);cursor:pointer;transition:background-position .3s var(--ease-out), box-shadow .2s, transform .14s var(--ease-out);background-position:0 0;background-size:160% 100%;border:none;padding-block:.65rem;padding-inline:1.3rem;font-weight:750;font-stretch:112%;line-height:1.2}button:hover{box-shadow:var(--glow);background-position:100% 0}button:active{transform:translateY(1px)scale(.98)}button.secondary{color:var(--text);border:1px solid var(--line);box-shadow:none;background:0 0}button.secondary:hover{border-color:var(--magma);box-shadow:inset 0 0 12px -4px var(--magma)}button.small{padding-block:.3rem;padding-inline:.8rem;font-size:.85rem}button:disabled{opacity:.5;cursor:progress;filter:grayscale(.6);transform:none}input,select,textarea{font:inherit;color:var(--text);background:var(--surface-tone);border:1px solid var(--line);border-block-end:2px solid var(--line);border-radius:var(--radius-small);inline-size:100%;padding-block:.6rem;padding-inline:.85rem;transition:border-color .15s,box-shadow .15s}input::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{border-color:var(--line);border-block-end-color:var(--magma);box-shadow:0 6px 14px -10px var(--magma);outline:none}select{cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:right 1.2rem center,right .85rem center;background-repeat:no-repeat;background-size:.35rem .35rem;inline-size:auto;padding-inline-end:2.4rem}select:hover,select:focus{background-image:linear-gradient(45deg, transparent 50%, var(--magma) 50%), linear-gradient(135deg, var(--magma) 50%, transparent 50%)}.page{max-inline-size:42rem;margin-inline:auto;padding-block:1.5rem 4rem;padding-inline:1rem}.page-header{animation:rise .6s var(--ease-out) both;margin-block-end:2.5rem}.page-footer{color:var(--muted);margin-block-start:3rem;font-size:.9rem}.page-footer a{color:inherit}.legal-text{white-space:pre-wrap;overflow-wrap:anywhere}.brand{letter-spacing:-.01em;text-transform:uppercase;color:var(--text);align-items:center;gap:.6rem;font-size:1.35rem;font-weight:900;font-stretch:125%;text-decoration:none;display:inline-flex}.brand:before{content:"";clip-path:polygon(0 100%,36% 8%,64% 8%,100% 100%);background:linear-gradient(var(--magma-hot), var(--magma)) 50% 0 / 30% 38% no-repeat, linear-gradient(var(--text), var(--text));block-size:1.5rem;inline-size:1.9rem;animation:2.8s ease-in-out infinite erupt}.brand:hover{color:var(--text);text-shadow:none}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);animation:surface .7s var(--ease-out) .1s both;padding-block:2.25rem 2rem;padding-inline:clamp(1.25rem,5vw,2.5rem);position:relative;overflow:clip}.card:before{content:"";background:var(--magma-gradient);block-size:2px;box-shadow:var(--glow);transform-origin:0;animation:seam .9s var(--ease-out) .25s both;position:absolute;inset-block-start:0;inset-inline:0}.card>*{animation:rise .45s var(--ease-out) both}.card>:first-child{animation-delay:.3s}.card>:nth-child(2){animation-delay:.37s}.card>:nth-child(3){animation-delay:.44s}.card>:nth-child(4){animation-delay:.51s}.card>:nth-child(5){animation-delay:.58s}.card>:nth-child(n+6){animation-delay:.65s}#root>.card{max-inline-size:36rem;margin-block:4rem;margin-inline:auto}.form{flex-direction:column;gap:1.25rem;display:flex}.form label{flex-direction:column;gap:.4rem;display:flex}.form label>span:first-child{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.8rem;font-weight:700}.form button[type=submit]{align-self:flex-start;margin-block-start:.25rem}.row{align-items:center;gap:.75rem;display:flex}.spread{justify-content:space-between}.grow{flex:1}.muted{color:var(--muted)}.error{color:var(--danger);background:var(--danger-tone);border-inline-start:3px solid var(--danger);border-radius:0 var(--radius-small) var(--radius-small) 0;animation:tremor .45s var(--ease-out) both;margin:0;padding-block:.55rem;padding-inline:.9rem;font-weight:600}.badge{letter-spacing:.08em;text-transform:uppercase;color:var(--magma);vertical-align:.2em;border:1px solid;border-radius:3px;margin-inline-start:.5rem;padding-inline:.45rem;font-size:.7rem;font-weight:800;display:inline-block}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.locale-switch{color:var(--muted);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.locale-switch select{background-position:right 1rem center,right .65rem center;padding-block:.3rem;padding-inline:.7rem 2.1rem;font-size:.9rem}.room-list{flex-direction:column;gap:.5rem;margin-block:0 1.75rem;padding:0;list-style:none;display:flex}.room-list>li{border:1px solid var(--line);border-inline-start:3px solid var(--line);border-radius:var(--radius-small);background:var(--surface-tone);animation:rise .45s var(--ease-out) both;padding-block:.85rem;padding-inline:1.1rem;transition:border-color .2s,box-shadow .2s}.room-list>li:hover{border-inline-start-color:var(--magma);box-shadow:-8px 0 18px -12px var(--magma)}.room-list>li:nth-child(2){animation-delay:60ms}.room-list>li:nth-child(3){animation-delay:.12s}.room-list>li:nth-child(n+4){animation-delay:.18s}.room-list strong{margin-inline-end:.35rem;font-size:1.1rem;font-weight:800;font-stretch:115%}.room{background-color:var(--bg);background-image:radial-gradient(ellipse 90% 45% at 50% 105%, var(--bg-glow), transparent 70%);display:flex;position:fixed;inset:0}.room-main{flex:1;min-inline-size:0;display:flex;position:relative;container:room-main/inline-size}.stage{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;flex:1;position:relative;overflow:hidden}.stage:active{cursor:grabbing}.stage-world{transform-origin:0 0;position:absolute;inset-block-start:0;inset-inline-start:0}.table{border:1px solid var(--line);background-color:var(--board);background-image:repeating-linear-gradient(28deg, transparent 0 180px, var(--board-crack) 180px 182px, transparent 182px 330px), repeating-linear-gradient(-54deg, transparent 0 240px, var(--board-crack) 240px 242px, transparent 242px 410px), radial-gradient(ellipse 60% 60% at 50% 55%, var(--bg-glow), transparent 75%);block-size:1000px;inline-size:1600px;box-shadow:var(--shadow);border-radius:10px;place-items:center;display:grid;position:absolute;inset-block-start:-500px;inset-inline-start:-800px}.table-message{letter-spacing:-.01em;text-transform:uppercase;color:var(--muted);text-align:center;max-inline-size:26ch;font-size:2rem;font-weight:850;font-stretch:125%;line-height:1.2;animation:4s ease-in-out infinite smoulder}.stage-cursors{pointer-events:none;position:absolute;inset:0;overflow:hidden}.cursor{will-change:transform;color:var(--cursor-color);filter:drop-shadow(0 2px 3px #0006);align-items:flex-start;gap:2px;display:flex;position:absolute;inset-block-start:0;inset-inline-start:0}.cursor[hidden]{display:none}.cursor-arrow{fill:currentColor;stroke:#fff;stroke-width:1.25px}.cursor-name{background:var(--cursor-color);color:#fff;white-space:nowrap;border-radius:3px;margin-block-start:14px;padding-block:.05rem;padding-inline:.45rem;font-size:.8rem;font-weight:700}.stage-pane{z-index:11;background:var(--surface);border-inline-start:1px solid var(--line);inline-size:25rem;max-inline-size:42vw;box-shadow:inset 2px 0 0 -1px var(--magma-soft), var(--shadow);animation:rise .35s var(--ease-out) both;flex:none;padding-block:1.25rem 2rem;padding-inline:1.5rem;position:relative;overflow-y:auto}.pane-close{place-items:center;block-size:2rem;inline-size:2rem;padding:0;display:grid;position:absolute;inset-block-start:1rem;inset-inline-end:1rem}.pane-close svg,.pane-tab svg{block-size:.9rem;inline-size:.9rem}.pane-close svg{rotate:180deg}.pane-tab{z-index:10;text-transform:uppercase;color:var(--text);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);animation:rise .35s var(--ease-out) both;flex-direction:row-reverse;align-items:center;gap:.6rem;padding-block:.45rem;padding-inline:.85rem 1rem;font-size:.95rem;display:flex;position:absolute;inset-block-start:1rem;inset-inline-end:1rem}.pane-tab:hover{border-color:var(--magma);box-shadow:var(--shadow)}.pane-tab svg{color:var(--magma)}.stage-pane[hidden]{display:none}@media (width<=50rem){.room .room-hud{max-inline-size:calc(100vw - 10rem)}.room .hud-toggle{max-inline-size:100%}.room .hud-name{min-inline-size:0}.stage-pane{inline-size:min(25rem,100vw);max-inline-size:none;position:absolute;inset-block:0;inset-inline-end:0}}.room-hud{z-index:10;max-inline-size:calc(100vw - 2rem);animation:rise .5s var(--ease-out) .15s both;flex-direction:column;align-items:flex-start;gap:.5rem;display:flex;position:absolute;inset-block-start:1rem;inset-inline-start:1rem}.hud-toggle{text-transform:uppercase;color:var(--text);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);align-items:center;gap:.75rem;padding-block:.45rem;padding-inline:1rem .85rem;font-size:.95rem;display:flex}.hud-toggle:hover{border-color:var(--magma);box-shadow:var(--shadow)}.hud-name{text-overflow:ellipsis;white-space:nowrap;max-inline-size:16rem;overflow:hidden}.hud-party{display:flex}.hud-token{color:#fff;border:2px solid var(--surface);block-size:1.6rem;inline-size:1.6rem;animation:rise .3s var(--ease-out) both;border-radius:50%;place-items:center;margin-inline-start:-.35rem;font-size:.75rem;font-weight:800;font-stretch:100%;display:grid}.hud-token:first-child{margin-inline-start:0}.hud-chevron{border-inline-end:2px solid var(--magma);border-block-end:2px solid var(--magma);block-size:.5rem;inline-size:.5rem;transition:transform .25s var(--spring);transform:translateY(-2px)rotate(45deg)}.room-hud.open .hud-chevron{transform:translateY(2px)rotate(-135deg)}.room-panel{background:var(--surface);border:1px solid var(--line);border-block-start:2px solid var(--magma);border-radius:var(--radius);max-block-size:calc(100vh - 6rem);inline-size:min(22rem,100vw - 2rem);box-shadow:var(--shadow);transform-origin:0 0;animation:surface .32s var(--ease-out) both;padding-block:1.5rem;padding-inline:1.5rem;position:relative;overflow-y:auto}.room-panel[hidden]{display:none}.room-panel>*{animation:rise .35s var(--ease-out) both}.room-panel>:nth-child(2){animation-delay:50ms}.room-panel>:nth-child(3){animation-delay:.1s}.room-panel>:nth-child(n+4){animation-delay:.15s}.room-name{overflow-wrap:anywhere;font-size:1.5rem}.room-panel h2:first-of-type{margin-block-start:.5rem}.status{color:var(--muted);align-items:center;gap:.5rem;font-weight:600;display:flex}.status:before{content:"";background:var(--magma);block-size:.55rem;inline-size:.55rem;box-shadow:var(--glow);border-radius:50%;animation:1.2s ease-in-out infinite smoulder}.roster{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.roster-entry{border-radius:var(--radius-small);background:var(--surface-tone);animation:rise .35s var(--ease-out) both;align-items:center;gap:.65rem;padding-block:.4rem;padding-inline:.6rem;transition:opacity .3s;display:flex}.roster-entry small{font-size:.75rem}.roster-entry.offline{opacity:.45}.roster-entry.offline .swatch{filter:grayscale()}.swatch{border-radius:2px;flex-shrink:0;block-size:.8rem;inline-size:.8rem;transform:rotate(45deg)}.gm-panel{border:1px solid var(--line);border-radius:var(--radius-small);background:var(--surface-tone);flex-direction:column;align-items:flex-start;gap:.75rem;margin-block-start:1.5rem;padding:1rem;display:flex}.gm-panel h2{margin-block:0}.invite-link{background:var(--surface);font-size:.85rem}.gm-panel .row{flex-wrap:wrap}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}@keyframes surface{0%{opacity:0;filter:brightness(1.6)saturate(1.4);transform:translateY(24px)}}@keyframes seam{0%{transform:scaleX(0)}}@keyframes embers{to{transform:translateY(-520px)}}@keyframes embers-near{to{transform:translateY(-380px)}}@keyframes erupt{50%{filter:brightness(1.35) drop-shadow(0 -2px 4px var(--magma))}}@keyframes smoulder{50%{opacity:.55}}@keyframes tremor{20%{transform:translate(-4px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(1px)}}@media (width<=40rem){.page-header{margin-block-end:2rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}textarea{resize:vertical;min-block-size:5rem}fieldset{border:1px solid var(--c-line);border-radius:var(--c-radius-small);flex-direction:column;gap:.6rem;margin:0;padding-block:.75rem 1rem;padding-inline:1rem;display:flex}fieldset>button{align-self:flex-start}legend{padding-inline:.4rem;font-weight:700}.page.wide{max-inline-size:58rem}.section-heading{margin-block-start:2.25rem}.success{color:var(--success);margin:0;font-weight:600}.small-text{margin:0;font-size:.85rem}.wrap{flex-wrap:wrap}.checkbox{cursor:pointer;align-items:center;gap:.5rem;display:flex}.checkbox input{block-size:1.15rem;inline-size:1.15rem;accent-color:var(--c-highlight);padding:0}.inline-field{align-items:center;gap:.6rem;display:flex}.inline-field input{inline-size:6rem}button.link-button{font:inherit;color:var(--c-link);text-align:start;box-shadow:none;clip-path:none;filter:none;background:0 0;border:none;border-radius:0;padding:0;font-weight:600;transform:none}button.link-button:before{display:none}button.link-button:hover{text-underline-offset:.25em;box-shadow:none;text-decoration:underline;transform:none}.page.wide .card.puzzle-editor{padding-inline:clamp(1.25rem,5vw,3rem)}.puzzle-editor{flex-direction:column;gap:1.75rem;display:flex}.puzzle-editor fieldset{border:none;gap:.55rem;padding:0}.puzzle-editor legend{float:inline-start;letter-spacing:.08em;text-transform:uppercase;inline-size:100%;color:var(--muted);margin-block-end:.1rem;padding:0;font-size:.78rem;font-weight:700}.puzzle-editor>h2{margin-block:.5rem -.5rem}.stage-editor{border:1px solid var(--c-line);border-radius:var(--c-radius);background:var(--c-sunken);flex-direction:column;gap:0;padding:0;animation:.4s ease-out both rise;display:flex;position:relative;overflow:hidden}.stage-editor:before{content:"";background:var(--c-highlight);block-size:2px;position:absolute;inset-block-start:0;inset-inline:0}.puzzle-editor .stage-editor>*{padding-block:1.25rem;padding-inline:1.5rem}.puzzle-editor .stage-editor>*+*{border-block-start:1px solid var(--c-line)}.puzzle-editor .stage-editor>header{background:var(--c-surface);flex-wrap:wrap;padding-block:1rem}.stage-editor h3{font-family:var(--c-heading-font);align-items:center;gap:.6rem;margin:0;font-size:1.15rem;display:flex}.stage-editor h3 .badge{margin:0}.stage-editor>header .row{gap:.4rem}.content-field{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:.45rem;font-size:.78rem;font-weight:700;display:flex}.content-field>input,.content-field>textarea{letter-spacing:normal;text-transform:none;font-size:1rem;font-weight:400}.kind-editor,.image-picker{flex-direction:column;gap:.65rem;display:flex}.kind-editor{gap:1.25rem}.image-picker>label:not(.file-picker){letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:700}.image-preview,.thumbnails img{margin:0}.image-preview{flex-direction:column;align-items:flex-start;gap:.4rem;display:flex}.image-preview img{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--c-radius-small);max-block-size:16rem;max-inline-size:100%;padding:.5rem}.image-preview figcaption{font-variant-numeric:tabular-nums;font-size:.8rem}.file-picker{letter-spacing:normal;text-transform:none;color:var(--text);border:1px dashed var(--muted);border-radius:var(--c-radius-small);cursor:pointer;align-self:flex-start;align-items:center;gap:.65rem;padding-block:.7rem;padding-inline:1rem 1.25rem;font-size:.95rem;font-weight:650;transition:border-color .16s,color .16s,box-shadow .16s;display:inline-flex;position:relative}.file-picker:hover{border-color:var(--c-highlight);color:var(--c-highlight);box-shadow:inset 0 0 18px -8px var(--c-highlight)}.file-picker:focus-within{outline:2px solid var(--c-highlight);outline-offset:3px}.file-picker-input{opacity:0;clip-path:inset(50%);block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.file-picker-icon{border:2px solid;border-block-start:none;border-radius:0 0 3px 3px;flex-shrink:0;block-size:1rem;inline-size:1rem;position:relative}.file-picker-icon:before{content:"";background:currentColor;block-size:.85rem;inline-size:2px;margin-inline-start:-1px;position:absolute;inset-block-start:-.35rem;inset-inline-start:50%}.file-picker-icon:after{content:"";border-block-start:2px solid;border-inline-start:2px solid;block-size:.45rem;inline-size:.45rem;margin-inline-start:-.225rem;position:absolute;inset-block-start:-.35rem;inset-inline-start:50%;transform:rotate(45deg)}.thumbnails{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.thumbnails li{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.thumbnails img{object-fit:cover;border:1px solid var(--c-line);border-radius:var(--c-radius-small);block-size:5.5rem;inline-size:8rem;transition:transform .2s ease-out}.thumbnails img:hover{transform:scale(1.04)}.hint-editor{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.hint-editor .content-field{align-self:stretch}.puzzle-editor>.row{border:1px dashed var(--c-line);border-radius:var(--c-radius);flex-wrap:wrap;justify-content:center;padding:1.1rem}.puzzle-editor>button[type=submit]{z-index:2;align-self:stretch;padding-block:.85rem;font-size:1.05rem;position:sticky;inset-block-end:1rem}.stage-content{position:absolute;inset-block-start:0;inset-inline-start:0}.image-reveal{flex-direction:column;display:flex}.image-reveal-row{align-items:flex-start;gap:48px;display:flex}.image-reveal-bar{block-size:var(--image-reveal-bar);justify-content:center;align-items:flex-start;display:flex}.image-reveal-turns{gap:calc(10px * var(--image-reveal-scale));display:flex}button.image-reveal-turn{inline-size:calc(52px * var(--image-reveal-scale));block-size:calc(52px * var(--image-reveal-scale));border-radius:calc(var(--c-radius-small) * var(--image-reveal-scale));place-items:center;padding:0;display:grid}.image-reveal-turn svg{block-size:60%;inline-size:60%}.image-reveal-frame{position:relative}.image-reveal-frame img{max-inline-size:none;transition:transform .45s var(--ease-out);position:absolute;inset-block-start:50%;inset-inline-start:50%}@media (prefers-reduced-motion:reduce){.image-reveal-frame img{transition:none}}.image-reveal-figure{flex-direction:column;gap:14px;margin:0;display:flex}.image-reveal-figure img{border-radius:var(--c-radius-small);box-shadow:var(--c-shadow);display:block}.image-reveal-figure figcaption{font-family:var(--c-heading-font);color:var(--text);text-align:center;font-size:1.6rem}.paused-banner{z-index:9;color:var(--danger);background:var(--c-surface);border:1px solid var(--danger);box-shadow:var(--c-shadow);border-radius:999px;margin:0;padding-block:.55rem;padding-inline:1.1rem;font-weight:700;animation:.4s ease-out both rise;position:absolute;inset-block-start:1rem;inset-inline-start:50%;translate:-50%}.outcome-banner{z-index:9;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--c-radius);inline-size:max-content;max-inline-size:min(36rem,100vw - 2rem);box-shadow:var(--c-shadow);align-items:flex-start;gap:.9rem;padding-block:.7rem;padding-inline:1.1rem .7rem;animation:.4s ease-out both rise;display:flex;position:absolute;inset-block-start:1rem;inset-inline-start:50%;translate:-50%}@container room-main (width<=60rem){.outcome-banner{inset-block-start:4.75rem}}.outcome-banner strong{font-family:var(--c-heading-font);font-size:1.15rem}.outcome-banner p{margin-block:.3rem 0}.outcome-banner button{flex:none;place-items:center;block-size:2rem;inline-size:2rem;padding:0;display:grid}.outcome-banner svg{block-size:.9rem;inline-size:.9rem}.notices{z-index:9;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;inset-block-end:1rem;inset-inline-start:50%;translate:-50%}.notice{background:var(--c-surface);border:1px solid var(--c-highlight);box-shadow:var(--c-shadow);border-radius:999px;margin:0;padding-block:.55rem;padding-inline:1.1rem;font-weight:600;animation:.4s ease-out both rise}.stage-panel h2,.stage-controls h2{letter-spacing:-.01em;color:var(--text);overflow-wrap:anywhere;margin-block:0 .5rem;padding-inline-end:2.5rem;font-size:1.35rem}.stage-panel h3,.stage-details h3,.stage-controls h3,.add-to-queue h3{font-family:var(--c-heading-font);margin-block:1.1rem .4rem;font-size:1rem}.stage-controls-head{flex-wrap:wrap;align-items:center;gap:.35rem .6rem;margin-block-end:.75rem;display:flex}.stage-controls-head h2{flex-basis:100%}.stage-controls-head .badge{margin-inline-start:0}.stage-controls-head .error{flex-basis:100%}.stage-flag{color:var(--c-highlight);font-weight:700}.stage-actions{gap:.5rem;margin-block:.25rem 1rem}.stage-controls .checkbox{margin-block-start:.5rem}.stage-controls .error{margin-block-end:.75rem}.outcome{border:1px solid var(--c-line);border-radius:var(--c-radius-small);background:var(--c-sunken);padding-block:.6rem;padding-inline:.85rem;animation:.4s ease-out both rise}.outcome p{margin-block:.3rem 0}.outcome-solved{border-color:var(--success)}.outcome-solved strong{color:var(--success)}.outcome-failed{border-color:var(--danger)}.outcome-failed strong{color:var(--danger)}.hint-list,.mistake-list{flex-direction:column;gap:.35rem;margin:0;padding-inline-start:1.3rem;display:flex}.hint-list .row{gap:.5rem}.hint-list li::marker{color:var(--c-highlight);font-weight:700}.mistake-list .withdrawn{opacity:.65;text-decoration:line-through}.stage-steps{border-block-end:1px solid var(--c-line);margin-block-end:1.25rem;padding-block-end:1rem;padding-inline-end:2.75rem}.stage-steps-head h2{margin:0}.step-list{flex-wrap:wrap;gap:.4rem;margin-block:.6rem 0;padding:0;list-style:none;display:flex}.stage-step{position:relative}button.step{block-size:2.25rem;inline-size:2.25rem;color:var(--muted);background:var(--c-sunken);border:1px solid var(--c-line);box-shadow:none;place-items:center;padding:0;font-size:.95rem;font-weight:800;display:grid;position:relative}button.step:hover{border-color:var(--c-highlight);box-shadow:none}button.step.status-active{color:var(--c-highlight);border-color:var(--c-highlight)}button.step.status-solved{color:var(--success);border-color:var(--success)}button.step.status-failed{color:var(--danger);border-color:var(--danger)}button.step.status-skipped{border-style:dashed}.stage-step.shown button.step{color:var(--c-surface);background:var(--c-highlight);border-color:var(--c-highlight);box-shadow:0 0 0 3px var(--c-highlight-soft)}.step-seen{background:var(--c-highlight);border:2px solid var(--c-surface);border-radius:50%;block-size:.6rem;inline-size:.6rem;position:absolute;inset-block-start:-.25rem;inset-inline-end:-.25rem}.gm-queue{margin-block-start:1.5rem}.queue{flex-direction:column;gap:.3rem;margin-block:.6rem;padding:0;list-style:none;display:flex}.queue-entry{border:1px solid var(--c-line);border-radius:var(--c-radius-small);background:var(--c-sunken);grid-template-columns:auto 1fr auto;grid-template-areas:"number title title""number badge tools";align-items:center;gap:.15rem .6rem;padding-block:.45rem;padding-inline:.6rem .4rem;display:grid}.queue-number{min-inline-size:1.1rem;color:var(--muted);grid-area:number;align-self:start;font-weight:800}.queue-title{overflow-wrap:anywhere;grid-area:title;min-inline-size:0;font-weight:650;line-height:1.3}.queue-entry .badge{grid-area:badge;justify-self:start;margin-inline-start:0}.queue-entry .queue-tools{grid-area:tools}.queue-tools{flex:none;gap:.2rem;padding-inline-end:.3rem;display:flex}button.icon-button{place-items:center;block-size:1.85rem;inline-size:1.85rem;padding:0;display:grid}button.icon-button svg{block-size:.85rem;inline-size:.85rem}.badge.status-active{color:var(--c-highlight)}.badge.status-solved{color:var(--success)}.badge.status-failed{color:var(--danger)}.notes{white-space:pre-wrap}
