/* Final game UI: compact, readable controls over the scene. */
.scene-vignette{box-shadow:inset 0 0 130px #17203b12;background:linear-gradient(90deg,#20233d3d,transparent 55%),linear-gradient(#22243a20,transparent 24%,transparent 70%,#151c3338)}
.date-brand{text-shadow:0 2px 14px #20223c80}.date-brand small{font-size:8px;letter-spacing:2px}.welcome>p:not(.pier-eyebrow):not(.loading-note){font-size:13px;max-width:330px;text-shadow:0 1px 12px #25304599}.welcome h1{text-shadow:0 3px 28px #5b35411a}
.glass-button,.glass-icon{background:#282e492e;border-color:#fff0d45e}.date-primary{box-shadow:0 6px 22px #17203926}.date-primary:active{transform:translateY(1px)}.room-hud{background:linear-gradient(120deg,#222d49f0,#39334deb);box-shadow:0 14px 70px #17213c38;border-color:#ead0ab4f}.room-hud p.room-copy{font-size:12px;color:#eddbd0}
.hoop-hud{width:min(650px,calc(100% - 36px));padding:18px 22px}.hoop-hud h2{font-size:25px}.hoop-scoreboard{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:11px;color:#f1d3ae;font-size:10px}.hoop-scoreboard b{font:500 30px var(--display);color:#fff0cf;margin-right:4px;font-variant-numeric:tabular-nums}.hoop-scoreboard span:last-child{color:#cbbfc7;font-size:9px}.hoop-hud p.room-copy{margin-top:9px;font-size:11px}.hoop-adjust{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:center;margin-top:14px}.hoop-adjust label{font-size:9px;color:#decec5;display:flex;align-items:center;gap:9px}.hoop-adjust input{height:28px;accent-color:#f0ce91;width:100%;min-width:35px;touch-action:pan-x}.hoop-adjust button{padding:11px 15px;font-size:11px;min-height:42px}.throw-dots{margin-top:11px}.throw-dots span{transition:background .2s,transform .2s}.throw-dots .hit{background:#f5d28d;border-color:#f9e6b7;box-shadow:0 0 10px #edc68650;transform:scale(1.15)}
.medal{float:left;margin:16px 18px 0 0;width:74px;height:74px;display:grid;place-items:center;border-radius:50%;border:2px solid #d6bba0;background:#c0828b22;font-size:37px;color:#edb4bc;box-shadow:inset 0 0 0 6px #e2c7a716}.medal-gold{color:#f4d388;border-color:#f4d388}.medal-silver{color:#dbe3ed;border-color:#dbe3ed}.prize-score{font:500 38px var(--display);margin:14px 0 3px}.prize-score small{font:8px var(--body);letter-spacing:2px;color:#d0b9bc}
.observatory-hud{background:linear-gradient(120deg,#131c38f2,#292740ef);width:min(650px,calc(100% - 32px));padding:20px 24px}.observatory-hud h2{font-size:29px}.observatory-hud #tour-caption{font:500 18px/1.5 var(--display);color:#f7e5d1;margin-top:13px}.tour-progress{display:flex;align-items:center;gap:11px;color:#b3bcd0;font-size:9px;margin-top:14px;font-variant-numeric:tabular-nums}.tour-progress input{flex:1;min-width:30px;accent-color:#c2cedd;height:20px}.tour-credit{font-size:8px;line-height:1.6;letter-spacing:.3px;color:#a5aec3;margin:13px 0 0}.mode-3d:has(#game-world[data-telescope=open]) .scene-vignette{z-index:2;box-shadow:inset 0 0 0 3px #aa8b6c,inset 0 0 90px 25px #020717;background:radial-gradient(ellipse at 50% 36%,transparent 30%,#02071780 86%);border:9px solid #11182b;border-radius:42px}.mode-3d:has(#game-world[data-telescope=open]) .pier-top{opacity:.8}.mode-3d:has(#game-world[data-telescope=open]) .date-brand small{color:#aab8d0}
.boyfriend-portrait{position:absolute;right:0;top:0;width:50%;height:100%;object-fit:cover;object-position:center 30%;z-index:2;border-left:4px solid #fff0d9}.portrait-duet video,.portrait-duet .gallery-preview{position:absolute;left:0;top:0;width:50%;height:100%;object-fit:cover}.portrait-duet .camera-placeholder{width:50%}.portrait-duet .camera-placeholder span{font-size:30px}.portrait-duet .camera-placeholder small{max-width:90%;line-height:1.8;text-align:center}.portrait-duet .countdown{z-index:4}.photo-room-3d{background:#fff0dcfa}.photo-room-3d .photo-strip{box-shadow:0 10px 35px #6b454522}.photo-room-3d .camera-error{min-height:22px}
.cake-hud{width:min(540px,calc(100% - 32px));background:linear-gradient(120deg,#423650eb,#67505be8)}.cake-hud h2{font-size:28px}.cake-hud p.room-copy{font-size:11px}
@media(max-width:700px){
 .date-brand small{font-size:6px;letter-spacing:1.2px}.welcome>p:not(.pier-eyebrow):not(.loading-note){font-size:12px;max-width:270px}.welcome{top:29%}.welcome h1{font-size:61px}.pier-top{left:18px;right:18px}.date-brand{font-size:12px}.date-brand>span{font-size:25px}
 .room-hud{padding:16px}.room-hud p.room-copy{font-size:11px;line-height:1.65}.hoop-hud h2{font-size:23px}.hoop-scoreboard{gap:8px;margin-top:8px;font-size:9px}.hoop-scoreboard b{font-size:28px}.hoop-scoreboard span:last-child{max-width:110px;text-align:right;font-size:8px}.hoop-hud p.room-copy{font-size:11px;margin-top:8px}.hoop-adjust{gap:11px;margin-top:9px;grid-template-columns:1fr 1fr}.hoop-adjust label{font-size:9px;gap:7px}.hoop-adjust button{grid-column:1/-1;padding:10px 16px;min-height:39px}.hoop-hud .throw-dots{position:absolute;right:28px;bottom:28px;gap:7px;pointer-events:none}.hoop-hud .throw-dots span{width:7px;height:7px}.hoop-adjust button{text-align:left;justify-content:flex-start;padding-right:100px}
 .observatory-hud h2{font-size:25px}.observatory-hud #tour-caption{font-size:17px;line-height:1.42;margin-top:10px}.observatory-hud .hud-actions{gap:7px;margin-top:12px}.observatory-hud .hud-actions button{font-size:9px;min-height:38px;padding:9px 12px}.tour-credit{font-size:7px;margin-top:9px}.mode-3d:has(#game-world[data-telescope=open]) .scene-vignette{border-width:5px;border-radius:26px;box-shadow:inset 0 0 0 2px #aa8b6c,inset 0 0 55px 13px #020717}.cake-hud h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){.throw-dots span{transition:none}.date-primary:active{transform:none}}
