/* Desktop room-first invitation presentation. */
/* Empire's private Technics invitation is a one-off presentation mode on the existing room. */
#experience.technics-invitation-mode{background:#080a0d!important}
#experience.technics-invitation-mode .dealer-space-trigger,
#experience.technics-invitation-mode .rail-gold-trigger,
#experience.technics-invitation-mode .hifi-realm-trigger,
#experience.technics-invitation-mode .remote-toggle,
#experience.technics-invitation-mode .experience-status{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
#experience .room-source.technics-invitation-screen{background:transparent;overflow:hidden}
.technics-invite-card{width:100%;height:100%;padding:58px 76px 50px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:32px;box-sizing:border-box;color:#f8f3e9;background:radial-gradient(ellipse at 85% 10%,#49381b 0,transparent 38%),linear-gradient(128deg,#060708,#111315 60%,#090a0b);font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.technics-invite-brand{display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:3px solid #c49b51;padding-bottom:18px;color:#e9c579;font-size:26px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.technics-invite-brand img{width:205px;max-height:66px;object-fit:contain;object-position:left center}
.technics-invite-copy{align-self:center;max-width:1050px}
.technics-invite-step{margin:0 0 18px;color:#e4bd71;font-size:22px;font-weight:700;letter-spacing:.18em}
.technics-invite-copy h2{max-width:1000px;margin:0 0 24px;color:#fff;font-size:clamp(48px,5vw,74px);font-weight:650;letter-spacing:-.04em;line-height:1.02}
.technics-invite-copy>p:not(.technics-invite-step){max-width:940px;margin:0;color:#e1ddd5;font-size:34px;line-height:1.32}
.technics-invite-controls{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:3px solid #ffffff2c;padding-top:20px}
.technics-invite-controls button{min-height:62px;padding:14px 24px;border:1px solid #e3bd72;border-radius:999px;background:#e3bd72;color:#17130d;font:700 24px/1.2 system-ui;cursor:pointer}
.technics-invite-controls button:focus-visible{outline:4px solid #fff;outline-offset:5px}
.technics-invite-hint{color:#c9c3b9;font-size:22px}
.technics-invite-card.technics-story-reader{padding:0;gap:0;grid-template-rows:152px minmax(0,1fr) 80px;background:#101416}
.technics-reader-header{display:flex;align-items:center;gap:30px;padding:16px 38px;border-bottom:2px solid #c49b51;min-width:0}
.technics-reader-header img{flex:none;width:340px;height:auto;max-height:104px;object-fit:contain}
.technics-reader-header p{margin:0 0 8px;color:#e4bd71;font:650 19px/1.2 system-ui;letter-spacing:.1em}
.technics-reader-header h2{margin:0;color:#fff;font:650 32px/1.12 system-ui;letter-spacing:-.02em}
.technics-reader-header>div{flex:1;min-width:0}
.technics-source-link{flex:none;display:inline-flex;align-items:center;min-height:50px;padding:10px 18px;border:1px solid #e4bd71;border-radius:999px;color:#f3d796;font:650 22px/1.2 system-ui;text-decoration:none}
.technics-source-link:focus-visible{outline:4px solid #fff;outline-offset:4px}
#experience.technics-invitation-mode .spaces-leadin{top:var(--empire-brand-top,24px);left:var(--empire-brand-left,24px);width:var(--empire-brand-width,280px);max-width:none;z-index:45;transform:none;transform-origin:center;opacity:0;visibility:hidden;pointer-events:none;transition:none}
#experience.technics-invitation-mode .spaces-leadin span{font-size:var(--empire-brand-type,30px);color:#f3d795;letter-spacing:.22em;text-shadow:0 2px 10px #000}
#experience.technics-invitation-mode .spaces-leadin>img:not(.empire-invitation-logo){filter:drop-shadow(0 3px 5px #000b) drop-shadow(0 0 8px #f2ce794d)}
#experience.technics-invitation-mode .empire-invitation-badge{position:absolute;width:190px;z-index:8;pointer-events:none;transform:translate(-50%,-100%)}
#experience.technics-invitation-mode .empire-invitation-logo{display:block;width:100%;height:auto;max-width:none;opacity:0;filter:drop-shadow(0 3px .6px #000e) drop-shadow(0 0 1.5px #fff) drop-shadow(0 0 4px #fff6dfff) drop-shadow(0 0 9px #ffdfa3e6)}
#experience.technics-invitation-mode.technics-brand-arriving .empire-invitation-logo{animation:empire-dealer-logo-reveal .6s ease-out 2.8s both}
@keyframes empire-dealer-logo-reveal{from{opacity:0}to{opacity:1}}
#experience.technics-invitation-mode.technics-brand-arriving .spaces-leadin{opacity:1;visibility:visible;animation:empire-brand-arrival 2.8s cubic-bezier(.2,.68,.22,1) both}
#experience.technics-invitation-mode.technics-brand-arriving .spaces-leadin.empire-wall-brand{left:275px;top:365px;width:140px;animation:none;transform:none;opacity:1;visibility:visible}
#experience.technics-invitation-mode .spaces-leadin.empire-wall-brand span{font-size:20px}
@keyframes empire-brand-arrival{0%{top:50%;left:50%;transform:translate(-50%,-50%) scale(1.7) rotate(-6deg);opacity:0}12%,28%{top:50%;left:50%;transform:translate(-50%,-50%) scale(1.7) rotate(0);opacity:1}85%{top:var(--empire-brand-top);left:var(--empire-brand-left);transform:translate(-5px,0) scale(1.03) rotate(1deg);opacity:1}100%{top:var(--empire-brand-top);left:var(--empire-brand-left);transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){#experience.technics-invitation-mode.technics-brand-arriving .spaces-leadin{animation:none;transform:none;opacity:1;visibility:visible}}
@media(prefers-reduced-motion:reduce){#experience.technics-invitation-mode.technics-brand-arriving .empire-invitation-logo{animation:none;opacity:1}}
.technics-story-viewport{position:relative;min-height:0;background:#fbfaf6;color:#172b40;overflow:hidden}
.technics-story-body{height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-color:#9a762f #eee8da;scrollbar-width:auto;outline-offset:-5px}
.technics-story-body:focus-visible{outline:4px solid #0868cf}
.technics-story-status{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;gap:20px;margin:0;padding:40px;background:#fbfaf6;color:#172b40;font:600 30px/1.4 system-ui}
.technics-story-status:empty{display:none}
.technics-reader-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 30px;color:#e2d8c1;font:500 19px/1.3 system-ui;border-top:2px solid #b5914e}
.technics-reader-controls button,.technics-story-status button{min-height:52px;padding:10px 20px;border:1px solid #e3bd72;border-radius:999px;background:#e3bd72;color:#17130d;font:700 23px/1.2 system-ui;cursor:pointer;white-space:nowrap}
.technics-reader-controls button:disabled{opacity:.35;cursor:default}
.technics-reader-controls button:focus-visible{outline:4px solid white;outline-offset:3px}
.technics-reader-controls [hidden]{display:none}
#experience.technics-reading-mode #virtual-remote{visibility:hidden;pointer-events:none}
#experience .desktop-stage-tools{left:24px;bottom:20px;top:auto;width:auto;gap:12px}
#experience .desktop-stage-tools button{width:auto;min-height:56px;padding:13px 20px;gap:12px;border:1px solid #e4bd71;border-radius:12px;background:#10171ff2;color:#fff;font:750 16px/1.25 system-ui;letter-spacing:.025em;box-shadow:0 4px 18px #0008;filter:none}
#experience .desktop-stage-tools button svg{display:block;width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#experience .desktop-stage-tools button:hover{background:#e4bd71;color:#17130d;filter:none}
#experience .desktop-stage-tools button:focus-visible{outline:4px solid #fff;outline-offset:4px;background:#e4bd71;color:#17130d}
.technics-invitation-handoff{position:absolute;z-index:60;left:50%;top:50%;width:min(430px,78vw);display:grid;justify-items:center;gap:5px;padding:18px 24px 20px;border:1px solid #e8c67880;border-radius:20px;background:#090a0dde;box-shadow:0 16px 80px #000b;color:#f4d98f;text-align:center;text-decoration:none;opacity:0;visibility:hidden;pointer-events:none;transform:translate(110vw,-50%) rotate(7deg) scale(.84)}
.technics-invitation-handoff img{display:block;width:100%;height:auto;filter:drop-shadow(0 0 22px #ddb75a70)}
.technics-invitation-handoff>span{margin-top:-10px;font-size:30px;font-weight:650;letter-spacing:.36em}
.technics-invitation-handoff small{font-size:15px;font-weight:650;letter-spacing:.06em}
.technics-invitation-handoff b{margin-left:6px;font-size:22px}
#experience.technics-invitation-mode.technics-invitation-complete .technics-invitation-handoff{visibility:visible;pointer-events:auto;animation:technics-invite-swoosh 1.5s cubic-bezier(.18,.78,.22,1) both}
.technics-entry-link{display:none!important}
body.technics-invitation-mode #experience.technics-invitation-complete~.technics-entry-link{position:relative;z-index:10;display:flex!important;align-items:center;justify-content:space-between;gap:20px;max-width:1180px;margin:20px auto 34px;padding:18px 24px;border:1px solid #e0c98f;border-radius:18px;background:linear-gradient(110deg,#fffdf8,#f7f2e8);box-shadow:0 10px 34px #12253b12;color:#172b40;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
body.technics-invitation-mode #experience.technics-invitation-complete~.technics-entry-link p{margin:0;color:#526478;font-size:17px;font-weight:600}
body.technics-invitation-mode #experience.technics-invitation-complete~.technics-entry-link a{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:11px 18px;border-radius:999px;background:#9a6b2d;color:#fff;font-size:15px;font-weight:800;text-decoration:none}
body.technics-invitation-mode #experience.technics-invitation-complete~.technics-entry-link a:focus-visible{outline:3px solid #172b40;outline-offset:3px}
@keyframes technics-invite-swoosh{0%{opacity:0;transform:translate(110vw,-50%) rotate(7deg) scale(.84)}55%{opacity:1;transform:translate(-56%,-50%) rotate(-2deg) scale(1.04)}100%{opacity:1;transform:translate(-50%,-50%) rotate(0) scale(1)}}
@media(max-width:900px) and (pointer:coarse){body.spaces-app.technics-invitation-mode>.mobile-spaces-portal{display:none!important}body.spaces-app.technics-invitation-mode>main:not(.mobile-spaces-portal):not(script){display:block!important}}
@media(prefers-reduced-motion:reduce){#experience.technics-invitation-mode.technics-invitation-complete .technics-invitation-handoff{animation:none;opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,-50%)}}

.technics-invitation-handoff .handoff-auto-hint{font-size:13px;font-style:normal;color:#e4ddcc;margin-top:5px}
.technics-invitation-handoff:focus-visible{outline:3px solid #fff;outline-offset:5px}

/* Keep desktop framing inside the visible viewport, including pinch magnification. */
@media(min-width:651px){
 body:not(.mobile-theater) #experience.penthouse-hero{width:min(100%,var(--visible-width,100vw));height:var(--visible-height,100svh);min-height:0;overflow:clip;left:var(--visible-left,0px);top:var(--visible-top,0px)}
 body:not(.mobile-theater) #experience .virtual-remote{position:absolute;right:18px;top:calc(var(--hifi-width) + 28px);bottom:auto;translate:none;transform:none;height:min(440px,calc(var(--visible-height,100svh) - var(--hifi-width) - 108px));max-height:calc(var(--visible-height,100svh) - var(--hifi-width) - 108px)}
 body:not(.mobile-theater) #experience .hifi-realm-trigger{position:absolute;top:16px}
 body:not(.mobile-theater) #experience .remote-toggle{position:absolute;right:18px;bottom:16px}
 #experience.technics-reading-mode:not(.technics-invitation-mode) #virtual-remote{visibility:visible;pointer-events:auto}
 #experience.technics-reading-mode:not(.technics-invitation-mode) .spaces-leadin,
 #experience.technics-reading-mode:not(.technics-invitation-mode) .dealer-space-trigger,
 #experience.technics-reading-mode:not(.technics-invitation-mode) .signals-rail-trigger,
 #experience.technics-reading-mode:not(.technics-invitation-mode) .techspace-rail-trigger{visibility:hidden!important;pointer-events:none}
}
#experience .desktop-stage-tools button[aria-pressed=true]{background:#e4bd71;color:#17130d;box-shadow:0 0 0 2px #17130d,0 4px 18px #0008}