.buoy-marker{width:14px;height:14px;position:relative}.buoy-ripple{pointer-events:none;animation:buoy-ping var(--ripple-duration,2.4s) ease-out infinite;border:1.5px solid #0fc;border-radius:50%;position:absolute;inset:0}.buoy-dot{cursor:pointer;background-color:#0fc;border:2px solid #000;border-radius:50%;width:14px;height:14px;position:relative;box-shadow:0 0 12px #0fc}.buoy-marker.is-daylight .buoy-dot{border-width:3px;box-shadow:0 0 0 2px #fff,0 2px 5px #000000b3}@keyframes buoy-ping{0%{opacity:.7;transform:scale(1)}to{transform:scale(var(--ripple-max-scale,3));opacity:0}}@media (prefers-reduced-motion:reduce){.buoy-ripple{opacity:0;animation:none}}.buoy-direction-pivot{pointer-events:none;z-index:2;position:absolute;inset:0}.buoy-direction-tip{filter:drop-shadow(0 0 2px #000);border-bottom:7px solid #fff;border-left:4px solid #0000;border-right:4px solid #0000;width:0;height:0;margin-left:-4px;position:absolute;top:-9px;left:50%}.buoy-marker.is-daylight .buoy-direction-tip{top:-12px}.buoy-tooltip{color:#0fc;letter-spacing:.4px;white-space:nowrap;pointer-events:none;opacity:0;z-index:20;background:#000000d9;border:1px solid #0fc;border-radius:4px;padding:4px 10px;font-family:ui-monospace,Consolas,monospace;font-size:11px;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}.buoy-marker:hover .buoy-tooltip{opacity:1;transform:translate(-50%)}.buoy-marker.is-daylight .buoy-tooltip{background:#000000f7;border-width:2px}@media (prefers-reduced-motion:reduce){.buoy-tooltip{transition:none}}.iss-marker{width:46px;height:22px;transform:scale(var(--iss-scale,.4));transform-origin:50%;position:relative}.iss-ripple{pointer-events:none;border:1.5px solid #cfd8e0;border-radius:50%;animation:2.6s ease-out infinite buoy-ping;position:absolute;inset:-6px}.iss-body{transition:transform .6s linear;position:absolute;inset:0}.iss-icon{filter:drop-shadow(0 0 3px #000c);width:100%;height:100%;display:block;overflow:visible}.iss-nav-light{animation:1.6s ease-in-out infinite iss-strobe}@keyframes iss-strobe{0%,80%,to{opacity:1}85%,95%{opacity:.15}}.iss-marker.is-eclipsed .iss-icon{filter:drop-shadow(0 0 3px #000c)brightness(.55)}.iss-tooltip{color:#0fc;letter-spacing:.3px;white-space:nowrap;pointer-events:none;opacity:0;z-index:20;background:#000000d9;border:1px solid #0fc;border-radius:4px;padding:6px 10px;font-family:ui-monospace,Consolas,monospace;font-size:11px;line-height:1.5;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}.iss-marker:hover .iss-tooltip{opacity:1;transform:translate(-50%)}.iss-marker.is-daylight .iss-tooltip{background:#000000f7;border-width:2px}@media (prefers-reduced-motion:reduce){.iss-ripple{opacity:0;animation:none}.iss-nav-light{animation:none}.iss-body,.iss-tooltip{transition:none}}.cosmic-backdrop{pointer-events:none;background:#05070a;position:absolute;inset:0;overflow:hidden}.cb-starfield{background-repeat:repeat;position:absolute;inset:0}.cb-starfield-small{opacity:.55;background-image:radial-gradient(1px 1px at 10% 15%,#fff,#0000),radial-gradient(1px 1px at 32% 62%,#fff,#0000),radial-gradient(1px 1px at 55% 22%,#fff,#0000),radial-gradient(1px 1px at 78% 48%,#fff,#0000),radial-gradient(1px 1px at 91% 8%,#fff,#0000),radial-gradient(1px 1px at 18% 85%,#fff,#0000),radial-gradient(1px 1px at 64% 90%,#fff,#0000),radial-gradient(1px 1px at 40% 40%,#fff,#0000),radial-gradient(1px 1px at 85% 70%,#fff,#0000),radial-gradient(1px 1px at 5% 55%,#fff,#0000);background-size:340px 340px}.cb-starfield-medium{opacity:.65;background-image:radial-gradient(1.5px 1.5px at 22% 30%,#cfe8ff,#0000),radial-gradient(1.5px 1.5px at 68% 12%,#cfe8ff,#0000),radial-gradient(1.5px 1.5px at 48% 75%,#cfe8ff,#0000),radial-gradient(1.5px 1.5px at 88% 55%,#cfe8ff,#0000),radial-gradient(1.5px 1.5px at 12% 68%,#cfe8ff,#0000),radial-gradient(1.5px 1.5px at 75% 88%,#cfe8ff,#0000);background-size:520px 520px}.cb-starfield-bright{opacity:.8;background-image:radial-gradient(2px 2px at 15% 20%,#fff,#0000),radial-gradient(2px 2px at 60% 45%,#fff,#0000),radial-gradient(2px 2px at 85% 25%,#fff,#0000),radial-gradient(2px 2px at 35% 78%,#fff,#0000);background-size:700px 700px}.cb-milky-way{filter:blur(6px);background:linear-gradient(#0000,#b4c8dc0d 20%,#c8d7e61f 45% 55%,#b4c8dc0d 80%,#0000);width:140%;height:60%;position:absolute;top:-20%;left:-20%;transform:rotate(-22deg)}.sky-sun{pointer-events:none;background:radial-gradient(circle,#fffdf2 0%,#fff2c4 35%,#ffe6a059 60%,#0000 75%);border-radius:50%;width:46px;height:46px;box-shadow:0 0 40px 10px #ffebb440}.cb-planet{border-radius:50%;position:absolute}.cb-planet-venus{background:#f5eedc;width:4px;height:4px;top:14%;left:40%;box-shadow:0 0 8px 2px #f5eedcb3}.cb-planet-mars{background:#d98a5f;width:5px;height:5px;top:22%;left:15%;box-shadow:0 0 6px 1px #d98a5f99}.cb-planet-jupiter{background:#e8dcc0;width:6px;height:6px;top:35%;left:72%;box-shadow:0 0 7px 1px #e8dcc099}.cb-lunar-horizon{width:100%;height:12vh;min-height:70px;position:absolute;bottom:0;left:0}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-h);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--border);left:0}.ticks:after{border-right-color:var(--border);right:0}.launch-site-marker{width:18px;height:24px;position:relative}.launch-flame{cursor:pointer;filter:drop-shadow(0 0 4px #ff6a2b);position:absolute;inset:0}.launch-flame-icon{width:100%;height:100%;display:block;overflow:visible}.launch-flame-fire{transform-box:fill-box;transform-origin:50% 0;animation:.9s ease-in-out infinite alternate launch-flicker}.launch-site-marker.is-daylight .launch-flame{filter:drop-shadow(0 0 1.5px #fff)drop-shadow(0 2px 3px #000000b3)}@keyframes launch-flicker{0%{transform:scale(1)skew(0)}35%{transform:scale(.9,1.15)skew(-4deg)}70%{transform:scale(1.06,.88)skew(3deg)}to{transform:scale(.95,1.08)skew(-1deg)}}.launch-ring{--ring-color:#fa3;border:2px solid var(--ring-color);width:34px;height:34px;box-shadow:0 0 8px var(--ring-color), inset 0 0 6px var(--ring-color);pointer-events:none;border-radius:50%;margin:-17px 0 0 -17px;display:none;position:absolute;top:50%;left:50%}.launch-site-marker[data-state=week] .launch-ring,.launch-site-marker[data-state=day] .launch-ring,.launch-site-marker[data-state=ascent] .launch-ring{animation:.12s linear infinite launch-vibrate;display:block}.launch-site-marker[data-state=day] .launch-ring,.launch-site-marker[data-state=ascent] .launch-ring{--ring-color:#ff4fd8;animation-duration:70ms}.launch-site-marker[data-state=imminent] .launch-ring{--ring-color:#ff2b2b;animation:50ms linear infinite launch-vibrate-hard;display:block}@keyframes launch-vibrate-hard{0%{transform:translate(0)}25%{transform:translate(2px,-1.5px)}50%{transform:translate(-2px,1.5px)}75%{transform:translate(1.5px,2px)}to{transform:translate(-2px,-1px)}}@keyframes launch-vibrate{0%{transform:translate(0)}25%{transform:translate(1.2px,-.8px)}50%{transform:translate(-1px,1px)}75%{transform:translate(.8px,1.2px)}to{transform:translate(-1.2px,-.6px)}}.launch-tooltip,.ascent-label{color:#ffb070;letter-spacing:.3px;white-space:nowrap;pointer-events:none;opacity:0;z-index:20;background:#000000d9;border:1px solid #ff8a3d;border-radius:4px;padding:6px 10px;font-family:ui-monospace,Consolas,monospace;font-size:11px;line-height:1.5;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}.launch-site-marker:hover .launch-tooltip{opacity:1;transform:translate(-50%)}.launch-site-marker[data-state=day] .launch-tooltip,.launch-site-marker[data-state=ascent] .launch-tooltip{color:#ff9eea;border-color:#ff4fd8}.launch-site-marker[data-state=imminent] .launch-tooltip{color:#ff8a8a;border-color:#ff2b2b}.launch-site-marker.is-daylight .launch-tooltip,.ascent-rocket-marker.is-daylight .ascent-label{background:#000000f7;border-width:2px}.ascent-rocket-marker{width:22px;height:29px;position:relative}.ascent-rocket-body{transition:transform 1s linear;position:absolute;inset:0}.ascent-rocket-icon{filter:drop-shadow(0 0 4px #ff4fd8);width:100%;height:100%;display:block;overflow:visible}.ascent-plume{transform-origin:12px 20px;animation:.15s ease-in-out infinite alternate ascent-plume}@keyframes ascent-plume{0%{opacity:.85;transform:scaleY(.8)}to{opacity:1;transform:scaleY(1.15)}}.ascent-rocket-marker.is-inserted .ascent-plume,.ascent-rocket-marker.is-inserted .ascent-plume-core{display:none}.ascent-label{opacity:1;color:#ff9eea;border-color:#ff4fd8;transform:translate(-50%)}@media (width<=720px){.ascent-label{white-space:normal;width:220px;padding:5px 8px;font-size:10px;line-height:1.4}}@media (prefers-reduced-motion:reduce){.launch-flame-fire,.launch-site-marker .launch-ring,.ascent-plume{animation:none!important}.launch-tooltip{transition:none}}.trip-launcher{border-top:1px solid #222;margin-top:10px;padding-top:8px}.trip-launcher-label{color:#ff8a3d;letter-spacing:1px;margin-bottom:6px;font-size:10px}.trip-launcher-grid{grid-template-columns:repeat(2,1fr);gap:5px;display:grid}.trip-launch-btn{color:#d6e6e2;cursor:pointer;text-align:left;background:#0b1016;border:1px solid #263039;border-radius:3px;align-items:center;gap:6px;padding:4px 7px;font-family:ui-monospace,Consolas,monospace;font-size:11px;display:flex}.trip-launch-btn:hover{color:#0fc;border-color:#0fc}.trip-dot{border-radius:50%;flex:none;width:9px;height:9px}.trip-loading{z-index:500;color:#0fc;letter-spacing:2px;pointer-events:none;background:#000c;border:1px solid #0fc;border-radius:4px;padding:6px 14px;font-family:ui-monospace,Consolas,monospace;font-size:12px;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.upcoming-launches{z-index:10;color:#fff;border:1px solid #222;border-radius:6px;width:270px;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;position:absolute;top:20px;right:20px}.upcoming-launches.is-hot{border-color:#ff4fd8;box-shadow:0 0 14px #ff4fd859}.upcoming-title{color:#ff8a3d;letter-spacing:1px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;font-size:10px;display:flex}.upcoming-replays-toggle,.replay-btn{color:#8fe9d8;letter-spacing:1px;cursor:pointer;background:#0b1016;border:1px solid #263039;border-radius:3px;padding:3px 7px;font-family:inherit;font-size:10px}.upcoming-replays-toggle:hover,.replay-btn:hover{color:#0fc;border-color:#0fc}.replay-btn.is-on{color:#000;background:#0fc;border-color:#0fc}.replay-bar{background:#ff4fd814;border:1px solid #ff4fd8;border-radius:4px;margin:2px 0 8px;padding:6px 8px}.replay-what{color:#ffb3ef;white-space:nowrap;text-overflow:ellipsis;font-size:10.5px;overflow:hidden}.replay-controls{flex-wrap:wrap;align-items:center;gap:5px;margin-top:5px;display:flex}.replay-clock{color:#ff4fd8;margin-right:auto;font-size:13px;font-weight:700}.replay-list{border-bottom:1px solid #1c232c;margin-bottom:8px;padding-bottom:6px}.replay-item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid #1c232c;align-items:flex-start;gap:8px;padding:5px 2px;display:flex}.replay-item:hover{background:#ffffff0a}.replay-play{color:#0fc;margin-top:1px;font-size:11px}.replay-note{color:#8a959c;margin-top:4px;font-size:10px;line-height:1.4}.upcoming-row{--dot:#fa3;width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-top:1px solid #1c232c;align-items:flex-start;gap:8px;padding:5px 4px;font-family:inherit;display:flex}.upcoming-row:hover{background:#ffffff0a}.upcoming-row.state-day,.upcoming-row.state-ascent{--dot:#ff4fd8}.upcoming-row.state-imminent{--dot:#ff2b2b}.upcoming-dot{background:var(--dot);width:8px;height:8px;box-shadow:0 0 6px var(--dot);border-radius:50%;flex:none;margin-top:4px;animation:1.4s ease-in-out infinite upcoming-pulse}.upcoming-row.state-week .upcoming-dot{animation-duration:2.4s}.upcoming-row.state-imminent .upcoming-dot{animation-duration:.5s}@keyframes upcoming-pulse{50%{opacity:.35}}.upcoming-main{flex-direction:column;min-width:0;display:flex}.upcoming-count{color:var(--dot);font-size:13px;font-weight:700}.upcoming-what{color:#d6e6e2;white-space:nowrap;text-overflow:ellipsis;max-width:225px;font-size:10.5px;overflow:hidden}.upcoming-where{color:#8a959c;font-size:10px}.launch-edge{--beacon:#fa3;z-index:5;cursor:pointer;width:0;height:0;font-family:ui-monospace,Consolas,monospace;display:none;position:absolute;top:0;left:0}.launch-edge[data-state=day],.launch-edge[data-state=ascent]{--beacon:#ff4fd8}.launch-edge[data-state=imminent]{--beacon:#ff2b2b}.launch-edge-arrow{width:18px;height:22px;fill:var(--beacon);filter:drop-shadow(0 0 5px var(--beacon));animation:1.2s ease-in-out infinite launch-edge-pulse;position:absolute;top:-11px;left:-9px;overflow:visible}.launch-edge[data-state=imminent] .launch-edge-arrow{animation-duration:.45s}@keyframes launch-edge-pulse{50%{opacity:.35}}.launch-edge-label{left:var(--lx,14px);top:calc(var(--ly,0px) - 10px);border:1px solid var(--beacon);color:var(--beacon);white-space:nowrap;background:#000000d9;border-radius:3px;padding:2px 7px;font-size:10.5px;position:absolute}.launch-edge.label-left .launch-edge-label{transform:translate(-100%)}.trip-launcher-toggle{display:none}@media (width<=720px){.upcoming-launches{top:auto;left:10px;right:10px;bottom:calc(34px + env(safe-area-inset-bottom,0px));width:auto;padding:6px 10px}.upcoming-launches .upcoming-row:nth-of-type(n+3),.upcoming-launches.is-panel-open{display:none}.upcoming-title{margin-bottom:2px}.upcoming-what{max-width:none}.trip-launcher-label{display:none}.trip-launcher-toggle{color:#ff8a3d;letter-spacing:1px;text-align:left;cursor:pointer;background:#0b1016;border:1px solid #263039;border-radius:3px;width:100%;padding:5px 8px;font-family:ui-monospace,Consolas,monospace;font-size:11px;display:block}.trip-launcher-grid{margin-top:6px;display:none}.trip-launcher.is-open .trip-launcher-grid{display:grid}}@media (prefers-reduced-motion:reduce){.upcoming-dot,.launch-edge-arrow{animation:none}}.launch-edge .launch-edge-label{margin-top:calc(var(--stack,0) * 21px)}.launch-edge.is-stacked .launch-edge-arrow{display:none}@media (width<=720px){.hud-main{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex;right:10px;top:calc(10px + var(--safe-top))!important;padding:6px 10px!important;left:10px!important}.hud-main .hud-sub{display:none}.hud-main h1{font-size:16px!important}.hud-main .trip-launcher{border-top:none;flex:1;min-width:150px;margin-top:0;padding-top:0}.launch-edge-label{display:none}.launch-edge:before{content:"";width:36px;height:36px;position:absolute;top:-18px;left:-18px}.site-panel{flex-direction:column;display:flex}.site-panel-actions{order:-1;justify-content:flex-end;margin-bottom:6px;position:static!important}.site-panel-head{padding-right:0!important}}:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}:root{--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}#root{width:100%;height:100%}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}
