:root{color-scheme:dark;--bg:#06101d;--bg2:#0b1830;--card:rgba(15,31,56,.78);--card2:rgba(20,42,75,.64);--text:#f7fbff;--muted:#b7c8dc;--line:rgba(255,255,255,.13);--brand:#63a8ff;--brand2:#9f78ff;--good:#55d6a3;--shadow:0 22px 70px rgba(0,0,0,.32);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(circle at 10% 5%,rgba(55,135,255,.2),transparent 30%),radial-gradient(circle at 92% 18%,rgba(157,85,255,.18),transparent 32%),linear-gradient(145deg,var(--bg),var(--bg2));line-height:1.65}a{color:#a9d2ff}a:hover{color:#fff}.skip{position:absolute;left:-9999px;top:8px;z-index:100}.skip:focus{left:12px;background:#fff;color:#06101d;padding:10px 14px;border-radius:10px}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:rgba(6,16,29,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.nav{width:min(1120px,calc(100% - 32px));min-height:72px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;color:var(--text);font-size:18px;font-weight:850;text-decoration:none;white-space:nowrap}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:0 8px 24px rgba(88,130,255,.32)}.nav-links{display:flex;align-items:center;gap:6px;overflow:auto;scrollbar-width:none}.nav-links::-webkit-scrollbar{display:none}.nav-links a{padding:9px 12px;border-radius:11px;color:var(--muted);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap}.nav-links a:hover,.nav-links a[aria-current="page"]{color:#fff;background:rgba(255,255,255,.08)}main{width:min(1120px,calc(100% - 32px));margin:auto}.hero{padding:clamp(70px,10vw,124px) 0 70px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:42px}.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:7px 11px;border:1px solid rgba(99,168,255,.32);border-radius:999px;color:#cbe3ff;background:rgba(56,123,219,.11);font-size:13px;font-weight:800;letter-spacing:.25px}.dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 16px var(--good)}h1,h2,h3{line-height:1.15;letter-spacing:-.025em}h1{margin:0 0 18px;font-size:clamp(42px,7vw,76px)}h2{margin:0 0 14px;font-size:clamp(29px,4vw,44px)}h3{margin:0 0 8px;font-size:21px}.lead{max-width:720px;margin:0;color:var(--muted);font-size:clamp(17px,2vw,21px)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:10px 17px;border:1px solid var(--line);border-radius:14px;color:#fff;background:rgba(255,255,255,.06);font-weight:800;text-decoration:none;transition:transform .16s ease,background .16s ease}.button:hover{transform:translateY(-2px);background:rgba(255,255,255,.11)}.button.primary{border-color:transparent;background:linear-gradient(135deg,#297bea,#7f5bea);box-shadow:0 13px 36px rgba(70,91,235,.33)}.hero-panel,.card,.notice{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.hero-panel{padding:24px;border-radius:26px}.stat{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:15px 0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}.stat-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(99,168,255,.12);font-size:20px}.stat b{display:block}.stat span{color:var(--muted);font-size:14px}.section{padding:74px 0}.section-head{max-width:760px;margin-bottom:30px}.section-head p,.card p,.notice p{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:24px;border-radius:22px}.card .tag{display:inline-block;margin-bottom:13px;padding:5px 9px;border-radius:999px;color:#d4e8ff;background:rgba(99,168,255,.12);font-size:12px;font-weight:850}.card a.more{display:inline-flex;margin-top:9px;font-weight:800;text-decoration:none}.clean-list{padding-left:20px;color:var(--muted)}.clean-list li{margin:8px 0}.notice{padding:22px 24px;border-radius:20px;border-left:4px solid var(--good)}.article{width:min(820px,100%);margin:0 auto;padding:64px 0}.article h1{font-size:clamp(38px,6vw,62px)}.article h2{margin-top:48px;font-size:31px}.article h3{margin-top:30px}.article p,.article li{color:#c5d4e6}.article strong{color:#fff}.meta{margin:12px 0 34px;color:#8fa9c7;font-size:14px}.toc{margin:28px 0;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.04)}.toc b{display:block;margin-bottom:8px}.toc a{display:block;padding:5px 0;text-decoration:none}.footer{margin-top:70px;border-top:1px solid var(--line);background:rgba(1,8,17,.4)}.footer-inner{width:min(1120px,calc(100% - 32px));margin:auto;padding:34px 0;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:#8ea5bf;font-size:14px}.footer-links{display:flex;gap:16px;flex-wrap:wrap}.footer a{text-decoration:none}.repo-buttons{display:grid;gap:12px;margin-top:24px}.repo-button{display:grid;grid-template-columns:45px 1fr 24px;gap:12px;align-items:center;padding:12px 15px;border:1px solid var(--line);border-radius:16px;color:#fff;text-decoration:none;background:rgba(255,255,255,.055)}.repo-button:hover{background:rgba(255,255,255,.1)}.repo-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(135deg,#2f7ff1,#845eea);font-weight:900}.small{font-size:13px;color:var(--muted)}code{padding:2px 6px;border-radius:7px;background:rgba(255,255,255,.08);color:#d8eaff}@media(max-width:820px){.hero{grid-template-columns:1fr;padding-top:62px}.grid,.grid.two{grid-template-columns:1fr}.nav{align-items:flex-start;padding:14px 0;flex-direction:column;gap:9px}.nav-links{width:100%}.site-header{position:relative}html{scroll-padding-top:20px}}@media(max-width:520px){main,.nav,.footer-inner{width:min(100% - 24px,1120px)}.hero{padding-bottom:45px}.section{padding:55px 0}.card{padding:20px}.article{padding-top:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}