:root{color-scheme:dark;--gold:#d8c094;--cream:#efe9d8;--muted:#aabcbf}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;overflow:hidden;background:#020811;color:var(--cream);font:18px/1.5 Manrope,Arial,sans-serif}button,a,input,select{font:inherit}button{border:0;color:inherit;cursor:pointer;background:none}a{color:var(--gold);text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}#world{position:fixed;width:100vw;height:100dvh;isolation:isolate}#scene{position:absolute;inset:0;width:100%;height:100%;touch-action:none}header{position:absolute;inset:24px 30px auto;display:flex;justify-content:space-between;z-index:6}header>a,header>button{font-size:28px;padding:4px 14px}#intro{position:absolute;left:8%;top:50%;transform:translateY(-50%);z-index:5;text-shadow:0 3px 20px #000}.eyebrow{font-size:clamp(16px,1.2vw,24px);color:var(--gold);letter-spacing:1px}h1,h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.02}h1{font-size:clamp(75px,8vw,150px);margin:15px 0 25px}.instructions{font-size:clamp(24px,2vw,38px)}.start-actions{display:flex;align-items:flex-start;flex-direction:column;gap:16px;margin-top:35px}.primary{padding:16px 30px;border-top:1px solid #b99f6266;border-bottom:1px solid #b99f6266;background:linear-gradient(90deg,transparent,#bc9b5525,transparent);font-family:Georgia,serif;font-size:clamp(22px,1.8vw,36px)}.primary:hover{background:linear-gradient(90deg,transparent,#bc9b5555,transparent)}.quiet{font-size:clamp(18px,1.3vw,26px);padding:8px 10px;color:#d5dbd5}button:disabled{opacity:.45;cursor:wait}.privacy{font-size:14px;color:#afbab9;margin-top:25px}footer{position:absolute;bottom:22px;left:0;right:0;display:flex;justify-content:center;gap:25px;z-index:8}footer button{padding:8px;font-size:18px}.playing header,.playing footer{display:none}.playing #scene{cursor:none}.playing.paused header,.playing.paused footer{display:flex}.pause-corner{position:absolute;right:24px;top:20px;width:52px;height:52px;font-size:26px;opacity:.3;z-index:7}.pause-corner:hover,.pause-corner:focus-visible{opacity:1}.paused .pause-corner{display:none}#handSignal{position:absolute;top:4%;left:50%;transform:translateX(-50%);font-size:28px;opacity:.55;pointer-events:none;z-index:4}.pause-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#020b12c9;z-index:5}.pause-overlay h2{font-size:clamp(55px,5vw,95px);margin:0 0 25px}.pause-overlay>a{font-size:20px;margin-top:10px}.loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:20px;flex-direction:column;padding:35px;z-index:15;background:#06121bf5;max-width:90vw;font-size:24px}.spinner{width:30px;height:30px;border:2px solid #ffffff30;border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#locationVeil{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;transition:opacity .65s;z-index:3}#locationVeil.closed{opacity:1;pointer-events:auto}.camera-panel{position:absolute;right:25px;top:90px;width:240px;z-index:10;background:#06121b;border:1px solid #8eaaac55}.camera-panel button{position:absolute;right:0;top:0;font-size:28px;z-index:1;background:#0008}.camera-panel video{display:block;width:100%;transform:scaleX(-1)}#trackingLabel{font-size:14px;display:block;text-align:center;padding:8px}#toast{position:absolute;left:50%;top:25%;transform:translateX(-50%);max-width:80%;padding:18px 25px;background:#07131af2;border:1px solid #b6a16c77;font-size:clamp(22px,1.8vw,32px);text-align:center;z-index:30}dialog{background:#0c1b25;color:var(--cream);border:1px solid #c3ab7055;width:calc(100% - 32px);max-width:720px;max-height:85dvh;overflow:auto;padding:38px}dialog::backdrop{background:#000b}dialog h2{font-size:46px;margin:14px 0 25px}dialog .close{position:absolute;top:10px;right:15px;font-size:30px}dialog p,dialog li,dialog label,dialog select{font-size:18px;line-height:1.6}dialog li{margin:18px 0}dialog label{display:flex;align-items:center;justify-content:space-between;margin:24px 0 10px;gap:15px}dialog output{font-size:16px;color:var(--gold)}dialog input[type=range]{width:100%;accent-color:var(--gold)}dialog input[type=checkbox]{width:20px;height:20px;accent-color:var(--gold)}dialog select{width:100%;padding:10px;color:var(--cream);background:#142a36;border:1px solid #7d939b55}.muted{font-size:15px!important;color:var(--muted)}.performance-info{padding:12px;background:#06121b;font-size:15px!important}.text-button,.settings-actions button{padding:12px 0;text-align:left;color:var(--gold);font-size:18px}.settings-actions{display:flex;gap:20px;flex-wrap:wrap}#help{max-width:650px}@media(max-width:700px){#intro{left:7%;right:7%}h1{font-size:75px}.instructions{font-size:23px}.start-actions{margin-top:22px}.primary{font-size:21px}footer{gap:6px;bottom:15px}footer button{font-size:16px}dialog{padding:28px}header{inset:15px 15px auto}.pause-overlay h2{font-size:60px}.camera-panel{width:150px}}@media(max-height:600px){h1{font-size:75px;margin:8px 0}.eyebrow{margin:0}.instructions{margin:15px 0}.start-actions{gap:4px;margin-top:10px}.privacy{margin-top:15px}.pause-overlay{gap:8px}.pause-overlay h2{font-size:50px;margin-bottom:10px}}
