/* Shared finishing layer: readable forms, purposeful empty states, unified surfaces. */
:root{--surface-low:#17111f;--surface-raised:#22182d;--text-secondary:#bba9cb}
#header .nav a{font-size:13px;transition:color .18s}
#header .nav a.active{color:#f0ddff}
#header .nav a.active:after{height:2px;background:#c19ae9;border-radius:2px}
.label{color:#c9b7d9;line-height:1.6}
.field,select,textarea{background-color:#15101d;border-color:#b590d132;color:#efe3fa}
.field:focus,select:focus,textarea:focus{border-color:#c49dec;box-shadow:0 0 0 3px #b88be814;outline:none}
input::placeholder,textarea::placeholder{color:#8f7e9f;opacity:1}
.auth-layout{max-width:1100px;margin:10px auto 30px;grid-template-columns:1fr 1fr;gap:0;border:1px solid #caa4e72c;border-radius:22px;overflow:hidden;background:#19121f}
.auth-layout .auth-art{padding:48px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 25% 55%,#68428e30,transparent 65%),#20162b;border:0;border-radius:0;overflow:hidden;min-height:620px}
.auth-art>.eyebrow{font-size:9px;color:#bd9dd4;letter-spacing:1.5px}
.auth-layout .auth-art h2{font:650 clamp(34px,3.2vw,48px)/1.13 Manrope,sans-serif;letter-spacing:-1.7px;margin:27px 0 16px;color:#f0e6f8}
.auth-layout .auth-art>p{font-size:14px;line-height:1.9;color:#bda5cd;max-width:330px}
.account-emblem{position:relative;width:200px;height:200px;margin:30px auto;display:grid;place-items:center}
.account-emblem:before,.account-emblem:after{content:'';position:absolute;inset:0;border:1px solid #d7b5f323;border-radius:50%;transform:rotate(-25deg) scaleX(1.25)}
.account-emblem:after{inset:22px;transform:rotate(35deg) scaleX(1.3)}
.account-emblem>div{display:grid;place-items:center;width:116px;height:116px;border:1px solid #d8acf14d;border-radius:27px;background:linear-gradient(145deg,#583976,#2c1d3c);box-shadow:0 20px 35px #09050d45;transform:rotate(-8deg)}
.auth-art .account-emblem img{width:75px;height:75px;position:static;opacity:1;transform:none;filter:none;margin:0}
.account-emblem>span,.account-emblem>i{position:absolute;width:8px;height:8px;transform:rotate(45deg);background:#ca9ee9;right:-4px;top:71px}
.account-emblem>i{width:5px;height:5px;right:auto;left:14px;top:auto;bottom:16px;opacity:.6}
.auth-benefits{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #c399e326;padding-top:24px}
.auth-benefits>span{display:grid;gap:12px;font-size:10px;color:#d0b9df}
.auth-benefits .icon{width:18px;height:18px;color:#c49ae7}
.auth-layout .auth-panel{border:0;border-radius:0;padding:48px;background:#17101e;display:flex;flex-direction:column;justify-content:center;max-width:none;width:100%;box-shadow:none}
.auth-panel h1{font-size:30px;letter-spacing:-1px}.auth-panel>p{line-height:1.8;color:#b6a1c5;margin-bottom:28px}
.auth-panel .field{min-height:48px;font-size:15px;border-radius:9px}.auth-panel .btn.primary{min-height:48px;margin-top:10px}
.auth-panel .small,.auth-panel .text-link{font-size:12px;line-height:1.8}.auth-panel .divider{margin-block:25px}
.catalog-store .catalog-product{border-radius:16px;border:1px solid #c19be12b;background:#1b1324;overflow:hidden;transition:border-color .2s,box-shadow .2s}
.catalog-store .catalog-product:hover{border-color:#c19be163;box-shadow:0 12px 30px #08040f30}
.catalog-store .catalog-product:nth-child(n) .catalog-product-cover.is-placeholder{background:radial-gradient(ellipse at 50% 35%,#6b489138,transparent 70%),#21172d}
.catalog-store .catalog-product-glyph{display:grid;place-items:center;width:100%;height:100%;border:0;border-radius:0;background:none;box-shadow:none;transform:none!important}
.catalog-store .catalog-product-glyph img{width:185px;height:185px;object-fit:contain;max-width:80%;margin:auto;transition:translate .2s}
.catalog-product:hover .catalog-product-glyph img{translate:0 -4px}
.catalog-store .catalog-kind,.catalog-store .catalog-showcase{background:#21172de8;border:1px solid #c49be430;color:#dfc5f2;font-size:9px;border-radius:5px}
.catalog-store .catalog-product-info>p{color:#b9a6c9;line-height:1.85}
.catalog-store .catalog-product-purchase{border-color:#c19be120}
.catalog-store .catalog-empty-symbol{width:auto;height:auto;margin:0 auto 12px;background:none;border:0;border-radius:0}
.empty-station-art{display:block;width:112px;height:112px;object-fit:contain;margin:0 auto 20px}
.workspace-page .empty,.catalog-store .catalog-empty{border:1px solid #c7a1e32a;background:radial-gradient(ellipse at 50% 0,#7e53a61c,transparent 70%),#19121f;border-radius:16px;padding:38px 24px}
.workspace-page .empty h2,.catalog-store .catalog-empty h2{font-size:23px;letter-spacing:-.6px;line-height:1.4}
.workspace-page .empty p,.catalog-store .catalog-empty p{max-width:460px;margin-inline:auto;color:#b5a1c5;font-size:13px;line-height:1.9}
.footer{background:#140e1c;border-top:1px solid #c5a0e128;padding:0 0 30px}
.station-footer-intro{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:55px 0 45px;margin-bottom:40px;border-bottom:1px solid #c5a0e124}
.station-footer-intro .eyebrow{font-size:9px;letter-spacing:1.6px;color:#a88dbd}
.station-footer-intro h2{font:600 clamp(30px,3.5vw,48px)/1.18 Manrope,sans-serif;letter-spacing:-1.7px;margin:18px 0 0;color:#eee1f8}
.footer-explore{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px 23px;border:1px solid #c5a0e146;border-radius:12px;background:#2b1c3a;color:#dec3f5;font-size:13px;transition:background .2s}
.footer-explore:hover{background:#3b274d}.footer-explore .icon{width:20px;height:20px}
.footer-grid{gap:40px}.footer-grid>div:first-child p{font-size:13px;line-height:1.9;max-width:280px;color:#a992bc}
.footer-links h4{font-size:12px;font-family:Manrope,sans-serif;color:#e6d4f3;letter-spacing:.1px;text-transform:none;margin-bottom:6px}
.footer-links a,.footer-links button{font-size:12px;line-height:1.6;color:#b19cc4;min-height:24px;transition:color .15s}
.footer-links a:hover,.footer-links button:hover{color:#ead4ff}.footer-bottom{font-size:10px;line-height:1.8;color:#9c86af;border-color:#c5a0e124}
@media(max-width:800px){.auth-layout .auth-art{padding:30px;min-height:580px}.auth-layout .auth-panel{padding:30px}.auth-benefits{flex-wrap:wrap}.auth-benefits>span{font-size:9px}}
@media(max-width:600px){.auth-layout{grid-template-columns:1fr;margin:0;border-radius:16px}.auth-layout .auth-art{min-height:0;padding:27px 24px;display:block}.auth-layout .auth-art h2{font-size:31px;margin:15px 0 12px}.auth-layout .auth-art>p{font-size:12px;margin:0;max-width:none}.auth-art .account-emblem,.auth-benefits{display:none}.auth-layout .auth-panel{padding:28px 24px}.auth-panel .field{font-size:16px}.station-footer-intro{align-items:flex-start;flex-direction:column;padding:35px 0;gap:26px;margin-bottom:30px}.station-footer-intro h2{font-size:34px;letter-spacing:-1px}.footer-explore{width:100%;padding:16px 18px}.footer-grid{gap:30px}.footer-bottom{flex-direction:column;gap:8px}.catalog-store .catalog-product-glyph img{width:170px;height:170px}}
@media(prefers-reduced-motion:reduce){.catalog-product,.catalog-product-glyph img,.footer-explore{transition:none!important}.catalog-product:hover .catalog-product-glyph img{translate:none}}

/* Keep the scene caption in normal flow; the old hero caption was absolute. */
.studio-home .station-lab > .world-caption{position:static;inset:auto;transform:none;width:auto;max-width:none;margin:0;padding:13px 18px;display:block;line-height:1.6;white-space:normal;overflow-wrap:anywhere}
.studio-home .lab-top{height:auto;min-height:47px;line-height:1.7}
.studio-home .lab-top > span:first-child{min-width:0}
.studio-home .lab-readout > div{min-width:0}
.studio-home .lab-readout small{line-height:1.6}
@media(max-width:1100px),(pointer:coarse){
 .studio-home .station-lab{transform:none;min-width:0;max-width:580px}
 .studio-home .scene-reset{width:44px;height:44px;right:12px;bottom:12px}
 .studio-home .lab-cube{flex-shrink:0}
}
@media(max-width:600px){
 .studio-home .lab-stage{height:clamp(240px,calc(100vw - 52px),360px)}
 .studio-home .lab-readout{gap:10px;padding:14px 15px}
 .studio-home .station-lab > .world-caption{font-size:8px;letter-spacing:1.2px;padding:12px 15px}
}

/* One entry point for people who can use both workspaces. */
#modal:has(.panel-destinations){background:#17101f;border-color:#6e4b87;max-width:510px}
.panel-destinations{display:grid;gap:12px}
.panel-destination{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid #a982ce38;border-radius:12px;background:#24192f;color:#f3eafa;text-decoration:none;transition:background .18s,border-color .18s}
.panel-destination:hover{background:#33223f;border-color:#ba8dea}
.panel-destination:focus-visible{outline:2px solid #d3a7ff;outline-offset:3px}
.panel-destination>svg{width:23px;height:23px;flex-shrink:0;color:#c69bea}
.panel-destination>svg:last-child{width:18px;height:18px;margin-left:auto}
.panel-destination>span{min-width:0}.panel-destination strong{display:block;font-size:15px;line-height:1.5}
.panel-destination small{display:block;color:#bcaacb;font-size:12px;line-height:1.6;margin-top:4px}
@media(max-width:480px){#modal:has(.panel-destinations){padding:20px}.panel-destination{padding:16px 12px;gap:11px}.panel-destination strong{font-size:14px}.panel-destination small{font-size:11px}}

/* The stacked mobile hero must grow with its copy, scene and footer. */
.studio-home .world-hero{max-height:none}
