:root{--paper: #fdfdfd;--surface: #ffffff;--paper-soft: #f7f7f7;--paper-card: #f7f7f7;--paper-deep: #f0f0f0;--ink: #111111;--ink2: #5f5e5b;--ink3: #9c9b99;--ink-ghost: #b8b8b8;--hair: #dcdcdc;--hair2: #ececec;--acc: #0177d3;--acc-soft: #e9f3fc;--a-opus: #e8432e;--a-haiku: #8b5cf6;--a-sonnet: #0e9f6e;--a-codex: #e8632b;--a-you: #0177d3;--a-brand: #d98e04;--a-a11y: #0e8fa0;--font-ui: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-display: "Hanken Grotesk", "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "Geist Mono", ui-monospace, monospace;--font-serif: "Instrument Serif", Georgia, serif;--r-row: 7px;--r-control: 8px;--r-pill: 10px;--r-card: 12px;--r-panel: 14px;--ring: 0 0 0 1px rgba(0, 0, 0, .06), 0 1px 2px -1px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--ring-hover: 0 0 0 1px rgba(0, 0, 0, .08), 0 1px 2px -1px rgba(0, 0, 0, .08), 0 2px 4px rgba(0, 0, 0, .06);--float: 0 12px 40px -10px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .06);--pop: 0 25px 80px -12px rgba(0, 0, 0, .08), 0 0 0 1px rgba(0, 0, 0, .06);--ease-out-quad: cubic-bezier(.25, .46, .45, .94);--gutter: clamp(20px, 4.4vw, 56px);--shot: 0 0 0 1px rgba(0, 0, 0, .06), 0 30px 70px -40px rgba(0, 0, 0, .22)}*{margin:0;box-sizing:border-box}body.site{font-family:var(--font-ui);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:#0177d329}.serif{font-family:var(--font-serif);font-weight:400}.mono{font-family:var(--font-mono)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--r-control);font-family:var(--font-ui);font-size:14px;font-weight:500;text-decoration:none;white-space:nowrap;border:0;transition:background .12s ease,box-shadow .12s ease,color .12s ease}.btn-ink{background:var(--ink);color:var(--paper)}.btn-ink:hover{background:#111111d9}.btn-line{background:var(--surface);color:var(--ink);box-shadow:var(--ring)}.btn-line:hover{box-shadow:var(--ring-hover)}.btn-line:active{background:var(--paper-deep)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #9c9b9966,var(--ring)}.btn-sm{height:32px;padding:0 12px;font-size:12.5px}@keyframes disc-hop{0%,37.5%,to{transform:translateY(0) scale(1)}11.25%{transform:translateY(-34px) scale(.92,1.08)}18.75%{transform:translateY(0) scale(1.15,.85)}24.4%{transform:translateY(-10px) scale(.98,1.02)}30%{transform:translateY(0) scale(1.05,.95)}}.disc-hop circle{transform-box:fill-box;transform-origin:center;animation:disc-hop 2.4s cubic-bezier(.5,0,.5,1) infinite}.home-nav{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:clamp(16px,2.5vw,34px);padding:26px var(--gutter);max-width:1392px;margin:0 auto}.disc-tile{filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}.home-mark{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-ui);font-weight:600;font-size:18px;letter-spacing:-.01em;color:var(--ink);text-decoration:none;flex:none}.nav-links{flex:1;justify-content:center;display:flex;gap:4px;font-family:var(--font-ui);font-size:14px;font-weight:500}.nav-links a{color:var(--ink2);text-decoration:none;white-space:nowrap;padding:7px 11px;border-radius:var(--r-row);transition:background .12s ease,color .12s ease}.nav-links a:hover{color:var(--ink);background:var(--paper-deep)}.nav-drop{position:relative}.nav-drop>a{display:inline-flex;align-items:center;gap:6px}.nav-drop-panel{display:none;position:absolute;top:100%;left:0;padding-top:8px;z-index:30}.nav-drop:hover .nav-drop-panel,.nav-drop:focus-within .nav-drop-panel{display:block}.nav-drop-inner{display:flex;flex-direction:column;min-width:260px;padding:5px;background:var(--surface);border-radius:var(--r-pill);box-shadow:var(--pop)}.nav-drop-panel a{display:flex;flex-direction:column;gap:1px;padding:8px 10px;border-radius:var(--r-row);color:var(--ink);font-size:13.5px;font-weight:500}.nav-drop-panel a:hover{background:var(--paper-deep)}.nav-drop-panel small{font-size:12px;font-weight:400;color:var(--ink3)}.nav-end{flex:none;display:flex;align-items:center;gap:16px}.gh-pill{display:inline-flex;align-items:center;gap:6px;height:32px;border-radius:var(--r-control);padding:0 11px 0 9px;background:var(--surface);box-shadow:var(--ring);color:var(--ink);text-decoration:none;transition:box-shadow .12s ease}.gh-pill:hover{box-shadow:var(--ring-hover)}.gh-count{font-family:var(--font-mono);font-size:12px}.gh-count:empty{display:none}.gh-star{display:none}.gh-count:not(:empty)+.gh-star,.gh-star:has(+.gh-count:not(:empty)){display:block}.nav-icon{color:var(--ink);display:inline-flex}.nav-icon:hover{color:var(--ink2)}.nav-menu{display:none;position:relative}.nav-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:32px;border-radius:var(--r-control);background:var(--surface);box-shadow:var(--ring);color:var(--ink)}.nav-menu>summary::-webkit-details-marker{display:none}.nav-menu[open]>summary{background:var(--paper-deep)}.nav-menu-panel{position:absolute;top:calc(100% + 10px);right:0;min-width:232px;display:flex;flex-direction:column;background:var(--surface);border-radius:var(--r-panel);padding:5px;box-shadow:var(--pop)}.nav-menu-panel a{font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;padding:10px 12px;border-radius:var(--r-row)}.nav-menu-panel a:hover{background:var(--paper-deep)}.ext{display:inline-block;vertical-align:-1px;margin-left:2px;opacity:.6}.home-footer{position:relative;overflow:hidden;border-top:1px solid var(--hair2);padding-top:clamp(48px,6vw,72px);padding-bottom:28px}.foot-top{display:flex;justify-content:space-between;gap:clamp(28px,5vw,76px);flex-wrap:wrap;padding:0 var(--gutter);max-width:1392px;margin:0 auto}.foot-brand{width:300px}.foot-tag{font-family:var(--font-display);font-weight:300;font-size:24px;line-height:1.25;letter-spacing:-.01em;margin-top:18px}.foot-tag em{font-style:normal;color:var(--ink3)}.foot-social{display:flex;align-items:center;gap:14px;margin-top:22px}.foot-cols{display:flex;gap:clamp(28px,5vw,76px);flex-wrap:wrap;padding-top:6px}.foot-col b{font-size:12px;color:var(--ink3);font-weight:500}.foot-col a{display:block;font-size:13.5px;color:var(--ink2);text-decoration:none;margin-top:12px}.foot-col a:hover{color:var(--ink)}.foot-legal{max-width:1392px;margin:clamp(40px,6vw,64px) auto 0;padding:18px var(--gutter) clamp(32px,5vw,56px);border-top:1px solid var(--hair2);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--ink3)}.mock{cursor:default;-webkit-user-select:none;user-select:none}.mock *{cursor:inherit}.mock a[href],.mock button{cursor:pointer}[data-rv]{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}[data-rv].rv-in{opacity:1;transform:none}@media(max-width:1080px){.nav-links{display:none}.nav-menu{display:block}}@media(max-width:560px){.nav-end{gap:10px}.gh-pill,.nav-icon,.nav-end>.btn-line{display:none}.nav-menu-signin{display:block}.btn{padding:0 16px;font-size:13.5px}.foot-legal{justify-content:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-rv]{opacity:1;transform:none}}.nav-member{display:none}[data-signed-in] .nav-guest{display:none!important}[data-signed-in] .nav-member{display:inline-flex}
