:root{--surface-1:#fcfcfb;--surface-2:#fff;--page:#f4f4f1;--text-primary:#0b0b0b;--text-secondary:#52514e;--text-muted:#898781;--grid:#e1e0d9;--border:#0b0b0b1a;--baseline:#c3c2b7;--blue:#2a78d6;--aqua:#1baf7a;--yellow:#eda100;--green:#008300;--violet:#4a3aa7;--red:#e34948;--magenta:#e87ba4;--orange:#eb6834;--teal:#7eccb0;--navy:#231f57;--good:#0ca30c;--good-ink:#006300;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--radius:14px;--shadow:0 1px 2px #0b0b0b0a, 0 8px 24px #0b0b0b0f;--maxw:1180px;--font:system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"SF Mono", "JetBrains Mono", "Cascadia Code", Consolas, monospace}@media (prefers-color-scheme:dark){:root{--surface-1:#1a1a19;--surface-2:#202020;--page:#0d0d0d;--text-primary:#fff;--text-secondary:#c3c2b7;--text-muted:#898781;--grid:#2c2c2a;--border:#ffffff1a;--baseline:#383835;--blue:#3987e5;--aqua:#199e70;--yellow:#c98500;--violet:#9085e9;--red:#e66767;--magenta:#d55181;--orange:#d95926;--good-ink:#0ca30c;--shadow:0 1px 2px #0000004d, 0 8px 24px #0006}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--page);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;line-height:1.15}img{max-width:100%}::selection{background:color-mix(in srgb, var(--blue) 25%, transparent)}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}section{border-top:1px solid var(--border);padding:68px 0}section:first-of-type{border-top:none}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--blue);align-items:center;gap:8px;margin-bottom:12px;font-size:12px;font-weight:700;display:flex}.section-title{margin-bottom:10px;font-size:clamp(24px,3.4vw,34px);font-weight:800}.section-lead{color:var(--text-secondary);max-width:720px;margin-bottom:28px;font-size:17px}.topbar{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb, var(--page) 82%, transparent);border-bottom:1px solid var(--border);position:sticky;top:0}.topbar-inner{max-width:var(--maxw);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:12px 24px;display:flex}.brand{align-items:center;gap:9px;font-size:15px;font-weight:800;display:flex}.brand .dot{background:var(--aqua);border-radius:3px;width:10px;height:10px}.topnav{color:var(--text-secondary);gap:20px;font-size:14px;display:flex}.topnav a{color:var(--text-secondary)}@media (width<=760px){.topnav{display:none}}.hero{padding:56px 0 40px}.hero h1{letter-spacing:-.03em;font-size:clamp(34px,6vw,62px);font-weight:850}.hero .accent{color:var(--aqua)}.hero-lead{color:var(--text-secondary);max-width:760px;margin:22px 0 30px;font-size:clamp(17px,2.2vw,21px)}.badge-row{flex-wrap:wrap;gap:10px;margin-bottom:34px;display:flex}.badge{border:1px solid var(--border);background:var(--surface-1);border-radius:999px;align-items:center;gap:8px;padding:7px 13px;font-size:13px;font-weight:600;display:inline-flex}.badge.live{border-color:color-mix(in srgb, var(--good) 45%, transparent);color:var(--good-ink)}.badge .pulse{background:var(--good);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--good) 60%, transparent);border-radius:50%;animation:2s infinite pulse}@keyframes pulse{70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}.answer-strip{flex-wrap:wrap;gap:10px;display:flex}.answer-chip{background:color-mix(in srgb, var(--aqua) 12%, var(--surface-1));border:1px solid color-mix(in srgb, var(--aqua) 30%, transparent);border-radius:12px;padding:10px 15px;font-size:15px;font-weight:700}.tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:34px;display:grid}.tile{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 20px}.tile .value{letter-spacing:-.02em;font-size:30px;font-weight:820}.tile .label{color:var(--text-muted);margin-top:3px;font-size:13px}.tile .value.small{font-size:20px}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.grid{gap:18px;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.chart-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:22px;overflow:hidden}.chart-card.featured{border-color:color-mix(in srgb, var(--aqua) 40%, transparent)}.chart-head{justify-content:space-between;align-items:flex-start;gap:14px;padding:18px 20px 6px;display:flex}.chart-head h3{font-size:19px;font-weight:750}.chart-caption{color:var(--text-secondary);max-width:900px;padding:0 20px 14px;font-size:14.5px}.chart-img-wrap{padding:6px 16px 18px;overflow-x:auto}.chart-img-wrap img{border-radius:8px;width:100%;display:block}.chart-img-link{cursor:zoom-in;border-radius:8px;display:block;position:relative;overflow:hidden}.chart-img-link .zoom-hint{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;background:#0b0b0ba8;border-radius:8px;padding:5px 10px;font-size:12px;font-weight:600;transition:all .15s;position:absolute;top:10px;right:10px;transform:translateY(-4px)}.chart-img-link:hover .zoom-hint{opacity:1;transform:translateY(0)}.chart-img-link:after{content:"";box-shadow:inset 0 0 0 2px var(--blue);opacity:0;border-radius:8px;transition:opacity .15s;position:absolute;inset:0}.chart-img-link:hover:after{opacity:1}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000008c;justify-content:center;align-items:center;padding:24px;animation:.14s fadein;display:flex;position:fixed;inset:0}.modal{background:var(--surface-1);border:1px solid var(--border);border-radius:16px;flex-direction:column;width:100%;max-width:800px;max-height:88vh;animation:.16s pop;display:flex;overflow:hidden;box-shadow:0 24px 70px #00000073}.modal-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-head h3{font-size:17px;font-weight:750}.modal-close{border:1px solid var(--border);background:var(--surface-2);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:8px;flex-shrink:0;font-size:20px;line-height:1;transition:all .15s}.modal-close:hover{color:var(--text-primary);border-color:var(--blue)}.modal-body{padding:20px;overflow-y:auto}.modal-body .guide-intro{margin-top:0}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.97)translateY(6px)}to{opacity:1;transform:none}}.chart-tag{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:700}.chart-tag.exact{background:color-mix(in srgb, var(--aqua) 16%, transparent);color:var(--good-ink)}.chart-tag.smart{background:color-mix(in srgb, var(--blue) 16%, transparent);color:var(--blue)}.help-btn{cursor:pointer;border:1px solid var(--border);background:var(--surface-2);width:30px;height:30px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:800;line-height:1;transition:all .15s;display:inline-flex}.help-btn:hover{border-color:var(--blue);color:var(--blue)}.help-btn.open{background:var(--blue);color:#fff;border-color:var(--blue)}.help-btn.inline{vertical-align:middle;width:22px;height:22px;margin-left:7px;font-size:12px}.guide{border-top:1px dashed var(--border);margin:0 16px;padding:16px 4px 20px}.guide-label{text-transform:uppercase;letter-spacing:.08em;color:var(--blue);align-items:center;gap:7px;margin-bottom:8px;font-size:12px;font-weight:700;display:flex}.guide-intro{color:var(--text-secondary);margin-bottom:14px;font-size:14.5px}.guide-note{color:var(--text-muted);border-left:3px solid var(--baseline);margin-top:12px;padding-left:12px;font-size:13px}.code-scroll{border:1px solid var(--border);border-radius:10px;overflow:hidden}.code-scroll pre{max-height:460px;margin:0!important}.verdict-cols{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.verdict-col{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-1);padding:20px}.verdict-col h3{align-items:center;gap:9px;margin-bottom:4px;font-size:18px;display:flex}.verdict-col.best{border-top:3px solid var(--good)}.verdict-col.mid{border-top:3px solid var(--yellow)}.verdict-col.avoid{border-top:3px solid var(--critical)}.verdict-item{border-top:1px solid var(--border);padding:12px 0}.verdict-item:first-of-type{border-top:none}.verdict-item .g{font-size:15px;font-weight:700}.verdict-item .w{color:var(--text-secondary);margin-top:2px;font-size:13.5px}.mmorpg{border-radius:var(--radius);background:linear-gradient(135deg, color-mix(in srgb, var(--violet) 14%, var(--surface-1)), var(--surface-1));border:1px solid color-mix(in srgb, var(--violet) 30%, transparent);box-shadow:var(--shadow);padding:30px;position:relative;overflow:hidden}.mmorpg .rank{letter-spacing:.1em;text-transform:uppercase;color:var(--violet);font-size:13px;font-weight:800}.mmorpg h2{margin:6px 0 8px;font-size:clamp(28px,5vw,46px);font-weight:850}.mmorpg .big{font-size:15px}.mmorpg-stats{flex-wrap:wrap;gap:30px;margin:20px 0;display:flex}.mmorpg-stats .n{font-size:40px;font-weight:850;line-height:1}.mmorpg-stats .l{color:var(--text-muted);margin-top:4px;font-size:13px}.unbiased{color:var(--good-ink);background:color-mix(in srgb, var(--good) 12%, transparent);border:1px solid color-mix(in srgb, var(--good) 35%, transparent);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.caveat{background:color-mix(in srgb, var(--warning) 10%, transparent);border:1px solid color-mix(in srgb, var(--warning) 35%, transparent);color:var(--text-secondary);border-radius:10px;margin-top:18px;padding:14px 16px;font-size:13.5px}.caveat b{color:var(--text-primary)}.meta-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-1);box-shadow:var(--shadow);padding:22px}.meta-card .pill{letter-spacing:.06em;text-transform:uppercase;border-radius:999px;margin-bottom:12px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-block}.pill.avoid{background:color-mix(in srgb, var(--critical) 14%, transparent);color:var(--critical)}.pill.hard{background:color-mix(in srgb, var(--warning) 16%, transparent);color:#9a6a00}.pill.opportunity{background:color-mix(in srgb, var(--good) 14%, transparent);color:var(--good-ink)}.meta-card h3{margin-bottom:4px;font-size:20px}.meta-card .tag{color:var(--text-muted);margin-bottom:12px;font-size:13.5px;font-style:italic}.meta-card p{color:var(--text-secondary);font-size:14.5px}.ex-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.ex-chips span{background:var(--surface-2);border:1px solid var(--border);color:var(--text-secondary);border-radius:7px;padding:3px 9px;font-size:12px}.tax-card{border:1px solid var(--border);background:var(--surface-1);border-radius:12px;padding:16px 18px}.tax-card h4{align-items:center;gap:8px;font-size:15.5px;display:flex}.tax-card h4 .m{background:var(--aqua);border-radius:2px;width:8px;height:8px}.tax-card .blurb{color:var(--text-muted);margin:5px 0 10px;font-size:13px}.tax-card .games{flex-wrap:wrap;gap:5px;display:flex}.tax-card .games span{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-size:12px}.tbl{border-collapse:collapse;width:100%;font-size:14.5px}.tbl th,.tbl td{text-align:left;border-bottom:1px solid var(--border);padding:11px 14px}.tbl th{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:12px;font-weight:700}.tbl td.num{font-variant-numeric:tabular-nums;text-align:right}.tbl tr:last-child td{border-bottom:none}.tbl .hl{color:var(--good-ink);font-weight:700}.table-scroll{overflow-x:auto}.comment{break-inside:avoid;border:1px solid var(--border);background:var(--surface-1);border-radius:12px;margin-bottom:16px;padding:16px 18px}.comment .meta{align-items:center;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.comment .author{font-weight:700}.comment .when{color:var(--text-muted)}.comment .theme{background:color-mix(in srgb, var(--blue) 12%, transparent);color:var(--blue);border-radius:6px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:600}.comment p{color:var(--text-secondary);margin:0;font-size:14px}.comment .likes{color:var(--text-muted);margin-top:8px;font-size:12px}.masonry{columns:2;column-gap:16px}@media (width<=720px){.masonry{columns:1}}.reasons{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.reason{border:1px solid var(--border);background:var(--surface-1);border-radius:12px;padding:16px}.reason .n{background:color-mix(in srgb, var(--red) 14%, transparent);width:30px;height:30px;color:var(--red);border-radius:8px;justify-content:center;align-items:center;margin-bottom:10px;font-weight:800;display:flex}.reason h4{margin-bottom:4px;font-size:15px}.reason p{color:var(--text-secondary);margin:0;font-size:13px}.checklist{margin:0;padding:0;list-style:none}.checklist li{border-top:1px solid var(--border);color:var(--text-secondary);padding:10px 0 10px 30px;font-size:14.5px;position:relative}.checklist li:first-child{border-top:none}.checklist li:before{content:"";background:var(--blue);border-radius:50%;width:8px;height:8px;position:absolute;top:16px;left:6px}.checklist.warn li:before{background:var(--warning)}footer{border-top:1px solid var(--border);color:var(--text-muted);padding:44px 0 60px;font-size:13.5px}.src-list{gap:12px;margin:18px 0 30px;display:grid}.src{border:1px solid var(--border);background:var(--surface-1);border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.src .idx{color:var(--blue);font-variant-numeric:tabular-nums;font-weight:800}.src .l{color:var(--text-primary);font-weight:700}.src .d{color:var(--text-muted);font-size:13px}.recharts-wrapper{font-size:12.5px}.chart-frame{padding:8px 4px 0}.chart-legend{flex-wrap:wrap;gap:16px;margin:6px 0 2px;font-size:13px;display:flex}.chart-legend .k{color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.chart-legend .sw{border-radius:3px;width:12px;height:12px}.toggle-row{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;gap:4px;margin-bottom:16px;padding:4px;display:inline-flex}.toggle-row button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:7px;padding:7px 14px;font-size:13.5px;font-weight:600}.toggle-row button.active{background:var(--blue);color:#fff}
