:root{--f-display:"Plus Jakarta Sans","Inter",system-ui,sans-serif;--f-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--bg:#0B0F19;--bg-2:#0A0E16;--surface:#111827;--surface-2:#0F1626;--surface-3:#172033;--border:#1F2937;--border-2:#2B3648;--border-glow:rgba(6,182,212,.45);--text:#F9FAFB;--text-muted:#94A3B8;--text-faint:#64748B;--blue:#2563EB;--blue-hover:#1D4ED8;--blue-soft:rgba(37,99,235,.15);--blue-line:rgba(37,99,235,.35);--cyan:#06B6D4;--cyan-soft:rgba(6,182,212,.13);--cyan-line:rgba(6,182,212,.35);--on-accent:#FFFFFF;--good:#10B981;--good-soft:rgba(16,185,129,.14);--warn:#F59E0B;--warn-soft:rgba(245,158,11,.1);--warn-border:rgba(245,158,11,.35);--star:#FBBF24;--header-bg:rgba(11,15,25,.72);--shadow:0 8px 30px -12px rgba(0,0,0,.7);--glow:0 0 0 1px var(--cyan-line),0 8px 34px -14px rgba(6,182,212,.5);--maxw:1200px;--readw:730px;--r-lg:16px;--r-md:12px;--r-sm:8px;--r-pill:999px}:root[data-theme=light]{--bg:#F8FAFC;--bg-2:#F1F5F9;--surface:#FFFFFF;--surface-2:#F8FAFC;--surface-3:#EEF2F7;--border:#E2E8F0;--border-2:#CBD5E1;--border-glow:rgba(37,99,235,.4);--text:#0B0F19;--text-muted:#475569;--text-faint:#94A3B8;--blue:#2563EB;--blue-hover:#1D4ED8;--blue-soft:rgba(37,99,235,.1);--blue-line:rgba(37,99,235,.25);--cyan:#0891B2;--cyan-soft:rgba(8,145,178,.1);--cyan-line:rgba(8,145,178,.28);--on-accent:#FFFFFF;--good:#059669;--good-soft:rgba(5,150,105,.1);--warn:#B45309;--warn-soft:rgba(180,83,9,.08);--warn-border:rgba(180,83,9,.3);--star:#D97706;--header-bg:rgba(248,250,252,.8);--shadow:0 8px 30px -14px rgba(15,23,42,.2);--glow:0 0 0 1px var(--blue-line),0 10px 34px -16px rgba(37,99,235,.35)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--f-body);font-size:16px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 40% at 50% -8%,var(--cyan-soft),transparent 70%),radial-gradient(50% 30% at 90% 0%,var(--blue-soft),transparent 60%)}a{color:var(--cyan);text-decoration:none}a:hover{color:var(--text)}h1,h2,h3,h4{margin:0;font-family:var(--f-display);line-height:1.12;letter-spacing:-.02em;text-wrap:balance;font-weight:800;color:var(--text)}p{margin:0}img{max-width:100%}button{font-family:inherit}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:6px}::selection{background:var(--cyan-soft)}.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:24px}@media(max-width:560px){.wrap{padding-inline:16px}}.mono{font-family:var(--f-mono)}.tnum{font-variant-numeric:tabular-nums}[hidden]{display:none!important}.eyebrow{font-family:var(--f-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}.badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);background:var(--cyan-soft);border:1px solid var(--cyan-line);padding:4px 9px;border-radius:6px;white-space:nowrap}.badge.blue{color:var(--blue);background:var(--blue-soft);border-color:var(--blue-line)}.meta{font-size:12.5px;color:var(--text-faint);font-family:var(--f-mono)}.meta .dot{margin:0 7px;opacity:.5}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14.5px;border-radius:var(--r-sm);padding:10px 17px;cursor:pointer;border:1px solid transparent;background:var(--blue);color:var(--on-accent);transition:background .15s,box-shadow .2s,transform .12s;box-shadow:0 1px #ffffff0f inset}.btn:hover{background:var(--blue-hover);color:var(--on-accent);box-shadow:0 6px 20px -8px var(--blue)}.btn.cyan{background:var(--cyan)}.btn.cyan:hover{background:var(--cyan);filter:brightness(1.08);box-shadow:0 6px 22px -8px var(--cyan)}.btn.ghost{background:transparent;color:var(--text);border-color:var(--border-2)}.btn.ghost:hover{background:var(--surface-3);color:var(--text);box-shadow:none}.btn.sm{padding:7px 12px;font-size:13px}.btn svg{width:15px;height:15px}.stars{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--text)}.stars svg{width:13px;height:13px;color:var(--star)}.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:70;background:var(--header-bg);backdrop-filter:saturate(160%) blur(16px);-webkit-backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--border)}.hdr{display:flex;align-items:center;gap:18px;height:64px}.brand{display:flex;align-items:center;gap:11px;color:var(--text);font-family:var(--f-display);font-weight:800;font-size:16.5px;letter-spacing:-.02em;flex:none}.brand:hover{color:var(--text)}.logo{width:32px;height:32px;border-radius:9px;flex:none;background:linear-gradient(140deg,var(--blue),var(--cyan));display:grid;place-items:center;position:relative;box-shadow:0 0 18px -4px var(--cyan)}.logo:after{content:"";width:8px;height:11px;background:#fff;border-radius:1px;box-shadow:0 0 8px #fff;animation:blink 1.15s steps(1) infinite}@keyframes blink{50%{opacity:.15}}@media(prefers-reduced-motion:reduce){.logo:after{animation:none}}.brand small{color:var(--text-faint);font-weight:500;font-size:11px;font-family:var(--f-mono);letter-spacing:0}.mainnav{display:flex;align-items:center;gap:2px}.mainnav a{color:var(--text-muted);font-weight:500;font-size:14px;padding:8px 12px;border-radius:8px;white-space:nowrap}.mainnav a:hover{color:var(--text);background:var(--surface-3)}.mainnav a.active{color:var(--cyan);background:var(--cyan-soft)}.hdr-right{display:flex;align-items:center;gap:10px;margin-left:auto}.searchbar{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--r-sm);padding:8px 11px;color:var(--text-faint);font-size:13.5px;cursor:pointer;min-width:210px;transition:border-color .15s}.searchbar:hover{border-color:var(--cyan-line)}.searchbar svg{width:15px;height:15px;flex:none}.searchbar .kbd{margin-left:auto;font-family:var(--f-mono);font-size:11px;border:1px solid var(--border-2);border-radius:5px;padding:1px 6px;color:var(--text-faint)}.icon-btn{width:40px;height:40px;border-radius:9px;border:1px solid var(--border-2);background:var(--surface);color:var(--text-muted);cursor:pointer;display:grid;place-items:center;transition:.15s}.icon-btn:hover{color:var(--text);border-color:var(--cyan-line)}.icon-btn svg{width:18px;height:18px}.theme-sun{display:none}:root[data-theme=light] .theme-sun{display:block}.hamburger,.search-mini{display:none}.theme-moon,.theme-sun{display:block}:root[data-theme=light] .theme-moon{display:none}@media(max-width:1000px){.mainnav,.searchbar{display:none}.hamburger,.search-mini{display:grid}}.drawer-scrim{position:fixed;inset:0;z-index:80;background:#03060c99;opacity:0;pointer-events:none;transition:opacity .2s}.drawer-scrim[data-open=true]{opacity:1;pointer-events:auto}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(84vw,340px);background:var(--bg);border-left:1px solid var(--border);padding:calc(env(safe-area-inset-top,0px) + 16px) 20px 28px;display:flex;flex-direction:column;gap:4px;transform:translate(100%);transition:transform .22s ease;overflow-y:auto}.drawer[data-open=true]{transform:none}.drawer-top{display:flex;align-items:center;margin-bottom:14px}.drawer-top .icon-btn{margin-left:auto}.drawer a{color:var(--text);font-family:var(--f-display);font-size:19px;font-weight:700;padding:13px 4px;border-bottom:1px solid var(--border)}.drawer a:hover{color:var(--cyan)}.drawer a small{display:block;font-family:var(--f-mono);font-size:11px;font-weight:400;color:var(--text-faint);margin-top:3px}.drawer .btn{margin-top:16px}.cmdk-scrim{position:fixed;inset:0;z-index:90;background:#03060cad;backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;opacity:0;pointer-events:none;transition:opacity .16s}.cmdk-scrim[data-open=true]{opacity:1;pointer-events:auto}.cmdk{width:min(620px,100%);background:var(--surface);border:1px solid var(--border-2);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;transform:translateY(-8px);transition:transform .16s}.cmdk-scrim[data-open=true] .cmdk{transform:none}.cmdk-in{display:flex;align-items:center;gap:11px;padding:15px 18px;border-bottom:1px solid var(--border)}.cmdk-in svg{width:18px;height:18px;color:var(--text-faint);flex:none}.cmdk-in input{flex:1;background:transparent;border:none;outline:none;color:var(--text);font-size:16px;font-family:var(--f-body)}.cmdk-in input::placeholder{color:var(--text-faint)}.cmdk-in .esc{font-family:var(--f-mono);font-size:11px;border:1px solid var(--border-2);border-radius:5px;padding:2px 7px;color:var(--text-faint)}.cmdk-results{max-height:52vh;overflow-y:auto;padding:8px}.cmdk-group{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding:10px 12px 6px}.cmdk-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:9px;cursor:pointer;color:var(--text)}.cmdk-item:hover,.cmdk-item.sel{background:var(--surface-3)}.cmdk-item .ci-ico{width:28px;height:28px;border-radius:7px;background:var(--cyan-soft);color:var(--cyan);display:grid;place-items:center;flex:none}.cmdk-item .ci-ico svg{width:15px;height:15px}.cmdk-item .ci-t{font-size:14.5px;font-weight:600;line-height:1.3}.cmdk-item .ci-s{font-size:12px;color:var(--text-faint);font-family:var(--f-mono)}.cmdk-empty{padding:26px 16px;text-align:center;color:var(--text-faint);font-size:14px}.hero{padding:60px 0 26px}.hero h1{font-size:clamp(32px,6.2vw,54px);font-weight:800;letter-spacing:-.035em;max-width:17ch;line-height:1.05}.hero .grad{background:linear-gradient(100deg,var(--cyan),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.hero .sub{margin-top:20px;font-size:clamp(16px,2.3vw,19px);color:var(--text-muted);max-width:62ch;line-height:1.6}.hero .eyebrow{margin-bottom:18px;display:inline-block}.ribbon{margin:26px 0 6px;position:relative}.ribbon .rib-scroll{display:flex;gap:9px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:thin}.ribbon .rib-scroll::-webkit-scrollbar{height:5px}.ribbon .rib-scroll::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}.pill{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13.5px;font-weight:600;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-2);padding:8px 14px;border-radius:var(--r-pill);cursor:pointer;transition:.15s;flex:none}.pill:hover{color:var(--text);border-color:var(--cyan-line)}.pill[aria-pressed=true]{color:var(--on-accent);background:var(--blue);border-color:var(--blue);box-shadow:0 4px 16px -6px var(--blue)}.pill .cnt{font-family:var(--f-mono);font-size:11px;opacity:.7}.section{margin-bottom:52px}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:20px}.sec-head h2{font-size:14px;font-weight:700;font-family:var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.sec-head a{font-size:13px;font-weight:600;color:var(--cyan);font-family:var(--f-mono)}.sec-head a:hover{color:var(--text)}.grid{display:grid;gap:20px}.cards{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.cards{grid-template-columns:1fr}}.card{position:relative;display:flex;flex-direction:column;gap:13px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:22px;cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .25s;overflow:hidden}.card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:0 0 0 0 transparent;transition:box-shadow .25s}.card:hover{transform:translateY(-3px);border-color:var(--border-2)}.card:hover:after{box-shadow:var(--glow)}.card-top{display:flex;align-items:center;gap:10px}.card h3{font-size:18.5px;font-weight:700;letter-spacing:-.02em;transition:color .15s}.card:hover h3{color:var(--cyan)}.card .desc{font-size:14px;color:var(--text-muted);line-height:1.55}.card .card-foot{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:4px}.stack{display:flex;gap:5px;flex-wrap:wrap}.stack .s{font-family:var(--f-mono);font-size:10.5px;font-weight:600;color:var(--text-muted);background:var(--surface-3);border:1px solid var(--border);border-radius:5px;padding:2px 7px}.bookmark{margin-left:auto;width:30px;height:30px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-faint);display:grid;place-items:center;cursor:pointer;flex:none;transition:.15s;z-index:2}.bookmark:hover{color:var(--cyan);border-color:var(--cyan-line)}.bookmark.on{color:var(--cyan);border-color:var(--cyan-line);background:var(--cyan-soft)}.bookmark svg{width:15px;height:15px}.card .title-link{position:absolute;inset:0;z-index:1}.featured{position:relative;display:grid;grid-template-columns:1.25fr .75fr;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:border-color .18s,box-shadow .25s}.featured:hover{border-color:var(--border-2);box-shadow:var(--glow)}.featured .lead{padding:34px 34px 30px;display:flex;flex-direction:column;gap:16px}.featured h2{font-size:clamp(24px,3.4vw,33px);font-weight:800;letter-spacing:-.03em;line-height:1.08}.featured:hover h2{color:var(--cyan)}.featured .stand{font-size:15.5px;color:var(--text-muted);line-height:1.6;max-width:52ch}.featured .side{border-left:1px solid var(--border);background:linear-gradient(180deg,var(--surface-3),var(--surface-2));padding:30px;display:flex;flex-direction:column;justify-content:center;gap:16px}.featured .side-k{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:6px}.featured .side-v{font-size:14.5px;color:var(--text);line-height:1.5}.featured .title-link{position:absolute;inset:0;z-index:1}@media(max-width:720px){.featured{grid-template-columns:1fr}.featured .side{border-left:none;border-top:1px solid var(--border)}}.card.sponsor{border-style:dashed;border-color:var(--border-2);background:linear-gradient(180deg,var(--surface),var(--surface-2))}.card.sponsor .sp-k{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--warn)}.card.sponsor .sp-logo{width:38px;height:38px;border-radius:9px;background:var(--surface-3);border:1px solid var(--border-2);display:grid;place-items:center;color:var(--text-muted);font-family:var(--f-mono);font-weight:700;font-size:15px}.card.sponsor h3,.card.sponsor:hover h3{color:var(--text)}.sp-note{font-size:11px;color:var(--text-faint);font-family:var(--f-mono)}.latest a{display:flex;align-items:baseline;gap:16px;padding:15px 4px;border-bottom:1px solid var(--border);color:var(--text)}.latest a:first-child{border-top:1px solid var(--border)}.latest a:hover{color:var(--cyan)}.latest .num{font-family:var(--f-mono);font-size:12.5px;color:var(--cyan);font-weight:600;width:28px;flex:none}.latest .lt-title{font-size:16px;font-weight:600;flex:1;min-width:0;font-family:var(--f-display)}.latest .lt-cat{font-family:var(--f-mono);font-size:11px;color:var(--text-faint);flex:none}@media(max-width:560px){.latest .lt-cat{display:none}}.page-head{padding:52px 0 28px;border-bottom:1px solid var(--border);margin-bottom:36px}.page-head h1{font-size:clamp(28px,5vw,44px);font-weight:800;letter-spacing:-.03em;margin:14px 0 0}.page-head .sub{margin-top:16px;font-size:18px;color:var(--text-muted);max-width:60ch;line-height:1.6}.empty{border:1px dashed var(--border-2);border-radius:var(--r-lg);padding:44px 24px;text-align:center;background:var(--surface-2)}.empty .ek{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:10px}.empty h3{font-size:20px;margin-bottom:8px}.empty p{font-size:14.5px;color:var(--text-muted);max-width:46ch;margin:0 auto}.art-wrap{padding:38px 0 10px}.art-grid{display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:54px;align-items:start;max-width:var(--maxw);margin:0 auto;padding-inline:24px}@media(max-width:980px){.art-grid{grid-template-columns:1fr;gap:0}}@media(max-width:560px){.art-grid{padding-inline:16px}}.art-main{min-width:0;max-width:770px}.art-head{margin-bottom:26px;padding-bottom:24px;border-bottom:1px solid var(--border)}.art-head h1{font-size:clamp(27px,4.4vw,40px);font-weight:800;letter-spacing:-.03em;margin:15px 0 14px;line-height:1.06}.art-head .stand{font-size:19px;color:var(--text-muted);line-height:1.55;max-width:62ch}.byline{display:flex;align-items:center;flex-wrap:wrap;gap:0;margin-top:20px;font-family:var(--f-mono);font-size:12.5px;color:var(--text-faint)}.byline .who{color:var(--text)}.byline .dot{margin:0 8px;opacity:.5}.byline .updated{color:var(--good)}.art-toolstrip{display:flex;align-items:center;gap:8px;margin-top:16px;flex-wrap:wrap}.art-body{font-size:17.5px;line-height:1.78;color:var(--text-muted)}.art-section{scroll-margin-top:92px;margin-bottom:40px}.sec-num{display:flex;align-items:center;gap:13px;margin-bottom:18px}.sec-num .n{font-family:var(--f-mono);font-size:12px;font-weight:700;color:var(--cyan);border:1px solid var(--cyan-line);background:var(--cyan-soft);border-radius:7px;padding:4px 9px;flex:none}.sec-num h2{font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.verdict{font-size:20px;line-height:1.5;font-weight:600;color:var(--text);border-left:3px solid var(--cyan);background:linear-gradient(90deg,var(--cyan-soft),transparent);padding:14px 0 14px 20px;border-radius:0 8px 8px 0;margin:0 0 24px;font-family:var(--f-display)}.matrix-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}table.matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;min-width:720px}table.matrix th,table.matrix td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:middle;line-height:1.45}table.matrix thead th{position:sticky;top:0;z-index:3;background:var(--surface-3);font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:600;white-space:nowrap}table.matrix tbody tr{transition:background .12s}table.matrix tbody tr:hover{background:var(--surface-2)}table.matrix tbody tr:last-child td{border-bottom:none}table.matrix td.plat{font-family:var(--f-display);font-weight:700;color:var(--text);white-space:nowrap}table.matrix td.cost{font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text)}table.matrix tr.pick{background:var(--cyan-soft)!important;box-shadow:inset 3px 0 0 var(--cyan)}table.matrix tr.pick:hover{background:var(--cyan-soft)!important}.pick-tag{display:inline-flex;align-items:center;gap:5px;font-family:var(--f-mono);font-size:9.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bg);background:var(--cyan);padding:2px 7px;border-radius:5px;margin-bottom:6px}.pick-tag.value{background:var(--good);color:#04150e}:root[data-theme=light] .pick-tag{color:#fff}:root[data-theme=light] .pick-tag.value{color:#fff}.setup-dots{display:inline-flex;gap:3px}.setup-dots i{width:7px;height:7px;border-radius:50%;background:var(--border-2)}.setup-dots i.on{background:var(--cyan)}.mx-hint{font-family:var(--f-mono);font-size:11px;color:var(--text-faint);margin:10px 0 0;display:none}@media(max-width:720px){.mx-hint{display:block}}.recipe{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2);margin:0 0 8px}.recipe-tabs{display:flex;gap:2px;padding:8px 8px 0;background:var(--surface-3);border-bottom:1px solid var(--border);overflow-x:auto}.recipe-tab{font-family:var(--f-mono);font-size:12px;font-weight:600;color:var(--text-faint);background:transparent;border:none;padding:9px 14px;border-radius:8px 8px 0 0;cursor:pointer;white-space:nowrap;transition:.12s}.recipe-tab:hover{color:var(--text)}.recipe-tab[aria-selected=true]{color:var(--cyan);background:var(--surface-2)}.recipe-body{position:relative}.recipe-panel{padding:0}.recipe-panel pre{margin:0;padding:18px;overflow-x:auto;font-family:var(--f-mono);font-size:13px;line-height:1.7;color:var(--text)}.recipe-panel .ascii-note{padding:14px 18px 18px;font-size:14px;color:var(--text-muted);border-top:1px solid var(--border)}.recipe-copy{position:absolute;top:10px;right:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11.5px;font-weight:600;color:var(--text-muted);background:var(--surface);border:1px solid var(--border-2);border-radius:7px;padding:5px 10px;cursor:pointer}.recipe-copy:hover{color:var(--text);border-color:var(--cyan-line)}.recipe-copy.done{color:var(--good);border-color:var(--good)}.recipe-copy svg{width:13px;height:13px}.step{position:relative;padding-left:46px;margin-bottom:24px}.steps{counter-reset:step}.step:before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--f-mono);font-size:12px;font-weight:700;color:var(--cyan);background:var(--cyan-soft);border:1px solid var(--cyan-line);width:32px;height:32px;border-radius:9px;display:grid;place-items:center}.step h3{font-size:17px;font-weight:700;margin-bottom:7px;color:var(--text)}.step p{font-size:15.5px;margin:0 0 12px}.code{border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;background:var(--surface-2)}.code-top{display:flex;align-items:center;gap:10px;padding:8px 13px;border-bottom:1px solid var(--border);background:var(--surface-3)}.code-lang{font-family:var(--f-mono);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}.copy-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--f-mono);font-size:11.5px;font-weight:600;color:var(--text-muted);background:transparent;border:1px solid var(--border-2);border-radius:6px;padding:4px 9px;cursor:pointer}.copy-btn:hover{color:var(--text);border-color:var(--cyan-line)}.copy-btn.done{color:var(--good);border-color:var(--good)}.copy-btn svg{width:13px;height:13px}.code pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--f-mono);font-size:13px;line-height:1.65;color:var(--text)}.callouts{display:grid;gap:14px}.callout{display:flex;gap:14px;background:var(--warn-soft);border:1px solid var(--warn-border);border-radius:var(--r-md);padding:16px 18px}.callout .cico{color:var(--warn);flex:none;margin-top:1px}.callout .cico svg{width:20px;height:20px}.callout h4{font-size:15.5px;font-weight:700;color:var(--text);margin-bottom:8px}.callout .cline{font-size:14.5px;line-height:1.5;margin:0 0 5px;color:var(--text-muted)}.callout .cline b{font-family:var(--f-mono);color:var(--warn);font-weight:700;text-transform:uppercase;font-size:10.5px;letter-spacing:.06em;margin-right:7px}.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface)}table.data{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;min-width:520px}table.data th,table.data td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:top}table.data thead th{background:var(--surface-3);font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);font-weight:600}table.data tbody tr:last-child td{border-bottom:none}table.data td.k{font-weight:600;color:var(--text)}table.data td.n{font-family:var(--f-mono);font-variant-numeric:tabular-nums;color:var(--text)}.checklist{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}.check{display:flex;align-items:flex-start;gap:13px;padding:15px 18px;border-bottom:1px solid var(--border);cursor:pointer}.check:last-child{border-bottom:none}.check:hover{background:var(--surface-2)}.check input{position:absolute;opacity:0;width:1px;height:1px}.check .box{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--border-2);flex:none;margin-top:1px;display:grid;place-items:center;color:transparent;background:var(--surface-2);transition:.12s}.check .box svg{width:14px;height:14px}.check input:checked+.box{background:var(--cyan);border-color:var(--cyan);color:var(--bg)}.check input:focus-visible+.box{outline:2px solid var(--cyan);outline-offset:2px}.check .ctxt{font-size:16px;line-height:1.5;color:var(--text)}.check input:checked~.ctxt{color:var(--text-faint);text-decoration:line-through;text-decoration-color:var(--border-2)}.disclosure{font-size:13px;color:var(--text-faint);line-height:1.55;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:13px 16px;margin:30px 0 0}.disclosure b{color:var(--warn);font-family:var(--f-mono);text-transform:uppercase;font-size:11px;letter-spacing:.05em}.author-box{display:flex;gap:16px;align-items:flex-start;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;margin:22px 0 0;background:var(--surface)}.author-box .av{width:46px;height:46px;border-radius:12px;flex:none;background:linear-gradient(140deg,var(--blue),var(--cyan));display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px}.author-box .ab-k{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px}.author-box h4{font-size:16px;margin-bottom:5px}.author-box p{font-size:14px;color:var(--text-muted);line-height:1.55}.related{margin:42px 0 0;padding-top:30px;border-top:1px solid var(--border)}.ad{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px dashed var(--border-2);border-radius:var(--r-md);color:var(--text-faint);background:var(--surface-2);text-align:center}.ad .ad-k{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--warn)}.ad .ad-d{font-family:var(--f-mono);font-size:11px}.ad.in-content{min-height:110px;margin:8px 0 30px}.ad.rail-ad{min-height:280px}.rail{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);display:flex;flex-direction:column;gap:20px}@media(max-width:980px){.rail{position:static;margin:0 0 30px;order:-1}}.toc-card{border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;background:var(--surface)}.toc-k{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.toc-toggle{display:none;background:none;border:none;color:var(--cyan);font-family:var(--f-mono);font-size:11px;cursor:pointer}.toc-list{display:flex;flex-direction:column;gap:2px}.toc-list a{font-size:13.5px;color:var(--text-muted);padding:6px 10px;border-radius:7px;border-left:2px solid transparent;line-height:1.4}.toc-list a:hover{color:var(--text);background:var(--surface-2)}.toc-list a.active{color:var(--cyan);background:var(--cyan-soft);border-left-color:var(--cyan)}@media(max-width:980px){.toc-toggle{display:block}.toc-list[data-collapsed=true]{display:none}}.dir-grid{display:grid;grid-template-columns:1fr;gap:12px}.dir-row{display:grid;grid-template-columns:1.6fr 1.2fr .9fr .9fr auto;gap:16px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 18px;transition:border-color .15s,box-shadow .2s}.dir-row:hover{border-color:var(--border-2);box-shadow:var(--glow)}.dir-row.pick{border-color:var(--cyan-line);background:linear-gradient(90deg,var(--cyan-soft),var(--surface))}.dir-name{display:flex;flex-direction:column;gap:5px}.dir-name .dn{font-family:var(--f-display);font-weight:700;font-size:16px;color:var(--text)}.dir-name .dc{font-family:var(--f-mono);font-size:11px;color:var(--text-faint)}.dir-best{font-size:13.5px;color:var(--text-muted)}.dir-cost{font-family:var(--f-mono);font-size:13px;color:var(--text);white-space:nowrap}.dir-k{display:none;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-bottom:3px}@media(max-width:820px){.dir-row{grid-template-columns:1fr 1fr;gap:12px 16px}.dir-row .btn{grid-column:1/-1}.dir-k{display:block}}.news{background:linear-gradient(150deg,var(--surface),var(--surface-2));border:1px solid var(--border-2);border-radius:var(--r-lg);padding:34px;position:relative;overflow:hidden}.news:before{content:"";position:absolute;inset:0;background:radial-gradient(40% 80% at 100% 0%,var(--cyan-soft),transparent 70%);pointer-events:none}.news.block{margin:44px 0}.news .nl-in{position:relative;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}@media(max-width:720px){.news .nl-in{grid-template-columns:1fr;gap:20px}}.news .nl-tag{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px;display:flex;align-items:center;gap:8px}.news .nl-tag:before{content:"$";color:var(--cyan)}.news h3{font-size:23px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px}.news p{font-size:14.5px;color:var(--text-muted);max-width:48ch}.news-form{display:flex;gap:9px;min-width:min(360px,100%)}@media(max-width:440px){.news-form{flex-direction:column}}.news-form input{flex:1;min-width:0;font-family:var(--f-mono);font-size:14px;padding:11px 14px;border-radius:var(--r-sm);border:1px solid var(--border-2);background:var(--bg);color:var(--text)}.news-form input::placeholder{color:var(--text-faint)}.news-form input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-soft)}.news-form.err input{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.news-micro{font-family:var(--f-mono);font-size:11.5px;color:var(--text-faint);margin-top:10px}.news-msg{font-size:12.5px;margin-top:8px;font-weight:500;min-height:1px}.news-msg.err{color:#f87171}.news.done .news-form,.news.done .news-micro{display:none}.news-success{display:none;align-items:center;gap:10px;color:var(--good);font-weight:600;font-size:15px;position:relative}.news.done .news-success{display:flex}.news-success svg{width:20px;height:20px;flex:none}.news-form button[disabled]{opacity:.65;cursor:progress}.site-footer{border-top:1px solid var(--border);margin-top:64px;background:var(--bg-2)}.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;padding:48px 0 30px}@media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;gap:30px 20px}}@media(max-width:460px){.foot-grid{grid-template-columns:1fr 1fr}}.foot-brand .brand{margin-bottom:14px}.foot-brand p{font-size:13.5px;color:var(--text-faint);line-height:1.6;max-width:34ch}.foot-col h4{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);font-weight:600;margin-bottom:14px}.foot-col a{display:block;font-size:14px;color:var(--text-muted);padding:5px 0}.foot-col a:hover{color:var(--cyan)}.foot-bottom{border-top:1px solid var(--border);padding:20px 0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.foot-bottom .fc{font-family:var(--f-mono);font-size:12px;color:var(--text-faint)}.foot-bottom .rss{margin-left:auto;display:inline-flex;align-items:center;gap:7px;font-family:var(--f-mono);font-size:12px;color:var(--text-muted)}.foot-bottom .rss:hover{color:var(--cyan)}.foot-bottom .rss svg{width:14px;height:14px}.prose{max-width:var(--readw);margin:0 auto;padding:48px 0 10px}.prose h1{font-size:clamp(28px,5vw,42px);font-weight:800;letter-spacing:-.03em;margin:14px 0 16px}.prose .stand{font-size:19px;color:var(--text-muted);line-height:1.6;margin-bottom:30px}.prose h2{font-size:21px;font-weight:700;margin:36px 0 12px;color:var(--text)}.prose p{font-size:17px;line-height:1.78;color:var(--text-muted);margin:0 0 18px}.prose ul{margin:0 0 20px;padding-left:22px;display:grid;gap:9px}.prose li{font-size:16.5px;line-height:1.6;color:var(--text-muted)}.prose li::marker{color:var(--cyan)}.prose a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--cyan-line)}.prose a:hover{color:var(--text)}.nf{max-width:640px;margin:0 auto;padding:88px 20px 60px;text-align:center}.nf .code404{font-family:var(--f-mono);font-size:13px;font-weight:700;letter-spacing:.2em;color:var(--cyan)}.nf h1{font-size:clamp(26px,5vw,40px);font-weight:800;margin:16px 0 24px;letter-spacing:-.03em}.nf p{color:var(--text-muted);max-width:46ch;margin:0 auto 26px;font-size:16px}.nf-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}:root:not([data-theme=light]) .theme-sun{display:none}.hdr .btn,.searchbar{white-space:nowrap}@media(max-width:1240px){.searchbar{min-width:0}.searchbar>span:not(.kbd){display:none}}@media(max-width:1100px){.hdr-right>.btn.cyan{display:none}}.hdr .brand small{display:none}.md{counter-reset:sec}.md h2{counter-increment:sec;display:flex;align-items:center;gap:13px;font-size:22px;font-weight:800;letter-spacing:-.02em;color:var(--text);margin:44px 0 18px;scroll-margin-top:92px}.md h2:before{content:counter(sec,decimal-leading-zero);font-family:var(--f-mono);font-size:12px;font-weight:700;color:var(--cyan);border:1px solid var(--cyan-line);background:var(--cyan-soft);border-radius:7px;padding:4px 9px;flex:none}.md>h2:first-child{margin-top:0}.md h2:first-of-type+p{font-size:20px;line-height:1.5;font-weight:600;color:var(--text);border-left:3px solid var(--cyan);background:linear-gradient(90deg,var(--cyan-soft),transparent);padding:14px 0 14px 20px;border-radius:0 8px 8px 0;margin:0 0 24px;font-family:var(--f-display)}.md h3{font-size:17px;font-weight:700;color:var(--text);margin:28px 0 10px;scroll-margin-top:92px}.md p{margin:0 0 18px}.md strong{color:var(--text)}.md a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--cyan-line)}.md a:hover{color:var(--text)}.md ul,.md ol{margin:0 0 20px;padding-left:22px;display:grid;gap:8px}.md li::marker{color:var(--cyan)}.md hr{border:none;border-top:1px solid var(--border);margin:36px 0}.md blockquote{margin:0 0 20px;padding:14px 18px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:var(--f-mono);font-size:14px;line-height:1.65}.md blockquote p:last-child{margin:0}.md :not(pre)>code{font-family:var(--f-mono);font-size:.86em;color:var(--text);background:var(--surface-3);border:1px solid var(--border);padding:1px 6px;border-radius:5px}.md table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px;line-height:1.45;color:var(--text-muted)}.md .matrix-scroll{margin:0 0 24px}.md .matrix-scroll table{min-width:640px}.md th,.md td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--border);vertical-align:middle}.md thead th{background:var(--surface-3);font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-weight:600;white-space:nowrap}.md tbody tr:hover{background:var(--surface-2)}.md tbody tr:last-child td{border-bottom:none}.md td:first-child{font-family:var(--f-display);font-weight:700;color:var(--text)}.md a[href^=http].cta-link,.md td a[href^=http]{display:inline-flex;align-items:center;gap:6px;text-decoration:none;white-space:nowrap;font-family:var(--f-body);font-weight:600;font-size:13px;color:var(--on-accent);background:var(--blue);border-radius:var(--r-sm);padding:7px 12px}.md td a[href^=http]:hover{background:var(--blue-hover);color:var(--on-accent)}.md pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--f-mono);font-size:13px;line-height:1.65;background:transparent!important}.md pre code{font-family:inherit}.md .code{margin:0 0 22px}.md ul.contains-task-list{list-style:none;padding:0;gap:0;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface)}.md li.task-list-item{display:flex;align-items:flex-start;gap:13px;padding:15px 18px;border-bottom:1px solid var(--border);color:var(--text);font-size:16px;line-height:1.5;cursor:pointer}.md li.task-list-item:last-child{border-bottom:none}.md li.task-list-item:hover{background:var(--surface-2)}.md li.task-list-item input{appearance:none;-webkit-appearance:none;flex:none;margin:2px 0 0;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--border-2);background:var(--surface-2);cursor:pointer;display:grid;place-items:center}.md li.task-list-item input:checked{background:var(--cyan);border-color:var(--cyan)}.md li.task-list-item input:checked:after{content:"✓";color:var(--bg);font-weight:900;font-size:13px}.md li.task-list-item.done{color:var(--text-faint);text-decoration:line-through}.art-hero{margin:0 0 32px;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--surface-2)}.art-hero img{display:block;width:100%;height:auto;aspect-ratio:16 / 9}.art-hero figcaption{font-family:var(--f-mono);font-size:11.5px;color:var(--text-faint);padding:10px 14px;border-top:1px solid var(--border)}
