#starsea-experience{position:fixed;inset:0;z-index:100;background:#060b14;color:#edf1f5;--star-accent:#e6c48d;font-family:var(--sans,system-ui);isolation:isolate}
.starsea-rear,.starsea-canvas{position:absolute;inset:0;overflow:hidden}.starsea-rear img{width:100%;height:100%;object-fit:cover;object-position:60% center}.starsea-canvas canvas{display:block;width:100%;height:100%}.starsea-rear:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#030711bb,transparent 45%);pointer-events:none}
.starsea-top{position:absolute;top:28px;left:4vw;right:4vw;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:4}.starsea-top>span{font-size:20px;letter-spacing:2px}.starsea-top nav{display:flex;gap:10px}
#starsea-experience button{color:inherit;font:13px/1.4 var(--sans,system-ui);cursor:pointer;border:1px solid #dce6ef40;background:#0a101bc9;border-radius:30px;padding:10px 18px;transition:background .25s,opacity .25s}#starsea-experience button:hover{background:#263242}#starsea-experience button:focus-visible{outline:2px solid var(--star-accent);outline-offset:4px}#starsea-experience button:disabled{opacity:.5;cursor:wait}
.rear-copy{position:absolute;left:7%;bottom:18%;z-index:2}.rear-copy h2{font:normal clamp(24px,3vw,42px)/1.6 var(--serif,serif)}.rear-copy p{font-size:14px;color:#d0c9bd;margin-top:10px}#starsea-experience .starsea-enter{position:absolute;left:64%;top:63%;transform:translate(-50%,-50%);z-index:3;background:#ede5d4ed;color:#171b23;padding:14px 24px}
.starsea-ui{position:absolute;inset:0;pointer-events:none}.starsea-ui button,.starsea-list{pointer-events:auto}.starsea-intro{position:absolute;top:16%;left:6%;max-width:60%}.starsea-intro h2{font-size:clamp(22px,3vw,36px);font-weight:400;letter-spacing:2px}.starsea-intro p{font-size:13px;color:#a6b5c7;margin-top:12px}
.starsea-focus{position:absolute;left:20%;right:24%;top:63%;text-align:center}.starsea-focus h2{font-size:clamp(22px,2.8vw,36px);font-weight:600;line-height:1.4;overflow-wrap:anywhere;text-shadow:0 2px 24px #000}.starsea-focus button{margin-top:22px}#starsea-experience .starsea-open{background:#edf2f5;color:#101823;border:0;padding:12px 23px}
.starsea-list{position:absolute;right:4%;top:25%;bottom:19%;width:190px;display:flex;flex-direction:column;justify-content:center;gap:12px;overflow:auto;scrollbar-width:thin}#starsea-experience .starsea-list button{text-align:left;color:#a6b2bf;border:0;background:transparent;border-radius:0;padding:9px 10px;border-left:1px solid #9aacbf44}#starsea-experience .starsea-list button[aria-current=true]{color:var(--star-accent);border-left-color:var(--star-accent);background:#17233366}
.starsea-palette{position:absolute;bottom:35px;left:5%;display:flex;gap:14px;align-items:center;background:#080e17b0;padding:12px 16px;border-radius:25px}#starsea-experience .starsea-palette button{width:24px;height:24px;padding:0;background:var(--swatch);border:4px solid #080e17;box-shadow:0 0 0 1px #8e9bae40}#starsea-experience .starsea-palette button[aria-pressed=true]{box-shadow:0 0 0 2px var(--swatch)}
.starsea-status{position:absolute;bottom:30px;left:25%;right:25%;text-align:center;font-size:13px;line-height:1.6;color:#c7d3e3;pointer-events:none}.starsea-status:not(:empty){padding:12px;background:#080e17e8;border-radius:8px;z-index:8}
.starsea-dialog{width:min(560px,90vw);padding:34px;background:#101824f5;color:#e9f0f6;border:1px solid #aabace44;border-radius:14px}.starsea-dialog::backdrop{background:#03060dc9;backdrop-filter:blur(5px)}.starsea-dialog h2{font-size:24px;font-weight:500;margin:12px 20px 22px 0}.starsea-media img{display:block;width:100%;max-height:46dvh;object-fit:contain}.starsea-caption{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:15px;margin-top:22px}.starsea-dialog .starsea-close{position:absolute;right:12px;top:9px;padding:3px 10px!important;background:none!important;border:none!important;font-size:28px!important}
body.starsea-active>header,body.starsea-active>footer,body.starsea-active>.gesture-button,body.starsea-active>#hand-preview,body.starsea-active>#hand-cursor,body.starsea-active>.scene-picker{visibility:hidden}
#starsea-experience[data-state=loading] .starsea-rear,#starsea-experience[data-state=error] .starsea-rear{visibility:hidden}
#starsea-experience[data-state=loading],#starsea-experience[data-state=rear]{background:transparent}
.starsea-focus,.starsea-intro{transition:opacity .2s}#starsea-experience[data-moving=true] .starsea-intro{opacity:0}
#explore-starsea{margin-left:12px}#room-starsea{position:absolute;bottom:135px;left:50%;transform:translateX(-50%);background:#111b28cc;border:1px solid #cfbd9466;border-radius:30px;padding:12px 22px;color:#ead8af}
@media(max-width:650px){.starsea-top{top:20px;left:20px;right:20px;align-items:flex-start}.starsea-top>span{font-size:16px;white-space:nowrap}.starsea-top nav{flex-direction:column;gap:8px}.starsea-top button{font-size:11px!important;padding:8px 12px!important}.starsea-rear img{object-position:64% center}.rear-copy{left:24px;right:24px;bottom:15%}.rear-copy h2{font-size:26px}.rear-copy p{font-size:12px}#starsea-experience .starsea-enter{left:55%;top:55%;white-space:nowrap}.starsea-intro{top:19%;left:24px;max-width:80%}.starsea-intro h2{font-size:23px}.starsea-focus{left:22px;right:22px;top:58%}.starsea-focus h2{font-size:23px}.starsea-focus button{margin-top:14px}.starsea-list{left:22px;right:22px;width:auto;top:auto;bottom:105px;height:74px;flex-direction:row;justify-content:flex-start;align-items:center;gap:8px;overflow:auto;scrollbar-width:none}#starsea-experience .starsea-list button{font-size:11px;flex:0 0 125px;border-left:0;border-bottom:1px solid #9aacbf44;padding:10px}.starsea-palette{bottom:27px;left:22px}.starsea-status{bottom:180px;left:24px;right:24px}.starsea-dialog{padding:28px 20px}.starsea-dialog h2{font-size:21px}.starsea-caption{font-size:14px}#explore-starsea{margin:10px 0 0}#room-starsea{bottom:150px;font-size:12px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){#starsea-experience *{transition:none!important}}

.birthday-landscape-hint{display:none}
@media(orientation:portrait) and (max-width:650px){.birthday-landscape-hint{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;text-align:center;padding:30px;background:#070d17;color:#e4eaf1}.birthday-landscape-hint>span{font:72px/1 system-ui;color:#d9c193}.birthday-landscape-hint h2{font:500 23px/1.5 system-ui}.birthday-landscape-hint p{font:14px/1.9 system-ui;color:#9aabba;max-width:270px}}
@media(orientation:landscape) and (max-height:500px){.starsea-top{top:15px;left:25px;right:25px;align-items:center}.starsea-top>span{font-size:16px}.starsea-top nav{flex-direction:row}.starsea-top button{padding:7px 12px!important;font-size:11px!important}.starsea-intro{top:22%;left:5%;max-width:65%}.starsea-intro h2{font-size:23px}.starsea-intro p{margin-top:6px;font-size:11px}.starsea-focus{top:64%;left:20%;right:24%}.starsea-focus h2{font-size:21px}.starsea-focus button{margin-top:10px;padding:9px 16px!important}.starsea-list{left:auto;right:25px;top:23%;bottom:15%;width:150px;height:auto;flex-direction:column;gap:3px;justify-content:center;scrollbar-width:none}.starsea-list button{flex:0 0 auto!important;font-size:11px!important;padding:8px!important}.starsea-palette{bottom:15px;left:25px;padding:8px 12px;gap:12px}.starsea-palette button{width:22px!important;height:22px!important}.starsea-status{bottom:12px}.rear-copy{left:6%;bottom:12%}.rear-copy h2{font-size:26px}.rear-copy p{font-size:12px;margin-top:5px}.starsea-dialog{max-height:85dvh;overflow:auto;padding:20px 26px}.starsea-dialog h2{font-size:20px;margin:5px 25px 12px 0}.starsea-caption{font-size:13px;margin-top:12px}}
/* Reference v15: keep UI quiet so the star field remains the visual subject. */
.starsea-intro h2{font-size:clamp(20px,2.2vw,28px);letter-spacing:1px}.starsea-list{justify-content:center;background:linear-gradient(90deg,transparent,#14222b33);scrollbar-width:none}#starsea-experience .starsea-list button:focus{outline:0}#starsea-experience .starsea-list button:focus-visible{outline:1px solid var(--star-accent);outline-offset:2px}.starsea-focus h2{letter-spacing:-.02em;font-weight:700}
