:root{--void:#08090a;--panel:#0f1113;--panel-2:#131619;--line:#1e2126;--line-2:#2a2e34;--text:#e9ebee;--text-2:#a8afb7;--mute:#79818b;--dim:#4d545c;--lime:#b6f500;--lime-2:#d4ff4d;--lime-ink:#0a0d00;--sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace}*{box-sizing:border-box}body{background:var(--void);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.7}a{color:var(--lime);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:760px;margin:0 auto;padding:0 24px}nav{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#08090ac7;position:sticky;top:0}.nav-in{align-items:center;gap:14px;max-width:1140px;height:64px;margin:0 auto;padding:0 24px;display:flex}.logo{align-items:center;gap:11px;display:flex}.logo img{width:auto;height:24px;display:block}.logo small{font-family:var(--mono);color:var(--dim);letter-spacing:.11em;text-transform:uppercase;border-left:1px solid var(--line-2);padding-left:10px;font-size:9px;line-height:1.25}.nav-in .back{color:var(--text-2);margin-left:auto;font-size:14px}.nav-in .back:hover{color:var(--lime);text-decoration:none}header.doc{border-bottom:1px solid var(--line);margin-bottom:44px;padding:72px 0 34px}.kicker{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--lime);margin:0 0 16px;font-size:11px}h1{letter-spacing:-.032em;text-wrap:balance;margin:0 0 16px;font-size:clamp(30px,4.4vw,44px);font-weight:780;line-height:1.08}.meta{font-family:var(--mono);color:var(--dim);font-size:12px}.intro{color:var(--text-2);margin:20px 0 0;font-size:18px;line-height:1.62}main{padding-bottom:96px}h2{letter-spacing:-.018em;border-top:1px solid var(--line);margin:48px 0 14px;padding-top:22px;font-size:21px;font-weight:700}h2:first-of-type{border-top:0;margin-top:0;padding-top:0}h3{color:var(--text);margin:28px 0 8px;font-size:16.5px;font-weight:650}p{color:var(--text-2);margin:0 0 15px}ul,ol{color:var(--text-2);margin:0 0 16px;padding-left:22px}li{margin-bottom:8px}strong{color:var(--text);font-weight:640}code{font-family:var(--mono);background:var(--panel-2);border:1px solid var(--line);color:var(--text-2);border-radius:5px;padding:1px 6px;font-size:13px}.callout{border-left:3px solid var(--lime);background:#b6f5000d;border-radius:0 10px 10px 0;margin:24px 0;padding:18px 20px}.callout p:last-child{margin-bottom:0}.callout strong{color:var(--lime)}.warn{background:#ff5c5c0f;border-left:3px solid #ff5c5c;border-radius:0 10px 10px 0;margin:24px 0;padding:18px 20px}.warn strong{color:#ff8a8a}.warn p:last-child{margin-bottom:0}table{border-collapse:collapse;border:1px solid var(--line);border-radius:10px;width:100%;margin:20px 0;font-size:14px;overflow:hidden}th,td{text-align:left;border-bottom:1px solid var(--line);padding:12px 14px}th{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mute);background:var(--panel-2);font-size:10.5px;font-weight:600}td{color:var(--text-2)}tr:last-child td{border-bottom:0}footer{border-top:1px solid var(--line);background:var(--void);padding:32px 0}.foot-in{max-width:1140px;font-family:var(--mono);color:var(--dim);flex-wrap:wrap;justify-content:space-between;gap:16px;margin:0 auto;padding:0 24px;font-size:11.5px;display:flex}.foot-in a{color:var(--mute)}.foot-in a:hover{color:var(--lime)}.foot-nav{flex-wrap:wrap;gap:18px;display:flex}.legal-index{gap:12px;margin:0;padding:0;list-style:none;display:grid}.legal-index li{margin:0}.legal-index a{border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:12px;padding:20px 22px;text-decoration:none;transition:border-color .16s;display:block}.legal-index a:hover{border-color:var(--line-2);text-decoration:none}.legal-index b{margin-bottom:5px;font-size:16.5px;font-weight:650;display:block}.legal-index span{color:var(--mute);font-size:14px}.blog-wrap{max-width:1000px}.feat{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-2),var(--panel));color:var(--text);border-radius:16px;margin:0 0 14px;padding:30px 32px;text-decoration:none;transition:border-color .16s;display:block}.feat:hover{border-color:var(--lime);text-decoration:none}.feat .tag{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--lime-ink);background:var(--lime);border-radius:999px;padding:4px 10px;font-size:10.5px;display:inline-block}.feat h2{letter-spacing:-.025em;text-wrap:balance;margin:16px 0 10px;font-size:clamp(22px,2.6vw,30px);font-weight:740;line-height:1.15}.feat p{color:var(--text-2);margin:0 0 14px;font-size:16px}.feat .when{font-family:var(--mono);color:var(--dim);font-size:12px}.posts{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.posts li{margin:0}.posts a{border:1px solid var(--line);background:var(--panel);height:100%;color:var(--text);border-radius:12px;padding:20px 22px;text-decoration:none;transition:border-color .16s;display:block}.posts a:hover{border-color:var(--line-2);text-decoration:none}.posts .tag{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime);font-size:10px}.posts b{margin:9px 0 5px;font-size:16.5px;font-weight:650;line-height:1.3;display:block}.posts span.dek{color:var(--mute);font-size:14px;display:block}.posts .when{font-family:var(--mono);color:var(--dim);margin-top:11px;font-size:11.5px;display:block}.empty{border:1px dashed var(--line-2);color:var(--mute);text-align:center;border-radius:12px;padding:26px;font-size:14.5px}.post-meta{font-family:var(--mono);color:var(--dim);margin:0;font-size:12px}.tl{border-left:2px solid var(--line-2);margin:0 0 8px;padding:0;list-style:none}.tl li{margin:0;padding:0 0 16px 18px;position:relative}.tl li:before{content:"";background:var(--line-2);border-radius:50%;width:8px;height:8px;position:absolute;top:7px;left:-5px}.tl li.done:before{background:var(--lime)}.tl .when{font-family:var(--mono);color:var(--dim);margin-bottom:3px;font-size:11.5px;display:block}.rp{z-index:60;background:0 0;height:2px;position:fixed;top:0;left:0;right:0}.rp span{background:var(--lime);height:100%;transition:width 80ms linear;display:block}.toc{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin:0 0 28px;padding:16px 18px}.toc-h{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--mute);margin:0 0 10px;font-size:10.5px}.toc ol{gap:6px;margin:0;padding-left:18px;display:grid}.toc li{font-size:14.5px}.toc li a{color:var(--text-2)}.toc li.on a{color:var(--lime)}.sumw{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 20px;padding:13px 16px;display:flex}.sumw-h{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--mute);font-size:10.5px}.sumw-b{flex-wrap:wrap;gap:8px;display:flex}.sumw-b a{border:1px solid var(--line-2);color:var(--text-2);border-radius:999px;padding:5px 12px;font-size:13.5px}.sumw-b a:hover{border-color:var(--lime);color:var(--lime);text-decoration:none}.post-body h2{scroll-margin-top:84px}.faq{border-top:1px solid var(--line);margin:40px 0 0;padding-top:30px}.post-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:34px 0 0;padding-top:22px;display:flex}.share{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.share-h{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--mute);font-size:10.5px}.share a,.share button{font:inherit;border:1px solid var(--line-2);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;padding:5px 12px;font-size:13.5px}.share a:hover,.share button:hover{border-color:var(--lime);color:var(--lime);text-decoration:none}.pdf{border:1px solid var(--lime);color:var(--lime-ink);background:var(--lime);border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:620}.pdf:hover{background:var(--lime-2);text-decoration:none}.author{border:1px solid var(--line);background:var(--panel);border-radius:12px;align-items:flex-start;gap:16px;margin:34px 0 0;padding:20px 22px;display:flex}.author-av{background:0 0;border-radius:12px;flex:0 0 44px;width:44px;height:44px;display:block}.author-n{margin:0;font-weight:650}.author-r{font-family:var(--mono);color:var(--mute);margin:2px 0 0;font-size:11.5px}.author-x{color:var(--text-2);margin:9px 0 0;font-size:14.5px}.print-doc{max-width:720px;margin:0 auto;padding:32px 24px}.print-brand{font-family:var(--mono);color:var(--mute);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.print-foot{font-family:var(--mono);color:var(--mute);margin-top:34px;font-size:11px}@media print{.rp,nav,footer,.sumw,.toc,.post-foot,.author{display:none!important}html,body{color:#000!important;background:#fff!important}.print-doc a{color:#000;text-decoration:underline}.callout,.warn{background:#f6f6f6!important;border:1px solid #bbb!important}}.blog-layout{grid-template-columns:232px minmax(0,1fr) 272px;align-items:start;gap:40px;max-width:1340px;margin:0 auto;padding:0 28px;display:grid}.blog-rail{scrollbar-width:thin;max-height:calc(100vh - 120px);position:sticky;top:88px;overflow-y:auto}.blog-rail::-webkit-scrollbar{width:4px}.blog-rail::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:4px}.blog-main{min-width:0}.rail-h{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin:0 0 12px;font-size:10px}.rail-card{border:1px solid var(--line);background:var(--panel);border-radius:12px;margin:0 0 12px;padding:16px 18px}.toc{background:0 0;border:0;margin:0;padding:0}.toc ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.toc li a{color:var(--text-2);border-left:2px solid #0000;border-radius:7px;padding:6px 10px;font-size:13.5px;line-height:1.4;display:block}.toc li a:hover{color:var(--text);background:var(--panel);text-decoration:none}.toc li.on a{color:var(--lime);border-left-color:var(--lime);background:var(--panel)}.blog-rail .sumw{background:var(--panel);margin:0 0 12px;padding:14px 16px;display:block}.blog-rail .sumw-h{margin:0 0 10px;display:block}.blog-rail .sumw-b{gap:6px;display:grid}.blog-rail .sumw-b a{text-align:center}.blog-rail .share{align-items:stretch;gap:6px;display:grid}.blog-rail .share-h{margin:0 0 4px}.blog-rail .share a,.blog-rail .share button{text-align:center;width:100%}.blog-rail .pdf{text-align:center;margin-top:8px;display:block}@media (max-width:1180px){.blog-layout{grid-template-columns:minmax(0,1fr);gap:28px;max-width:860px}.blog-rail{max-height:none;position:static;overflow:visible}.blog-rail--toc{order:-1}.toc{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:14px 16px}}.idx-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:36px;max-width:1340px;margin:0 auto;padding:0 28px;display:grid}.chips{flex-wrap:wrap;gap:8px;margin:0 0 22px;display:flex}.chip{border:1px solid var(--line-2);color:var(--text-2);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:13px}.chip:hover{border-color:var(--lime);color:var(--lime);text-decoration:none}.chip[aria-pressed=true]{background:var(--lime);border-color:var(--lime);color:var(--lime-ink);font-weight:620}@media (max-width:1100px){.idx-layout{grid-template-columns:minmax(0,1fr);max-width:860px}}@property --trace{syntax:"<angle>";inherits:false;initial-value:0deg}.ai-sum{isolation:isolate;background:var(--panel);--trace:0deg;border-radius:16px;margin:0 0 30px;padding:24px 26px;position:relative}.ai-sum:before,.ai-sum:after{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;padding:1.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.ai-sum:before{background:conic-gradient(#b6f50073,#7c83ff73 25%,#50c8ff73 50%,#7c83ff73 75%,#b6f50073)}.ai-sum:after{background:conic-gradient(from 0deg, #b6f500 0deg, #7c83ff calc(var(--trace)*.25), #50c8ff calc(var(--trace)*.5), #7c83ff calc(var(--trace)*.75), #b6f500 var(--trace), transparent var(--trace), transparent 360deg);transition:--trace .7s cubic-bezier(.6,0,.4,1)}.ai-sum:hover:after{--trace:360deg}@media (prefers-reduced-motion:reduce){.ai-sum:after{transition:none}}.ai-sum-label{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--lime);background:linear-gradient(135deg,#b6f50024,#7c83ff24,#50c8ff24);border-radius:999px;align-items:center;gap:7px;margin:0 0 13px;padding:4px 11px;font-size:10px;font-weight:700;display:inline-flex}.ai-sum-headline{letter-spacing:-.018em;color:var(--text);text-wrap:balance;margin:0 0 15px;font-size:clamp(17px,1.7vw,20px);font-weight:750;line-height:1.34}.ai-sum-bullets{flex-direction:column;gap:9px;margin:0 0 16px;padding:0;list-style:none;display:flex}.ai-sum-bullets li{color:var(--text-2);padding-left:22px;font-size:14.5px;line-height:1.55;position:relative}.ai-sum-bullets li:before{content:"";background:linear-gradient(90deg,var(--lime),#7c83ff);border-radius:2px;width:10px;height:2px;position:absolute;top:9px;left:0}.ai-sum-para{border-top:1px solid var(--line);color:var(--mute);margin:0;padding-top:13px;font-size:13.5px;line-height:1.6}.sumai{border:1px solid var(--line);background:linear-gradient(135deg,var(--panel-2),var(--panel));border-radius:14px;margin:0 0 26px;padding:20px 22px}.sumai-h{letter-spacing:-.005em;color:var(--text);margin:0 0 13px;font-size:15px;font-weight:700}.sumai-row{flex-wrap:wrap;gap:9px;display:flex}.sumai-btn{font:inherit;color:var(--text);background:var(--void);border:1px solid var(--line-2);cursor:pointer;border-radius:10px;align-items:center;gap:9px;padding:9px 15px;font-size:13.5px;font-weight:650;transition:border-color .16s,background .16s,transform 80ms;display:inline-flex}.sumai-btn:hover{border-color:var(--lime);background:var(--panel-2)}.sumai-btn:active{transform:translateY(1px)}.sumai-dot{border-radius:50%;flex:0 0 11px;width:11px;height:11px;display:inline-block}.faq-list{gap:10px;display:grid}.faq-item{border:1px solid var(--line);background:var(--panel);border-radius:12px;transition:border-color .2s;overflow:hidden}.faq-item.on{border-color:var(--line-2)}.faq-q{all:unset;box-sizing:border-box;cursor:pointer;width:100%;color:var(--text);justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;font-size:15.5px;font-weight:650;line-height:1.4;display:flex}.faq-q:hover{color:var(--lime)}.faq-q:focus-visible{outline:2px solid var(--lime);outline-offset:-2px;border-radius:12px}.faq-ico{flex:0 0 14px;width:14px;height:14px;position:relative}.faq-ico:before,.faq-ico:after{content:"";background:var(--lime);margin:auto;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .28s;position:absolute;inset:0}.faq-ico:before{width:14px;height:2px}.faq-ico:after{width:2px;height:14px}.faq-item.on .faq-ico:after{opacity:0;transform:rotate(90deg)}.faq-wrap{grid-template-rows:0fr;transition:grid-template-rows .32s cubic-bezier(.4,0,.2,1);display:grid}.faq-item.on .faq-wrap{grid-template-rows:1fr}.faq-a{overflow:hidden}.faq-a p{color:var(--text-2);margin:0;padding:0 18px 17px;font-size:14.5px;line-height:1.62}@media (prefers-reduced-motion:reduce){.faq-wrap,.faq-ico:before,.faq-ico:after{transition:none}}
