:root{color-scheme:dark;--bg:#000;--fg:#f5f5f7;--mute:#86868b;--dim:#48484a;--line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.22);--ease:cubic-bezier(.2,.7,0,1);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",system-ui,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--font);line-height:1.5;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit;letter-spacing:inherit}
input,textarea{color:var(--fg);caret-color:var(--fg)}
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-text-fill-color:var(--fg);-webkit-box-shadow:0 0 0 1000px var(--bg) inset;caret-color:var(--fg);transition:background-color 9999s}
::selection{background:#fff;color:#000}
.link{position:relative;display:inline-flex;align-items:center;gap:.4em;cursor:pointer;background:none;border:0;padding:0;transition:color .4s var(--ease)}
.link::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.link:hover::after,.link:focus-visible::after{transform:scaleX(1);transform-origin:left}
.btn{position:relative;display:inline-flex;align-items:center;gap:.7em;padding:.95em 1.5em;border:1px solid var(--fg);background:var(--fg);color:#000;font-size:16px;font-weight:500;cursor:pointer;overflow:hidden;isolation:isolate;transition:color .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:-1px;background:#000;transform:translateY(102%);transition:transform .5s var(--ease);z-index:-1}
.btn:hover,.btn:focus-visible{color:var(--fg)}
.btn:hover::before,.btn:focus-visible::before{transform:none}
.arr{display:inline-block;transition:transform .5s var(--ease)}
.btn:hover .arr,.link:hover .arr{transform:translateX(4px)}
.mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.mask>span{display:inline-block;transform:translateY(108%);animation:up 1.2s var(--ease) forwards;animation-delay:calc(var(--i,0)*80ms + var(--d,0ms))}
@keyframes up{to{transform:none}}
.fade{opacity:0;animation:fade 1.1s var(--ease) forwards;animation-delay:var(--d,0ms)}
@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.think{background:linear-gradient(90deg,#3a3a3c 0%,#3a3a3c 35%,#f5f5f7 50%,#3a3a3c 65%,#3a3a3c 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 1.8s linear infinite}
@keyframes shimmer{from{background-position:100% 0}to{background-position:-150% 0}}
.caret{display:inline-block;width:2px;height:1.05em;background:var(--fg);margin-left:2px;vertical-align:-.17em;animation:blink 1.05s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}