:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#090b10;color:#f6f7fb}*{box-sizing:border-box}html,body,#app{width:100%;min-width:100%;height:100%;min-height:100%;margin:0;overflow:hidden;overscroll-behavior:none}button,select,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.viewer{position:fixed;inset:0;width:100%;height:100%;border:0;background:#090b10;touch-action:none}.hud{position:fixed;z-index:3;top:max(18px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right));display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.scene-title,.controls,.guide{pointer-events:auto;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);background:#080a10a8;border:1px solid rgb(255 255 255 / .16);box-shadow:0 12px 34px #00000038}.scene-title{max-width:min(330px,calc(100vw - 220px));padding:10px 14px 11px;border-radius:13px;display:grid;gap:3px}.scene-title strong{font-size:14px;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eyebrow{color:#c5d1ff;font-size:9px;font-weight:750;letter-spacing:.14em}.controls{border-radius:13px;display:flex;align-items:center;gap:5px;padding:4px}.quality{display:flex;align-items:center;gap:6px;padding-left:5px;color:#c7cbda;font-size:12px}.quality select,.help,.close,.menu-button{color:#f7f8fb;background:#ffffff17;border:0;border-radius:9px;cursor:pointer}.quality select{padding:8px 7px;outline-color:#9cb6ff}.help{width:32px;height:32px;font-size:17px;font-weight:700}.menu-button{min-height:32px;padding:0 10px;font-size:12px}.guide{position:fixed;z-index:5;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));width:min(390px,calc(100vw - 36px));padding:18px 42px 18px 18px;border-radius:16px;font-size:13px;line-height:1.55}.guide h2{margin:0 0 7px;font-size:15px}.guide p{margin:8px 0 0;color:#d9dcea}.close{position:absolute;top:9px;right:9px;width:27px;height:27px;font-size:21px;line-height:1}kbd{display:inline-block;min-width:18px;margin:0 1px;padding:1px 4px;border:1px solid #8792af;border-radius:4px;color:#fff;font-size:10px;text-align:center}.mobile-only{display:none}.notice{display:grid;place-content:center;min-height:100%;padding:24px;text-align:center}.notice h1{margin:0;font-size:21px}.notice p{color:#c8cbd6}.scene-menu,.access-gate{min-height:100%;overflow:auto;background:radial-gradient(circle at 78% 12%,#2f517b 0,transparent 31%),radial-gradient(circle at 8% 88%,#392d61 0,transparent 30%),#090b10}.scene-menu{display:grid;align-content:center;gap:28px;padding:max(48px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.menu-intro,.scene-grid{width:min(920px,100%);margin:0 auto}.menu-intro{display:grid;gap:8px}.menu-intro h1{margin:0;font-size:clamp(31px,5vw,52px);letter-spacing:-.04em}.menu-intro p{margin:0;color:#bfc6d8;font-size:15px}.scene-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.scene-card{min-height:245px;display:flex;flex-direction:column;justify-content:space-between;padding:20px;color:inherit;text-align:left;background:#0d111cbd;border:1px solid rgb(194 211 255 / .22);border-radius:20px;box-shadow:0 24px 54px #0000002e;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.scene-card:hover,.scene-card:focus-visible{transform:translateY(-4px);border-color:#9fbaff;background:#1b253adb;outline:0}.scene-card-art{position:relative;height:80px;overflow:hidden;border-radius:12px;background:linear-gradient(135deg,#5a86cc,#272249 45%,#111827)}.scene-card:nth-child(2) .scene-card-art{background:linear-gradient(135deg,#826e46,#4c3b2d 50%,#20232d)}.scene-card-art i{position:absolute;display:block;border:1px solid rgb(255 255 255 / .28);border-radius:50%}.scene-card-art i:nth-child(1){width:136px;height:136px;top:-48px;right:-8px}.scene-card-art i:nth-child(2){width:96px;height:96px;bottom:-55px;left:20%}.scene-card-art i:nth-child(3){width:44px;height:44px;top:16px;left:18px;background:#ffffff1f}.scene-card-copy{display:grid;gap:4px;margin-top:20px}.scene-card-copy strong{font-size:23px;letter-spacing:-.02em}.scene-card-copy small{color:#c7cede;font-size:13px}.scene-card-copy em{margin-top:4px;color:#90aefa;font-size:11px;font-style:normal}.scene-card-enter{display:flex;justify-content:space-between;color:#eff3ff;font-size:13px}.scene-card-enter b{font-size:17px;line-height:.7}.access-gate{display:grid;place-items:center;padding:max(22px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-right)) max(22px,env(safe-area-inset-bottom)) max(22px,env(safe-area-inset-left))}.access-panel{position:relative;width:min(420px,100%);padding:40px;border:1px solid rgb(255 255 255 / .18);border-radius:22px;background:#0d111cc7;box-shadow:0 28px 68px #0000004d}.access-panel .eyebrow{display:block;margin-top:36px}.access-panel h1{margin:8px 0 5px;font-size:34px;letter-spacing:-.04em}.access-panel>p{margin:0 0 28px;color:#bbc3d7;font-size:14px}.text-button{position:absolute;top:18px;left:20px;padding:4px 0;color:#ccd8f9;border:0;background:transparent;cursor:pointer}.access-panel form{display:grid;gap:9px}.access-panel label{color:#d4d9e8;font-size:13px}.access-panel input{width:100%;padding:12px 13px;color:#fff;background:#ffffff12;border:1px solid rgb(255 255 255 / .2);border-radius:10px;outline-color:#9cb6ff}.access-error{min-height:18px;margin:0;color:#ffb6bb;font-size:12px}.enter-button{min-height:43px;color:#0b1120;font-weight:750;background:#b9cdfd;border:0;border-radius:10px;cursor:pointer}@media(pointer:coarse),(max-width:799px){.desktop-only{display:none}.mobile-only{display:block}.hud{top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right))}.scene-title{padding:8px 10px;max-width:calc(100vw - 210px)}.scene-title strong{font-size:12px}.eyebrow{font-size:8px}.quality{padding-left:1px}.quality>span{display:none}.quality select{max-width:88px;padding:7px 4px;font-size:11px}.help{width:30px;height:30px}.menu-button{min-height:30px;padding:0 7px;font-size:11px}.guide{left:10px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100vw - 20px)}.scene-menu{align-content:start;gap:20px;padding-top:max(46px,env(safe-area-inset-top))}.scene-grid{grid-template-columns:1fr}.scene-card{min-height:205px}.access-panel{padding:32px 24px}.access-panel .eyebrow{margin-top:34px}}
