/* A full-screen startup splash, before the Explorer desktop becomes interactive. */
body:has(#boot-screen:not([hidden])) #desktop { visibility:hidden; }
#boot-screen { position:fixed; inset:0; z-index:50000; display:flex; flex-direction:column; align-items:center; justify-content:center; overflow:hidden; color:#f4f2e9; background:#001b63; font-family:var(--system-font,Tahoma,Arial,sans-serif); }
#boot-screen[hidden] { display:none; }
#boot-screen::before { content:''; position:absolute; inset:0; pointer-events:none; opacity:.18; background:repeating-conic-gradient(#071338 0 25%,transparent 0 50%) 0/3px 3px; }
.boot-content { position:relative; width:min(700px,92vw); text-align:center; padding:16px 0 105px; }
.boot-edition { margin:0 0 14px; font-size:11px; letter-spacing:4px; text-transform:uppercase; }
.boot-art { position:relative; width:min(430px,76vw); aspect-ratio:1.25; margin:0 auto 14px; overflow:hidden; }
.boot-art-layer { position:absolute; inset:0; }
/* Remove the dark photo background in the rendering layer; reveal only the embossed mark. */
.boot-art img { filter:url(#boot-logo-cutout); position:absolute; width:230%; max-width:none; height:auto; left:-65%; top:-28%; }
.boot-art-base { opacity:.28; }
.boot-art-reveal { clip-path:inset(calc(100% - var(--boot-progress,0)*100%) 0 0); }
.boot-title { margin:0; font:italic 700 clamp(38px,7vw,70px)/1 Arial,sans-serif; letter-spacing:-3px; text-shadow:2px 3px #000d39; }
.boot-title span { font-weight:400; padding-left:5px; }
.boot-subtitle { margin:12px 0 26px; font-size:13px; letter-spacing:1px; }
.boot-actions { height:66px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; }
#boot-power { font:700 13px var(--system-font,Tahoma,Arial,sans-serif); color:black; min-width:156px; padding:7px 20px; border:2px solid; border-color:white #333 #333 white; background:#c0c0c0; box-shadow:1px 1px black; }
#boot-power:active { border-color:#333 white white #333; }
#boot-power:focus-visible { outline:1px dotted white; outline-offset:5px; }
.boot-key-hint { font-size:11px; color:#bdc7e1; }
#boot-status { font-size:13px; min-height:17px; margin:0; }
.boot-footer { position:absolute; left:0; bottom:0; right:0; padding:0 0 max(22px,env(safe-area-inset-bottom)); }
.boot-loading { height:17px; border-top:1px solid #5571b0; border-bottom:1px solid #000e36; background:#001445; overflow:hidden; }
.boot-loading-fill { height:100%; width:calc(var(--boot-progress,0)*100%); background:repeating-linear-gradient(90deg,#bcc9ec 0 10px,#5474b6 10px 13px,#001445 13px 16px); }
.boot-footer-line { display:flex; justify-content:space-between; gap:18px; margin:15px 24px 0; color:#bec9e2; font-size:10px; letter-spacing:.8px; }
#boot-screen[data-state=running] #boot-power,#boot-screen[data-state=running] .boot-key-hint { display:none; }
#boot-screen[data-state=ready] #boot-status { display:none; }
@media(max-height:650px) { .boot-art { width:min(290px,55vw); margin-bottom:6px; } .boot-content { padding-bottom:65px; } .boot-edition { margin-bottom:6px; } .boot-title { font-size:44px; } .boot-subtitle { margin:10px 0; } }
@media(max-height:430px) { .boot-content { display:grid; grid-template-columns:200px 1fr; align-items:center; gap:4px 20px; width:min(650px,90vw); padding-bottom:55px; } .boot-art { grid-column:1; grid-row:1/5; width:200px; margin:0; } .boot-edition,.boot-title,.boot-subtitle,.boot-actions { grid-column:2; } .boot-title { font-size:36px; letter-spacing:-2px; } .boot-edition { font-size:9px; letter-spacing:2px; } .boot-actions { height:50px; } }
@media(prefers-reduced-motion:reduce) { .boot-art-reveal { clip-path:none; } }

#boot-screen[data-state=standby] #boot-status { display:none; }
#boot-screen[data-state=standby] .boot-loading { visibility:hidden; }
#boot-screen[data-state=standby] .boot-art-reveal { clip-path:none; }

#boot-screen:focus { outline:none; }
