#three-room{position:fixed;inset:0;z-index:10;overflow:hidden;background:#d8d8cd;color:#343b32;font-family:"Avenir Next","PingFang SC",sans-serif}body.is-3d{overflow:hidden}body.is-3d>.room{display:none}#three-canvas,#three-html{position:absolute;inset:0}#three-canvas canvas{display:block;touch-action:none}#three-html{pointer-events:none;overflow:hidden}.three-header{position:absolute;left:34px;right:34px;top:25px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:12}.three-header>*{pointer-events:auto}.three-brand{text-decoration:none;font-size:23px;letter-spacing:-1.2px;font-weight:750}.three-brand span{font-weight:500;color:#8e3040}.view-keys{display:flex;gap:6px;padding:4px;background:#e7e7dcba;border:1px solid #fff8;border-radius:6px;backdrop-filter:blur(8px)}.view-keys button{padding:9px 15px;font-size:11px;background:transparent;border-radius:3px;color:#6e7468}.view-keys button.active{background:#f5f2e7;color:#4c5447;box-shadow:0 2px 4px #3f46321c}.three-footer{position:absolute;bottom:23px;left:34px;right:34px;display:flex;align-items:center;gap:18px;z-index:11;pointer-events:none}.three-footer button{pointer-events:auto;background:transparent;padding:9px 0;font-size:11px;color:#525c4a}.three-footer button:first-child{font-size:12px;color:#8c2e40}.three-footer button:last-child{margin-left:auto;color:#6d7568;font-size:10px}.scene-tip{position:absolute;bottom:71px;left:50%;transform:translateX(-50%);font-size:11px;letter-spacing:.2px;color:#67705e;text-align:center;pointer-events:none;max-width:80%;line-height:1.8;padding:4px 12px;background:#e4e4d888;border-radius:4px}.three-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#e3e2d7;z-index:15}.three-loading strong{font-size:38px;font-weight:550;letter-spacing:-2px}.three-loading span{font-size:12px;color:#7d816f}.three-loading i{width:100px;height:2px;background:#a54b54;animation:three-loading 1.2s ease-in-out infinite;transform-origin:left}@keyframes three-loading{0%,100%{transform:scaleX(.2);opacity:.4}50%{transform:scaleX(1);opacity:1}}.three-screen.glass{border:0;border-radius:11px;overflow:hidden;box-shadow:inset 0 0 40px #0009;background:#101b23;backface-visibility:hidden}.three-screen .screen-shell{padding:24px 29px 17px}.three-screen .screen-head{margin-bottom:18px}.three-screen .screen-head strong{font-size:16px}.three-screen .screen-head>span{font-size:12px}.three-screen .menu-heading{font-size:32px;margin-bottom:18px}.three-screen .screen-body{gap:28px}.three-screen .game-option{font:18px/20px GamePixel,monospace;height:39px;min-height:39px;padding:9px 8px 9px 25px}.three-screen .game-option.selected:before{left:5px}.three-screen .preview-art{width:205px;height:170px;flex-shrink:0}.three-screen .preview-caption{display:none}.three-screen .preview-panel{gap:25px}.three-screen .load-game{font:16px GamePixel,monospace;padding:14px 0}.three-screen .screen-nav{margin-top:13px;padding-top:9px;gap:22px}.three-screen .screen-nav button,.three-screen .screen-footer{font:14px GamePixel,monospace}.three-screen .screen-footer{margin-top:10px}.three-screen .game-toolbar :is(button,a){font:15px GamePixel,monospace;min-height:37px;padding:8px 4px}.three-screen .game-toolbar .current-game{font:14px GamePixel,monospace;display:block}.three-screen .game-toolbar{gap:15px;padding:7px 14px}.three-screen .playing{height:100%}.three-controls{position:absolute;bottom:75px;left:50%;transform:translateX(-50%);display:none;gap:10px;padding:7px 12px;border-radius:7px;background:#f2efdeeb;box-shadow:0 8px 30px #45463624;z-index:11}.three-controls.show{display:flex}.three-controls button{font-size:12px;background:transparent;padding:9px 12px;color:#703142}.screen-view .scene-tip{bottom:131px;color:#525b48}.screen-view .three-footer{opacity:.85}body.is-3d dialog{z-index:50}body.is-3d #toast{z-index:60;bottom:110px}
@media(max-width:700px){.three-header{top:18px;left:18px;right:18px;align-items:flex-start}.three-brand{font-size:21px}.view-keys{gap:0;padding:3px}.view-keys button{font-size:10px;padding:8px}.view-keys button:last-child{display:none}.three-footer{left:20px;right:20px;gap:19px;bottom:20px}.three-footer button{font-size:11px}.three-footer button:last-child{font-size:9px}.scene-tip{bottom:72px;font-size:11px;max-width:85%;width:max-content}.three-controls{bottom:75px;gap:3px;white-space:nowrap}.three-controls button{padding:10px 12px;font-size:12px}.screen-view .scene-tip{bottom:136px;font-size:10px}.three-screen .screen-head strong{font-size:16px}.three-screen .screen-nav{gap:22px}.three-screen .screen-footer{font-size:14px}}
@media(prefers-reduced-motion:reduce){.three-loading i{animation:none}}

/* Full-window play preserves the existing iframe and its running game. */
.exit-immersive{display:none;position:absolute;right:22px;top:18px;z-index:30;padding:12px 17px;border:1px solid #d6d0a74d;border-radius:5px;background:#17251ff0;color:#e7d9a5;font:12px GamePixel,monospace}.immersive .exit-immersive{display:block}.immersive .three-header,.immersive .three-footer,.immersive .three-controls,.immersive .scene-tip{display:none}.immersive #three-html{z-index:20}.immersive #three-html>div>div>div{transform:none!important}.immersive #screen{width:100vw!important;height:100dvh!important;left:0;top:0;border-radius:0;pointer-events:auto!important}.immersive #screen .screen-shell{padding:70px max(26px,7vw) 35px}.immersive #screen .game-toolbar{padding:12px 24px}.immersive #screen .game-option{height:49px;font-size:23px}.immersive #screen .preview-art{width:100%;height:min(43vh,330px)}.three-screen.booting,.three-screen.inserting{animation:none!important}.three-screen #player iframe{border:0;width:100%;height:100%}.three-screen:fullscreen{transform:none!important;width:100vw!important;height:100dvh!important;border-radius:0}
@media(max-width:700px){.view-keys button{padding:8px 6px}.three-brand{font-size:19px}.three-header{left:15px;right:15px}.immersive #screen .screen-body{gap:12px}.immersive #screen .screen-shell{padding:70px 18px 20px}.immersive #screen .game-option{font-size:17px}.immersive #screen .screen-nav{gap:15px}.exit-immersive{top:13px;right:15px}.three-screen .screen-nav .screen-search{display:block}}

/* A transparent WebGL aperture makes all physical objects occlude the DOM screen correctly. */
#three-canvas{z-index:2}#three-html{z-index:1}.screen-view #three-canvas{pointer-events:none}.screen-view .three-footer,.screen-view .three-controls{display:none}.screen-view .scene-tip{bottom:34px}.immersive #three-html{z-index:20}.immersive #three-canvas{pointer-events:none}

.immersive #screen .playing{padding-top:54px}.immersive .exit-immersive{top:10px}.immersive #screen{box-shadow:none}

.three-brand{font-weight:650;font-size:24px;letter-spacing:-1px}.three-brand small{display:block;font-size:10px;font-weight:450;letter-spacing:1.8px;margin-top:6px;color:#697061}.three-footer a{font-size:11px;color:#525c4a;pointer-events:auto;text-decoration:none}.manual-options a{display:block;padding:15px 17px;color:inherit;text-decoration:none;border-bottom:1px solid #46554122}.manual-options a:hover{background:#e4e7d7}.game-facts{margin:25px 0}.game-facts div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:11px 0;border-bottom:1px solid #52634e22;font-size:13px}.game-facts dt{color:#71806b}.game-facts dd{margin:0;line-height:1.7}@media(max-width:700px){.three-brand{font-size:18px;letter-spacing:-.7px}.three-brand small{font-size:9px;letter-spacing:1px}.three-footer{gap:15px}.three-footer a{font-size:10px}.three-footer button:first-child{font-size:11px}}

.three-screen .game-toolbar :is(button,a){white-space:nowrap}@media(max-width:700px){.immersive #screen .menu-heading{font-size:24px;white-space:nowrap}.immersive #screen .game-toolbar{gap:10px;padding:8px 12px;justify-content:space-between}.immersive #screen .game-toolbar .current-game{display:none}.view-keys button{min-height:36px}.three-footer button,.three-footer a{min-height:44px;display:flex;align-items:center}.three-footer{bottom:8px}}
