:root[data-theme=light]{--bg:#f5f4f2;--bg-card:#ffffff;--bg-hover:#f4f3f0;--border:#e8e6e1;--border-subtle:#f0ede8;--text-primary:#141412;--text-secondary:#6b6860;--text-tertiary:#a09d98;--tag-bg:#f0ede8;--tag-text:#6b6860;--shadow:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 16px rgba(0,0,0,.1);--score-great:#1a6b3c;--score-great-bg:#eaf5ee;--score-good:#1a4a6b;--score-good-bg:#eaf0f5;--score-mid:#6b5a1a;--score-mid-bg:#f5f0ea;--score-low:#6b1a1a;--score-low-bg:#f5eaea;--game-accent:#c8332a;--hero-overlay:linear-gradient(to bottom,rgba(245,244,242,0)0%,rgba(245,244,242,.6)65%,rgba(245,244,242,1)100%);--hero-side:linear-gradient(to right,rgba(245,244,242,.3)0%,transparent 50%)}:root[data-theme=dark]{--bg:#09090a;--bg-card:#131314;--bg-hover:#1c1c1e;--border:#222224;--border-subtle:#191919;--text-primary:#f0ede8;--text-secondary:#908d87;--text-tertiary:#484644;--tag-bg:#1c1c1e;--tag-text:#6a6866;--shadow:0 1px 3px rgba(0,0,0,.5);--shadow-md:0 4px 16px rgba(0,0,0,.7);--score-great:#4ade80;--score-great-bg:#0b2016;--score-good:#60a5fa;--score-good-bg:#0b1828;--score-mid:#fbbf24;--score-mid-bg:#201808;--score-low:#f87171;--score-low-bg:#200808;--game-accent:#e84444;--hero-overlay:linear-gradient(to bottom,rgba(9,9,10,0)0%,rgba(9,9,10,.65)65%,rgba(9,9,10,1)100%);--hero-side:linear-gradient(to right,rgba(9,9,10,.35)0%,transparent 50%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:DM Sans,sans-serif;background:var(--bg);color:var(--text-primary);min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.topnav{position:sticky;top:0;z-index:30;background:#09090ae0;border-bottom:1px solid var(--border);padding:13px 28px;display:flex;align-items:center;gap:16px;backdrop-filter:blur(20px)}[data-theme=light] .topnav{background:#f5f4f2e0}.back-btn{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-tertiary);transition:color .15s}.back-btn:hover{color:var(--text-primary)}.logo{font-family:"DM Serif Display",serif;font-size:19px;letter-spacing:-.3px;display:flex;align-items:center;gap:7px;margin-left:auto}.logo-dot{width:6px;height:6px;background:var(--game-accent);border-radius:50%;box-shadow:0 0 10px var(--game-accent)}.theme-btn{background:none;border:none;cursor:pointer;color:var(--text-tertiary);padding:6px;display:flex;align-items:center;transition:color .15s;margin-left:8px}.theme-btn:hover{color:var(--text-primary)}.jump-nav{position:sticky;top:53px;z-index:20;background:#09090ab8;border-bottom:1px solid var(--border);backdrop-filter:blur(16px);display:flex;overflow-x:auto;scrollbar-width:none}.jump-nav::-webkit-scrollbar{display:none}[data-theme=light] .jump-nav{background:#f5f4f2d1}.jump-link{font-size:11px;font-weight:500;color:var(--text-tertiary);padding:10px 20px;letter-spacing:.08em;text-transform:uppercase;transition:color .15s,border-color .15s;border-bottom:2px solid transparent;white-space:nowrap;flex-shrink:0}.jump-link:hover{color:var(--text-primary)}.jump-link.active{color:var(--text-primary);border-color:var(--game-accent)}.hero{position:relative;width:100%;height:460px;overflow:hidden;background:#0c0c10}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;opacity:.78}.hero-mosaic{position:absolute;inset:-20px;display:none;flex-wrap:wrap;filter:blur(18px) saturate(1.5) brightness(.35);transform:scale(1.08)}.hero-mosaic.visible{display:flex}.hero-mosaic-tile{flex:1 1 90px;min-width:90px;min-height:180px;background-size:cover;background-position:center}.hero-side-fade{position:absolute;inset:0;background:var(--hero-side)}.hero-overlay{position:absolute;inset:0;background:var(--hero-overlay)}.page{max-width:900px;margin:0 auto;padding:0 28px 100px}.platform-header{display:flex;gap:28px;align-items:flex-end;margin-bottom:32px;position:relative;z-index:2}.platform-header.has-banner{margin-top:-110px}.platform-header.no-banner{margin-top:32px}.platform-logo-wrap{flex-shrink:0;width:140px;height:140px;border-radius:22px;background:var(--bg-card);border:1px solid rgba(232,68,68,.3);box-shadow:0 14px 48px #000c,0 0 36px #e844442e;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:60px}.platform-logo{width:100%;height:100%;object-fit:contain;padding:18px;filter:brightness(0) invert(1)}[data-theme=light] .platform-logo{filter:brightness(0);opacity:.85}.platform-info{flex:1;min-width:0;padding-bottom:6px}.platform-name-row{display:flex;align-items:baseline;gap:14px;margin-bottom:8px;flex-wrap:wrap}.platform-name{font-family:Cinzel,serif;font-size:34px;line-height:1.1;letter-spacing:.04em;font-weight:600;text-shadow:0 2px 24px rgba(0,0,0,.8)}.console-score-wrap{display:flex;align-items:baseline;gap:5px;flex-shrink:0}.console-score-num{font-family:Century Schoolbook,New Century Schoolbook,Georgia,serif;font-size:28px;font-weight:400;line-height:1;letter-spacing:-1px}.console-score-num.great{color:var(--score-great)}.console-score-num.good{color:var(--score-good)}.console-score-num.mid{color:var(--score-mid)}.console-score-num.low{color:var(--score-low)}.console-score-label{font-size:11px;color:var(--text-tertiary);font-weight:500;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.platform-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.platform-meta-item{font-size:13px;color:var(--text-secondary)}.platform-meta-sep{color:var(--text-tertiary);font-size:10px}.platform-website{font-size:13px;color:var(--game-accent);transition:opacity .15s;display:flex;align-items:center;gap:4px}.platform-website:hover{opacity:.7}.rate-console-btn{margin-top:12px;display:inline-flex;align-items:center;gap:6px;background:var(--game-accent);color:#fff;border:none;border-radius:20px;padding:7px 16px;font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .15s}.rate-console-btn:hover{opacity:.85}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:28px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:20px 18px 16px}.stat-card.score-card-great{border-bottom:2px solid var(--score-great)}.stat-card.score-card-good{border-bottom:2px solid var(--score-good)}.stat-card.score-card-mid{border-bottom:2px solid var(--score-mid)}.stat-card.score-card-low{border-bottom:2px solid var(--score-low)}.stat-num{font-family:Century Schoolbook,New Century Schoolbook,Georgia,serif;font-size:32px;font-weight:400;line-height:1;letter-spacing:-1px;margin-bottom:5px;color:var(--text-primary);background:none}.stat-num.great{color:var(--score-great)}.stat-num.good{color:var(--score-good)}.stat-num.mid{color:var(--score-mid)}.stat-num.low{color:var(--score-low)}.stat-label{font-size:10px;font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em}.stat-sub{font-size:10px;color:var(--text-tertiary);margin-top:2px}.about-grid{display:grid;grid-template-columns:1fr 260px;gap:24px;margin-bottom:40px}@media(max-width:720px){.about-grid{grid-template-columns:1fr}}.description{font-size:14px;line-height:1.8;color:var(--text-secondary)}.description.collapsed{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.read-more-btn{background:none;border:none;font-family:inherit;font-size:12px;color:var(--game-accent);cursor:pointer;padding:8px 0 0;display:block}.details-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:4px 18px;height:fit-content}.detail-row{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--border-subtle);font-size:12px}.detail-row:last-child{border-bottom:none}.detail-label{flex-shrink:0;width:80px;color:var(--text-tertiary);padding-top:2px;text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:500}.detail-value{color:var(--text-secondary);line-height:1.5}.detail-link{color:var(--game-accent);transition:opacity .15s}.detail-link:hover{opacity:.7}.section{margin-bottom:48px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary)}.section-count{font-size:12px;color:var(--text-tertiary)}.game-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}@media(max-width:700px){.game-row{grid-template-columns:repeat(3,1fr)}}.row-nav{display:flex;align-items:center;gap:8px;margin-top:14px}.row-nav-info{font-size:12px;color:var(--text-tertiary)}.row-arrow{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;color:var(--text-secondary);flex-shrink:0}.row-arrow:hover{border-color:var(--game-accent);color:var(--game-accent)}.row-arrow:disabled{opacity:.25;cursor:default;pointer-events:none}.year-picker{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.year-btn{background:var(--tag-bg);color:var(--text-tertiary);border:1px solid var(--border);border-radius:20px;padding:5px 14px;font-size:12px;font-weight:500;font-family:DM Sans,sans-serif;cursor:pointer;transition:all .15s;letter-spacing:.02em;line-height:1.4}.year-btn:hover{color:var(--text-primary)}.year-btn.active{background:var(--game-accent);color:#fff;border-color:transparent}.year-panel-header{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.year-panel-label{font-family:"DM Serif Display",serif;font-size:22px;letter-spacing:-.3px;color:var(--text-primary)}.year-panel-count{font-size:12px;color:var(--text-tertiary)}.game-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s;display:block;text-decoration:none}.game-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#e844444d}.game-cover{aspect-ratio:3/4;background:var(--tag-bg);overflow:hidden;position:relative;width:100%}.game-cover img{width:100%;height:100%;object-fit:cover;display:block}.game-cover-placeholder{width:100%;height:100%;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:32px}.game-score-badge{position:absolute;top:7px;right:7px;width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:Century Schoolbook,Georgia,serif}.badge-great{color:var(--score-great);background:var(--score-great-bg);border:1px solid rgba(74,222,128,.3)}.badge-good{color:var(--score-good);background:var(--score-good-bg);border:1px solid rgba(96,165,250,.3)}.badge-mid{color:var(--score-mid);background:var(--score-mid-bg);border:1px solid rgba(251,191,36,.3)}.badge-low{color:var(--score-low);background:var(--score-low-bg);border:1px solid rgba(248,113,113,.3)}.exclusive-badge{position:absolute;top:7px;left:7px;background:var(--game-accent);color:#fff;font-size:8px;font-weight:700;padding:2px 5px;border-radius:4px;text-transform:uppercase;letter-spacing:.06em}.game-info{padding:9px 10px 11px}.game-title-text{font-size:11px;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:2px}.game-review-count{font-size:10px;color:var(--text-tertiary);margin-top:1px}.reviews-toolbar{display:flex;align-items:center;gap:6px;margin-bottom:20px}.sort-tab{background:var(--tag-bg);color:var(--text-tertiary);border:1px solid var(--border);border-radius:20px;padding:5px 14px;font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s;letter-spacing:.04em;text-transform:uppercase}.sort-tab.active{background:var(--game-accent);color:#fff;border-color:transparent}.review-card{padding:22px 0;border-bottom:1px solid var(--border-subtle)}.review-card:last-child{border-bottom:none}.review-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--bg-hover);border:1px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-tertiary);overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.reviewer-info{flex:1;min-width:0}.reviewer-name{font-size:13px;font-weight:500;transition:color .15s}.reviewer-name:hover{color:var(--text-secondary)}.reviewer-meta{font-size:11px;color:var(--text-tertiary);display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:2px}.score-badge{flex-shrink:0;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;font-family:Century Schoolbook,Georgia,serif}.score-great{color:var(--score-great);background:var(--score-great-bg);border:1px solid rgba(74,222,128,.25)}.score-good{color:var(--score-good);background:var(--score-good-bg);border:1px solid rgba(96,165,250,.25)}.score-mid{color:var(--score-mid);background:var(--score-mid-bg);border:1px solid rgba(251,191,36,.25)}.score-low{color:var(--score-low);background:var(--score-low-bg);border:1px solid rgba(248,113,113,.25)}.review-title{font-family:"DM Serif Display",serif;font-size:18px;line-height:1.3;margin-bottom:8px;letter-spacing:-.2px}.review-body{font-size:14px;line-height:1.75;color:var(--text-secondary)}.review-body.collapsed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.review-footer{display:flex;align-items:center;gap:8px;margin-top:12px;flex-wrap:wrap}.expand-btn{font-size:11px;color:var(--game-accent);margin-left:auto;cursor:pointer;background:none;border:none;font-family:inherit;transition:opacity .15s;padding:0;font-weight:500}.expand-btn:hover{opacity:.7}.empty-state{padding:60px 0;text-align:center;color:var(--text-tertiary)}.empty-title{font-family:"DM Serif Display",serif;font-size:20px;color:var(--text-secondary);margin-bottom:8px}.write-review-btn{display:inline-block;margin-top:16px;background:var(--game-accent);color:#fff;border-radius:20px;padding:9px 20px;font-size:14px;font-weight:500;border:none;cursor:pointer;font-family:inherit;transition:opacity .15s}.write-review-btn:hover{opacity:.85}@media(max-width:600px){.platform-header{flex-direction:column;align-items:flex-start}.platform-header.has-banner{margin-top:-60px}.platform-header.no-banner{margin-top:20px}.platform-name{font-size:26px}.hero{height:280px}.stats-row{grid-template-columns:repeat(2,1fr);gap:8px}.stat-num{font-size:28px}.jump-nav{display:none}}
