html.boot-active { overflow: hidden; }
.pulse-boot { position:fixed; inset:0; margin:0; padding:24px; width:100%; height:100%; max-width:none; max-height:none; border:0; color:var(--text); background:#131811; box-shadow:none; overflow:auto; }
.pulse-boot[open] { display:grid; place-items:center; }
.pulse-boot::backdrop { background:#131811; backdrop-filter:none; }
.pulse-boot::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at center,#6e744015,transparent 65%),radial-gradient(#acb28f18 .65px,transparent .8px); background-size:auto,8px 8px; }
.boot-console { position:relative; width:min(660px,100%); padding:0 32px; border:1px solid #697451; background:#181e15ed; box-shadow:6px 6px 0 #080c08,0 0 90px #0003; animation:console-on .55s cubic-bezier(.16,1,.3,1) both; }
.boot-console::before,.boot-console::after { content:""; position:absolute; width:8px; height:8px; background:var(--amber); top:-4px; left:-4px; }
.boot-console::after { top:auto; left:auto; bottom:-4px; right:-4px; }
.boot-titlebar { display:flex; justify-content:space-between; gap:12px; align-items:center; height:45px; border-bottom:1px solid #475237; color:#9dab8a; font:8px Plex,monospace; letter-spacing:1.4px; }
.boot-titlebar span:first-child { color:var(--amber); }
.boot-titlebar i { display:inline-block; width:5px; height:5px; background:var(--amber); margin-right:9px; }
.boot-display { position:relative; display:grid; place-items:center; padding:26px 0 14px; }
.boot-radar { width:264px; aspect-ratio:1; position:relative; border:1px solid #66754d; border-radius:50%; background:repeating-radial-gradient(circle,transparent 0,transparent 32px,#71824c40 33px,transparent 34px),linear-gradient(transparent calc(50% - .5px),#71824c70 50%,transparent calc(50% + .5px)),linear-gradient(90deg,transparent calc(50% - .5px),#71824c70 50%,transparent calc(50% + .5px)); box-shadow:inset 0 0 38px #0008,0 0 0 9px #20281b,0 0 0 10px #4b593733; animation:radar-on .7s .16s both; }
.boot-radar::before { content:""; position:absolute; inset:11px; border:1px dashed #74895150; border-radius:50%; animation:calibrate 8s linear infinite; }
.boot-radar::after { content:""; position:absolute; inset:-14px; border-radius:50%; border:2px solid transparent; border-top-color:#a9b286; border-bottom-color:#a9b286; animation:calibrate 3s cubic-bezier(.4,0,.2,1) both; }
.boot-beam { position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 0deg,transparent 260deg,#ffb45b06 278deg,#ffb45b23 335deg,#ffb45b80 359deg,transparent 360deg); animation:calibrate 2.65s .25s linear both; }
.boot-logo { position:absolute; inset:0; display:grid; place-items:center; }
.boot-logo img { width:82px; height:82px; image-rendering:pixelated; border:6px solid #181e15; box-sizing:content-box; box-shadow:0 0 0 1px #ffb45b77,0 0 36px #ffb45b1f; animation:logo-lock .72s .5s cubic-bezier(.16,1,.3,1) both; }
.boot-pip { width:6px; height:6px; background:var(--amber); position:absolute; box-shadow:0 0 10px #ffb45b88; animation:contact-on .65s both; }
.boot-pip.one { top:23%; left:29%; animation-delay:.95s; }
.boot-pip.two { top:37%; right:16%; animation-delay:1.4s; }
.boot-pip.three { bottom:20%; left:42%; animation-delay:2s; }
.boot-axis { position:absolute; color:#798a60; font:6px Plex,monospace; letter-spacing:1px; }
.boot-axis.north { top:5px; left:50%; transform:translateX(-50%); }
.boot-axis.south { bottom:5px; left:50%; transform:translateX(-50%); }
.boot-side { position:absolute; font:7px/2 Plex,monospace; letter-spacing:1px; color:#7e8d6a; top:50%; transform:translateY(-50%); }
.boot-side.left { left:0; }
.boot-side.right { right:0; text-align:right; }
.boot-side strong { display:block; color:#b2bea1; font-weight:400; }
.boot-wordmark { margin:20px 0 7px; text-align:center; color:var(--amber); font:48px/1 Pixel,monospace; letter-spacing:-3px; animation:type-on .45s .75s both; }
.boot-wordmark span { font:22px Plex,monospace; letter-spacing:-1px; }
.boot-tagline { text-align:center; margin:0; color:#a5b591; font:8px Plex,monospace; letter-spacing:2.5px; animation:type-on .4s 1s both; }
.boot-wave { width:100%; height:28px; margin:23px 0 9px; overflow:visible; }
.boot-wave .wave-baseline { stroke:#3e4b30; stroke-width:1; }
.boot-wave .wave-trace { fill:none; stroke:var(--amber); stroke-width:1.5; stroke-dasharray:1; stroke-dashoffset:1; animation:wave-trace 2.4s .3s linear forwards; }
.boot-progress { height:9px; border:1px solid #596847; padding:2px; position:relative; }
.boot-progress::before { content:""; display:block; height:100%; background:repeating-linear-gradient(90deg,var(--amber) 0 9px,transparent 9px 12px); transform-origin:left; animation:boot-progress 2.65s .2s linear both; }
.boot-bottom { display:flex; justify-content:space-between; gap:15px; align-items:center; padding:17px 0 20px; font-size:7px; }
.boot-stage { color:#93a67b; text-transform:uppercase; letter-spacing:.7px; display:grid; }
.boot-stage span { grid-area:1/1; }
.boot-stage span:nth-child(1) { animation:stage-one 3.1s both; }
.boot-stage span:nth-child(2) { animation:stage-two 3.1s both; }
.boot-stage span:nth-child(3) { animation:stage-three 3.1s both; }
.boot-skip { background:none; color:var(--amber); border:1px solid #65714d; font:7px Plex,monospace; padding:8px 10px; white-space:nowrap; }
.boot-skip:hover { background:var(--amber); color:var(--screen); }
.boot-skip span { color:#8f9a7b; margin-left:8px; font-size:6px; }
.boot-skip:hover span { color:var(--screen); }
.pulse-boot.is-leaving { animation:boot-exit .34s ease-in both; pointer-events:none; }
.terminal-reveal .masthead,.terminal-reveal .desk-toolbar,.terminal-reveal .instrument,.terminal-reveal .launch-panel,.terminal-reveal .focus-panel { animation:desk-reveal .6s cubic-bezier(.16,1,.3,1) both; }
.terminal-reveal .instrument { animation-delay:.06s; }.terminal-reveal .launch-panel { animation-delay:.12s; }.terminal-reveal .focus-panel { animation-delay:.18s; }
@keyframes console-on { from { opacity:0; transform:scale(.96) translateY(12px); filter:brightness(1.7); } to { opacity:1; transform:none; filter:brightness(1); } }
@keyframes radar-on { from { opacity:0; transform:scale(.82); } to { opacity:1; transform:none; } }
@keyframes calibrate { to { transform:rotate(360deg); } }
@keyframes logo-lock { from { opacity:0; transform:scale(.5) rotate(-90deg); } to { opacity:1; transform:none; } }
@keyframes contact-on { 0% { opacity:0; transform:scale(0); } 35% { opacity:1; transform:scale(1.7); } 100% { opacity:1; transform:scale(1); } }
@keyframes type-on { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:none; } }
@keyframes wave-trace { to { stroke-dashoffset:0; } }
@keyframes boot-progress { 0% { transform:scaleX(0); } 20% { transform:scaleX(.23); } 50% { transform:scaleX(.48); } 80% { transform:scaleX(.8); } 100% { transform:scaleX(1); } }
@keyframes stage-one { 0%,31% { opacity:1; visibility:visible; } 32%,100% { opacity:0; visibility:hidden; } }
@keyframes stage-two { 0%,31% { opacity:0; visibility:hidden; } 32%,72% { opacity:1; visibility:visible; } 73%,100% { opacity:0; visibility:hidden; } }
@keyframes stage-three { 0%,72% { opacity:0; visibility:hidden; } 73%,100% { opacity:1; visibility:visible; } }
@keyframes boot-exit { from { opacity:1; clip-path:inset(0); } to { opacity:0; clip-path:inset(49.9% 0); } }
@keyframes desk-reveal { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media(max-width:600px) { .pulse-boot { padding:18px; }.boot-console { padding:0 20px; }.boot-titlebar { font-size:6px; letter-spacing:.6px; }.boot-radar { width:220px; }.boot-side { display:none; }.boot-display { padding-top:28px; }.boot-wordmark { font-size:39px; margin-top:19px; }.boot-wordmark span { font-size:19px; }.boot-tagline { font-size:6px; letter-spacing:1.8px; }.boot-bottom { font-size:6px; gap:8px; }.boot-skip { padding:7px; font-size:6px; }.boot-skip span { display:none; }.boot-stage { letter-spacing:0; } }
@media(max-height:620px) and (min-width:601px) { .pulse-boot { padding:16px; }.boot-radar { width:180px; }.boot-display { padding-top:22px; }.boot-logo img { width:62px; height:62px; }.boot-wordmark { margin-top:9px; font-size:38px; }.boot-wave { margin-top:13px; height:22px; } }
@media(prefers-reduced-motion:reduce) { .pulse-boot,.terminal-reveal * { animation:none!important; } #replay-intro { display:none; } }
