#pre-load{background:#0d1117;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:999999;font-family:Fira Code,JetBrains Mono,Consolas,Courier New,monospace;transition:opacity .8s ease}#pre-load .terminal{width:min(92vw,460px);background:#161b22;border:1px solid #30363d;border-radius:10px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.5);transition:transform .8s ease,opacity .6s ease}#pre-load .terminal-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#1f242c;border-bottom:1px solid #30363d}#pre-load .dot{width:11px;height:11px;border-radius:50%}#pre-load .dot.red{background:#ff5f56}#pre-load .dot.yellow{background:#ffbd2e}#pre-load .dot.blue{background:#3b82f6}#pre-load .terminal-title{margin-left:8px;font-size:12px;color:#8b949e}#pre-load .terminal-body{padding:18px 16px;min-height:220px;font-size:14px;line-height:1.9;color:#c9d1d9}#pre-load .term-row{display:flex;align-items:center;white-space:nowrap;animation:row-show 0s steps(1) var(--delay) both}#pre-load .mark{margin-right:10px;color:#58a6ff}#pre-load .mark.ok{color:#3fb950}#pre-load .typed{display:inline-block;overflow:hidden;animation:type .3s steps(var(--chars)) var(--delay) both}#pre-load .cursor{display:inline-block;width:8px;height:16px;margin-left:3px;background:#c9d1d9;animation:row-show 0s steps(1) var(--delay) both,blink 1s steps(1) infinite}#pre-load .terminal-progress{height:3px;background:#21262d}#pre-load .terminal-progress-fill{height:100%;width:0;background:linear-gradient(90deg,#58a6ff,#3fb950);animation:progress 2.5s ease-out forwards}#pre-load.launching .terminal-progress-fill,#pre-load.revealing .terminal-progress-fill{animation:progress-finish .5s ease-out forwards}#pre-load.revealing{opacity:0;pointer-events:none}#pre-load.revealing .terminal{transform:scale(1.04);opacity:0}@keyframes row-show{0%{opacity:0}to{opacity:1}}@keyframes type{0%{width:0}to{width:calc(var(--chars) * 1ch)}}@keyframes blink{50%{opacity:0}}@keyframes progress{0%{width:0}80%{width:92%}to{width:96%}}@keyframes progress-finish{0%{width:96%}to{width:100%}}@media (prefers-reduced-motion:reduce){#pre-load,#pre-load .terminal{transition:none}#pre-load .cursor,#pre-load .term-row,#pre-load .terminal-progress-fill,#pre-load .typed{animation:none}#pre-load .terminal-progress-fill{width:60%}}