/* Title art remains visible while the engine loads; no extra opening cut. */
body:not(.compare) .stage:has(#start-screen:not(.hidden)){width:min(100%,480px,56.28dvh);height:auto;aspect-ratio:941/1672;border:0}
#start-screen{background:url('opening-assets/opening-seated-belt-v3.webp') center/cover no-repeat;padding:clamp(18px,4vh,32px) 24px 18px;pointer-events:auto}
#start-screen .eyebrow{color:#fff4df;text-shadow:0 2px 4px #27436e}
#start-screen .brand{margin-top:10px;font-size:clamp(32px,9vw,48px);color:#fff2d6;text-shadow:3px 3px #294a6c;line-height:1.02}
#start-screen .sunline,#start-screen .notice,#start-screen .build{display:none}
#build-version{align-self:flex-start;margin:8px 0 0;padding:5px 8px;border-radius:4px;background:#102438c9;color:#fff4df;font:11px/1.3 ui-monospace,monospace;letter-spacing:.2px}
#start-screen .start-bottom{background:linear-gradient(transparent,#102438cc);margin: auto -24px -18px;padding:16px 24px 18px}
#start-screen .tag{font-size:13px;margin:0 0 8px;text-shadow:0 2px 4px #102438}
#start-screen .section-picker{font-size:11px;margin-bottom:8px}
#start-screen .section-picker select{min-height:34px;font-size:12px;padding:5px;background:#102438b0}
#start-screen #start{min-height:46px;font-size:16px}
#start-screen #ending-preview{margin-top:8px;min-height:30px;font-size:11px}
#opening{display:none;position:absolute;inset:0;z-index:8;touch-action:none}
#opening.active{display:grid;place-items:center}
#opening strong{font:900 76px monospace;color:#fff4df;text-shadow:3px 4px #714b45}
#opening.opening-objective{grid-template-columns:minmax(0,1fr);padding:24px;background:radial-gradient(ellipse,#102438bb,transparent 80%);opacity:var(--objective-opacity,1)}
#opening.opening-objective strong{width:100%;min-width:0;max-width:340px;font:700 clamp(22px,6.5vw,30px)/1.65 system-ui,-apple-system,sans-serif!important;color:#fff0d5;text-align:center;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;letter-spacing:0;text-shadow:0 2px 8px #102438}
html[lang=ja] #opening.opening-objective strong{word-break:normal;line-break:strict}
.stage:has(#opening.opening-objective)>#sound-toggle{display:none}
@media(max-height:650px){#start-screen .tag{display:none}#start-screen .brand{font-size:30px}#start-screen .start-bottom{padding-top:8px}#start-screen .section-picker select{min-height:30px}}

/* Match the supplied composite: full-width logo above the faces and controls. */
#start-screen .title-logo{position:relative;flex:none;width:calc(100% + 32px);margin:-8px -16px 0;line-height:0;opacity:1;transform:none;text-shadow:none}
.title-logo>img{display:block;width:100%;height:auto}
.title-logo .logo-light{position:absolute;inset:0;background:url('opening-assets/afterglow-drive-logo-v3.png') center/100% 100% no-repeat;pointer-events:none;opacity:0;filter:brightness(1.35)}
.logo-star-one{clip-path:inset(15.5% 29% 69.5% 65%)}
.logo-star-two{clip-path:inset(25% 26.5% 64% 69%)}
.title-logo .logo-sunset{clip-path:polygon(41.7% 17.7%,61.2% 17.7%,62.6% 20%,40.8% 20%,38.7% 23%,63.8% 23%,65% 27.8%,37.8% 27.8%,37.2% 29%,65.4% 29%,65.8% 32.7%,37% 32.7%);filter:brightness(1.06)}
.title-logo.logo-visible:not(.logo-static){animation:title-arrive 1s ease-out both}
.title-logo.logo-visible:not(.logo-static) .logo-star-one{animation:title-twinkle 3.8s 1s ease-in-out infinite}
.title-logo.logo-visible:not(.logo-static) .logo-star-two{animation:title-twinkle 3.8s 2.6s ease-in-out infinite}
.title-logo.logo-visible:not(.logo-static) .logo-sunset{animation:title-sunset 4s 1s ease-in-out infinite}
@keyframes title-arrive{0%{opacity:0;transform:translateY(8px) scale(.96)}65%{opacity:1;transform:translateY(0) scale(1.02)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes title-twinkle{0%,55%,100%{opacity:0}25%{opacity:.7}}
@keyframes title-sunset{0%,100%{opacity:0}50%{opacity:1}}
.stage:has(#start-screen:not(.hidden)) #sound-toggle{top:calc(min(100vw,480px,56.28dvh)*.4 + 24px)!important;font-size:10px!important}
@media(prefers-reduced-motion:reduce){.title-logo,.title-logo .logo-light{animation:none!important}.title-logo .logo-light{opacity:0!important}}

#start-screen>.title-art-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:0}
#start-screen>:not(.title-art-motion){position:relative;z-index:1}
#start-screen>.title-art-motion[hidden]{display:none}

@media(prefers-reduced-motion:reduce){#start-screen>.title-art-motion{display:none}}

#start-screen .game-language{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px;z-index:5;display:flex;align-items:center;gap:4px;background:#102438da;border:1px solid #ffe1b066;border-radius:6px;padding:2px 7px;color:#fff0d7;font:13px system-ui}
.game-language select{font:inherit;color:inherit;background:transparent;border:0;min-height:40px;max-width:110px;cursor:pointer}.game-language option{color:#102438;background:#fff0d7}
html:not([lang=en]) .drive-button,html:not([lang=en]) .thumb-coach,html:not([lang=en]) #finale .finale-label,html:not([lang=en]) #finale .finale-best,html:not([lang=en]) #finale .finale-arrival,html:not([lang=en]) #result-title,html:not([lang=en]) .finish-details span,html:not([lang=en]) .finish-extra summary{font-family:system-ui,-apple-system,'Hiragino Kaku Gothic ProN','Apple SD Gothic Neo',sans-serif;font-style:normal;letter-spacing:0}
html:not([lang=en]) .ending-result #result-title{font-size:clamp(16px,4.6vw,23px);line-height:1.35}html:not([lang=en]) .ending-result .drive-button{font-size:clamp(13px,3.8vw,18px)}
html[lang=ko] .finale-arrival{word-break:keep-all}html[lang=ja] .finale-arrival{line-break:strict}
/* The title keeps one primary action; secondary controls live in settings. */
#start-screen .demo-label{text-align:center;margin:0;color:#ffe3a8;font-size:12px;font-weight:800;letter-spacing:.18em;text-shadow:0 2px 4px #102438}
#start-screen #title-settings{position:absolute;right:14px;top:max(12px,env(safe-area-inset-top));border:1px solid #ffe1b066;border-radius:20px;padding:9px 13px;background:#102438bd;color:#ffe1b0;font-size:13px}
.stage:has(#start-screen:not(.hidden))>#sound-toggle{display:none}
#start-screen .title-links{display:flex;justify-content:center;gap:12px;margin:8px auto 0}
#stage #start-screen .title-links button{width:auto;max-width:48%;margin:0;padding:9px 6px;background:transparent;border:0;box-shadow:none;color:#ffe6bd;font-size:13px;min-height:40px}
#start-screen .notice{display:none}
.title-settings-dialog{width:min(88vw,380px);max-height:85dvh;overflow:auto;border:1px solid #eab98d;border-radius:18px;background:#132d3f;color:#ffe6bd;padding:24px;box-shadow:0 12px 50px #0008}
.title-settings-dialog::backdrop{background:#071b2baa;backdrop-filter:blur(4px)}
.title-settings-dialog h2{margin:0 0 18px;font-size:22px}.settings-items{display:grid;gap:12px}.title-settings-dialog button,.title-settings-dialog .game-language{position:static!important;display:block!important;width:100%;min-height:44px;background:#254654;color:#ffe6bd;border:1px solid #ffe1b044;border-radius:9px;padding:10px;font:14px system-ui;margin:0!important}.title-settings-dialog .settings-close{margin-top:20px!important;background:#ffe1b0;color:#102438}.title-settings-dialog a{color:#b6d9dc}
.ending-result .demo-ending{position:absolute;left:7%;right:7%;bottom:calc(156px + env(safe-area-inset-bottom));margin:0;text-align:center;font:12px/1.45 system-ui;color:#fff0d5;text-shadow:0 1px 3px #06121d,0 0 8px #06121d;pointer-events:none}

.ending-result .ending-actions .demo-ending{position:static;grid-column:1/-1;margin:0 0 3px;font-size:12px;line-height:1.4}

.settings-version{margin:18px 0 0;text-align:center;color:#b6d9dc;font:13px/1.5 system-ui;overflow-wrap:anywhere}.settings-version b{font-weight:500;color:#ffe6bd}
