@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Geist:wght@400;500;600&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap");*{margin:0;padding:0;box-sizing:border-box}:root,html[data-theme=dark]{--bg:#000;--surface:#0a0a0b;--surface-2:#121214;--border:#1c1c21;--border-bright:#27272c;--text:#fff;--text-dim:#a1a1aa;--text-faint:#52525b;--accent:#fff;--accent-2:#fff;--accent-glow:#ffffff14;--brand:#6e56ff;--aurora-1:#ffffff12;--aurora-2:#ffffff08;--aurora-3:transparent;--ok:#86efac;--warn:#fcd34d;--bad:#fca5a5;--shadow:0 24px 60px #000000a0;--font:"Inter",-apple-system,system-ui,sans-serif;--mono:"JetBrains Mono","SF Mono",monospace;--serif:"Geist","Inter",-apple-system,system-ui,sans-serif;color-scheme:dark}html[data-theme=light]{--bg:#fff;--surface:#fafafb;--surface-2:#f2f2f5;--border:#ebebef;--border-bright:#dedee4;--text:#0a0a0b;--text-dim:#52525b;--text-faint:#a1a1aa;--accent:#0a0a0b;--accent-2:#0a0a0b;--accent-glow:#0a0a0b12;--brand:#6e56ff;--aurora-1:#0a0a0b0a;--aurora-2:#0a0a0b05;--aurora-3:transparent;--ok:#15803d;--warn:#b45309;--bad:#b91c1c;--shadow:0 24px 60px #0a0a0b12;color-scheme:light}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.5;overflow-x:hidden;transition:background .25s ease,color .25s ease}::-moz-selection{background:var(--accent);color:#fff}::selection{background:var(--accent);color:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.aurora{position:relative;isolation:isolate}.aurora:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(900px 520px at 50% -12%,var(--aurora-1),transparent 70%),radial-gradient(700px 500px at 100% 100%,var(--aurora-2),transparent 70%)}.aurora-fixed:before{position:fixed}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:inset 0 1px 0 #ffffff08}html[data-theme=light] .card{box-shadow:0 1px 2px #1a1a3a08,0 8px 24px #2a2a5a08}.card-pad{padding:1.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:999px;font-size:.875rem;font-weight:500;border:1px solid transparent;cursor:pointer;line-height:1;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease,box-shadow .15s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{color:var(--bg);background:var(--text)}.btn-primary:hover{box-shadow:0 0 0 4px var(--accent-glow)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-bright)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--text-faint)}.btn-quiet{background:transparent;color:var(--text-dim)}.btn-quiet:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:transparent;color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,transparent)}.btn-danger:hover{background:color-mix(in srgb,var(--bad) 10%,transparent)}.btn-lg{padding:.85rem 1.5rem;font-size:.95rem}.btn-sm{padding:.45rem .85rem;font-size:.8rem}.input{width:100%;padding:.75rem .9rem;border-radius:9px;font-size:.95rem;background:var(--bg);color:var(--text);border:1px solid var(--border-bright);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input::-moz-placeholder{color:var(--text-faint)}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--text-dim);box-shadow:0 0 0 3px var(--accent-glow)}textarea.input{resize:vertical;line-height:1.55}select.input{cursor:pointer}.label{display:block;font-size:.8rem;font-weight:500;color:var(--text-dim);margin-bottom:.45rem}.hint{font-size:.76rem;color:var(--text-faint);margin-top:.4rem}.field+.field{margin-top:1.25rem}.badge{display:inline-flex;align-items:center;gap:.4rem;padding:.28rem .6rem;border-radius:100px;font-size:.72rem;font-weight:600;border:1px solid var(--border);color:var(--text-dim);background:var(--surface)}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:3px;gap:2px}.seg a,.seg button{padding:.4rem .8rem;border-radius:6px;font-size:.8rem;font-weight:600;color:var(--text-dim);border:none;background:transparent;cursor:pointer;transition:all .15s ease}.seg a:hover,.seg button:hover{color:var(--text)}.seg .on{background:var(--text);color:var(--bg)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border:1px solid var(--border);border-radius:14px;overflow:hidden}.stat,.stat-grid{background:var(--surface)}.stat{padding:1.25rem 1.35rem;box-shadow:1px 0 0 var(--border),0 1px 0 var(--border)}.ov-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:1.25rem;align-items:start}.stat-k{font-size:.74rem;color:var(--text-dim);margin-bottom:.5rem;font-weight:500}.stat-v{font-size:1.6rem;font-weight:700;letter-spacing:-.02em}.stat-d{font-size:.74rem;font-weight:600;font-family:var(--mono);display:inline-flex;align-items:center;gap:.25rem}.stat-sub{font-size:.74rem;color:var(--text-faint);margin-top:.3rem}.row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.mono{font-family:var(--mono)}.hr{height:1px;background:var(--border)}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1.25rem .9rem 4.4rem;border-right:1px solid var(--border);background:var(--surface)}.side-logo{display:flex;align-items:center;padding:.35rem .6rem 1.4rem}.nav{flex-direction:column;gap:2px}.nav,.nav a{display:flex}.nav a{align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:9px;font-size:.875rem;font-weight:500;color:var(--text-dim);transition:background .15s ease,color .15s ease}.nav a svg{width:16px;height:16px;flex-shrink:0;opacity:.8}.nav a.on,.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.on{box-shadow:inset 2px 0 0 var(--accent)}.nav a.on svg{opacity:1;color:var(--accent)}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:.6rem;padding-top:1rem;border-top:1px solid var(--border)}.main{min-width:0}.page{max-width:1040px;margin:0 auto;padding:2.25rem 2.5rem 6rem}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.75rem}.page-title{font-family:var(--serif);font-size:1.7rem;font-weight:500;letter-spacing:-.035em;line-height:1.1}.page-sub{color:var(--text-dim);font-size:.9rem;margin-top:.3rem}.section-title{font-size:1rem;font-weight:600;margin-bottom:.9rem}.notice{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.1rem 1.35rem;border-radius:12px;border:1px solid var(--border);margin-bottom:1.25rem}.notice-accent{border-color:var(--border-bright);background:var(--surface)}.notice-warn{border-color:color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 8%,transparent)}@media (max-width:860px){.shell{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;align-items:center;gap:.5rem;padding:.75rem 1rem;border-right:none;border-bottom:1px solid var(--border);overflow-x:auto}.side-logo{padding:0 .5rem 0 0}.nav{flex-direction:row}.nav a{padding:.5rem .65rem}.nav a span{display:none}.nav a.on{box-shadow:inset 0 -2px 0 var(--accent)}.side-foot{margin:0 0 0 auto;padding:0;border:none;flex-direction:row}.side-foot .side-meta{display:none}.page{padding:1.5rem 1.25rem 7rem}.ov-grid{grid-template-columns:1fr}}.theme-toggle{position:fixed;left:1rem;bottom:1rem;z-index:900;display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:100px;background:color-mix(in srgb,var(--surface) 85%,transparent);border:1px solid var(--border-bright);box-shadow:var(--shadow)}.theme-toggle button{width:32px;height:32px;border-radius:50%;border:none;background:transparent;color:var(--text-faint);display:grid;place-items:center;cursor:pointer;transition:background .15s ease,color .15s ease}.theme-toggle button:hover{color:var(--text)}.theme-toggle button.on{background:var(--text);color:var(--bg)}.theme-toggle svg{width:15px;height:15px}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(16px);animation:reveal .8s cubic-bezier(.16,1,.3,1) forwards}@keyframes reveal{to{opacity:1;transform:translateY(0)}}}.grid-bg{background-image:linear-gradient(color-mix(in srgb,var(--border) 55%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border) 55%,transparent) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 50% at 50% 0,#000 40%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 80% 50% at 50% 0,#000 40%,transparent 100%)}.glow-top{background:radial-gradient(ellipse 60% 40% at 50% 0,var(--accent-glow),transparent 70%)}.ghost-word{font-weight:700;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px var(--border);-webkit-user-select:none;-moz-user-select:none;user-select:none}.mock{border:1px solid var(--border);border-radius:16px;background:linear-gradient(180deg,var(--surface-2) 0,var(--surface) 100%);overflow:hidden;box-shadow:var(--shadow),inset 0 1px 0 #ffffff0a}.mock-bar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--border)}.mock-dot{width:10px;height:10px;border-radius:50%}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border-bright);background:var(--surface);border-radius:100px;padding:8px 16px;font-size:.85rem}.link-col a,.pill{color:var(--text-dim)}.link-col a{display:block;font-size:.92rem;padding:7px 0}.link-col a:hover{color:var(--text)}.mask-fade{mask-image:linear-gradient(180deg,#000 40%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent)}.nav-btn:hover{background:var(--surface);color:var(--text)!important}.main-in{animation:main-in .18s ease-out}@keyframes main-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.sk{background:color-mix(in srgb,var(--text) 8%,transparent);border-radius:8px;animation:sk 1.4s ease-in-out infinite}@keyframes sk{0%{opacity:.45}50%{opacity:.9}to{opacity:.45}}@media (prefers-reduced-motion:reduce){.main-in,.sk{animation:none}}