:root{--color-primary:#171717;--color-on-primary:#fff;--color-ink:#171717;--color-body:#4d4d4d;--color-mute:#888;--color-hairline:#ebebeb;--color-canvas:#fff;--color-canvas-soft:#fafafa;--color-dot-ring:#f5f5f5;--font-sans:Geist, Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, monospace}:root[data-theme=dark]{--color-primary:#fff;--color-on-primary:#171717;--color-ink:#ededed;--color-body:#b5b5b5;--color-mute:#7d7d7d;--color-hairline:#2e2e2e;--color-canvas:#111;--color-canvas-soft:#080808;--color-dot-ring:#1c1c1c}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary:#fff;--color-on-primary:#171717;--color-ink:#ededed;--color-body:#b5b5b5;--color-mute:#7d7d7d;--color-hairline:#2e2e2e;--color-canvas:#111;--color-canvas-soft:#080808;--color-dot-ring:#1c1c1c}}*,:before,:after{box-sizing:border-box}*{margin:0}html{background:var(--color-canvas-soft)}body{min-width:320px;min-height:100vh;color:var(--color-ink);background:var(--color-canvas-soft);font-family:var(--font-sans);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}#app{min-height:100vh}.site-shell{background:var(--color-canvas-soft);flex-direction:column;min-height:100vh;transition:background-color .18s,color .18s;display:flex}.site-header{z-index:10;border-bottom:1px solid var(--color-hairline);background:color-mix(in srgb, var(--color-canvas) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);height:64px;transition:background-color .18s,border-color .18s;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;width:min(100%,1400px);height:100%;margin:0 auto;padding:0 24px;display:flex}.brand{color:var(--color-ink);letter-spacing:-.6px;white-space:nowrap;flex:0 auto;font-size:20px;font-weight:600;line-height:28px}.site-nav{justify-content:flex-end;align-items:center;gap:8px;margin-right:clamp(24px,3vw,64px);display:flex}.nav-link{min-height:36px;color:var(--color-body);letter-spacing:-.28px;border-radius:9999px;justify-content:center;align-items:center;padding:8px 12px;font-size:14px;font-weight:400;line-height:20px;transition:color .16s,background-color .16s,box-shadow .16s;display:inline-flex}.nav-link:hover,.nav-link.router-link-exact-active{color:var(--color-ink);background:var(--color-canvas);box-shadow:inset 0 0 0 1px var(--color-hairline)}.theme-toggle{border:1px solid var(--color-hairline);width:36px;height:36px;color:var(--color-ink);background:var(--color-canvas);cursor:pointer;border-radius:9999px;justify-content:center;align-items:center;padding:0;transition:color .16s,background-color .16s,border-color .16s,transform .16s;display:inline-flex;box-shadow:0 1px 1px #00000005,0 2px 2px #0000000a}.theme-toggle:hover{transform:translateY(-1px)}.theme-toggle:focus-visible{outline:2px solid var(--color-ink);outline-offset:2px}.theme-toggle span{justify-content:center;align-items:center;height:20px;font-size:18px;line-height:1;display:inline-flex}.theme-toggle svg{width:20px;height:20px;display:block}.site-main{flex:1;width:min(100%,1400px);margin:0 auto;padding:64px 24px}.blank-page{min-height:clamp(360px,100vh - 257px,760px)}.site-footer{background:var(--color-canvas-soft);color:var(--color-body);transition:background-color .18s,border-color .18s,color .18s}.footer-inner{letter-spacing:-.28px;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:min(100%,1400px);margin:0 auto;padding:40px 24px;font-size:14px;font-weight:500;line-height:20px;display:flex}.footer-email{color:var(--color-mute);font-weight:400}.footer-email a{color:var(--color-link);text-decoration:none}.footer-email a:hover{text-decoration:underline}@media (width<=600px){.header-inner{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;padding:0 16px}.site-header{height:88px}.site-nav{justify-content:flex-start;width:100%;margin-right:0}.nav-link{min-height:32px;padding:6px 10px}.theme-toggle{width:32px;height:32px}.site-main{padding:48px 16px}.footer-inner{padding:32px 16px}}
