@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99c6cdb74b1a9f21-s.10l581if_zng5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9b2952c75e1b82c6-s.22tbmskoyk1ev.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../media/01d67e7cc17e7674-s.p.0m75r3fswdwux.woff2)format("woff2");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}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/99c6cdb74b1a9f21-s.10l581if_zng5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9b2952c75e1b82c6-s.22tbmskoyk1ev.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/01d67e7cc17e7674-s.p.0m75r3fswdwux.woff2)format("woff2");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}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/99c6cdb74b1a9f21-s.10l581if_zng5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9b2952c75e1b82c6-s.22tbmskoyk1ev.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Pixelify Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/01d67e7cc17e7674-s.p.0m75r3fswdwux.woff2)format("woff2");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}@font-face{font-family:Pixelify Sans Fallback;src:local(Arial);ascent-override:81.7%;descent-override:24.87%;line-gap-override:0.0%;size-adjust:112.61%}.LZe7hG_className{font-family:Pixelify Sans,Pixelify Sans Fallback;font-style:normal}.LZe7hG_variable{--font-pixel:"Pixelify Sans", "Pixelify Sans Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");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}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");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}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2y65deuc30pmy.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.2qt3tdwt-y9x_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.3cvcemwuzoywn.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.02z5rrbg5nt92.woff2)format("woff2");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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.2rixgazldzomk.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.0wiir8udbzjvx.woff2)format("woff2");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}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.v7m39G_className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.v7m39G_variable{--font-body:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");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}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");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}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.VCrZzq_className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.VCrZzq_variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--bg:#0d0b18;--bg-deep:#07060f;--surface:#16132a;--surface-2:#1f1a38;--line:#2f2852;--line-strong:#463d73;--text:#efe8f7;--muted:#a9a1c2;--accent:#f0a64b;--accent-hi:#ffc773;--accent-ink:#1c1306;--danger:#ff8a80;--ok:#9ad7a8;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--notch:0 -2px 0 0 var(--line), 0 2px 0 0 var(--line), -2px 0 0 0 var(--line), 2px 0 0 0 var(--line);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body), system-ui, sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16px;line-height:1.55}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-hi)}img{max-width:100%;display:block}h1,h2,h3,.pixel-title{font-family:var(--font-pixel), monospace;letter-spacing:.01em;margin:0;font-weight:500;line-height:1.15}p{margin:0}.mono{font-family:var(--font-mono), ui-monospace, monospace;font-size:.875em}.muted{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only:focus-within{left:var(--s4);top:var(--s4);clip:auto;z-index:30;background:var(--surface);width:auto;height:auto;padding:var(--s3);position:fixed}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.px-panel{background:var(--surface);box-shadow:var(--notch), 6px 6px 0 0 #00000059;margin:2px}.btn{--c:var(--accent);justify-content:center;align-items:center;gap:var(--s2);font-family:var(--font-pixel), monospace;background:var(--c);color:var(--accent-ink);box-shadow:0 -2px 0 0 var(--c), 0 2px 0 0 var(--c), -2px 0 0 0 var(--c), 2px 0 0 0 var(--c), inset 0 -3px 0 0 #0003;cursor:pointer;white-space:nowrap;border:0;margin:2px;padding:12px 18px;font-size:1rem;line-height:1;text-decoration:none;display:inline-flex}.btn:hover{--c:var(--accent-hi);color:var(--accent-ink)}.btn:active{box-shadow:0 -2px 0 0 var(--c), 0 2px 0 0 var(--c), -2px 0 0 0 var(--c), 2px 0 0 0 var(--c);transform:translateY(2px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{--c:var(--line-strong);color:var(--text);box-shadow:0 -2px 0 0 var(--c), 0 2px 0 0 var(--c), -2px 0 0 0 var(--c), 2px 0 0 0 var(--c);background:0 0}.btn-ghost:hover{--c:var(--accent);background:var(--surface-2);color:var(--text)}.btn-danger{--c:var(--danger);color:#2a0905}.btn-danger:hover{--c:#ffb1a9;color:#2a0905}.btn-sm{padding:8px 12px;font-size:.875rem}.link-btn{color:var(--accent);font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}.field{gap:var(--s1);display:grid}.field label,.field .label{color:var(--muted);font-size:.875rem}.input,.field input,.field textarea,.field select{width:100%;font:inherit;color:var(--text);background:var(--bg-deep);box-shadow:var(--notch);border:0;margin:2px 0;padding:10px 12px}.field textarea{resize:vertical;min-height:96px}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible,.input:focus-visible{box-shadow:0 -2px 0 0 var(--accent), 0 2px 0 0 var(--accent), -2px 0 0 0 var(--accent), 2px 0 0 0 var(--accent);outline:none}.hint{color:var(--muted);font-size:.8125rem}.error{color:var(--danger);font-size:.9375rem}.ok{color:var(--ok);font-size:.9375rem}.site-header{justify-content:space-between;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);z-index:5;display:flex;position:relative}.site-header nav{align-items:center;gap:var(--s5);flex-wrap:wrap;display:flex}.site-header nav a:not(.btn){color:var(--text);font-size:.9375rem;text-decoration:none}.site-header nav a:not(.btn):hover{color:var(--accent)}.logo{align-items:center;gap:var(--s2);color:var(--accent);display:inline-flex}.lang-toggle{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px;font-size:.875rem}.lang-toggle:hover{color:var(--text)}.site-footer{padding:var(--s7) var(--s5) var(--s6);color:var(--muted);gap:var(--s5);border-top:2px solid var(--line);margin-top:var(--s8);flex-wrap:wrap;justify-content:space-between;font-size:.875rem;display:flex}.site-footer a{color:var(--muted)}.container{width:min(1120px, 100% - 2 * var(--s4));margin-inline:auto}.narrow{width:min(440px, 100% - 2 * var(--s4));margin-inline:auto}@media (max-width:640px){.site-header{padding:var(--s3) var(--s4)}.site-header nav{gap:var(--s3)}.site-header .hide-sm{display:none}}.room-shell{width:100%;position:relative}.room-shell.fit-viewport{background:var(--bg-deep);flex-direction:column;justify-content:center;min-height:100svh;display:flex}.room-scroller{scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;overflow:auto hidden}.room-scroller::-webkit-scrollbar{display:none}.room-stage{aspect-ratio:16/9;margin-inline:auto;position:relative}.fit-viewport .room-stage{width:min(100vw,177.778svh - 128px)}.fit-width .room-stage{width:100%}.room-stage>svg{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;width:100%;height:100%;display:block}@media (max-aspect-ratio:4/5){.fit-viewport .room-stage{width:103.111svh}.fit-width .room-stage{width:max(100%,640px)}}.room-label{pointer-events:none;white-space:nowrap;font-family:var(--font-pixel), monospace;color:#fff3d4;z-index:3;background:#0f0c1e;padding:6px 10px;font-size:.9375rem;line-height:1;animation:.25s ease-out label-in;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 -2px #ffd88a,0 2px #ffd88a,-2px 0 #ffd88a,2px 0 #ffd88a}.room-label:after{content:"";background:#ffd88a;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:-8px;left:50%;box-shadow:-2px -2px #ffd88a,2px -2px #ffd88a}@keyframes label-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 4px))}}.room-hint{text-align:center;color:var(--muted);font-family:var(--font-pixel), monospace;padding:var(--s3) var(--s4) 0;opacity:.8;font-size:.8125rem}.panel-backdrop{z-index:20;background:#07060f80;animation:.2s ease-out fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.room-panel{top:var(--s5);right:var(--s5);bottom:var(--s5);width:min(460px, 100vw - 2 * var(--s4));flex-direction:column;animation:.3s cubic-bezier(.2,.8,.2,1) slide-in;display:flex;position:fixed}@keyframes slide-in{0%{opacity:0;transform:translate(24px)}}.room-panel-head{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:2px solid var(--line);display:flex}.room-panel-head h2{color:var(--accent);font-size:1.5rem}.btn-close{background:var(--surface-2);color:var(--text);cursor:pointer;width:36px;height:36px;box-shadow:var(--notch);border:0;place-items:center;display:grid}.btn-close:hover{color:var(--accent)}.room-panel-body{padding:var(--s5);flex:1;overflow-y:auto}@media (max-width:640px){.room-panel{width:auto;max-height:80svh;margin:0;animation-name:sheet-in;inset:auto 0 0}@keyframes sheet-in{0%{opacity:0;transform:translateY(32px)}}}@media (prefers-reduced-motion:reduce){.room-panel,.panel-backdrop,.room-label{animation:none}}.panel-list{gap:var(--s5);margin:0;padding:0;list-style:none;display:grid}.panel-list.tight{gap:var(--s2)}.panel-subtitle{margin-bottom:var(--s2);font-size:1.0625rem}.embed{background:var(--bg-deep);border:0;width:100%;display:block}.row-link{justify-content:space-between;align-items:center;gap:var(--s3);background:var(--surface-2);color:var(--text);box-shadow:var(--notch);margin:2px;padding:12px 14px;text-decoration:none;display:flex}.row-link:hover{color:var(--text);box-shadow:0 -2px 0 0 var(--accent), 0 2px 0 0 var(--accent), -2px 0 0 0 var(--accent), 2px 0 0 0 var(--accent);background:#2a2348}.row-link>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.row-icon{align-items:center;gap:var(--s3);display:inline-flex}.pixel-icon{color:var(--accent);flex:none}.inline-link{margin-top:var(--s2);font-family:var(--font-mono), monospace;font-size:.875rem;display:inline-block}.project{gap:var(--s3);display:grid}.project p{color:var(--muted)}.project-img{aspect-ratio:16/9;object-fit:cover;background:var(--bg-deep);width:100%}.photo-grid{gap:var(--s2);grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.photo-grid button{background:var(--bg-deep);cursor:zoom-in;aspect-ratio:1;border:0;width:100%;padding:0;display:block}.photo-grid img{object-fit:cover;width:100%;height:100%}.photo-grid button:hover img{filter:brightness(1.12)}.lightbox{gap:var(--s3);margin:0;display:grid}.lightbox img{object-fit:contain;background:var(--bg-deep);width:100%;height:auto;max-height:60svh}.lightbox figcaption{color:var(--muted)}.lightbox-nav{justify-content:space-between;align-items:center;gap:var(--s2);display:flex}.about{gap:var(--s3);display:grid}.about-name{font-family:var(--font-pixel), monospace;font-size:2rem;line-height:1.1}.about-tagline{color:var(--accent)}.public-room{background:var(--bg-deep);min-height:100svh}.public-bar{justify-content:space-between;align-items:flex-end;gap:var(--s3);padding:var(--s3) var(--s4);pointer-events:none;z-index:4;display:flex;position:fixed;bottom:0;left:0;right:0}.public-bar>*{pointer-events:auto}.public-name{font-family:var(--font-pixel), monospace;color:var(--text);font-size:1.125rem}.public-name small{font-family:var(--font-body), sans-serif;color:var(--muted);font-size:.8125rem;display:block}.badge{align-items:center;gap:var(--s2);font-family:var(--font-pixel), monospace;color:var(--muted);box-shadow:var(--notch);background:#0d0b18d9;padding:6px 10px;font-size:.8125rem;text-decoration:none;display:inline-flex}.badge:hover{color:var(--accent)}.form-stack{gap:var(--s4);display:grid}.auth-page{padding-block:var(--s7) var(--s6);gap:var(--s5);display:grid}.auth-page h1{font-size:2rem}.auth-card{padding:var(--s5)}.prefixed{background:var(--bg-deep);box-shadow:var(--notch);align-items:center;margin:2px 0;display:flex}.prefixed>span{white-space:nowrap;padding-left:12px}.prefixed input{margin:0;padding-left:2px;box-shadow:none!important}.prefixed:focus-within{box-shadow:0 -2px 0 0 var(--accent), 0 2px 0 0 var(--accent), -2px 0 0 0 var(--accent), 2px 0 0 0 var(--accent)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.editor{background:var(--bg-deep);flex-direction:column;min-height:100svh;display:flex}.editor-bar{align-items:center;gap:var(--s4);padding:var(--s3) var(--s4);border-bottom:2px solid var(--line);background:var(--bg);display:flex}.editor-url{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.editor-actions{align-items:center;gap:var(--s3);margin-left:auto;display:flex}.save-status{color:var(--muted);font-size:.875rem}.save-status.saved{color:var(--ok)}.save-status.error{color:var(--danger)}.editor-main{gap:var(--s4);padding:var(--s4);flex:1;grid-template-columns:minmax(0,1fr) 380px;align-items:start;display:grid}.editor-stage-wrap{gap:var(--s2);top:var(--s4);display:grid;position:sticky}.editor-stage{aspect-ratio:16/9;width:100%;box-shadow:var(--notch);margin:2px}.editor-svg{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.editor-hint{text-align:center}.editor-side{padding:var(--s4);gap:var(--s4);max-height:calc(100svh - 96px);display:grid;overflow-y:auto}@media (max-width:960px){.editor-main{grid-template-columns:1fr}.editor-stage-wrap{position:static}.editor-side{max-height:none}.editor-bar .hide-sm,.editor-url{display:none}}.tabs{gap:var(--s2);display:flex}.tabs button{color:var(--muted);font-family:var(--font-pixel), monospace;cursor:pointer;border:0;border-bottom:2px solid var(--line);background:0 0;flex:1;padding:10px;font-size:1rem}.tabs button.is-on{color:var(--accent);border-bottom-color:var(--accent)}.catalog{gap:var(--s2);grid-template-columns:repeat(2,1fr);margin:0;padding:0;list-style:none;display:grid}.catalog-item,.variant,.theme-item{justify-items:center;gap:var(--s1);width:100%;padding:var(--s3) var(--s2);background:var(--bg-deep);color:var(--text);cursor:pointer;box-shadow:var(--notch);font:inherit;text-align:center;border:0;margin:2px;display:grid;position:relative}.catalog-item:hover:not(:disabled),.variant:hover:not(:disabled),.theme-item:hover:not(:disabled){background:var(--surface-2)}.catalog-item:disabled,.variant:disabled,.theme-item:disabled{cursor:not-allowed;opacity:.55}.catalog-name{font-family:var(--font-pixel), monospace;font-size:.9375rem;line-height:1.2}.catalog-meta{color:var(--muted);font-size:.75rem}.plus-tag{font-family:var(--font-pixel), monospace;color:var(--accent);font-size:.75rem;position:absolute;top:6px;right:6px}.variant-grid{gap:var(--s2);grid-template-columns:repeat(3,1fr);display:grid}.variant span{font-size:.75rem;line-height:1.2}.variant.is-on,.theme-item.is-on{box-shadow:0 -2px 0 0 var(--accent), 0 2px 0 0 var(--accent), -2px 0 0 0 var(--accent), 2px 0 0 0 var(--accent)}.themes{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.theme-item{place-items:center start;gap:var(--s3);padding:var(--s3);grid-template-columns:auto 1fr auto}.theme-item .plus-tag{position:static}.swatch{display:flex}.swatch span{width:14px;height:22px}.upsell{justify-self:start}.inspector{gap:var(--s4);display:grid}.inspector-head{gap:var(--s2);justify-items:start;display:grid}.inspector-head h2{font-size:1.5rem}.chip{color:var(--accent);box-shadow:var(--notch);margin:2px;padding:2px 8px;font-size:.75rem}.inspector-tools{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.check{align-items:center;gap:var(--s2);margin-right:auto;font-size:.9375rem;display:inline-flex}.check input{accent-color:var(--accent);width:16px;height:16px}.inspector-content{gap:var(--s3);border-top:2px solid var(--line);padding-top:var(--s4);display:grid}.inspector-content h3{color:var(--accent);font-size:1.125rem}.list-editor{gap:var(--s3);display:grid}.list-item{gap:var(--s2);background:var(--bg-deep);padding:var(--s3);box-shadow:var(--notch);grid-template-columns:1fr auto;margin:2px;display:grid}.list-item-body{gap:var(--s2);min-width:0;display:grid}.list-item-tools{align-content:start;gap:var(--s1);display:grid}.icon-btn{background:var(--surface-2);width:28px;height:28px;color:var(--text);cursor:pointer;font:inherit;border:0;line-height:1}.icon-btn:hover:not(:disabled){color:var(--accent)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn.danger:hover{color:var(--danger)}.photo-row{align-items:center;gap:var(--s3);display:flex}.photo-row img{object-fit:cover;flex:none;width:56px;height:56px}.photo-row .field{flex:1}.upload{gap:var(--s2);justify-items:start;display:grid}.account{padding-block:var(--s6);gap:var(--s5);max-width:820px;display:grid}.account h1{font-size:2rem}.account-card{padding:var(--s5);gap:var(--s4);align-content:start;display:grid}.account-card h2{font-size:1.25rem}.account-grid{gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.row{gap:var(--s3);flex-wrap:wrap;align-items:center;display:flex}.plan-line{align-items:baseline;gap:var(--s3);flex-wrap:wrap;display:flex}.plan-name{font-family:var(--font-pixel), monospace;font-size:1.5rem}.plan-name.is-plus{color:var(--accent)}.notice{padding:var(--s3) var(--s4);background:var(--surface);box-shadow:var(--notch);margin:2px}.totals{gap:var(--s6);flex-wrap:wrap;margin:0;display:flex}.totals dt{color:var(--muted);font-size:.875rem}.totals dd{font-family:var(--font-pixel), monospace;margin:0;font-size:2rem}.stats-chart{margin:0}.stats-chart svg{width:100%;height:140px;display:block}.stats-legend{gap:var(--s4);color:var(--muted);margin-top:var(--s2);font-size:.8125rem;display:flex}.stats-legend i{width:10px;height:10px;margin-right:4px;display:inline-block}.clicks{gap:var(--s1);margin:0;padding:0;list-style:none;display:grid}.clicks li{border-bottom:1px solid var(--line);justify-content:space-between;padding:6px 0;display:flex}.danger-zone h2{color:var(--danger)}.page-head{gap:var(--s3);padding-block:var(--s7) var(--s5);display:grid}.page-head h1{font-size:clamp(2rem,4vw,2.75rem)}.lead{color:var(--muted);max-width:60ch;font-size:1.125rem}.accent{color:var(--accent)}.plans{gap:var(--s5);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;display:grid}.plan{padding:var(--s5);gap:var(--s4);display:grid}.plan h2{font-size:1.5rem}.plan-plus h2{color:var(--accent)}.price{font-family:var(--font-pixel), monospace;font-size:2.5rem;line-height:1}.price .muted{font-size:1rem}.ticks{gap:var(--s2);margin:0;padding:0;list-style:none;display:grid}.ticks li{padding-left:22px;position:relative}.ticks li:before{content:"";background:var(--accent);width:8px;height:8px;position:absolute;top:.55em;left:2px}.admin{padding-block:var(--s6);gap:var(--s4);display:grid}.admin-search,.admin-inline{gap:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.admin-search .input{max-width:320px}.admin-inline .input{width:auto;padding:6px 8px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9375rem}.admin-table th,.admin-table td{text-align:left;vertical-align:top;padding:var(--s3);border-bottom:1px solid var(--line)}.admin-table th{font-family:var(--font-pixel), monospace;color:var(--muted);font-weight:400}.small{font-size:.8125rem}.reset-link{min-width:280px}.hero{padding-block:var(--s6) var(--s5);gap:var(--s4);justify-items:start;display:grid}.hero h1{max-width:22ch;font-size:clamp(2rem,4vw,3.25rem)}.hero-room{width:min(1280px, 100% - 2 * var(--s4));margin-inline:auto}.hero-room-frame{box-shadow:var(--notch), 10px 10px 0 0 #00000073;background:var(--bg-deep);margin:2px}.hero-room .room-hint{padding-bottom:var(--s3)}.hero-url{text-align:right;padding-top:var(--s2)}.section{padding-top:var(--s8);gap:var(--s5);display:grid}.section h2{font-size:clamp(1.5rem,3vw,2rem)}.steps{gap:var(--s5);grid-template-columns:1fr 1.4fr 1fr;margin:0;padding:0;list-style:none;display:grid}.steps li{gap:var(--s2);align-content:start;display:grid}.steps h3{font-size:1.25rem}.step-n{font-family:var(--font-pixel), monospace;color:var(--accent);font-size:2.5rem;line-height:1}@media (max-width:760px){.steps{grid-template-columns:1fr}}.object-list{gap:var(--s4) var(--s6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:0;padding:0;list-style:none;display:grid}.object-list li{gap:var(--s4);align-items:center;display:flex}.object-list svg{background:var(--surface);flex:none}.object-list h3{font-size:1.125rem}.plus-band{margin-top:var(--s8);padding:var(--s6);grid-template-columns:1fr auto;align-items:center}.plus-copy{gap:var(--s3);justify-items:start;max-width:52ch;display:grid}.plus-objects{gap:var(--s2);flex-wrap:wrap;display:flex}@media (max-width:860px){.plus-band{grid-template-columns:1fr}}.faq{max-width:760px}.faq details{border-bottom:2px solid var(--line);padding-block:var(--s4)}.faq summary{cursor:pointer;font-family:var(--font-pixel), monospace;font-size:1.125rem;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:before{content:"+ ";color:var(--accent)}.faq details[open] summary:before{content:"– "}.faq details p{padding-top:var(--s2)}.legal{max-width:760px;padding-block:var(--s6);gap:var(--s4);display:grid}.legal h1{font-size:clamp(1.75rem,4vw,2.5rem)}.legal-tabs{gap:var(--s4);flex-wrap:wrap;font-size:.9375rem;display:flex}.legal-tabs a{color:var(--muted);border-bottom:2px solid #0000;padding-bottom:4px;text-decoration:none}.legal-tabs a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.legal-operator{padding:var(--s4) var(--s5);gap:var(--s1);display:grid}.legal-operator h2{color:var(--muted);font-size:1rem}.legal-section{gap:var(--s3);padding-top:var(--s3);display:grid}.legal-section h2{font-size:1.25rem}.legal-section ul{gap:var(--s2);margin:0;padding-left:1.25rem;display:grid}.legal-section p,.legal-section li{color:#d8d0e8;max-width:68ch}mark.todo{color:#ffb1a9;background:#4a2233;padding:0 4px}.footer-links{gap:var(--s4);flex-wrap:wrap;display:flex}.check.accept{color:var(--muted);align-items:flex-start;margin-right:0;font-size:.875rem}.check.accept input{flex:none;margin-top:3px}.public-head,.swipe-hint,.inventory{display:none}@media (max-width:760px),(max-aspect-ratio:4/5){.public-room{flex-direction:column;min-height:100svh;display:flex}.public-head{gap:var(--s1);padding:var(--s5) var(--s4) var(--s4);display:grid}.public-head h1{font-size:1.75rem}.public-head p{color:var(--muted)}.public-room .room-shell.fit-viewport{justify-content:flex-start;min-height:0}.public-room .public-bar{margin-top:auto}.public-room .fit-viewport .room-stage{width:calc(1.77778*min(54svh,440px))}.public-room .room-scroller{scroll-snap-type:x proximity;box-shadow:inset 0 2px 0 var(--line), inset 0 -2px 0 var(--line)}.swipe-hint{justify-content:center;gap:var(--s2);margin:calc(-1 * var(--s7)) auto 0;z-index:2;width:max-content;font-family:var(--font-pixel), monospace;color:var(--text);box-shadow:var(--notch);pointer-events:none;background:#0d0b18d9;padding:6px 12px;font-size:.8125rem;animation:2.4s ease-in-out infinite hint-pulse;display:flex;position:relative}.swipe-hint span{color:var(--accent)}@keyframes hint-pulse{50%{opacity:.6}}.public-room .room-hint{display:none}.inventory{gap:var(--s3);padding:var(--s5) 0 var(--s4);display:grid}.inventory-title{color:var(--muted);padding-inline:var(--s4);font-size:1rem}.inventory ul{padding:2px var(--s4) var(--s2);gap:var(--s3);scroll-snap-type:x mandatory;scroll-padding-inline:var(--s4);scrollbar-width:none;margin:0;list-style:none;display:flex;overflow-x:auto}.inventory ul::-webkit-scrollbar{display:none}.inventory li{scroll-snap-align:start;flex:none}.inventory button{justify-items:center;gap:var(--s2);width:104px;padding:var(--s3) var(--s2);background:var(--surface);color:var(--text);box-shadow:var(--notch);font:inherit;cursor:pointer;border:0;margin:2px;display:grid}.inventory button:active{background:var(--surface-2);transform:translateY(2px)}.inventory-art svg{display:block}.inventory-label{font-family:var(--font-pixel), monospace;text-align:center;font-size:.8125rem;line-height:1.2}.public-bar{padding:var(--s3) var(--s4) var(--s5);justify-content:flex-end;position:static}.public-bar .public-name{display:none}@media (prefers-reduced-motion:reduce){.swipe-hint{animation:none}}}.mbar{align-items:center;gap:var(--s3);display:none}@media (max-width:760px){.dnav{display:none!important}.mbar{display:flex}}.mnav-btn{background:var(--surface);width:40px;height:40px;color:var(--text);box-shadow:var(--notch);cursor:pointer;border:0;place-items:center;margin:2px;display:grid}.mnav-btn[aria-expanded=true]{color:var(--accent)}.mnav-sheet{background:var(--bg);z-index:40;padding:var(--s4);animation:.15s ease-out fade;position:fixed;inset:72px 0 0;overflow-y:auto}.mnav-sheet ul{margin:0;padding:0;list-style:none;display:grid}.mnav-sheet li a{padding:var(--s4) var(--s2);font-family:var(--font-pixel), monospace;color:var(--text);border-bottom:2px solid var(--line);font-size:1.375rem;text-decoration:none;display:block}.mnav-sheet li a[aria-current=page]{color:var(--accent)}.mnav-extra{padding:var(--s5) var(--s2);justify-content:space-between;align-items:center;display:flex}.mnav-extra .lang-toggle{font-size:1rem}.editor-stage-tools{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.editor-stage-tools .editor-hint{text-align:left}.zoom-btn{flex:none}.editor-stage.is-zoomed{aspect-ratio:auto;scrollbar-width:thin;overflow-x:auto}.editor-stage.is-zoomed .editor-svg{aspect-ratio:16/9;width:200%;height:auto}.dpad{gap:var(--s2);display:flex}.dpad .icon-btn{width:44px;height:36px;box-shadow:var(--notch);margin:2px;font-size:1rem}.icon-only{padding:8px 10px}.show-sm{display:none}@media (max-width:960px){.editor-bar{padding:var(--s2) var(--s3);gap:var(--s2)}.editor-actions{gap:var(--s2)}.editor-bar .hide-sm{display:none}.show-sm{display:inline}.save-status{display:none}.save-status.error,.save-status.dirty{text-overflow:ellipsis;white-space:nowrap;max-width:30vw;font-size:.75rem;display:inline;overflow:hidden}.editor-main{padding:0 0 var(--s4);gap:0}.editor-stage-wrap{z-index:5;background:var(--bg-deep);padding:var(--s2) var(--s2) var(--s2);border-bottom:2px solid var(--line);position:sticky;top:0}.editor-stage{box-shadow:none;margin:0}.editor-side{margin:var(--s3)}.catalog{grid-template-columns:repeat(3,1fr)}.catalog-meta{display:none}.variant-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:420px){.catalog-name{font-size:.8125rem}}.site-header .mnav-sheet nav{display:block}.site-header .mnav-sheet nav li a{color:var(--text);font-size:1.375rem}.site-header .mnav-sheet nav li a[aria-current=page]{color:var(--accent)}.admin-card{box-shadow:0 -2px 0 0 var(--accent), 0 2px 0 0 var(--accent), -2px 0 0 0 var(--accent), 2px 0 0 0 var(--accent);justify-items:start}.admin-card h2{color:var(--accent)}
