:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101114;--surface:#17181c;--surface-raised:#1d1e23;--line:rgba(255,255,255,.1);--line-strong:rgba(255,255,255,.16);--text:#f2f1ed;--muted:#a5a6aa;--faint:#74757b;--accent:#ff4b27;--accent-ink:#260504;--canvas:#131417;--shadow:0 24px 70px rgba(0,0,0,.2);background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f5f0;--surface:#fffffc;--surface-raised:#ebeae4;--line:rgba(25,27,29,.12);--line-strong:rgba(25,27,29,.2);--text:#1b1c1e;--muted:#65676b;--faint:#898b8f;--accent:#e44022;--accent-ink:#fffaf7;--canvas:#edede8;--shadow:0 24px 70px rgba(34,36,32,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{color:inherit}::-moz-selection{background:var(--accent);color:var(--accent-ink)}::selection{background:var(--accent);color:var(--accent-ink)}.shell{width:min(1160px,100% - 40px);margin-left:auto;margin-right:auto}.site-header{z-index:10;border-bottom:1px solid var(--line);position:relative}.site-footer{border-top:1px solid var(--line);background:radial-gradient(120% 100% at 50% 0%, color-mix(in srgb, var(--accent), transparent 88%), transparent 52%), var(--bg);margin-top:max(72px,min(10vw,128px));position:relative;overflow:hidden}.site-footer:before{background-image:repeating-linear-gradient(90deg, transparent 0, transparent 22px, color-mix(in srgb, var(--line), transparent 10%) 22px, color-mix(in srgb, var(--line), transparent 10%) 23px);content:"";opacity:.22;pointer-events:none;animation:18s linear infinite footer-grid-drift;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(0)}.site-footer:after{background:linear-gradient(90deg, transparent, var(--accent), transparent);content:"";opacity:.7;pointer-events:none;height:2px;animation:5.5s ease-in-out infinite footer-scan;position:absolute;top:auto;bottom:0;left:-24%;right:-24%}.footer-inner{z-index:1;grid-template-columns:1fr auto auto;align-items:center;gap:22px;min-height:92px;padding-top:18px;padding-bottom:18px;display:grid;position:relative}.footer-logo{object-fit:contain;width:118px;height:auto;margin-bottom:6px;display:block}.footer-brand small,.footer-copy{color:var(--faint);font-size:.72rem}.footer-links{align-items:center;gap:7px;display:inline-flex}.footer-links a{border:1px solid var(--line);background:color-mix(in srgb, var(--surface), transparent 18%);min-height:30px;color:var(--muted);border-radius:999px;align-items:center;padding:0 11px;font-size:.73rem;transition:transform .18s,border-color .18s,color .18s,background .18s;display:inline-flex}.footer-links a:not(.star-border):hover{border-color:var(--line-strong);background:var(--surface);color:var(--text);transform:translateY(-1px)}.footer-links .star-border{background:linear-gradient(color-mix(in srgb, var(--surface), transparent 18%), color-mix(in srgb, var(--surface), transparent 18%)) padding-box, radial-gradient(ellipse 26% 210% at var(--footer-sweep-x,-40%) 50%, color-mix(in srgb, var(--accent) 88%, white), transparent 68%) border-box;background-position:0 0,0 0;background-repeat:no-repeat;background-size:auto,100% 100%;border-color:transparent;position:relative}.footer-links .star-border:hover{background:linear-gradient(color-mix(in srgb, var(--surface), transparent 18%), color-mix(in srgb, var(--surface), transparent 18%)) padding-box, radial-gradient(82px circle at var(--star-x,50%) var(--star-y,50%), color-mix(in srgb, var(--accent) 92%, white), color-mix(in srgb, var(--accent) 46%, transparent) 28%, transparent 72%) border-box;box-shadow:0 0 16px color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text);border-color:transparent;animation:none}.footer-copy{white-space:nowrap;justify-self:end}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:70px;display:flex}.wordmark{align-items:center;min-height:32px;display:inline-flex}.wordmark-logo{width:max(96px,min(12vw,132px));height:auto;display:block}.wordmark-fallback{letter-spacing:-.045em;font-size:.96rem;font-weight:720;display:none}nav{align-items:center;gap:24px;margin-left:auto;display:flex}nav a{color:var(--muted);font-size:.84rem;transition:color .16s}nav a:hover{color:var(--text)}.primary-nav .nav-shiny{background-color:var(--muted);background-image:linear-gradient(105deg, transparent 0%, transparent 37%, color-mix(in srgb, var(--text) 94%, white) 50%, transparent 63%, transparent 100%);background-position:var(--nav-shine-x,-160px) center;color:transparent;background-repeat:no-repeat;background-size:180px 100%;-webkit-background-clip:text;background-clip:text;padding:5px 1px 7px;text-decoration:none;transition:filter .16s,transform .16s cubic-bezier(.23,1,.32,1);display:inline-block;position:relative;transform:translate(0,0)}.primary-nav .nav-shiny:hover{color:transparent}.primary-nav .nav-shiny[aria-current=page]{background-color:var(--text);filter:brightness(1.08)}@media (hover:hover) and (pointer:fine){.primary-nav .nav-shiny:not([aria-current=page]):hover{filter:brightness(1.3);transform:translateY(-1px)}.primary-nav .nav-shiny:hover:after{opacity:.88;transform:translate(0,0)scaleX(1)}.primary-nav .nav-shiny[aria-current=page]:hover:after{opacity:1;transform:translate(0,0)scaleX(1)}}.primary-nav .nav-shiny:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 84%, white), var(--accent), color-mix(in srgb, var(--accent) 84%, white), transparent);height:2px;box-shadow:0 1px 7px color-mix(in srgb, var(--accent) 38%, transparent);content:"";opacity:0;transform-origin:50%;border-radius:999px;transition:opacity .16s,transform .16s cubic-bezier(.23,1,.32,1);position:absolute;bottom:1px;left:-3px;right:-3px;transform:translateY(2px)scaleX(.28)}.primary-nav .nav-shiny[aria-current=page]:after{opacity:.94;transform:translate(0,0)scaleX(.72)}.primary-nav .nav-shiny:active{transform:translateY(1px)scale(.97)}.primary-nav .nav-shiny:active:after{opacity:1;transform:translateY(1px)scaleX(1)}.primary-nav .nav-shiny:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 72%, white);outline-offset:5px;border-radius:2px}.primary-nav .nav-shiny:focus-visible:after{opacity:1;transform:translate(0,0)scaleX(1)}.github-link{align-items:center;gap:6px;display:inline-flex}.github-mark{flex:none;width:15px;height:15px;transition:transform .36s cubic-bezier(.2,.85,.25,1),filter .22s}.github-stars{border:1px solid var(--line);color:var(--faint);letter-spacing:-.02em;white-space:nowrap;border-radius:999px;grid-template-areas:"content";align-items:center;justify-items:center;min-width:5.8em;padding:3px 6px;font:.6rem/1 SFMono-Regular,Consolas,monospace;transition:border-color .18s,color .18s,background .18s;display:inline-grid}.github-stars-loader{width:18px;height:18px;line-height:0}.github-stars-loading,.github-stars-value{grid-area:content;align-items:center;justify-items:center;display:grid}.github-stars-loading{transition:opacity .18s,transform .22s cubic-bezier(.2,.9,.2,1),visibility 0s linear .22s}.github-stars-value{opacity:0;transition:opacity .18s 70ms,transform .26s cubic-bezier(.16,1,.3,1) 70ms;transform:translateY(2px)scale(.94)}.github-stars[data-loaded=true] .github-stars-loading{visibility:hidden;opacity:0;transform:scale(.72)}.github-stars[data-loaded=true] .github-stars-value{opacity:1;transform:translateY(0)scale(1)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.github-link:hover .github-stars{border-color:color-mix(in srgb, var(--accent) 42%, var(--line));color:var(--text);background:color-mix(in srgb, var(--accent) 8%, transparent)}nav .github-link{border:1px solid transparent;border-radius:999px;padding:5px 8px;transition:color .18s,border-color .18s,background .18s;position:relative;overflow:hidden}nav .github-link:after{content:"";opacity:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.24),transparent);width:45%;transition:transform .43s,opacity .16s;position:absolute;top:0;bottom:0;left:-70%;right:auto;transform:skew(-18deg)}nav .github-link:hover{border-color:var(--line-strong);background:var(--surface)}.github-link:hover .github-mark{filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent), transparent 44%));transform:rotate(-12deg)scale(1.14)}nav .github-link:hover:after{opacity:1;transform:translate(360%)skew(-18deg)}.header-actions{align-items:center;gap:10px;display:flex}.theme-toggle,.header-link{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:2px;align-items:center;justify-items:center;width:34px;height:34px;transition:background .16s,border-color .16s,transform .16s;display:grid}.header-link:hover{border-color:var(--line-strong);background:var(--surface);transform:translateY(-1px)}.mobile-github{display:none}.theme-toggle{position:relative;overflow:hidden}.theme-toggle .theme-icon{transition:transform .16s cubic-bezier(.23,1,.32,1)}.theme-toggle.is-changing .theme-icon{transform:scale(1.08)}.theme-toggle:before{z-index:0;content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,rgba(245,158,11,.48) 0,rgba(245,158,11,.18) 28%,transparent 68%);border-radius:50%;transition:opacity .16s,transform .22s cubic-bezier(.23,1,.32,1);position:absolute;top:-7px;bottom:-7px;left:-7px;right:-7px;transform:scale(.2)}.theme-toggle.is-changing:before{opacity:.52;transform:scale(1.2)}.theme-toggle.is-changing[data-theme=dark]:before{background:radial-gradient(circle,rgba(167,139,250,.48) 0,rgba(167,139,250,.18) 28%,transparent 68%)}.theme-toggle:after{z-index:2;content:"";opacity:0;pointer-events:none;background:linear-gradient(120deg,transparent 42%,rgba(255,251,235,.58) 50%,transparent 58%);position:absolute;top:-8px;bottom:-8px;left:-8px;right:-8px;transform:translate(-112%)}.theme-icon{z-index:1;align-items:center;justify-items:center;width:17px;height:17px;display:grid;position:relative;overflow:visible}.theme-icon svg{width:17px;height:17px;color:var(--faint);transform-origin:50%;will-change:opacity, transform;transition:opacity .28s cubic-bezier(.77,0,.175,1),transform .28s cubic-bezier(.77,0,.175,1),color .2s;position:absolute}.theme-toggle[data-theme=dark] .theme-sun{opacity:0;transform:translate(-18px,18px)rotate(-70deg)scale(.94)}.theme-toggle[data-theme=dark] .theme-moon{opacity:1;transform:rotate(0)scale(1)}.theme-toggle[data-theme=light] .theme-moon{opacity:0;transform:translate(18px,18px)rotate(70deg)scale(.94)}.theme-toggle[data-theme=light] .theme-sun{opacity:1;transform:rotate(0)scale(1)}.theme-toggle:hover .theme-moon{color:#a78bfa}.theme-toggle:hover .theme-sun{color:#f59e0b}.theme-toggle:hover[data-theme=dark] .theme-moon{transform:rotate(-2deg)scale(1.08)}.theme-toggle:hover[data-theme=light] .theme-sun{transform:rotate(18deg)scale(1.08)}.sun-rays,.sun-core,.moon-stars,.moon-star,.sun-flare-dots{transform-box:fill-box;transform-origin:50%;transition:opacity .2s cubic-bezier(.23,1,.32,1),transform .28s cubic-bezier(.77,0,.175,1)}.theme-toggle[data-theme=dark] .sun-rays,.theme-toggle[data-theme=dark] .sun-core,.theme-toggle[data-theme=dark] .sun-flare-dots{opacity:0;transform:rotate(-48deg)scale(.9)}.theme-toggle[data-theme=light] .sun-rays,.theme-toggle[data-theme=light] .sun-core,.theme-toggle[data-theme=light] .sun-flare-dots{opacity:1;transform:rotate(0)scale(1)}.theme-toggle[data-theme=dark] .moon-stars{opacity:.75;transform:rotate(0)scale(1)}.theme-toggle[data-theme=light] .moon-stars{opacity:0;transform:rotate(24deg)scale(.86)}.theme-toggle[data-theme=dark] .moon-star-large,.theme-toggle[data-theme=dark] .moon-star-small{opacity:1;transform:rotate(0)scale(1)}.theme-toggle[data-theme=light] .moon-star-large,.theme-toggle[data-theme=light] .moon-star-small{opacity:0;transform:rotate(16deg)scale(.84)}@media (hover:hover) and (pointer:fine){.theme-toggle:hover[data-theme=dark] .moon-stars{opacity:1;transform:rotate(-8deg)scale(1.08)}.theme-toggle:hover[data-theme=dark] .moon-star-large{transform:rotate(14deg)scale(1.2)}.theme-toggle:hover[data-theme=dark] .moon-star-small{transform:rotate(-16deg)scale(1.12)}.theme-toggle:hover[data-theme=light] .sun-rays{transform:rotate(32deg)scale(1.08)}.theme-toggle:hover[data-theme=light] .sun-core{transform:scale(1.12)}.theme-toggle:hover[data-theme=light] .sun-flare-dots{transform:rotate(-14deg)scale(1.16)}}@keyframes footer-grid-drift{to{transform:translate(23px)}}@keyframes footer-scan{0%,to{opacity:0;transform:translate(-46%)}18%{opacity:.85}50%{opacity:.7;transform:translate(46%)}80%{opacity:0}}.header-link{width:auto;padding-left:12px;padding-right:12px;font-size:.78rem;font-weight:650}.electric-install{animation:10s cubic-bezier(.77,0,.175,1) infinite install-shape-morph}@keyframes install-shape-morph{0%,9%,to{border-radius:0}16%,25%{border-radius:2px}32%,41%{border-radius:4px}48%,57%{border-radius:8px}64%,73%{border-radius:16px}82%,91%{border-radius:999px}}[data-tilt]{--tilt-x-rotation:0deg;--tilt-y-rotation:0deg;--tilt-x:50%;--tilt-y:50%;isolation:isolate;transform-style:preserve-3d;will-change:transform;position:relative}[data-tilt]:not([data-tilt-no-highlight]):after{z-index:-1;border-radius:inherit;background:radial-gradient(180px circle at var(--tilt-x) var(--tilt-y), rgba(255,255,255,.24), transparent 66%);content:"";opacity:0;pointer-events:none;transition:opacity .16s;position:absolute;top:0;bottom:0;left:0;right:0}[data-tilt]:hover{transform:perspective(800px) rotateX(var(--tilt-x-rotation)) rotateY(var(--tilt-y-rotation)) scale(1.045)!important;transition-duration:90ms!important}[data-tilt]:not([data-tilt-no-highlight]):hover:after{opacity:1}[data-tilt]:not(:hover){transition:transform .38s cubic-bezier(.2,.8,.2,1)}[data-reveal]{--reveal-delay:0s;--reveal-x:0px;--reveal-y:22px;transition:opacity .62s ease var(--reveal-delay), transform .76s cubic-bezier(.2, .8, .2, 1) var(--reveal-delay), filter .62s ease var(--reveal-delay)}[data-reveal=left]{--reveal-x:-30px;--reveal-y:10px}[data-reveal=right]{--reveal-x:30px;--reveal-y:10px}[data-reveal=up]{--reveal-x:0px;--reveal-y:32px}[data-reveal=fade]{--reveal-x:0px;--reveal-y:0px}:root[data-reveal-motion] [data-reveal]:not(.is-revealed){opacity:0;transform:translate3d(var(--reveal-x), var(--reveal-y), 0) scale(.985);filter:blur(5px)saturate(.92)}:root[data-reveal-motion] [data-reveal=fade]:not(.is-revealed){filter:none;transform:none}[data-reveal].is-revealed{opacity:1;filter:blur()saturate();transform:translate(0,0)scale(1)}@media (prefers-reduced-motion:reduce){.primary-nav .nav-shiny{transition:filter .16s}.primary-nav .nav-shiny:hover,.primary-nav .nav-shiny:active{transform:none}.primary-nav .nav-shiny:after{transition:opacity .16s}[data-reveal],:root[data-reveal-motion] [data-reveal]:not(.is-revealed){opacity:1;filter:none;transition:none;transform:none}.theme-icon svg{transition:opacity .16s,color .16s}.theme-toggle[data-theme=dark] .theme-sun,.theme-toggle[data-theme=light] .theme-moon{transform:none}.sun-rays,.sun-core,.moon-stars,.moon-star,.sun-flare-dots{transition:opacity .16s;transform:none!important}.electric-install{border-radius:8px;animation:none}}@media (max-width:640px){.shell{width:min(100% - 28px,1160px)}nav{gap:12px;margin-left:auto;display:flex}.primary-nav .nav-shiny{font-size:.72rem}nav .github-link,.electric-install{display:none}.header-actions{gap:6px}.mobile-github{border:1px solid var(--line);width:34px;height:34px;color:var(--text);border-radius:2px;align-items:center;justify-items:center;transition:border-color .18s,background .18s,transform .18s;display:grid}.mobile-github:hover{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 10%, transparent);transform:rotate(-8deg)scale(1.05)}.mobile-github:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:color-mix(in srgb, var(--accent) 10%, transparent);transform:rotate(-8deg)scale(1.05)}.header-inner{min-height:62px}.footer-inner{grid-template-columns:1fr;align-items:start;gap:13px;padding-top:16px;padding-bottom:20px}.footer-copy{justify-self:start}}
