@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/SpaceGrotesk-Regular.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/SpaceGrotesk-Medium.woff2") format("woff2")}
@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/SpaceGrotesk-Bold.woff2") format("woff2")}

:root{
  color-scheme:dark;
  --ch-bg:#090d10;
  --ch-surface:#11181c;
  --ch-raised:#182127;
  --ch-text:#f1f0f7;
  --ch-muted:#aaa7ba;
  --ch-accent:#a29bfe;
  --ch-accent-rgb:162,155,254;
  --ch-accent-hover:#c2bdff;
  --ch-line:rgba(191,186,226,.14);
  --ch-danger:#ff9ba5;
  --ch-warning:#efcc91;
  --ch-font:"Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ch-mono:ui-monospace,SFMono-Regular,Consolas,monospace;
  --ch-ease:cubic-bezier(.2,.8,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--ch-bg);color:var(--ch-text);font-family:var(--ch-font);line-height:1.65;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.55}
img{max-width:100%;height:auto}
::selection{background:var(--ch-accent);color:var(--ch-bg)}
:focus-visible{outline:2px solid var(--ch-accent);outline-offset:5px}
[hidden]{display:none!important}
.mono{font-family:var(--ch-mono);overflow-wrap:anywhere}
.ch-kicker{display:flex;align-items:center;gap:10px;color:var(--ch-accent);font-family:var(--ch-mono);font-size:.69rem;letter-spacing:.13em;text-transform:uppercase}
.ch-kicker::before{content:"";width:18px;height:1px;background:currentColor}
.ch-mark{display:inline-grid;place-items:center;flex:0 0 auto;width:37px;height:37px;border:1px solid var(--ch-accent);border-radius:11px 3px 11px 3px;color:var(--ch-accent);font-weight:700;font-size:1.04rem;letter-spacing:-.08em;line-height:1}
.ch-dot{display:inline-block;width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:var(--ch-accent);box-shadow:0 0 0 4px rgba(var(--ch-accent-rgb),.07)}
.ch-skip{position:fixed;top:12px;left:12px;z-index:3000;padding:10px 16px;background:var(--ch-accent);color:var(--ch-bg);border-radius:8px;transform:translateY(-160%)}
.ch-skip:focus{transform:none}
.ch-atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 78% 8%,rgba(var(--ch-accent-rgb),.08),transparent 45%),radial-gradient(ellipse at 10% 70%,rgba(101,90,160,.045),transparent 45%)}
.ch-atmosphere::after{content:"";position:absolute;inset:0;opacity:.4;background-image:linear-gradient(var(--ch-line) 1px,transparent 1px),linear-gradient(90deg,var(--ch-line) 1px,transparent 1px);background-size:92px 92px;mask-image:linear-gradient(transparent,#000 20%,transparent 88%)}
#particles-js{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.52}
#particles-js canvas{display:block;width:100%;height:100%}
.ch-panel{position:relative;background:var(--ch-surface);border:1px solid var(--ch-line);border-radius:18px}
[data-spotlight]{--pointer-x:50%;--pointer-y:0%;position:relative;isolation:isolate}
[data-spotlight]::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(420px circle at var(--pointer-x) var(--pointer-y),rgba(var(--ch-accent-rgb),.065),transparent 70%);opacity:0;transition:opacity .35s}
[data-spotlight]:hover::before,[data-spotlight]:focus-within::before{opacity:1}
.ch-button{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:12px 21px;border:1px solid var(--ch-line);border-radius:8px;color:var(--ch-text);background:rgba(255,255,255,.025);text-decoration:none;font-size:.87rem;font-weight:500;line-height:1.4;transition:background .25s,border-color .25s,transform .25s var(--ch-ease)}
.ch-button:hover{color:var(--ch-text);background:var(--ch-raised);border-color:rgba(var(--ch-accent-rgb),.4);transform:translateY(-2px)}
.ch-button-primary{background:var(--ch-accent);border-color:var(--ch-accent);color:var(--ch-bg)}
.ch-button-primary:hover{background:var(--ch-accent-hover);border-color:var(--ch-accent-hover);color:var(--ch-bg)}
.ch-icon-button{display:inline-grid;place-items:center;flex:0 0 auto;min-width:44px;min-height:44px;padding:10px;border:1px solid var(--ch-line);border-radius:8px;background:transparent;color:var(--ch-muted);text-decoration:none;transition:background .2s,color .2s}
.ch-icon-button:hover{color:var(--ch-accent);background:var(--ch-raised)}
.ch-reveal{animation:ch-arrive .75s var(--ch-ease) both}
.ch-reveal-pending{opacity:0;transform:translateY(20px)}
.ch-reveal-visible{opacity:1;transform:none;transition:opacity .7s var(--ch-ease),transform .7s var(--ch-ease)}
@keyframes ch-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes ch-orbit{to{transform:rotate(360deg)}}
@keyframes ch-pulse{50%{opacity:.3;box-shadow:0 0 0 8px rgba(var(--ch-accent-rgb),0)}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:ch-page-out .16s ease both}
::view-transition-new(root){animation:ch-arrive .28s var(--ch-ease) both}
@keyframes ch-page-out{to{opacity:0;transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .ch-reveal-pending{opacity:1;transform:none}
}
