:root{--color-bg-base: #07091a;--color-bg-elevated: #0c1128;--color-bg-card: #11173a;--color-bg-note: #fcf4cf;--color-accent-primary: #3bc7ff;--color-accent-secondary: #7c5cff;--color-accent-success: #2ee08f;--color-text-primary: #f1f4ff;--color-text-secondary: #b7c0d8;--color-text-muted: #7a87a6;--color-text-inverse: #0a0f2a;--color-border-subtle: rgba(138, 163, 217, .12);--color-border-muted: rgba(138, 163, 217, .2);--color-border-accent: rgba(59, 199, 255, .35);--color-grid-line: rgba(90, 128, 200, .07);--color-grid-dot: rgba(138, 163, 217, .25);--font-family-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-family-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-size-2xs: .6875rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.75rem;--font-size-4xl: 4rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.15;--line-height-snug: 1.3;--line-height-normal: 1.55;--line-height-loose: 1.75;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .08em;--letter-spacing-wider: .2em;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--space-9: 4rem;--space-10: 5rem;--space-11: 6rem;--space-12: 8rem;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-2xl: 28px;--radius-pill: 999px;--border-width-thin: 1px;--border-width-regular: 2px;--shadow-glow-accent: 0 0 24px rgba(59, 199, 255, .18);--shadow-card: 0 10px 40px -20px rgba(0, 0, 0, .6);--shadow-note: 4px 6px 0 rgba(0, 0, 0, .25);--layout-container-max: 1280px;--layout-gutter-mobile: 1.25rem;--layout-gutter-desktop: 2rem;--layout-section-gap: 6rem;--duration-fast: .15s;--duration-base: .25s;--duration-slow: .45s;--duration-fade: .7s;--duration-fade-slow: .9s;--easing-standard: cubic-bezier(.22, .61, .36, 1);--easing-emphasized: cubic-bezier(.16, 1, .3, 1);--fade-distance: 16px;--fade-distance-sm: 8px;--z-base: 0;--z-sticky: 10;--z-overlay: 40;--z-modal: 60}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}html{background-color:var(--color-bg-base);color-scheme:dark;scroll-behavior:smooth;scroll-padding-top:72px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background-color:var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-family-sans);font-size:var(--font-size-md);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img,svg{display:block;max-width:100%}:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:3px;border-radius:var(--radius-xs)}.container{width:100%;max-width:var(--layout-container-max);margin-inline:auto;padding-inline:var(--layout-gutter-mobile);@media(min-width:768px){padding-inline:var(--layout-gutter-desktop)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-in-up{0%{opacity:0;transform:translate3d(0,var(--fade-distance),0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translate3d(0,calc(var(--fade-distance) * -1),0)}to{opacity:1;transform:translateZ(0)}}@keyframes fade-in-scale{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.fade-in,.fade-in-up,.fade-in-down,.fade-in-scale{animation-duration:var(--duration-fade);animation-timing-function:var(--easing-emphasized);animation-fill-mode:both;animation-delay:var(--fade-delay, 0ms)}.fade-in{animation-name:fade-in}.fade-in-up{animation-name:fade-in-up}.fade-in-down{animation-name:fade-in-down}.fade-in-scale{animation-name:fade-in-scale;animation-duration:var(--duration-fade-slow)}@media(prefers-reduced-motion:reduce){.fade-in,.fade-in-up,.fade-in-down,.fade-in-scale{animation:none}}.space-background[data-astro-cid-6gaasowv]{position:fixed;inset:0;z-index:var(--z-base);pointer-events:none;overflow:hidden;background:var(--color-bg-base);--mx: 0;--my: 0;.space-background__nebula-shell,.space-background__grid-shell,.space-background__labels-shell{position:absolute;inset:0;will-change:transform}.space-background__nebula{position:absolute;inset:-10%;background:radial-gradient(ellipse at 18% 12%,rgba(124,92,255,.12),transparent 55%),radial-gradient(ellipse at 82% 58%,rgba(59,199,255,.1),transparent 60%),radial-gradient(ellipse at 48% 90%,rgba(46,224,143,.06),transparent 55%);animation:nebula-drift 40s ease-in-out infinite alternate,nebula-hue 75s linear infinite;translate:calc(var(--mx) * 4px) calc(var(--my) * 4px)}.space-background__grid{position:absolute;inset:-64px 0;background-image:linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at center,rgba(0,0,0,1),transparent 80%);animation:grid-scroll 120s linear infinite;translate:calc(var(--mx) * 6px) calc(var(--my) * 6px)}.space-background__rotator{position:absolute;width:150%;height:150%;top:-25%;left:-25%;transform-origin:50% 50%;animation:starfield-rotate 300s linear infinite;will-change:transform}.space-background__stars{position:absolute;inset:0;translate:calc(var(--mx) * 8px) calc(var(--my) * 8px)}.star{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:var(--radius-pill);background:currentColor;opacity:var(--opacity);box-shadow:0 0 var(--glow) currentColor;animation:twinkle var(--duration) var(--delay) ease-in-out infinite;color:#fff;&[data-variant=blue]{color:#9acfff}&[data-variant=warm]{color:#ffd69a}&[data-variant=accent]{color:var(--color-accent-primary)}}.space-background__constellations{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;line{stroke:var(--color-accent-primary);stroke-width:.15;vector-effect:non-scaling-stroke;stroke-dasharray:var(--length);stroke-dashoffset:var(--length);opacity:0;animation:constellation-draw var(--duration) var(--delay) ease-out infinite}}.space-background__comets{position:absolute;inset:0;translate:calc(var(--mx) * 10px) calc(var(--my) * 10px)}.comet{position:absolute;top:var(--top);left:-15%;width:140px;height:2px;transform:rotate(var(--angle));transform-origin:left center;background:linear-gradient(90deg,transparent 0%,rgba(80,150,220,.12) 35%,rgba(140,200,240,.35) 65%,rgba(200,230,255,.6) 88%,rgba(255,255,255,.85) 100%);border-radius:var(--radius-pill);filter:drop-shadow(0 0 4px rgba(180,220,255,.5)) drop-shadow(0 0 12px rgba(59,199,255,.22));opacity:0;animation:shoot var(--duration) var(--delay) ease-out infinite}.space-background__planets{position:absolute;inset:0;translate:calc(var(--mx) * 3px) calc(var(--my) * 3px);transition:opacity var(--duration-slow) var(--easing-standard)}&.space-background--dim-planets .space-background__planets[data-astro-cid-6gaasowv]{opacity:.25}.planet{position:absolute;top:var(--top);left:var(--left);width:var(--size);height:var(--size);border-radius:50%;isolation:isolate;pointer-events:none;opacity:.7;animation:planet-drift var(--drift-duration) var(--drift-delay) ease-in-out infinite alternate,planet-depth var(--depth-duration) var(--depth-delay) ease-in-out infinite alternate;&:before{content:"";position:absolute;inset:-28%;border-radius:50%;background:radial-gradient(circle,var(--halo-color),transparent 65%);opacity:.2;z-index:-1;pointer-events:none;animation:planet-glow var(--glow-duration) var(--glow-delay) ease-in-out infinite alternate}&[data-kind=ice]{background:radial-gradient(circle at 30% 28%,#fffffff2,#b4dcffb3 38%,#5082b48c 72%,#142850d9);box-shadow:inset -2px -3px 4px #000a1e8c,inset 1px 1px 2px #ffffff40;--halo-color: rgba(180, 220, 255, .55)}&[data-kind=gas]{background:repeating-linear-gradient(180deg,#ffc8b40d 0 2px,#501e461f 2px 4px),radial-gradient(circle at 28% 28%,#ffdcc8cc,#dc8296b3 35%,#8c466ed9 72%,#32143ce6);box-shadow:inset -3px -4px 6px #14001e99,inset 1px 1px 2px #ffdcc840;--halo-color: rgba(220, 130, 170, .5)}&[data-kind=rocky]{background:radial-gradient(circle at 32% 26%,#ffc8a0e6,#d27850bf 38%,#78412dd9 72%,#23120ce6);box-shadow:inset -2px -2px 3px #140500a6,inset 1px 1px 1.5px #ffc8a038;--halo-color: rgba(220, 140, 90, .45)}&[data-kind=uranus]{background:radial-gradient(circle at 34% 30%,#e4fafcf2,#b4e8f0e0 30%,#6ecddcd9 62%,#2882a0eb);box-shadow:inset -2px -3px 5px #00233c8c,inset 1px 1px 2px #dcfaff4d;--halo-color: rgba(140, 220, 240, .55);--ring-color: 205, 235, 245}&[data-kind=saturn]{background:repeating-linear-gradient(180deg,#fff0c80a 0 3px,#b48c5014 3px 5px),radial-gradient(circle at 32% 28%,#fff5d7f2,#ebcd91e0 32%,#c39b5ad9 65%,#6e5028eb);box-shadow:inset -2px -3px 5px #2819058c,inset 1px 1px 2px #fff0d74d;--halo-color: rgba(235, 210, 150, .5);--ring-color: 235, 220, 180}.planet__ring{position:absolute;top:50%;left:50%;width:calc(var(--size) * var(--ring-scale));height:calc(var(--size) * var(--ring-scale) * .18);transform:translate(-50%,-50%) rotate(var(--ring-rotate));border:var(--ring-thickness) solid rgba(var(--ring-color),var(--ring-opacity));border-radius:50%;box-shadow:0 0 4px rgba(var(--ring-color),calc(var(--ring-opacity) * .6)),inset 0 0 2px rgba(var(--ring-color),calc(var(--ring-opacity) * .45));pointer-events:none}&[data-ring=true]:after{content:"";position:absolute;top:50%;left:50%;width:calc(var(--size) * 2.4);height:calc(var(--size) * .45);transform:translate(-50%,-50%) rotate(-18deg);border:1px solid rgba(230,200,230,.4);border-radius:50%;box-shadow:0 0 3px #e6c8e640,inset 0 0 3px #e6c8e62e;pointer-events:none}.moon-orbit{position:absolute;top:50%;left:50%;width:var(--orbit-size);height:var(--orbit-size);margin-top:calc(var(--orbit-size) / -2);margin-left:calc(var(--orbit-size) / -2);border-radius:50%;pointer-events:none;animation:moon-spin var(--orbit-duration) linear infinite;animation-delay:calc(var(--orbit-duration) * var(--start-progress) * -1);&[data-direction=reverse]{animation-direction:reverse}}.moon{position:absolute;top:50%;right:0;width:var(--moon-size);height:var(--moon-size);margin-top:calc(var(--moon-size) / -2);margin-right:calc(var(--moon-size) / -2);border-radius:50%;background:radial-gradient(circle at 30% 30%,#f5f8fff2,#aab4c8d9 70%,#5a6478e6);box-shadow:0 0 3px #dce6f573,inset -1px -1px 1.5px #1419288c}}.space-background__labels{position:absolute;inset:0;translate:calc(var(--mx) * 12px) calc(var(--my) * 12px);.space-background__label{position:absolute;font-family:var(--font-family-mono);font-size:var(--font-size-2xs);letter-spacing:var(--letter-spacing-wide);color:var(--color-text-muted);opacity:.25;white-space:nowrap}}}@keyframes twinkle{0%,to{opacity:var(--opacity);transform:scale(1)}50%{opacity:calc(var(--opacity) * .28);transform:scale(.72)}}@keyframes grid-scroll{0%{background-position:0 0}to{background-position:0 -1024px}}@keyframes nebula-drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(-1%,-1.5%,0) scale(1.04)}to{transform:translate3d(1.5%,.5%,0) scale(1)}}@keyframes nebula-hue{0%,to{filter:hue-rotate(0deg)}33%{filter:hue-rotate(25deg)}66%{filter:hue-rotate(-15deg)}}@keyframes starfield-rotate{0%{transform:rotate(0)}to{transform:rotate(180deg)}}@keyframes constellation-draw{0%{stroke-dashoffset:var(--length);opacity:0}20%{opacity:.55}60%{stroke-dashoffset:0;opacity:.55}90%{opacity:0}to{stroke-dashoffset:0;opacity:0}}@keyframes shoot{0%{left:-15%;opacity:0;transform:rotate(var(--angle)) scaleX(.55)}1%{opacity:.45;transform:rotate(var(--angle)) scaleX(.85)}2%{opacity:.6;transform:rotate(var(--angle)) scaleX(1)}3%{opacity:.5;transform:rotate(var(--angle)) scaleX(1.12)}4%{left:115%;opacity:0;transform:rotate(var(--angle)) scaleX(.65)}to{left:115%;opacity:0;transform:rotate(var(--angle)) scaleX(.55)}}@keyframes nebula-scroll-parallax{0%{transform:translate(0)}to{transform:translateY(-30px)}}@keyframes grid-scroll-parallax{0%{transform:translate(0)}to{transform:translateY(-60px)}}@keyframes stars-scroll-parallax{0%{translate:0 0}to{translate:0 -90px}}@keyframes labels-scroll-parallax{0%{transform:translate(0)}to{transform:translateY(-140px)}}@keyframes planet-glow{0%{opacity:.32;transform:scale(.92)}to{opacity:.65;transform:scale(1.08)}}@keyframes planet-drift{0%{translate:0 0}to{translate:var(--drift-x) var(--drift-y)}}@keyframes planet-depth{0%{transform:scale(1);opacity:1}to{transform:scale(.7);opacity:.65}}@keyframes moon-spin{0%{rotate:0deg}to{rotate:360deg}}@supports (animation-timeline: scroll()){@media(hover:hover)and (pointer:fine){.space-background__nebula-shell[data-astro-cid-6gaasowv]{animation:nebula-scroll-parallax linear;animation-timeline:scroll(root block)}.space-background__grid-shell[data-astro-cid-6gaasowv]{animation:grid-scroll-parallax linear;animation-timeline:scroll(root block)}.space-background__rotator[data-astro-cid-6gaasowv]{animation:starfield-rotate 300s linear infinite,stars-scroll-parallax linear;animation-timeline:auto,scroll(root block)}.space-background__labels-shell[data-astro-cid-6gaasowv]{animation:labels-scroll-parallax linear;animation-timeline:scroll(root block)}}}@media(prefers-reduced-motion:reduce){.space-background[data-astro-cid-6gaasowv]{--mx: 0;--my: 0;.star,.comet,.planet,.planet:before,.moon-orbit,.space-background__grid,.space-background__nebula,.space-background__rotator,.space-background__constellations line,.space-background__nebula-shell,.space-background__grid-shell,.space-background__labels-shell{animation:none}}}.footer[data-astro-cid-w4gshtb2]{position:relative;z-index:var(--z-sticky);padding-block:var(--space-8);.footer__inner{display:flex;flex-direction:column;gap:var(--space-5)}.footer__top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;.footer__logo{font-family:var(--font-family-mono);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-accent-primary);letter-spacing:var(--letter-spacing-tight)}.footer__links{display:flex;gap:var(--space-5);list-style:none;margin:0;padding:0;.footer__link{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary);letter-spacing:var(--letter-spacing-wide);&:hover{color:var(--color-accent-primary)}}}}.footer__divider{border:0;border-top:1px solid var(--color-border-subtle);margin:0}.footer__copy{margin:0;text-align:center;font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:var(--letter-spacing-wide)}}
