:root{--bg:#0e0a08;--surface:#161210;--fg:#fbf6eb;--fg-dim:#a49d93;--fg-faint:#6b655c;--accent:#cf0;--accent-ink:#0e0a08;--lime:#cf0;--hair:#fbf6eb24;--hair-strong:#fbf6eb47;--sans:"Avenir Next","Helvetica Neue",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--display:Futura,"Avenir Next","Century Gothic","Trebuchet MS",var(--sans);--mono:ui-monospace,"SF Mono",SFMono-Regular,"JetBrains Mono",Menlo,Consolas,monospace;--pad:clamp(18px,3.4vw,44px)}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#fbf6eb;--surface:#f3ecdc;--fg:#14100d;--fg-dim:#57524a;--fg-faint:#8a847a;--accent:#1c3a2a;--accent-ink:#fbf6eb;--hair:#1c3a2a2b;--hair-strong:#1c3a2a5c}}:root[data-theme=light]{--bg:#fbf6eb;--surface:#f3ecdc;--fg:#14100d;--fg-dim:#57524a;--fg-faint:#8a847a;--accent:#1c3a2a;--accent-ink:#fbf6eb;--hair:#1c3a2a2b;--hair-strong:#1c3a2a5c}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}p{margin:0}a{color:inherit}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mono{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;font-size:10.5px;font-weight:500}.top{padding:14px var(--pad);border-bottom:1px solid var(--hair);background:var(--bg);z-index:40;align-items:center;gap:16px;display:flex;position:sticky;top:0}.wm{align-items:center;gap:10px;text-decoration:none;display:flex}.wm .name{font-family:var(--display);letter-spacing:.24em;text-transform:uppercase;font-size:15px}.top .r{color:var(--fg-faint);align-items:center;gap:14px;margin-left:auto;display:flex}.tbtn{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;border:1px solid var(--hair);color:var(--fg-dim);cursor:pointer;background:0 0;padding:5px 10px;font-size:10px}.tbtn:hover{border-color:var(--hair-strong);color:var(--fg)}@media (width<=620px){.top .r .hs{display:none}}.head{padding:30px var(--pad) 0}.head h1{font-family:var(--display);letter-spacing:-.032em;margin:0 0 8px;font-size:clamp(30px,4.4vw,44px);font-weight:400}.head .sub{color:var(--fg-dim);max-width:64ch;margin-bottom:22px}.tabs{border-bottom:1px solid var(--hair);gap:0;display:flex}.tab{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--fg-faint);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;margin-right:28px;padding:11px 0;font-size:11px}.tab:hover{color:var(--fg)}.tab.on{color:var(--fg);border-bottom-color:var(--accent)}.tab b{color:var(--fg-faint);margin-left:7px;font-weight:500}.tab.on b{color:var(--accent)}.wrap{padding:0 var(--pad) 90px;align-items:flex-start;gap:0;display:flex}.side{border-right:1px solid var(--hair);flex:none;width:212px;max-height:calc(100vh - 57px);margin-right:30px;padding:26px 26px 40px 0;position:sticky;top:57px;overflow-y:auto}.side h3{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--fg-faint);margin:0 0 9px;font-size:10px;font-weight:500}.side section{margin-bottom:26px}.side label{cursor:pointer;color:var(--fg-dim);align-items:center;gap:8px;padding:3px 0;font-size:13.5px;display:flex}.side label:hover{color:var(--fg)}.side input{appearance:none;border:1px solid var(--hair-strong);cursor:pointer;background:0 0;flex:none;width:13px;height:13px;margin:0}.side input:checked{background:var(--accent);border-color:var(--accent)}.side .n{font-family:var(--mono);color:var(--fg-faint);margin-left:auto;font-size:9.5px}.clear{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-faint);cursor:pointer;background:0 0;border:0;padding:0;font-size:9.5px;text-decoration:underline}.clear:hover{color:var(--accent)}.body{flex:1;min-width:0;padding-top:26px}@media (width<=860px){.wrap{flex-direction:column}.side{border-right:0;border-bottom:1px solid var(--hair);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 24px;width:100%;max-height:none;margin-right:0;padding:20px 0 8px;display:grid;position:static}}.search{border:1px solid var(--hair);background:var(--surface);align-items:center;gap:10px;max-width:520px;padding:10px 14px;display:flex}.search:focus-within{border-color:var(--accent)}#q{color:var(--fg);font-family:var(--sans);background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:15px}#q::placeholder{color:var(--fg-faint)}.count{color:var(--fg-faint);margin:18px 0 14px}.count b{color:var(--fg);font-weight:500}.cards{border-top:1px solid var(--hair);border-left:1px solid var(--hair);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:0;display:grid}.card{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);flex-direction:column;gap:9px;padding:20px 20px 22px;display:flex}.card:hover{background:var(--surface)}.card .r1{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.lvl{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;border:1px solid var(--hair-strong);color:var(--fg-dim);white-space:nowrap;padding:3px 7px;font-size:9px}.lvl.l4{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.type{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--fg-faint);font-size:9px}.card h4{font-family:var(--display);letter-spacing:-.022em;margin:0;font-size:19px;font-weight:400;line-height:1.24}.card .desc{color:var(--fg-dim);flex:1;font-size:13.5px;line-height:1.55}.card .build{color:var(--fg);border-left:2px solid var(--accent);padding-left:10px;font-size:13px}.card .build span{color:var(--fg-faint);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;margin-bottom:2px;font-size:9px;display:block}.card .foot{border-top:1px solid var(--hair);color:var(--fg-faint);flex-wrap:wrap;align-items:center;gap:10px;padding-top:10px;display:flex}.card .foot .topic{color:var(--fg-dim);font-size:12.5px}.card .foot .hrs{font-family:var(--mono);color:var(--fg-dim);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:10.5px}.tech{font-family:var(--mono);letter-spacing:.08em;color:var(--fg-faint);font-size:9.5px}.ch-lead{max-width:70ch;margin-bottom:26px}.ch-lead .tag{font-family:var(--display);letter-spacing:-.024em;margin-bottom:14px;font-size:clamp(20px,2.4vw,27px);line-height:1.2}.ch-lead p{color:var(--fg-dim)}.ch-facts{border-top:1px solid var(--hair);border-left:1px solid var(--hair);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:38px;display:grid}.ch-facts>div{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:16px 18px}.ch-facts .k{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:5px;font-size:9.5px}.ch-facts .v{font-size:14px}.ch h3{font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--fg-faint);border-bottom:1px solid var(--hair-strong);margin:0 0 14px;padding-bottom:9px;font-size:10.5px;font-weight:500}.ch section{margin-bottom:40px}.tl{border-top:1px solid var(--hair);grid-template-columns:120px 1fr;display:grid}.tl>div{border-bottom:1px solid var(--hair);padding:16px 0}.tl .w{border-right:1px solid var(--hair);padding-right:18px}.tl .w .wk{font-family:var(--mono);letter-spacing:.12em;color:var(--accent);font-size:10px}.tl .w .nm{font-family:var(--display);letter-spacing:-.02em;margin-top:4px;font-size:18px}.tl .w .hr{font-family:var(--mono);color:var(--fg-faint);margin-top:4px;font-size:9.5px}.tl .d{padding-left:22px}.tl .d p{color:var(--fg-dim);font-size:14px}.tl .d .next{border-left:2px solid var(--accent);margin-top:9px;padding-left:11px;font-size:13.5px}.tl .d .next span{font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;color:var(--fg-faint);margin-bottom:2px;font-size:9px;display:block}.tl .mid .nm{color:var(--fg-dim);font-size:16px}@media (width<=660px){.tl{grid-template-columns:1fr}.tl .w{border-right:0;padding-bottom:8px}.tl .d{padding-top:0;padding-left:0}}.jd{grid-template-columns:1fr 58px;align-items:baseline;gap:0 16px;display:grid}.jd .row{display:contents}.jd .c{border-bottom:1px solid var(--hair);padding:13px 0}.jd .c .t{font-family:var(--display);letter-spacing:-.02em;font-size:17px}.jd .c .x{color:var(--fg-dim);margin-top:3px;font-size:13.5px}.jd .p{border-bottom:1px solid var(--hair);text-align:right;font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;padding:13px 0;font-size:13px}.cols{border-top:1px solid var(--hair);border-left:1px solid var(--hair);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0;display:grid}.cols>div{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:20px}.cols h4{font-family:var(--display);letter-spacing:-.02em;margin:0 0 12px;font-size:18px;font-weight:400}.cols ul{color:var(--fg-dim);margin:0;padding-left:16px;font-size:13.5px}.cols li{margin-bottom:7px}.roles>div{border-bottom:1px solid var(--hair);gap:14px;padding:11px 0;font-size:13.5px;display:flex}.roles .r{font-family:var(--mono);letter-spacing:.08em;color:var(--fg);text-transform:uppercase;flex:none;width:150px;font-size:10px}.roles .x{color:var(--fg-dim)}@media (width<=560px){.roles>div{flex-direction:column;gap:3px}.roles .r{width:auto}}.wcard{border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);padding:20px 20px 22px}.wcard h4{font-family:var(--display);letter-spacing:-.022em;margin:0 0 8px;font-size:20px;font-weight:400;line-height:1.22}.wcard .who{color:var(--fg-dim);margin-bottom:12px;font-size:13.5px}.wcard .build{border-left:2px solid var(--accent);margin-bottom:12px;padding-left:10px;font-size:13px}.wcard .build span{color:var(--fg-faint);font-family:var(--mono);letter-spacing:.11em;text-transform:uppercase;margin-bottom:2px;font-size:9px;display:block}.wcard ol{counter-reset:o;margin:12px 0 0;padding:0;list-style:none;display:none}.wcard.open ol{display:block}.wcard li{border-top:1px solid var(--hair);color:var(--fg-dim);counter-increment:o;padding:8px 0 8px 34px;font-size:13.5px;position:relative}.wcard li:before{content:counter(o,decimal-leading-zero);font-family:var(--mono);color:var(--fg-faint);font-size:9.5px;position:absolute;top:9px;left:0}.wtog{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--hair);color:var(--fg-dim);cursor:pointer;background:0 0;margin-top:12px;padding:7px 11px;font-size:9.5px}.wtog:hover{border-color:var(--accent);color:var(--accent)}.empty{color:var(--fg-faint);padding:60px 0}.hide{display:none}footer{padding:26px var(--pad) 40px;border-top:1px solid var(--hair);color:var(--fg-faint);flex-wrap:wrap;gap:14px;display:flex}footer .r{margin-left:auto}
