:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:#081829;color:#f5f8fe;overflow:hidden}#scene{position:fixed;inset:0}#scene canvas{display:block;touch-action:none}.grain{pointer-events:none;position:fixed;inset:0;background:linear-gradient(90deg,#061625b0,transparent 65%)}body.entered .grain{background:linear-gradient(180deg,#06162550,transparent 25%,transparent 80%,#06162570)}header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:28px 5vw;pointer-events:none}header>*{pointer-events:auto}.brand{font-size:26px;font-weight:900;letter-spacing:.07em;line-height:1;text-decoration:none;color:white}.brand span{display:block;font-size:9px;letter-spacing:.25em;margin-top:9px;font-weight:600}nav{display:flex;gap:12px}nav a{font-size:13px;color:#e1ebfc;text-decoration:none;border:1px solid #ffffff25;padding:10px 16px;border-radius:30px;background:#08182990;backdrop-filter:blur(14px)}nav a:hover{border-color:#74cfff;background:#124270}#welcome{position:fixed;top:50%;transform:translateY(-45%);left:7vw;max-width:460px;padding-right:20px}.eyebrow{font-size:10px;letter-spacing:.18em;color:#a4c7e6;display:flex;gap:9px;align-items:center}.eyebrow span{width:6px;height:6px;background:#78d5ff;border-radius:50%;box-shadow:0 0 14px #6bd4ff}h1{font-size:clamp(40px,5.2vw,76px);font-weight:750;line-height:1.02;letter-spacing:-.045em;margin:24px 0}p{font-size:15px;color:#adc4d8;line-height:1.7;margin-bottom:30px}button{font-family:inherit;font-size:13px;font-weight:600;color:#edf6ff;cursor:pointer;border:1px solid #ffffff25;border-radius:24px;background:#102c46cc;padding:13px 20px;backdrop-filter:blur(15px)}button:focus-visible,a:focus-visible{outline:3px solid #7bdcff;outline-offset:4px}button:disabled{opacity:.7;cursor:wait}#enter{font:600 15px system-ui;min-width:235px;background:#bdeaff;color:#071725;border:0;padding:16px 24px;box-shadow:0 8px 30px #39abef25}#progress{float:right;margin-left:15px}.small{font-size:11px;color:#91afc7;margin-top:13px}#toolbar{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);display:flex;gap:8px;white-space:nowrap}#toolbar[hidden],#joystick[hidden],#move-buttons[hidden],#instructions[hidden]{display:none}#toolbar .active{background:#bce9ff;color:#071725;border-color:#bce9ff}#instructions{position:fixed;left:50%;bottom:125px;transform:translateX(-50%);width:min(90vw,520px);background:#071828dd;border:1px solid #83cfff50;padding:16px 20px;border-radius:16px;font-size:13px;line-height:1.6}#joystick{position:fixed;bottom:135px;left:35px;width:112px;height:112px;border-radius:50%;border:1px solid #bce9ff55;background:#071c3680;touch-action:none;display:grid;place-items:center}#stick{width:46px;height:46px;border-radius:50%;background:#bce9ffb0;pointer-events:none}#move-buttons{position:fixed;left:32px;bottom:60px;display:flex;gap:5px}#move-buttons button{padding:8px 12px}#toast{position:fixed;top:100px;left:50%;transform:translateX(-50%);background:#082743e0;padding:12px 20px;border-radius:16px;font-size:13px;opacity:0;transition:opacity .3s;pointer-events:none}#toast.visible{opacity:1}footer{position:fixed;bottom:22px;left:5vw;right:5vw;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.18em;color:#9dbcd1;pointer-events:none}.fallback{position:fixed;inset:35% 10%;background:#112e45;padding:24px;border-radius:16px}.fallback a{color:#a9e5ff}body.entered #welcome{display:none}@media(max-width:700px){header{padding:22px}.brand{font-size:21px}nav{gap:7px}nav a{font-size:11px;padding:8px 11px}#welcome{left:24px;top:auto;bottom:88px;transform:none;max-width:340px}h1{font-size:42px;margin:18px 0}p{font-size:13px;margin-bottom:21px}#toolbar{bottom:40px;gap:5px}#toolbar button{padding:11px 12px;font-size:11px}footer{bottom:15px;font-size:7px}#joystick{left:20px;bottom:110px;width:100px;height:100px}#move-buttons{display:none}#instructions{bottom:105px}body:not(.entered) .grain{background:linear-gradient(180deg,transparent 22%,#061625cc 62%,#061625 100%)}}

/* Show only the interactive room, from the first frame. */
.grain,header,#welcome,#toolbar,#instructions,#move-buttons,#toast,footer,.fallback{display:none!important}

#scene canvas{filter:saturate(1.08) contrast(1.04)}

#immersive-controls{position:fixed;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));display:flex;gap:8px;z-index:10}
#immersive-controls button{font-size:12px;background:#071c36ba;box-shadow:0 3px 18px #0003}
#immersive-controls [hidden],#crosshair[hidden],#loading-dot[hidden],#error-panel[hidden]{display:none}
#put-back{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom))}
#crosshair{position:fixed;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#ffffffb0;box-shadow:0 0 3px #000;pointer-events:none}
#joystick{z-index:10;bottom:max(28px,env(safe-area-inset-bottom));left:max(22px,env(safe-area-inset-left))}
#loading-dot{position:fixed;left:50%;top:50%;width:28px;height:28px;border:2px solid #fff3;border-top-color:#bce9ff;border-radius:50%;animation:loading-spin 1s linear infinite;pointer-events:none}
@keyframes loading-spin{to{transform:rotate(360deg)}}
#error-panel{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(85vw,350px);background:#102c46e8;border-radius:20px;padding:20px;font-size:14px;line-height:1.5;z-index:20}
#error-panel button{display:block;margin-top:14px}
@media(prefers-reduced-motion:reduce){#loading-dot{animation:none}}

#take-item{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(28px,env(safe-area-inset-bottom))}
#toast.visible{display:block!important;z-index:20}
