html:not(.entrance-pending) .studio-entrance { display: none; }
.studio-entrance { position: fixed; inset: 0; z-index: 20000; overflow: hidden; isolation: isolate; background: #101411; color: #f8edda; font-family: var(--font-sans,system-ui,sans-serif); touch-action: manipulation; outline: none; }
.entrance-camera { position: absolute; inset: 0; transform-origin: 0 0; }
.entrance-scene { position: absolute; width: var(--exterior-w,max(100vw,177.68vh)); height: var(--exterior-h,max(100vh,56.28vw)); left: var(--exterior-left,0px); top: var(--exterior-top,0px); translate: var(--exterior-px,0px) var(--exterior-py,0px); transition: translate 1.2s cubic-bezier(.2,.7,.2,1); }
.entrance-photo { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; user-select: none; }
.entrance-weather { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; opacity: .9; transition: opacity .3s; }
.rain-paused .entrance-weather { opacity: 0; }
.entrance-shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg,rgba(3,8,8,.25),transparent 24%,transparent 76%,rgba(3,8,8,.48)); }
.entrance-header { position: absolute; top: max(28px,env(safe-area-inset-top)); left: clamp(24px,4vw,64px); right: clamp(24px,4vw,64px); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.entrance-header h2 { margin: 0; color: #fff4e5; font-size: 13px; line-height: 1.4; letter-spacing: .23em; font-weight: 750; text-shadow: 0 2px 18px #000; }
.entrance-header h2 span { font-weight: 400; opacity: .65; margin-left: 5px; }
.entrance-controls { display: flex; align-items: center; gap: 8px; }
.entrance-effects { display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; border: 1px solid rgba(255,237,213,.16); border-radius: 99px; background: rgba(10,16,16,.42); color: #f1e5d1; font-family: inherit; font-size: 11px; font-weight: 500; line-height: 1; cursor: pointer; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); transition: background .2s,opacity .2s; }
.entrance-effects svg { width: 17px; height: 17px; }
.entrance-effects:hover { background: rgba(38,31,23,.7); }
.entrance-effects[aria-pressed="false"] { opacity: .65; }
.entrance-effects:disabled { cursor: default; }
.entrance-light-switch[aria-pressed="true"] svg { color: #f8cb81; }
.entrance-invitation { position: absolute; left: var(--door-x,55%); top: var(--invitation-y,70%); display: flex; flex-direction: column; align-items: center; gap: 12px; translate: -50% -50%; transition: translate 1.2s cubic-bezier(.2,.7,.2,1); }
.entrance-open { display: flex; gap: 7px; align-items: center; font-size: 10px; font-weight: 500; letter-spacing: .1em; text-shadow: 0 2px 9px #000; }
.entrance-open i { width: 4px; height: 4px; border-radius: 50%; background: #f8ca81; box-shadow: 0 0 9px rgba(255,187,86,.6); }
.entrance-enter { display: flex; align-items: center; justify-content: center; gap: 20px; min-height: 54px; padding: 0 23px; border: 1px solid rgba(255,219,159,.55); border-radius: 6px; color: #fff2da; background: linear-gradient(130deg,rgba(40,29,19,.9),rgba(19,19,16,.88)); box-shadow: 0 6px 28px rgba(0,0,0,.3),inset 0 1px rgba(255,240,202,.08); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); font-size: 14px; font-weight: 550; letter-spacing: .035em; text-decoration: none; white-space: nowrap; transition: background .25s,border-color .25s; }
.entrance-enter svg { width: 20px; height: 20px; transition: transform .25s; }
.entrance-enter:hover { color: #fff5e5; background: rgba(73,49,25,.9); border-color: #f3c991; }
.entrance-enter:hover svg { transform: translateX(3px); }
.entrance-enter:focus-visible,.entrance-effects:focus-visible { outline: 2px solid #ffe3aa; outline-offset: 5px; }
.entrance-footer { position: absolute; bottom: max(28px,env(safe-area-inset-bottom)); left: clamp(24px,4vw,64px); right: clamp(24px,4vw,64px); display: flex; justify-content: space-between; gap: 20px; color: rgba(255,241,218,.65); font-size: 10px; line-height: 1.4; letter-spacing: .08em; text-shadow: 0 2px 12px #000; }
.entrance-window-dimmer,.entrance-door-dimmer { position: absolute; inset: 0; background: #05111a; opacity: 0; pointer-events: none; transition: opacity .7s ease; mix-blend-mode: multiply; }
.entrance-window-dimmer { clip-path: polygon(35.8% 9.4%,66.9% 9.2%,66.7% 36.1%,35.7% 36.3%); }
.entrance-door-dimmer { clip-path: polygon(49.5% 50.6%,59.7% 50.3%,59.7% 80.7%,49.2% 80.7%); }
.lights-off .entrance-window-dimmer { opacity: .94; }
.lights-off .entrance-door-dimmer { opacity: .84; }
.lights-off .entrance-open i { background: #9eaaa9; box-shadow: none; }
.is-entering .entrance-scene { translate: 0 0; transition: none; }
.is-entering .entrance-camera { will-change: transform; }
.is-entering :is(.entrance-header,.entrance-invitation,.entrance-footer) { opacity: 0; pointer-events: none; transition: opacity .35s; }
.entrance-flight :is(.menu,.dock,.radio-deck,.desktop-icons) { opacity: 0; transition: opacity .45s; }
.entrance-flight.entrance-revealing :is(.menu,.dock,.radio-deck,.desktop-icons) { opacity: 1; }
.st-awaiting-arrival :is([data-st-in],.st-folder,.st-spot-dot) { opacity: 0; }
.status-studio-light svg { color: #eaca8d; }
.status-studio-light[aria-pressed="false"] svg { color: #929b9a; }
body:not([data-realm="play"]) .status-studio-light { display: none; }
@media (max-width:600px) {
  .entrance-header { top: max(18px,env(safe-area-inset-top)); }
  .entrance-header h2 { font-size: 11px; letter-spacing: .18em; }
  .entrance-header h2 span { display: block; margin-left: 0; font-size: 9px; letter-spacing: .24em; }
  .entrance-effects { padding: 8px 11px; }
  .entrance-effects span { display: none; }
  .entrance-footer { bottom: max(22px,env(safe-area-inset-bottom)); font-size: 9px; }
  .entrance-footer span:last-child { max-width: 120px; text-align: right; }
}
@media (prefers-reduced-motion:reduce) {
  .studio-entrance * { animation: none !important; transition: none !important; }
  .entrance-weather { display: none; }
}
