.boot{background:#040e12}.boot .studio-boot{color:#e5d9b7;font:400 30px Georgia,serif;letter-spacing:0}
/* Approved studio introduction and start menu. The game keeps its own saved screen. */
#launch-root[hidden]{display:none}
.launch-intro{position:fixed;inset:0;z-index:80;background:#040e12;color:#f4eedb;isolation:isolate;opacity:1;transition:opacity .4s ease}
.launch-intro.launch-intro-closing{opacity:0;pointer-events:none}
.launch-intro-stage{position:absolute;inset:0;display:grid;place-items:center}
.launch-intro-ident{display:flex;flex-direction:column;align-items:center;gap:12px;color:#e5d9b7;text-align:center}
.launch-intro-studio{font:400 clamp(28px,7vw,48px) Georgia,serif}
.launch-intro-tagline{font-size:13px;letter-spacing:.18em}
.launch-intro-poster,.launch-intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#040e12}
.launch-intro-poster[hidden]{display:none}
.launch-intro-controls{position:absolute;bottom:max(32px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;gap:12px}
.launch-intro-controls button{min-height:44px;border:1px solid #889a9480;border-radius:24px;background:#051217eb;color:#f4eedb;padding:10px 18px;font-size:13px}
.launch-intro-controls button:only-child{margin-left:auto}
.launch-loading{position:absolute;inset:35% 20px auto;text-align:center;font:400 30px Georgia,serif;color:#e5d9b7}
.launch-loading span{display:block;margin-top:20px;font:400 14px/1.5 system-ui,sans-serif;color:#c0c9c4}
.screen-home.game{border:0;margin:0 auto;border-radius:0}
.screen-home.game:before{background-image:linear-gradient(180deg,#03101566 0%,#03101515 31%,#03101508 45%,#031015e8 72%,#031015 100%),var(--scene);background-position:48% 50%;background-size:cover}
.screen-home.game:after{box-shadow:none}
.screen-home main{min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;padding:max(38px,env(safe-area-inset-top)) max(6%,env(safe-area-inset-right)) max(34px,env(safe-area-inset-bottom)) max(6%,env(safe-area-inset-left));gap:24px}
.start-header{flex:none;text-align:center}
.start-top{display:flex;justify-content:space-between;align-items:center;min-height:44px}
.start-top>span{font-size:10px;font-weight:500;letter-spacing:2.4px;color:#eee4cc}
.start-top>button{width:44px;height:44px;min-height:44px;border-radius:50%;padding:10px;border:1px solid #dcc69960;background:#061217c9}
.start-top .icon{width:20px;height:20px}
.start-brand{margin:36px 0 0;line-height:0}
.start-brand img{display:block;width:92%;max-width:390px;height:auto;margin:auto;object-fit:contain;filter:drop-shadow(0 5px 15px #000b)}
.start-eyebrow{margin:18px 0 0;font-size:10px;letter-spacing:2.5px;color:#eee4cc;text-shadow:0 1px 8px #000;line-height:1.5}
.start-actions{flex:none;margin-top:auto;display:flex;flex-direction:column;text-align:center}
.start-tagline{font-family:Georgia,serif;font-weight:400;font-size:calc(28px * var(--text-scale,1));line-height:1.25;letter-spacing:-.3px;margin:0 0 8px;color:#f4eedb}
.start-context{font-size:calc(12px * var(--text-scale,1));line-height:1.5;color:#c0c9c4;margin:0 0 22px}
.start-actions>.primary{width:100%;min-height:58px;gap:16px;background:linear-gradient(110deg,#a34230,#99352c);border:1px solid #d7b783a6;border-radius:12px;box-shadow:0 8px 24px #0005,inset 0 1px #fff2;font-size:calc(16px * var(--text-scale,1));font-weight:500;letter-spacing:.4px;color:#f4eedb}
.start-actions>.primary:hover{background:linear-gradient(110deg,#b14a36,#aa3e31)}
.start-actions>.primary>.icon{width:18px;height:18px}
.start-actions>[data-start-secondary]{align-self:center;min-height:44px;margin:3px 0 0;padding:8px 10px;background:transparent;border:0;color:#d3cbb9;font-size:calc(12px * var(--text-scale,1));text-decoration:underline;text-underline-offset:4px}
.start-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.start-nav button{flex-direction:row;min-height:56px;padding:10px;gap:10px;background:#0a2029e6;border:1px solid #77959499;font-size:calc(14px * var(--text-scale,1));border-radius:12px}
.start-nav .icon{width:19px;height:19px}
.start-save{display:flex;justify-content:center;align-items:center;gap:7px;margin:23px 0 0;color:#aebab8;font-size:calc(11px * var(--text-scale,1));line-height:1.5}
.start-save .icon{width:14px;height:14px}
.journey-links{display:flex;gap:10px;margin-top:18px}.journey-links button{flex:1;min-width:0}
@media(max-width:370px){.start-eyebrow{letter-spacing:1.5px}.start-tagline{font-size:calc(23px * var(--text-scale,1))}.start-context{margin-bottom:14px}.start-save{margin-top:15px}.start-actions>.primary{min-height:52px}.start-nav button{min-height:50px}}
@media(max-height:740px){.screen-home main{padding-block:max(20px,env(safe-area-inset-top)) max(22px,env(safe-area-inset-bottom));gap:18px}.start-brand{margin-top:24px}.start-context{margin-bottom:16px}.start-save{margin-top:18px}}
@media(max-height:500px) and (min-width:600px){.screen-home.game,.screen-home.game:before,.screen-home.game:after{max-width:960px}.screen-home main{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding:16px max(24px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.start-brand{margin-top:22px}.start-actions{margin:0}.start-tagline{font-size:calc(23px * var(--text-scale,1))}.start-save{margin-top:12px}.start-nav button{min-height:48px}.start-context{margin-bottom:12px}.start-eyebrow{letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.launch-intro{transition:none}}
[data-motion=reduced] .launch-intro{transition:none}
[data-contrast=high] .start-actions,[data-contrast=high] .start-header{background:#031015;padding:10px;border-radius:12px}
