:root{color-scheme:light;--bg:#fff;--sidebar-bg:#f0f2f6;--text:#31333f;--muted:color-mix(in srgb, var(--text) 62%, transparent);--border:color-mix(in srgb, var(--text) 20%, transparent);--accent:#3d8fd1;--accent-light:#66c0f4;--cover-bg:#1b2838;--sidebar-width:260px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0e1117;--sidebar-bg:#262730;--text:#fafafa}}:root[data-theme=dark]{color-scheme:dark;--bg:#0e1117;--sidebar-bg:#262730;--text:#fafafa}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Quantico,sans-serif;line-height:1.6}a{color:var(--accent)}h1{margin:0 0 1rem;font-size:2.75rem;line-height:1.2}h2{align-items:center;gap:.6rem;margin:2rem 0 1rem;font-size:1.5rem;line-height:1.3;display:flex}hr{border:0;border-top:1px solid var(--border);margin:1.5rem 0}.caption{color:var(--muted);font-size:.875rem}.sidebar{z-index:10;width:var(--sidebar-width);background:var(--sidebar-bg);flex-direction:column;gap:1.25rem;padding:2.75rem 1rem 1.25rem;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.logo{border-bottom:1px solid var(--border);padding-bottom:1.25rem}.logo img{max-width:100%;height:3.4rem;display:block}.pages{border-bottom:1px solid var(--border);flex-direction:column;gap:.25rem;padding-bottom:1.25rem;display:flex}.pages a{color:inherit;border-radius:.6rem;align-items:center;gap:1.5rem;padding:.6rem .9rem;font-size:1.05rem;text-decoration:none;display:flex}.pages a:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.pages svg{opacity:.8;flex:none;width:1.7rem;height:1.7rem}.pages a[aria-current=page]{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);font-weight:700}.pages a[aria-current=page] svg{opacity:1}.outline-title{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem .6rem;font-size:.72rem;font-weight:700}.outline a{color:inherit;border-radius:.5rem;align-items:center;gap:.6rem;padding:.35rem .6rem;font-size:.9rem;text-decoration:none;display:flex}.outline a:hover{background:color-mix(in srgb, var(--text) 10%, transparent)}.outline svg{width:18px;height:18px;color:var(--accent);flex:none}.outline span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.outline-empty{color:var(--muted);margin:0 .6rem;font-size:.85rem}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding-top:1.25rem}.theme-switch{background:color-mix(in srgb, var(--text) 9%, transparent);border-radius:.7rem;gap:2px;padding:3px;display:flex}.theme-switch button{color:inherit;opacity:.65;cursor:pointer;background:0 0;border:0;border-radius:.5rem;flex:1;justify-content:center;padding:.4rem 0;display:flex}:root[data-theme=light] [data-theme-choice=light],:root[data-theme=dark] [data-theme-choice=dark],:root[data-theme=system] [data-theme-choice=system]{opacity:1;background:color-mix(in srgb, var(--text) 16%, transparent);box-shadow:0 1px 2px #0003}.topbar{display:none}main{margin-left:var(--sidebar-width);padding:3.5rem clamp(1rem,4vw,5rem) 2rem}.site-footer{border-top:1px solid var(--border);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem;margin-top:3rem;padding-top:1rem;font-size:.8rem;display:flex}@media (width<=760px){.topbar{z-index:20;background:var(--sidebar-bg);justify-content:space-between;align-items:center;height:3.5rem;padding:0 1rem;display:flex;position:sticky;top:0}.topbar img{height:2.2rem;display:block}.topbar button{color:inherit;cursor:pointer;background:0 0;border:0;padding:.4rem;display:flex}.sidebar{padding-top:1rem;transition:transform .2s;top:3.5rem;transform:translate(-100%)}.sidebar .logo{display:none}.menu-open .sidebar{transform:none;box-shadow:0 0 24px #00000059}main{margin-left:0;padding-top:1.5rem}h1{font-size:2.25rem}}.buttons{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0;display:flex}.button{border:1px solid var(--border);height:3.25rem;color:inherit;border-radius:.5rem;align-items:center;gap:1rem;padding:0 1.75rem;font-size:1.15rem;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:flex}.button svg{width:1.5rem;height:1.5rem}.button:hover{border-color:var(--accent);color:var(--accent)}.button.primary{border-color:var(--accent);background:var(--accent);color:#fff}.button.primary:hover{background:color-mix(in srgb, var(--accent) 85%, #000)}.button.secondary{border-color:color-mix(in srgb, var(--accent-light) 55%, transparent);background:color-mix(in srgb, var(--accent-light) 16%, transparent);color:var(--accent)}.button.secondary:hover{border-color:var(--accent-light);background:color-mix(in srgb, var(--accent-light) 26%, transparent)}.stats{border:1px solid var(--border);background:var(--border);background-clip:padding-box;border-radius:.5rem;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:1px;display:grid;overflow:hidden}.stats>div{background:var(--bg);min-width:0;padding:1rem}.cell-label{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;font-size:.7rem;font-weight:700}.cell-stat{overflow-wrap:anywhere;font-size:1.75rem;font-weight:700;line-height:1.2}@media (width<=1100px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.stats>div:last-child:nth-child(odd){grid-column:1/-1}}@media (width<=640px){.stats{grid-template-columns:minmax(0,1fr)}}.library{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5rem 1.25rem;display:grid}.game-card{min-width:0;color:inherit;text-decoration:none;display:block}.game-cover{aspect-ratio:2/3;background:var(--cover-bg);border-radius:6px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000040}.game-card:hover .game-cover{transform:translateY(-4px);box-shadow:0 10px 24px #00000059}.game-cover img{object-fit:cover;width:100%;height:100%;display:block}.game-cover .backdrop{filter:blur(14px)brightness(.55);transform:scale(1.3)}.game-cover .front{object-fit:contain;height:auto;margin:auto;position:absolute;inset:0}.game-cover.empty{color:#c7d5e0;text-align:center;justify-content:center;align-items:center;padding:1rem;font-weight:700;display:flex}.game-badge{background:var(--accent);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:.35rem;padding:.1rem .5rem;font-size:.75rem;font-weight:700;position:absolute;top:.5rem;left:.5rem;box-shadow:0 1px 4px #0006}.game-name{text-overflow:ellipsis;white-space:nowrap;margin-top:.55rem;font-size:.95rem;font-weight:700;overflow:hidden}.game-score{margin-top:.1rem;font-size:.82rem}.game-reviews{color:var(--muted);margin-top:.05rem;font-size:.78rem}.home-library{scroll-snap-type:x mandatory;scrollbar-width:thin;grid-auto-columns:minmax(104px,1fr);grid-auto-flow:column;gap:1rem;max-width:calc(1056px + 7rem);padding:6px 0 .75rem;display:grid;overflow-x:auto}.home-library .game-card{scroll-snap-align:start}.home-library .game-name{font-size:.85rem}.home-library .game-score{font-size:.75rem}.home-library .game-reviews{font-size:.7rem}.library-list{flex-direction:column;gap:.5rem;display:flex}.game-row{border:1px solid var(--border);color:inherit;border-radius:8px;align-items:center;gap:1rem;padding:.4rem .75rem .4rem .4rem;text-decoration:none;transition:background .15s;display:flex}.game-row:hover{background:color-mix(in srgb, var(--text) 8%, transparent)}.game-row img,.row-empty{aspect-ratio:460/215;object-fit:cover;background:var(--cover-bg);border-radius:4px;flex:none;width:138px}.row-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.row-name small{text-overflow:ellipsis;color:var(--muted);font-weight:400;display:block;overflow:hidden}.row-reviews{text-align:right;width:8rem;color:var(--muted);flex:none;font-size:.85rem}.row-score{text-align:right;flex:none;width:15rem;font-size:.9rem}@media (width<=640px){.row-reviews{display:none}.row-score{width:auto}.game-row img,.row-empty{width:96px}}.toolbar{border:1px solid var(--border);border-radius:.5rem;grid-template-columns:minmax(0,1fr) 17rem;grid-template-areas:"search sort""chips score""chips view";align-items:start;gap:.75rem 1rem;margin-bottom:1rem;padding:1rem;display:grid}.toolbar-search{grid-area:search}.toolbar-sort{grid-area:sort}.toolbar-score{grid-area:score}.toolbar-view{grid-area:view}.toolbar-sort .field-label,.toolbar-score .field-label,.toolbar-view .field-label{width:4.5rem}.results{flex-wrap:wrap;align-items:center;gap:.25rem 1rem;display:flex}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.25rem;padding:0;display:inline-flex}.link-button:hover{text-decoration:underline}.field{border:1px solid var(--border);border-radius:8px;min-width:0;height:40px;display:flex;overflow:hidden}.field:focus-within{border-color:var(--accent)}.field-label{background:color-mix(in srgb, var(--text) 12%, transparent);color:var(--muted);flex:none;align-items:center;padding:0 12px;font-size:14px;display:flex}.field input,.field select{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0 .75rem;font-size:.95rem}.field select{padding-left:1.1rem}.field button{border:0;border-left:1px solid var(--border);color:inherit;cursor:pointer;background:0 0;flex:1;justify-content:center;align-items:center;display:flex}.field button.on{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}@media (width<=1000px){.toolbar{grid-template-columns:minmax(0,1fr);grid-template-areas:"search""sort""score""view""chips"}}.chips{border-top:1px solid var(--border);flex-wrap:wrap;grid-area:chips;align-self:end;gap:.4rem;padding-top:.75rem;display:flex}.chips button{border:1px solid var(--border);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .75rem;font-size:.85rem;transition:background .15s,border-color .15s;display:flex}.chips button:hover{border-color:var(--accent)}.chips button span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.chips button.on{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);font-weight:700}.chips button.on span{color:inherit}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 1.5rem;margin-top:1.5rem;display:grid}.theme-row{margin-bottom:1.1rem}.theme-head{align-items:center;gap:.5rem;font-weight:700;display:flex}.theme-head svg{width:20px;height:20px;color:var(--theme-color,var(--accent));flex:none}.theme-pct{font-variant-numeric:tabular-nums;margin-left:auto}.theme-track{background:color-mix(in srgb, var(--text) 12%, transparent);border-radius:4px;height:8px;margin:.35rem 0}.theme-bar{background:var(--theme-color,var(--accent));border-radius:4px;height:100%}.theme-quote{color:var(--muted);font-size:.92rem;font-style:italic}.game-header{flex-wrap:wrap;align-items:center;gap:1rem 1.25rem;display:flex}.game-header img{border-radius:6px;width:154px;height:auto}.game-header h1{flex:1;min-width:12rem;margin:0;font-size:3.25rem}@media (width<=760px){.game-header h1{font-size:2.25rem}}.button.small{cursor:pointer;background:0 0;gap:.5rem;height:2.5rem;padding:0 1rem;font-family:inherit;font-size:.95rem}.button.small svg{width:1.1rem;height:1.1rem}.button.small:disabled{opacity:.5;cursor:not-allowed}.sidebar-game{align-items:center;gap:.6rem;margin:0 .6rem .6rem;display:flex}.sidebar-game img{border-radius:.3rem;flex:none;width:64px}.sidebar-game div{min-width:0;font-size:.9rem;font-weight:700;line-height:1.3}.stats+.stats{margin-top:.75rem}.stats.info .button{justify-content:center;width:100%}.cell-label svg{vertical-align:-.18em;width:1rem;height:1rem;margin-right:.4rem}.cell-value{align-items:center;min-height:2.5rem;font-size:1.05rem;font-weight:700;line-height:1.3;display:flex}.cell-stat.word{font-size:1.2rem;line-height:1.5}.cell-delta{white-space:nowrap;margin-left:.5rem;font-size:.85rem}.alert{border-radius:.5rem;gap:.75rem;margin:1rem 0;padding:.9rem 1rem;display:flex}.alert>svg{flex:none;margin-top:.2rem}.alert ul{margin:.4rem 0 0;padding-left:1.2rem}.alert.danger{background:#e05d5d29}.alert.danger>svg{color:#e05d5d}.alert.warning{background:#c99a2e29}.alert.warning>svg{color:#c99a2e}.alert.success{background:#3d8fd129}.alert.success>svg{color:#3d8fd1}.two-columns{grid-template-columns:1fr 1fr;gap:0 4rem;display:grid}.two-columns h2{margin-top:0}@media (width<=900px){.two-columns{grid-template-columns:1fr}.two-columns section+section h2{margin-top:2rem}}.chart{margin-top:1rem}.chart .recharts-cartesian-grid line{stroke:var(--border)}.chart .recharts-cartesian-axis-tick text{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.chart .chart-reference line{stroke:var(--muted)}.chart .chart-cursor{stroke:var(--border)}.chart .chart-band{fill:color-mix(in srgb, var(--text) 8%, transparent)}.chart .chart-tick{fill:var(--muted);font-size:12px}.chart .chart-tick-strong{fill:var(--text);font-size:13px;font-weight:700}.chart .chart-value{fill:var(--text);font-size:14px;font-weight:700}.chart .recharts-surface:focus,.chart .recharts-wrapper:focus{outline:none}.chart-tooltip{border:1px solid var(--border);background:var(--bg);border-radius:.5rem;padding:.5rem .75rem;font-size:.85rem;line-height:1.5;box-shadow:0 4px 12px #0003}.tooltip-title{color:var(--muted)}.tooltip-flag{color:#e05d5d;margin-top:.2rem;font-weight:700}.chart-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-bottom:1rem;display:flex}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:.4rem 1.25rem;font-size:.85rem;display:flex}.chart-legend span{align-items:center;gap:.45rem;display:flex}.key-line,.key-dash{border-top:2px solid #3d8fd1;width:18px}.key-dash{border-top:2px dashed var(--muted)}.key-dot{background:#e05d5d;border-radius:50%;width:10px;height:10px}.segmented{background:color-mix(in srgb, var(--text) 9%, transparent);border-radius:.6rem;gap:2px;padding:3px;display:flex}.segmented button{color:inherit;font:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;border-radius:.45rem;padding:.35rem .85rem;font-size:.9rem}.segmented button.on{opacity:1;background:var(--bg);font-weight:700;box-shadow:0 1px 2px #0003}.review-card{border:1px solid var(--border);border-radius:.5rem;padding:1rem 1.25rem}.review-meta{align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.review-meta svg{flex:none}.review-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6}
