.xp{--xp-title-a:#4a97ea;--xp-title-b:#1f5fbf;--xp-title-c:#14459c;--xp-face:#ece9d8;--xp-frame:#1f5fbf;--xp-desktop-sky:#5aa7dd;--xp-desktop-mid:#74b8e0;--xp-desktop-hill:#7cb342;--xp-desktop-deep:#5f9a30;--xp-start-a:#8cc84f;--xp-start-b:#4e8a1e;--xp-taskbar-a:#4a91e2;--xp-taskbar-b:#2a63c4;--xp-taskbar-c:#1a4499;--xp-text:#000;--xp-field:#fff;--xp-line:#7f9db9;--xp-select:#316ac5;--xp-close-a:#f08a6c;--xp-close-b:#cc3a22;--xp-btn-a:#6fb2f0;--xp-btn-b:#2a6fd0;--xp-divider:#d4d0c0;--xp-toolbar-hi:#fbfbf8;--xp-hover:#d8e6f8;--xp-chrome-text:#fff;--xp-shadow:#0006;--xp-emboss:#0000008c;--xp-emboss-soft:#00000080;--xp-emboss-strong:#000000e6;--xp-btn-edge:#ffffff8c;--xp-thumb-border:gray;--xp-muted:#555;--xp-black:#000;--xp-lightbox-white:#fff;--xp-lightbox-scrim:#0000008c;--xp-lightbox-fade:#000000bf;--xp-transport-a:#2f68b8;--xp-transport-b:#17407e;--xp-transport-play-a:#7fc4f5;--xp-error-text:#ddd;--xp-boot-bg:#000;--xp-boot-text:#c8c8c8;--xp-boot-splash-text:#fff;--xp-boot-tagline:#d94;--xp-boot-bar-frame:#555;--xp-boot-bar-fill:#3a7de0;--xp-shutdown-text:#e8b84b;color:var(--xp-text);-webkit-user-select:none;user-select:none;background:linear-gradient(var(--xp-desktop-sky) 0%, var(--xp-desktop-mid) 52%, var(--xp-desktop-hill) 52%, var(--xp-desktop-deep) 100%);font-family:Tahoma,Verdana,Geneva,sans-serif;font-size:11px;position:fixed;inset:0;overflow:hidden}.xp-win{background:var(--xp-face);border:2px solid var(--xp-frame);box-shadow:3px 4px 14px var(--xp-shadow);border-top:0;border-radius:8px 8px 0 0;flex-direction:column;display:flex;position:absolute;overflow:hidden}.xp-title{color:var(--xp-chrome-text);text-shadow:1px 1px 1px var(--xp-emboss);background:linear-gradient(var(--xp-title-a), var(--xp-title-b) 14%, var(--xp-title-b) 86%, var(--xp-title-c));cursor:default;flex:none;align-items:center;gap:6px;padding:4px 5px;font-weight:700;display:flex}.xp-win[data-focused=false] .xp-title{filter:saturate(.45)brightness(1.1)}.xp-title-buttons{gap:3px;margin-left:auto;display:flex}.xp-btn{width:18px;height:16px;color:var(--xp-chrome-text);background:linear-gradient(var(--xp-btn-a), var(--xp-btn-b));border:1px solid var(--xp-btn-edge);cursor:pointer;border-radius:3px;place-items:center;font-size:9px;line-height:1;display:grid}.xp-btn:focus-visible{outline:2px solid var(--xp-chrome-text);outline-offset:1px}.xp-btn--close{background:linear-gradient(var(--xp-close-a), var(--xp-close-b))}.xp-menu{border-bottom:1px solid var(--xp-divider);flex:none;gap:10px;padding:3px 7px;display:flex}.xp-toolbar{background:linear-gradient(var(--xp-toolbar-hi), var(--xp-face));flex:none;align-items:center;gap:8px;padding:4px 7px;display:flex}.xp-toolbar button{font:inherit;color:var(--xp-text);cursor:pointer;background:0 0;border:0;border-radius:3px;padding:2px 5px}.xp-toolbar button:hover:not(:disabled){background:var(--xp-hover)}.xp-toolbar button:disabled{opacity:.4;cursor:default}.xp-address{flex:none;align-items:center;gap:5px;padding:3px 7px;display:flex}.xp-address input{background:var(--xp-field);border:1px solid var(--xp-line);font:inherit;color:var(--xp-text);flex:1;padding:2px 5px}.xp-pane{background:var(--xp-field);border:1px solid var(--xp-line);flex:1;min-height:0;margin:0 6px 6px;overflow:auto}.xp-status{border-top:1px solid var(--xp-divider);flex:none;gap:12px;padding:3px 8px;display:flex}.xp-taskbar{background:linear-gradient(var(--xp-taskbar-a), var(--xp-taskbar-b) 12%, var(--xp-taskbar-b) 88%, var(--xp-taskbar-c));height:30px;color:var(--xp-chrome-text);z-index:10000;align-items:center;gap:4px;padding:0 4px;display:flex;position:absolute;bottom:0;left:0;right:0}.xp-start{color:var(--xp-chrome-text);background:linear-gradient(var(--xp-start-a), var(--xp-start-b));text-shadow:1px 1px 1px var(--xp-emboss-soft);cursor:pointer;border:0;border-radius:0 10px 10px 0;padding:4px 16px 4px 10px;font-size:13px;font-style:italic;font-weight:700}.xp-icon{width:76px;color:var(--xp-chrome-text);text-align:center;text-shadow:1px 1px 2px var(--xp-emboss-strong);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;padding:4px;display:flex}.xp-icon[data-selected=true]{background:color-mix(in srgb, var(--xp-select) 45%, transparent);outline:1px dotted var(--xp-chrome-text)}.xp-icon:focus-visible{outline:2px dotted var(--xp-chrome-text);outline-offset:2px}.xp-start:focus-visible{outline:2px solid var(--xp-chrome-text);outline-offset:2px}.xp-task-btn:focus-visible{outline:2px solid var(--xp-chrome-text);outline-offset:-2px}.xp-resize-grip{cursor:nwse-resize;background:linear-gradient(135deg, transparent 50%, var(--xp-frame) 50%);width:14px;height:14px;position:absolute;bottom:0;right:0}@media (prefers-reduced-motion:reduce){.xp *,.xp :before,.xp :after{transition:none!important;animation:none!important}}.xp-menu-item{text-align:left;width:100%;font:inherit;color:var(--xp-text);cursor:pointer;background:0 0;border:0;padding:6px 10px;display:block}.xp-menu-item:hover,.xp-menu-item:focus-visible{background:var(--xp-select);color:var(--xp-chrome-text)}@keyframes xp-boot-slide{0%{transform:translate(-46px)}to{transform:translate(152px)}}@media (width<=767px){.xp{font-size:13px}.xp-win{border-radius:0}.xp-title{padding:8px 6px;font-size:13px}.xp-title-buttons{gap:8px}.xp-btn{width:40px;height:38px;font-size:16px}.xp-menu{display:none}.xp-toolbar{padding:8px 7px}.xp-toolbar button{padding:10px 14px}.xp-taskbar{height:40px}.xp-start{padding:10px 20px 10px 14px;font-size:15px}.xp-desktop-icons{flex-wrap:wrap;flex-direction:row!important;gap:2px!important}.xp-icon{width:84px;padding:8px 4px}}:root{--ink:#2a1e14;--cream:#f4e7c4;--gold:#e0b23e;--panel:#2b2320;--panel-lite:#3a302a;--accent:#e2574f;font-family:DejaVu Sans Mono,Courier New,ui-monospace,monospace}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{color:var(--cream);-webkit-font-smoothing:none;-webkit-user-select:none;user-select:none;background:#140d06;overflow:hidden}.room-stage{background:radial-gradient(120% 120% at 50% 40%,#3a2a18 0%,#1c130a 70%,#120b04 100%);width:100vw;height:100dvh;display:flex;position:relative;overflow:hidden}.game-canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;display:block}.vignette-frame{pointer-events:none;background:repeating-linear-gradient(#0000 0 2px,#0000000a 3px);position:absolute;inset:0;box-shadow:inset 0 0 140px #0000008c}.pixel-btn{text-transform:uppercase;letter-spacing:1px;color:var(--cream);background:var(--panel-lite);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink), inset 0 0 0 2px #ffffff0f;cursor:pointer;padding:12px 18px;font-family:inherit;font-size:14px;transition:transform 60ms,background .12s}.pixel-btn:hover{background:#4a3d34}.pixel-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.pixel-btn.primary{background:var(--accent);color:#fff}.pixel-btn.primary:hover{background:#ef6f5c}.title-screen{z-index:40;background:#0a0a0a;flex-direction:column;justify-content:center;align-items:center;gap:30px;display:flex;position:absolute;inset:0}@font-face{font-family:Graffonti;src:url(/fonts/graffonti-3d-drop.ttf)format("truetype");font-display:swap}.title-logo{color:#f5f5f5;letter-spacing:2px;-webkit-user-select:none;user-select:none;text-shadow:0 0 22px #ffffff1f;margin:0;padding:0 12px;font-family:Graffonti,ui-monospace,monospace;font-size:clamp(46px,13vw,150px);line-height:1;transition:opacity .3s}.title-start{letter-spacing:6px;text-transform:uppercase;color:#f5f5f5;cursor:pointer;opacity:.85;background:0 0;border:none;padding:6px 10px;font-family:ui-monospace,Courier New,monospace;font-size:20px;transition:opacity .2s,transform .1s,letter-spacing .2s}.title-start:hover{opacity:1;letter-spacing:8px}.title-start:active{transform:translateY(1px)}.title-screen.leaving .title-logo,.title-screen.leaving .title-start{opacity:0;pointer-events:none}.boot-fade{z-index:35;pointer-events:none;background:#0a0a0a;animation:.7s forwards bootFade;position:absolute;inset:0}@keyframes bootFade{0%{opacity:1}to{opacity:0}}.interact-prompt{background:var(--panel);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);letter-spacing:1px;text-transform:uppercase;z-index:20;align-items:center;gap:10px;padding:10px 16px 10px 10px;font-size:14px;animation:.12s ease-out pop;display:flex;position:absolute;bottom:34px;left:50%;transform:translate(-50%)}@keyframes pop{0%{transform:translate(-50%)scale(.9)}to{transform:translate(-50%)scale(1)}}.a-key{background:var(--accent);color:#fff;border:2px solid var(--ink);border-radius:50%;place-items:center;width:26px;height:26px;font-weight:700;display:inline-grid}.music-button{letter-spacing:1px;text-transform:uppercase;color:var(--gold);background:var(--panel);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;z-index:25;align-items:center;gap:10px;padding:9px 14px;font-family:inherit;font-size:12px;display:flex;position:absolute;top:18px;right:18px}.music-button:hover{background:var(--panel-lite)}.radio-eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.radio-eq i{background:var(--gold);width:3px;height:3px;animation:.8s ease-in-out infinite eq}.radio-eq i:nth-child(2){animation-delay:.15s}.radio-eq i:nth-child(3){animation-delay:.3s}.radio-eq i:nth-child(4){animation-delay:.45s}@keyframes eq{0%,to{height:3px}50%{height:12px}}.music-panel{background:var(--panel);border:3px solid var(--ink);z-index:45;opacity:0;pointer-events:none;width:min(300px,100vw - 24px);transition:opacity .2s,transform .2s;position:absolute;top:12px;right:12px;transform:translateY(-8px)scale(.98);box-shadow:0 4px #0006}.music-panel.open{opacity:1;pointer-events:auto;transform:none}.music-titlebar{background:var(--accent);color:#fff;letter-spacing:2px;text-transform:uppercase;border-bottom:3px solid var(--ink);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.music-body{background:#0a0a0a;min-height:40px;padding:8px}.music-body iframe{border:none;border-radius:8px;display:block}.modal-backdrop{z-index:50;background:#0a0602b8;justify-content:center;align-items:center;padding:20px;display:flex;position:absolute;inset:0}.modal-window{background:var(--cream);width:min(520px,100%);color:var(--ink);border:4px solid var(--ink);animation:.14s ease-out pop2;box-shadow:0 8px #0006}@keyframes pop2{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.modal-titlebar{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:2px;border-bottom:4px solid var(--ink);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.modal-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1}.modal-body{gap:16px;padding:20px;display:flex}.modal-body h2{margin:0 0 8px;font-size:18px}.modal-body p{margin:0 0 10px;font-size:14px;line-height:1.5}.about-avatar{border:3px solid var(--ink);width:72px;height:72px;image-rendering:pixelated;background:radial-gradient(circle at 50% 38%,#f1c79a 30%,#0000 31%),linear-gradient(#3a63c8,#3a63c8);flex:0 0 72px}.about-links{gap:14px;display:flex}.about-links a{color:var(--accent);font-weight:700;text-decoration:none}.about-links a:hover{text-decoration:underline}.modal-hint{text-align:center;opacity:.6;text-transform:uppercase;letter-spacing:1px;padding:0 0 12px;font-size:11px}.touch-controls{pointer-events:none;z-index:30;position:absolute;inset:0}.dpad{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:138px;height:138px;display:grid;position:absolute;bottom:28px;left:22px}.dpad-btn{pointer-events:auto;color:var(--cream);border:2px solid var(--ink);cursor:pointer;background:#2b2320d9;font-family:inherit;font-size:18px}.dpad-btn:active{background:var(--accent)}.dpad-up{grid-area:1/2}.dpad-left{grid-area:2/1}.dpad-right{grid-area:2/3}.dpad-down{grid-area:3/2}.a-button{pointer-events:auto;color:#fff;background:var(--accent);border:3px solid var(--ink);width:74px;height:74px;box-shadow:0 5px 0 var(--ink);cursor:pointer;border-radius:50%;font-family:inherit;font-size:26px;font-weight:700;position:absolute;bottom:46px;right:30px}.a-button:active{box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.error-boundary{background:radial-gradient(120% 120% at 50% 40%,#3a2a18 0%,#1c130a 70%,#120b04 100%);justify-content:center;align-items:center;height:100dvh;padding:20px;display:flex}.error-boundary-card{text-align:center;background:var(--panel);border:4px solid var(--ink);max-width:460px;color:var(--cream);padding:40px 34px;box-shadow:0 8px #0006}.error-boundary-card h1{color:var(--gold);letter-spacing:1px;text-transform:uppercase;margin:0 0 12px;font-size:24px}.error-boundary-card p{opacity:.85;margin:0 0 20px;font-size:14px;line-height:1.5}.error-boundary-card a{color:var(--accent);font-weight:700;text-decoration:none}.error-boundary-card a:hover{text-decoration:underline}.coming-soon{background:radial-gradient(120% 120% at 50% 40%,#3a2a18 0%,#1c130a 70%,#120b04 100%);justify-content:center;align-items:center;height:100dvh;padding:20px;display:flex}.cs-card{text-align:center;background:var(--panel);border:4px solid var(--ink);max-width:460px;padding:40px 34px;box-shadow:0 8px #0006}.cs-card h1{color:var(--gold);letter-spacing:3px;text-transform:uppercase;margin:0;font-size:40px}.cs-tag{color:var(--accent);text-transform:uppercase;letter-spacing:4px;margin:6px 0 18px;font-size:14px}.cs-body{opacity:.8;margin:0 0 26px;font-size:14px;line-height:1.6}.coming-soon .pixel-btn{text-decoration:none;display:inline-block}.music-backdrop{z-index:44;background:0 0;position:absolute;inset:0}@media (width<=640px){.title-logo{letter-spacing:1px;padding:0 8px;font-size:clamp(24px,9vw,54px)}.title-start{letter-spacing:4px;font-size:15px}.interact-prompt{gap:7px;max-width:calc(100vw - 32px);padding:6px 12px 6px 6px;font-size:11px;top:auto;bottom:178px}.interact-prompt .a-key{width:20px;height:20px}.music-panel{width:auto;top:10px;left:10px;right:10px}.music-body{padding:6px}.music-backdrop{background:#0a060273}}
