/* v4.6: fixed mark geometry; presentation never asserts security verification. */
:root { --ss-boot-ready: 1; }
.ss-boot { --boot-bg: var(--bg, #f1ebe7); --boot-text: var(--text, #1a1720); --boot-accent: #b41f24; color: var(--boot-text); background: var(--boot-bg); border: 0; padding: 24px; box-sizing: border-box; margin: 0; width: 100vw; max-width: none; height: 100dvh; max-height: none; overflow: auto; }
html[data-theme="dark"] .ss-boot, html[data-theme="sandf"] .ss-boot, html[data-theme="green"] .ss-boot { --boot-bg: #0c0c11; --boot-text: #f5f1f0; }
html[data-theme="sandf-light"] .ss-boot, html[data-theme="green-light"] .ss-boot { --boot-bg: #edf3ee; --boot-text: #13201a; }
.ss-boot::backdrop { background: var(--boot-bg); }
.ss-boot-stage { min-height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; max-width: 480px; margin-inline: auto; text-align: center; }
.ss-boot-emblem { position: relative; width: 188px; height: 188px; flex: 0 0 188px; display: grid; place-items: center; }
.ss-boot-ring, .ss-boot-orbit { position: absolute; inset: 0; width: 100%; height: 100%; fill: none; }
.ss-boot-ring { transform: rotate(-90deg); }
.ss-boot-track { stroke: currentColor; opacity: .13; stroke-width: 2; }
.ss-boot-fill { stroke: var(--boot-accent); stroke-width: 2.4; stroke-linecap: round; stroke-dasharray: 377; animation: ss-boot-ring 8s linear both; }
.ss-boot-orbit { animation: ss-boot-orbit 3.2s linear infinite; stroke: var(--boot-accent); stroke-width: 1.2; opacity: .55; }
.ss-boot-mark { position: relative; width: 120px; height: 120px; overflow: visible; fill: currentColor; }
.ss-boot-outline { fill: none; stroke: currentColor; stroke-width: 3.6; stroke-linejoin: round; stroke-dasharray: 180; animation: ss-boot-draw 1.1s cubic-bezier(.4,0,.2,1) both; }
.ss-boot-tick { fill: var(--boot-accent); transform-origin: 21px 43.6px; animation: ss-boot-land .45s .95s both; }
.ss-boot-glyph { transform-origin: 37px 31px; animation: ss-boot-land .42s 1.4s both; }
.ss-boot-halo { position: absolute; inset: 18px; border: 1px solid var(--boot-accent); border-radius: 50%; animation: ss-boot-halo 2.4s 1.2s infinite; }
.ss-boot-scan { position: absolute; width: 84px; height: 1.5px; background: var(--boot-accent); opacity: 0; animation: ss-boot-scan 1.6s 1.8s infinite; }
.ss-boot h1 { margin: 0; font: 800 32px/1.1 var(--font-display, sans-serif); color: inherit; }
.ss-boot p { margin: 0; }
.ss-boot-series, .ss-boot-phase, .ss-boot-note, .ss-boot-skip { font-family: var(--font-mono, monospace); }
.ss-boot-series { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.ss-boot-phase { font-size: 12px; }
.ss-boot-progress { appearance: none; width: min(320px, 100%); height: 4px; border: 0; color: var(--boot-accent); accent-color: var(--boot-accent); background: #8883; }
.ss-boot-progress::-webkit-progress-bar { background: #8883; }
.ss-boot-progress::-webkit-progress-value { background: var(--boot-accent); }
.ss-boot-progress::-moz-progress-bar { background: var(--boot-accent); }
.ss-boot-note { max-width: 320px; font-size: 11px; line-height: 1.6; }
.ss-boot-skip { min-height: 44px; padding: 10px 20px; background: transparent; color: inherit; border: 1px solid currentColor; border-radius: 8px; cursor: pointer; font-size: 12px; }
.ss-boot-skip:focus-visible { outline: 3px solid var(--boot-accent); outline-offset: 4px; }
@keyframes ss-boot-draw { from { stroke-dashoffset: 180; } to { stroke-dashoffset: 0; } }
@keyframes ss-boot-ring { from { stroke-dashoffset: 377; } to { stroke-dashoffset: 0; } }
@keyframes ss-boot-land { from { opacity: 0; transform: scale(.6); } to { opacity: 1; transform: scale(1); } }
@keyframes ss-boot-orbit { to { transform: rotate(360deg); } }
@keyframes ss-boot-halo { from { transform: scale(.92); opacity: .4; } to { transform: scale(1.25); opacity: 0; } }
@keyframes ss-boot-scan { 0%,100% { transform: translateY(-36px); opacity: 0; } 50% { transform: translateY(36px); opacity: .7; } }
@media (max-width: 480px) { .ss-boot-emblem { width: 148px; height: 148px; flex-basis: 148px; } .ss-boot-mark { width: 96px; height: 96px; } .ss-boot h1 { font-size: 26px; } }
@media (prefers-reduced-motion: reduce) { .ss-boot *, .ss-boot *::before, .ss-boot *::after { animation: none !important; transition: none !important; } .ss-boot-halo, .ss-boot-scan, .ss-boot-orbit { display: none; } }
