:root{--bg:#0f0d0b;--bg2:#17130f;--panel:#1c1713;--line:#2e2620;--text:#efe6dc;--muted:#a59484;--accent:#e2533a;--accent2:#f0a33c;--ok:#4cc38a;--wl:#8b7cf6;--r:12px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:radial-gradient(1200px 600px at 80% -10%,#2a1610 0,transparent 60%),var(--bg);color:var(--text);font:15px/1.55 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Inter,sans-serif}
a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;margin:.2em 0 .5em;letter-spacing:-.01em}h1{font-size:2rem}h2{font-size:1.25rem}h3{font-size:1.02rem}
code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#120f0c;border:1px solid var(--line);border-radius:6px;padding:.1em .4em}
pre{padding:.8em 1em;overflow:auto}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}.small{font-size:.82rem}.accent{color:var(--accent)}
.top{position:sticky;top:0;z-index:10;background:rgba(15,13,11,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:22px;height:62px}
.brand{font-weight:800;font-size:1.25rem;color:var(--text);display:flex;align-items:center;gap:8px;letter-spacing:.02em}.brand:hover{text-decoration:none}
.logo{width:34px;height:34px;border-radius:9px;filter:drop-shadow(0 0 10px rgba(240,116,60,.35))}
.bname .rp{color:var(--accent2)}.btag{font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;border-left:1px solid var(--line);padding-left:9px;margin-left:2px}
@media (max-width:980px){.btag{display:none}}
nav{display:flex;gap:4px}nav a{color:var(--muted);padding:8px 12px;border-radius:8px;font-weight:600}nav a:hover,nav a.on{color:var(--text);background:var(--panel);text-decoration:none}
.navsearch{margin-left:auto}.navsearch input{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:8px 14px;width:240px}
input,select{font:inherit}
.btn{display:inline-block;background:linear-gradient(180deg,#ec6447,#c8412a);color:#fff;font-weight:700;border:0;border-radius:10px;padding:9px 16px;cursor:pointer;box-shadow:0 4px 18px rgba(226,83,58,.25);white-space:nowrap}
.btn:hover{filter:brightness(1.08);text-decoration:none}.btn.ghost{background:transparent;border:1px solid var(--line);box-shadow:none;color:var(--text)}.btn.big{padding:12px 20px;font-size:1rem}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center;padding:42px 0 26px}.hero.small{display:block;padding:30px 0 10px}
.hero h1{font-size:2.6rem;margin-bottom:.3em}.lead{font-size:1.08rem;color:#d7c9bb;max-width:760px}.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.statgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stat{background:linear-gradient(180deg,var(--panel),var(--bg2));border:1px solid var(--line);border-radius:var(--r);padding:16px;color:var(--muted);font-size:.85rem}
.stat span{display:block;font-size:1.8rem;font-weight:800;color:var(--text)}
section{margin:22px 0}
.shead{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cols.wide{grid-template-columns:1.6fr 1fr}
.slist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.srow{display:grid;grid-template-columns:52px 44px 1fr 120px auto;gap:12px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:10px 12px;transition:border-color .15s,transform .15s}
.srow:hover{border-color:#4a3b30}
.srow.sponsored{border-color:#6b4a1d;background:linear-gradient(90deg,#2a1f12,var(--panel))}
.rank{font-weight:800;color:var(--muted);text-align:center}
.ico{width:44px;height:44px;border-radius:10px;object-fit:cover;background:#2a221c;display:inline-grid;place-items:center;font-weight:800;color:var(--muted);flex:none}
.ico.broken{visibility:hidden}
.smain{min-width:0}.sname{color:var(--text);font-weight:700;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sdesc{color:var(--muted);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.chips.big .chip{font-size:.9rem;padding:6px 12px}
.chip{font-size:.72rem;padding:2px 8px;border-radius:999px;background:#2a221c;color:#d8c8b8;border:1px solid var(--line);white-space:nowrap}
.chip em{font-style:normal;color:var(--muted);margin-left:3px}.chip:hover{text-decoration:none;border-color:#5a4838}.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.chip.lang{color:#9fd3ff}.chip.fw{color:#ffd28a}.chip.wl{color:#c6bcff;border-color:#3d356b}.chip.ok{color:var(--ok);border-color:#24533c}.chip.game{color:#fff;background:#3a201a}
.splayers{text-align:right}.pnum strong{font-size:1.15rem}.pnum span{color:var(--muted);font-size:.85rem}
.cap{height:5px;background:#2a221c;border-radius:9px;overflow:hidden;margin:4px 0}.cap-fill{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent))}.cap-fill.hot{background:linear-gradient(90deg,#f05b3a,#ff2e4d)}
.pill{display:inline-block;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:6px;background:#3a2c12;color:var(--accent2)}
.featured{background:linear-gradient(180deg,#1f1813,#17120e);border:1px solid #3a2c1f;border-radius:16px;padding:14px 16px}
.fhead{display:flex;justify-content:space-between;align-items:center}.fhead h2{margin:0;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent2)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;margin-top:10px}
.fcard{position:relative;display:block;min-height:96px;border-radius:12px;border:1px solid var(--line);padding:12px;color:var(--text);background:linear-gradient(90deg,rgba(20,16,12,.95),rgba(20,16,12,.55)),var(--bg,#221a14) center/cover}
.fcard:hover{text-decoration:none;border-color:var(--accent2)}.fcard .pill{position:absolute;top:8px;right:8px}
.fcard.empty{border-style:dashed;background:transparent;color:var(--muted)}.fcard.empty .ico{font-size:1.4rem;color:var(--accent2)}
.fbody{display:flex;gap:12px;align-items:center;margin-top:14px}.fname{font-weight:700}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.card{display:flex;gap:10px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:10px;color:var(--text)}.card:hover{text-decoration:none;border-color:#4a3b30}
.card .fname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.promo-band{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(90deg,#3a1a12,#1c1713);border:1px solid #5a2a1d;border-radius:16px;padding:22px}
.crumbs{margin-top:18px;color:var(--muted);font-size:.85rem}
.listlayout{display:grid;grid-template-columns:250px 1fr;gap:22px;margin-top:18px}
.filters{position:sticky;top:80px;align-self:start;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:14px;max-height:calc(100vh - 100px);overflow:auto}
.filters label{display:block;font-size:.8rem;color:var(--muted);margin-bottom:10px}
.filters input,.filters select,.form input{display:block;width:100%;margin-top:4px;background:#120f0c;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:8px}
.filters h3{margin-top:16px;font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.pager{display:flex;justify-content:center;gap:14px;align-items:center;margin:20px 0}
.empty{padding:20px;color:var(--muted)}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}
.shero{margin-top:12px;border-radius:18px;border:1px solid var(--line);overflow:hidden;background:linear-gradient(90deg,rgba(15,13,11,.97) 35%,rgba(15,13,11,.6)),var(--bg,#1c1713) center/cover}
.shero-in{display:grid;grid-template-columns:84px 1fr 260px;gap:20px;align-items:center;padding:26px}
.shero .ico{width:84px;height:84px;border-radius:18px}.shero h1{margin:0 0 .2em}
.sh-side{background:rgba(0,0,0,.35);border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}
.bignum{font-size:1.1rem;color:var(--muted)}.bignum strong{font-size:2.2rem;color:var(--text)}.bignum.off{font-size:1.6rem;color:var(--muted)}
.sh-side .btn{width:100%;margin-top:10px}.connect{margin-top:8px;font-size:.78rem}
.chart{width:100%;height:auto;display:block}.chart .gl{stroke:#2e2620;stroke-width:1}.chart .gt{fill:#8d7c6c;font-size:10px}
.bars{display:flex;gap:3px;align-items:flex-end;height:110px;margin-top:8px}.bars .b{flex:1;max-width:34px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}
.bars i{display:block;width:100%;background:linear-gradient(180deg,var(--accent2),var(--accent));border-radius:3px 3px 0 0;min-height:2px}.bars span{font-size:9px;color:var(--muted);margin-top:3px}
.facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.9rem}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}
.note{background:#1f1a2e;border:1px solid #3d356b;border-radius:10px;padding:10px;font-size:.88rem;margin:12px 0}
.owner{border-top:1px solid var(--line);margin-top:14px;padding-top:12px;display:flex;flex-direction:column;gap:8px}
.narrow{max-width:720px;margin:30px auto}
.steps li{margin:6px 0}.form label{display:block;margin:10px 0;color:var(--muted);font-size:.85rem}.hp{position:absolute;left:-9999px}
.alert{padding:10px 14px;border-radius:10px;margin:12px 0}.alert.err,.alert.wait{background:#3a1515;border:1px solid #6b2525}.alert.ok{background:#12301f;border:1px solid #24533c}
.code{font-size:1.3rem;color:var(--accent2)}
.pricegrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}
.price{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column}
.price.hl{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 10px 40px rgba(226,83,58,.15)}.price .pill{position:absolute;top:-10px;left:20px}
.amt{font-size:2.2rem;font-weight:800}.amt span{font-size:.9rem;color:var(--muted);font-weight:400}.price ul{padding-left:18px;color:#d7c9bb;flex:1}.price .btn{text-align:center}
.faq h3{margin-top:16px}
.hostgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin:16px 0}.host p{color:#d7c9bb;font-size:.92rem}.perk{color:var(--accent2)!important}
.disclosure{font-size:.82rem;color:var(--muted);border-left:3px solid var(--accent2);padding-left:10px}
.bigsearch{display:flex;gap:10px;margin:10px 0 20px}.bigsearch input{flex:1;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:12px}
.foot{border-top:1px solid var(--line);margin-top:50px;padding:24px 0;color:#cbbcad;font-size:.85rem}
@media (max-width:980px){.hero,.cols,.cols.wide,.listlayout{grid-template-columns:1fr}.pricegrid{grid-template-columns:1fr 1fr}.filters{position:static;max-height:none}.navsearch input{width:150px}.shero-in{grid-template-columns:64px 1fr}.sh-side{grid-column:1/-1}}
@media (max-width:640px){nav a{padding:6px 7px;font-size:.9rem}.navsearch{display:none}.srow{grid-template-columns:34px 40px 1fr auto}.srow .join{display:none}.hero h1{font-size:1.9rem}.pricegrid{grid-template-columns:1fr}}

/* guides */
.guide .ghead{margin:8px 0 14px}.guide .lead{max-width:860px}
.guide section{margin:18px 0}.prose p,.prose li{max-width:860px}.prose h2{margin-top:1.1em}
.gtable-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}
.gtable{width:100%;border-collapse:collapse;font-size:.93rem}
.gtable th,.gtable td{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.gtable th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700;background:var(--bg2)}
.gtable tr:last-child td{border-bottom:0}.gtable .num{text-align:right;white-space:nowrap}.gtable .rk{color:var(--muted);font-weight:700}
.gtable td.chips{display:table-cell}.gtable td.chips .chip{margin:0 4px 4px 0}
.gtable .btn.join{padding:5px 12px;font-size:.85rem}
a.src{font-size:.75rem;color:var(--muted);margin-left:2px}
.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.gcard{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--panel);color:var(--text)}
.gcard:hover{border-color:var(--accent2);text-decoration:none}.gcards.big .gcard{padding:18px}
.gstats{grid-template-columns:repeat(4,1fr);margin:6px 0 10px}
@media (max-width:640px){.gstats{grid-template-columns:repeat(2,1fr)}}
kbd{font-family:ui-monospace,monospace;border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 .35em;background:#120f0c}

/* promote */
.optlist{display:grid;gap:8px;margin:10px 0 16px}
.opt{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg2);cursor:pointer}
.opt.full{opacity:.5;cursor:not-allowed}.opt .oamt{font-weight:700;font-size:.95rem;text-align:right}.opt input{accent-color:var(--accent)}
.ppbox{max-width:420px}
