*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--surface-page);font-family:var(--font-sans);color:var(--text-body);-webkit-font-smoothing:antialiased}a{color:inherit}::selection{background:var(--accent-strong);color:#fff}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.nav{position:sticky;top:0;z-index:40;background:#fbfdffd9;backdrop-filter:blur(14px);border-bottom:1px solid var(--border-soft)}.nav .in{max-width:1080px;margin:0 auto;padding:0 40px;height:64px;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:9px;font:600 17px var(--font-display);color:var(--text-strong);text-decoration:none}.brand .mk{width:26px;height:26px;border-radius:6px;background:var(--ink-0);color:var(--paper-0);display:flex;align-items:center;justify-content:center;font:600 13px var(--font-serif)}.brand .mk{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(158deg,#20293c,#11151f 60%,#0b0e15);box-shadow:inset 0 1px #ffffff24,inset 0 0 0 1px #ffffff14,0 1px 4px -1px #00000061}.brand .mk b{font:inherit;background:linear-gradient(135deg,#5b9dff,#a882ff 46%,#3ad6b5);-webkit-background-clip:text;background-clip:text;color:transparent}.brand .mk:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 42%,oklch(1 0 0 / .6) 50%,transparent 58%);transform:translate(-130%);animation:mkglint 6s ease-in-out infinite}@keyframes mkglint{0%,74%{transform:translate(-130%)}86%,to{transform:translate(130%)}}@media(prefers-reduced-motion:reduce){.brand .mk:after{animation:none;opacity:0}}.nav .sp{flex:1}.nav .bk{display:inline-flex;align-items:center;gap:7px;font:500 14px var(--font-sans);color:var(--text-muted);text-decoration:none}.nav .bk svg{width:15px;height:15px}.nav .bk:hover{color:var(--text-strong)}.btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:var(--radius-sm);font:600 13.5px var(--font-sans);text-decoration:none;border:1px solid var(--border);color:var(--text-strong)}.btn svg{width:15px;height:15px}.btn:hover{border-color:var(--border-strong)}.phead{border-bottom:1px solid var(--border-soft);padding:64px 0 40px}.wrap{max-width:1080px;margin:0 auto;padding:0 40px}.slab{font:600 11px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.phead h1{margin:12px 0 0;font:500 clamp(38px,5vw,58px)/1.04 var(--font-serif);letter-spacing:-.025em;color:var(--text-strong)}.phead .sub{margin:16px 0 0;font:400 17px/1.6 var(--font-sans);color:var(--text-muted);max-width:620px}.phead .upd{margin-top:20px;display:inline-flex;align-items:center;gap:8px;font:600 11.5px var(--font-mono);letter-spacing:.06em;color:var(--text-muted);border:1px solid var(--border-soft);border-radius:999px;padding:6px 12px;background:var(--surface-sunken)}.phead .upd svg{width:13px;height:13px;color:var(--accent-strong)}.doc{display:grid;grid-template-columns:240px 1fr;gap:56px;padding:48px 0 80px}.toc{position:sticky;top:92px;align-self:start;display:flex;flex-direction:column;gap:2px}.toc .tl{font:600 11px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);margin-bottom:8px}.toc a{font:500 13.5px/1.3 var(--font-sans);color:var(--text-muted);text-decoration:none;padding:7px 10px;border-left:2px solid transparent;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.toc a:hover{color:var(--text-strong);background:var(--surface-sunken)}.toc a.on{color:var(--text-strong);border-left-color:var(--accent-strong);background:var(--surface-sunken)}.body{max-width:680px}.body section{padding:0 0 34px}.body h2{margin:0 0 12px;font:500 24px/1.2 var(--font-serif);letter-spacing:-.01em;color:var(--text-strong);scroll-margin-top:88px}.body h2 .n{font:600 13px var(--font-mono);color:var(--text-faint);margin-right:10px;vertical-align:middle}.body h3{margin:22px 0 8px;font:600 15px var(--font-sans);color:var(--text-strong)}.body p{margin:0 0 14px;font:400 15.5px/1.68 var(--font-sans);color:var(--text-body)}.body ul{margin:0 0 14px;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:10px}.body ul li{position:relative;padding-left:22px;font:400 15px/1.6 var(--font-sans);color:var(--text-body)}.body ul li:before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--accent-strong)}.body b{color:var(--text-strong);font-weight:600}.body a.inl{color:var(--accent-strong);text-decoration:none;border-bottom:1px solid var(--border-strong)}.callout{margin:0 0 14px;padding:18px 20px;border:1px solid var(--border-soft);border-left:2px solid var(--accent-strong);border-radius:var(--radius-sm);background:var(--surface-sunken);font:400 14.5px/1.6 var(--font-sans);color:var(--text-muted)}.callout b{color:var(--text-strong)}footer{padding:44px 0;background:var(--surface-sunken);border-top:1px solid var(--border-soft)}.fin{max-width:1080px;margin:0 auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font:400 13px var(--font-sans);color:var(--text-faint)}.fin a{color:var(--text-muted);text-decoration:none}.fin a:hover{color:var(--text-strong)}.fnav{display:flex;gap:20px;flex-wrap:wrap}@media(max-width:820px){.wrap,.nav .in,.fin{padding-left:24px;padding-right:24px}.doc{grid-template-columns:1fr;gap:24px}.toc{position:static;flex-direction:row;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--border-soft);padding-bottom:16px}.toc .tl{width:100%}.toc a{border-left:none;border:1px solid var(--border-soft);border-radius:999px;padding:6px 12px}.toc a.on{border-color:var(--accent-strong)}}
