/* The hero fills its own viewport; controls overlay it instead of taking an
   extra grid row. Original landscape assets remain intact. */
body.solar-start-page { margin:0;background:#0b0708;overflow:hidden; }
.solar-start {
 --solar-start-image:url('../assets/startscreen/solar-rush-start-desktop.webp');
 position:relative;isolation:isolate;box-sizing:border-box;
 display:block;
 width:100%;height:100vh;height:100dvh;min-width:0;
 overflow:hidden;background:#0b0708;color:#fff4e8;
 font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
}
.solar-start .solar-start-backdrop {
 position:absolute;inset:0;z-index:-2;pointer-events:none;
 background-image:var(--solar-start-image);
 background-position:center;background-size:cover;
}
.solar-start::after {
 content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
 background:linear-gradient(180deg,transparent 65%,#09050730 85%,#09050790);
}
.solar-start .solar-start-art {
 position:absolute;inset:0;display:block;min-width:0;min-height:0;width:100%;height:100%;
 padding:0;
 box-sizing:border-box;pointer-events:none;
}
.solar-start .solar-start-art img {
 display:block;width:100%;height:100%;max-width:100%;
 object-fit:cover;object-position:left top;user-select:none;
}
.solar-start .solar-start-actions {
 position:absolute;z-index:2;inset:auto auto 0 0;box-sizing:border-box;min-width:0;
 width:min(540px,100%);
 display:flex;flex-direction:column;align-items:center;gap:9px;
 max-height:65vh;max-height:65dvh;overflow-y:auto;overflow-x:hidden;
 padding:24px max(28px,env(safe-area-inset-right,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(28px,env(safe-area-inset-left,0px));
 background:radial-gradient(ellipse at bottom,#090507c9,transparent 75%);
 text-align:center;overscroll-behavior:contain;scrollbar-width:thin;
 scrollbar-color:#ca6c35 transparent;touch-action:pan-y pinch-zoom;
}
.solar-start .solar-start-actions>* { flex-shrink:0; }
.solar-start .solar-start-sr-only,
#environmentBoot.solar-start-loading .solar-start-sr-only {
 position:absolute!important;width:1px!important;height:1px!important;
 padding:0!important;margin:-1px!important;overflow:hidden!important;
 clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;
 white-space:nowrap!important;border:0!important;
}
.solar-start .solar-start-subtitle {
 margin:0;color:#f1dccd;font-size:13px;line-height:1.4;letter-spacing:.04em;
 text-shadow:0 1px 4px #000;
}
.solar-start .solar-start-primary {
 display:flex;align-items:center;justify-content:center;
 box-sizing:border-box;width:min(340px,100%);min-height:54px;
 margin:0;padding:13px 24px;border:1px solid #ffb04d;border-radius:11px;
 background:linear-gradient(180deg,#ffab33,#f27715);color:#261307;
 box-shadow:0 4px 18px #b63e003d,inset 0 1px #ffe2a470;
 font:800 17px/1.25 Inter,system-ui,sans-serif;letter-spacing:.055em;
 text-decoration:none;text-align:center;cursor:pointer;touch-action:manipulation;
}
.solar-start .solar-start-primary:hover { background:linear-gradient(180deg,#ffbc54,#ff8926); }
.solar-start .solar-start-primary:focus-visible,
.solar-start .solar-start-help>summary:focus-visible,
.solar-start .solar-start-links a:focus-visible { outline:3px solid #ffe1a5;outline-offset:4px; }
.solar-start .solar-start-help { width:min(340px,100%);min-width:0;color:#f5e7db; }
.solar-start .solar-start-help>summary {
 display:flex;align-items:center;justify-content:center;gap:9px;
 box-sizing:border-box;min-height:44px;padding:8px 14px;
 border:1px solid #dfb18599;border-radius:9px;background:#130d0dba;
 color:#f6ddc4;font:700 12px/1.4 Inter,system-ui,sans-serif;
 letter-spacing:.08em;list-style:none;cursor:pointer;touch-action:manipulation;
}
.solar-start .solar-start-help>summary::-webkit-details-marker { display:none; }
.solar-start .solar-start-help>summary::after { content:'⌄';font-size:17px;line-height:1; }
.solar-start .solar-start-help[open]>summary::after { content:'⌃'; }
.solar-start .solar-start-help>p { margin:8px 0 2px;padding:0 8px;color:#f1ded0;font-size:13px;line-height:1.55; }
.solar-start .solar-start-caption { margin:0;color:#e1c9ba;font-size:12px;line-height:1.45;overflow-wrap:anywhere; }
.solar-start .solar-start-resume { margin:0;color:#ffd49c;font-size:12px;line-height:1.45;max-width:540px; }
.solar-start .solar-start-links { display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px; }
.solar-start .solar-start-links a { display:inline-flex;align-items:center;min-height:44px;color:#e6c8b4;font-size:12px;line-height:1.4;text-underline-offset:3px; }

/* Only the welcome dialog adopts the cinematic screen. Other native dialogs
   retain their existing sizes, scroll regions and close controls. */
#cozyDialog[data-kind=welcome] {
 position:fixed;inset:0;box-sizing:border-box;
 width:100vw;max-width:100vw;height:100vh;height:100dvh;
 max-height:100vh;max-height:100dvh;min-width:0;min-height:0;
 margin:0;padding:0;border:0;border-radius:0;background:#0b0708;
 box-shadow:none;overflow:hidden;transform:none;
}
#cozyDialog[data-kind=welcome]::backdrop { background:#0b0708;backdrop-filter:none; }
#cozyDialog[data-kind=welcome]>.cozy-dialog-content { width:100%;height:100%;box-sizing:border-box;margin:0;padding:0;overflow:hidden; }
#cozyDialog[data-kind=welcome] .solar-start { height:100%; }

@media (orientation:portrait) {
 .solar-start { --solar-start-image:url('../assets/startscreen/solar-rush-start-portrait-v2.png'); }
 .solar-start .solar-start-art { top:env(safe-area-inset-top,0px);height:calc(100% - env(safe-area-inset-top,0px)); }
 .solar-start .solar-start-art img { object-position:center top; }
 .solar-start .solar-start-actions { width:100%;gap:8px;padding-top:20px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-left:max(16px,env(safe-area-inset-left,0px));background:linear-gradient(transparent,#090507b3 35%,#090507df); }
 .solar-start .solar-start-subtitle { font-size:12px;letter-spacing:.02em; }
 .solar-start .solar-start-primary { min-height:52px;width:min(340px,100%);font-size:16px; }
 .solar-start .solar-start-caption { max-width:340px;font-size:11px; }
}
@media (max-height:500px) and (orientation:landscape) {
 .solar-start .solar-start-actions { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:6px 10px;width:min(620px,100%);padding:12px max(20px,env(safe-area-inset-right,0px)) max(8px,env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));max-height:70dvh; }
 .solar-start .solar-start-primary { min-height:44px;padding:9px 16px;font-size:14px; }
 .solar-start .solar-start-subtitle,.solar-start .solar-start-caption { display:none; }
 .solar-start .solar-start-resume,.solar-start .solar-start-links { grid-column:1/-1;font-size:11px; }
 .solar-start .solar-start-help>summary { min-height:44px;padding:6px 12px;font-size:11px; }
 .solar-start .solar-start-links a { font-size:11px; }
}

/* The existing loader keeps live status, retry and diagnostics before the
   native welcome supplies the single start action. */
#environmentBoot.solar-start-loading {
 --solar-start-image:url('../assets/startscreen/solar-rush-start-desktop.webp');
 display:block;
 height:100vh;height:100dvh;box-sizing:border-box;isolation:isolate;
 background:#0b0708;color:#f4e2d4;overflow:hidden;transition:none;
}
#environmentBoot.solar-start-loading::before { display:none; }
#environmentBoot.solar-start-loading .solar-start-backdrop { position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--solar-start-image) center/cover; }
#environmentBoot.solar-start-loading .solar-start-art { position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;box-sizing:border-box;padding:0;pointer-events:none; }
#environmentBoot.solar-start-loading .solar-start-art img { display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:left top; }
#environmentBoot.solar-start-loading .boot-card { position:absolute;z-index:2;inset:auto 0 0;box-sizing:border-box;width:100%;min-width:0;max-height:50dvh;margin:0;overflow:auto;padding:18px max(18px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));background:linear-gradient(transparent,#090507cc 35%);overscroll-behavior:contain; }
#environmentBoot.solar-start-loading .boot-sun,#environmentBoot.solar-start-loading .boot-brand { display:none; }
#environmentBoot.solar-start-loading .boot-stage { font-size:14px;line-height:1.5; }
#environmentBoot.solar-start-loading .boot-resource { color:#e4c6b0;font-size:12px;margin:3px 0 8px;overflow-wrap:anywhere; }
#environmentBoot.solar-start-loading .boot-note { color:#d2b8a6;font-size:12px;line-height:1.5; }
#environmentBoot.solar-start-loading .boot-activity { height:14px;margin:5px auto; }
#environmentBoot.solar-start-loading .boot-activity i { animation:none;background:#f8a145;opacity:.8; }
#environmentBoot.solar-start-loading #environmentBootError { color:#ffd7bd;margin:10px auto 0; }
#environmentBoot.solar-start-loading details { color:#edcbb3; }
#environmentBoot.solar-start-loading summary { min-height:44px;display:grid;align-items:center; }
#environmentBoot.solar-start-loading button { min-height:44px;background:#f89222;color:#251306; }
#environmentBoot.solar-start-loading pre { color:#ffe4d2;background:#210e0ac4; }
@media (orientation:portrait) {
 #environmentBoot.solar-start-loading { --solar-start-image:url('../assets/startscreen/solar-rush-start-portrait-v2.png'); }
 #environmentBoot.solar-start-loading .solar-start-art { top:env(safe-area-inset-top,0px);height:calc(100% - env(safe-area-inset-top,0px)); }
 #environmentBoot.solar-start-loading .solar-start-art img { object-position:center top; }
}
