/* Original eclipse artwork, quiet motion, common geometry across every power state. */
.power-screen.eclipse-screen{--eclipse-ease:cubic-bezier(.22,.75,.2,1);background:#0a1920;color:#dce9db;overflow:hidden;isolation:isolate;animation:eclipse-surface-in .7s ease both;backdrop-filter:blur(20px);font-family:Arial,sans-serif}.eclipse-screen .eclipse-atmosphere{position:absolute;inset:-10%;z-index:-1;background:radial-gradient(ellipse at 50% 44%,#274b3d65 0,transparent 42%),radial-gradient(ellipse at 72% 80%,#4d2b3940 0,transparent 42%);opacity:.8;pointer-events:none}.eclipse-screen .eclipse-identity{position:absolute;left:46px;top:37px;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:2px;color:#b0c5b5}.eclipse-identity-dot{width:5px;height:5px;border-radius:50%;background:#d59485;box-shadow:0 0 13px #d5948555}.eclipse-identity-divider{height:11px;width:1px;background:#71837755;margin:0 2px}.eclipse-screen .eclipse-center{width:min(620px,100%);display:flex;flex-direction:column;align-items:center;margin-top:-15px}.eclipse-screen .eclipse-art{display:block;width:340px;height:340px;max-width:75vw;max-height:75vw;margin:0;position:relative;padding:0;border:0;background:none;box-shadow:none;flex-shrink:0;transform:none}.eclipse-screen .eclipse-button{cursor:pointer;border-radius:50%;transition:filter .5s ease}.eclipse-screen .eclipse-button:hover{filter:brightness(1.14);transform:none}.eclipse-button:focus-visible{outline:1px solid #c6ddb3;outline-offset:-26px}.eclipse-fruit{width:100%;height:100%;overflow:visible;stroke:none;filter:drop-shadow(0 14px 35px #0003)}.eclipse-orbit{fill:none;stroke:#9dbfa3;stroke-width:.65;opacity:.18}.inner-orbit{stroke-dasharray:1 10;opacity:.22}.eclipse-trace{fill:none;stroke:#a6cda3;stroke-width:1.2;stroke-linecap:round;stroke-dasharray:310;stroke-dashoffset:0;opacity:.45}.eclipse-occluder{transform:translateX(0);transition:transform 1s var(--eclipse-ease)}.eclipse-disc{transform-origin:180px 180px}.eclipse-seeds{opacity:.88}.eclipse-stem{opacity:.65}.eclipse-satellites{opacity:.55}.eclipse-spark{opacity:.8;transform-origin:180px 180px}.eclipse-screen .eclipse-copy{min-height:133px;text-align:center;margin-top:-3px;padding:0 22px}.eclipse-state-label{font:9px/1.4 Arial,sans-serif;color:#91b19f;letter-spacing:3px}.eclipse-screen h1{font:normal 39px/1.2 Georgia,serif;letter-spacing:-1px;color:#dfe9d8;margin:12px 0 10px}.eclipse-screen #boot-phase{font:12px/1.6 Arial,sans-serif;color:#a4b7ae;min-height:20px;margin:0}.eclipse-screen progress{appearance:none;display:block;width:112px;height:2px;margin:24px auto 0;border:0;border-radius:2px;background:#365247;box-shadow:none;overflow:hidden}.eclipse-screen progress::-webkit-progress-bar{background:#365247}.eclipse-screen progress::-webkit-progress-value{background:#b9d4a6;transition:width .1s linear}.eclipse-screen progress::-moz-progress-bar{background:#b9d4a6}.eclipse-button-hint{position:absolute;left:0;right:0;top:58%;font:9px/1 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#9eafa3;pointer-events:none;opacity:.8}.eclipse-screen .eclipse-footer{position:absolute;bottom:35px;left:30px;right:30px;display:flex;align-items:center;justify-content:center;gap:16px;color:#7c9589}.eclipse-footer>span{font:9px/1.5 Arial,sans-serif;letter-spacing:1.8px}.eclipse-footer>i{width:28px;height:1px;background:#566c5f}.eclipse-screen .eclipse-footer small{font:11px/1.5 Georgia,serif;color:#97ac9c;opacity:1}.eclipse-sleep .eclipse-occluder{transform:translateX(39px)}.eclipse-sleep .eclipse-art{animation:eclipse-breathe 6s ease-in-out infinite}.eclipse-sleep .eclipse-spark{opacity:0}.eclipse-sleep .eclipse-button-hint{top:49%;left:40px}.eclipse-off .eclipse-disc{opacity:.45}.eclipse-off .eclipse-trace{opacity:.18}.eclipse-off .eclipse-stem{opacity:.25}.eclipse-off .eclipse-spark{opacity:.7}.eclipse-boot .eclipse-occluder{animation:eclipse-dawn 6s var(--eclipse-ease) var(--power-elapsed,0ms) both}.eclipse-boot .eclipse-disc{animation:eclipse-disc-awake 6s ease var(--power-elapsed,0ms) both}.eclipse-boot .eclipse-trace{animation:eclipse-draw 4s var(--eclipse-ease) var(--power-elapsed,0ms) both}.eclipse-boot .trace-two{animation-duration:4.6s}.eclipse-boot .trace-three{animation-duration:5.1s}.eclipse-boot .eclipse-spark{animation:eclipse-seed-light 6s ease var(--power-elapsed,0ms) both}.eclipse-boot .eclipse-atmosphere{animation:eclipse-room-awake 6s ease var(--power-elapsed,0ms) both}.eclipse-shutdown .eclipse-occluder{animation:eclipse-dusk 2.8s var(--eclipse-ease) var(--power-elapsed,0ms) both}.eclipse-shutdown .eclipse-disc{animation:eclipse-disc-rest 2.8s ease var(--power-elapsed,0ms) both}.eclipse-shutdown .eclipse-trace,.eclipse-shutdown .eclipse-satellites{animation:eclipse-traces-rest 2.8s ease var(--power-elapsed,0ms) both}.eclipse-wake .eclipse-occluder{animation:eclipse-wake-light 1.1s var(--eclipse-ease) var(--power-elapsed,0ms) both}.eclipse-wake .eclipse-spark{opacity:0}
@keyframes eclipse-breathe{0%,100%{opacity:.8;filter:drop-shadow(0 0 10px #95bca208)}50%{opacity:1;filter:drop-shadow(0 0 24px #95bca21b)}}@keyframes eclipse-dawn{0%,12%{transform:translateX(0)}45%{transform:translateX(40px)}83%,100%{transform:translateX(218px)}}@keyframes eclipse-dusk{0%{transform:translateX(218px)}75%,100%{transform:translateX(0)}}@keyframes eclipse-wake-light{from{transform:translateX(39px)}to{transform:translateX(218px)}}@keyframes eclipse-disc-awake{0%{opacity:.3;transform:scale(.96)}75%,100%{opacity:1;transform:scale(1)}}@keyframes eclipse-disc-rest{0%{opacity:1}100%{opacity:.45}}@keyframes eclipse-traces-rest{from{opacity:.5}to{opacity:.18}}@keyframes eclipse-draw{0%{stroke-dashoffset:310;opacity:.12}100%{stroke-dashoffset:0;opacity:.45}}@keyframes eclipse-seed-light{0%,20%{opacity:.7}35%,100%{opacity:0}}@keyframes eclipse-room-awake{from{opacity:.2}to{opacity:1}}@keyframes eclipse-surface-in{from{opacity:0}to{opacity:1}}
:root[data-motion=reduced] .eclipse-screen,:root[data-motion=reduced] .eclipse-screen *{animation:none!important;transition:none!important}:root[data-motion=reduced] .eclipse-boot .eclipse-occluder,:root[data-motion=reduced] .eclipse-wake .eclipse-occluder{transform:translateX(218px)}:root[data-motion=reduced] .eclipse-boot .eclipse-spark{opacity:0}@media(prefers-reduced-motion:reduce){.eclipse-screen,.eclipse-screen *{animation:none!important;transition:none!important}.eclipse-boot .eclipse-occluder,.eclipse-wake .eclipse-occluder{transform:translateX(218px)}.eclipse-boot .eclipse-spark{opacity:0}}@media(max-width:600px){.eclipse-screen .eclipse-identity{top:26px;left:24px;font-size:8px;letter-spacing:1px;gap:8px}.eclipse-screen .eclipse-art{width:300px;height:300px}.eclipse-screen h1{font-size:32px}.eclipse-screen .eclipse-footer{bottom:27px;gap:10px}.eclipse-footer>span{font-size:8px;letter-spacing:1px}.eclipse-screen .eclipse-footer small{font-size:10px}}@media(max-height:620px){.eclipse-screen .eclipse-art{width:240px;height:240px}.eclipse-screen .eclipse-identity{top:20px}.eclipse-screen .eclipse-footer{bottom:19px}.eclipse-screen h1{font-size:31px}.eclipse-screen .eclipse-center{margin-top:20px}}

/* The power layer is opaque from its first frame. Desktop graphics are absent until the bridge. */
.power-screen.eclipse-screen{animation:none!important;background:#0a1920;backdrop-filter:none}
.desktop-shell.power-covered{background:#0a1920!important}.desktop-shell.power-covered>:not(#power-mount){visibility:hidden!important}
.eclipse-prepare .eclipse-occluder{transform:translateX(218px)}.eclipse-prepare .eclipse-spark{opacity:0}.eclipse-prepare .eclipse-trace{opacity:.45}
.desktop-arrival{animation:desktop-arrival .35s ease-out both}@keyframes desktop-arrival{from{opacity:.2}to{opacity:1}}
:root[data-motion=reduced] .desktop-arrival{animation:none}@media(prefers-reduced-motion:reduce){.desktop-arrival{animation:none}}
/* Release a fully prepared scene without fading through the page background. */
.desktop-arrival{animation:none!important}
