:root{--bg:#f8faff;--panel:rgba(255,255,255,0.92);--panel-strong:#ffffff;--border:rgba(99,102,241,0.12);--text:#0f172a;--muted:#64748b;--accent:#6366f1;--accent-soft:rgba(99,102,241,0.10);--success:#059669;--shadow:0 24px 80px rgba(99,102,241,0.08);--radius:24px;--font-sans:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,serif;--danger:#ef4444;--running-bg:rgba(245,158,11,0.12);--running-color:#92400e;--idle-bg:rgba(5,150,105,0.12);--idle-color:#065f46;--field-bg:rgba(255,255,255,0.85);--surface:rgba(255,255,255,0.7)}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100vh;color:var(--text);font-family:var(--font-sans);background:radial-gradient(circle at top left,rgba(165,180,252,.25),transparent 35%),radial-gradient(circle at top right,rgba(196,181,253,.18),transparent 30%),linear-gradient(180deg,#f8faff,#eef2ff)}@media (prefers-color-scheme:dark){:root{--bg:#0f1117;--panel:rgba(26,29,46,0.90);--panel-strong:#1a1d2e;--border:rgba(99,102,241,0.15);--text:#f1f5f9;--muted:#94a3b8;--accent:#6366f1;--accent-soft:rgba(99,102,241,0.18);--success:#34d399;--shadow:0 24px 80px rgba(0,0,0,0.4);--running-color:#d97706;--idle-color:#34d399;--field-bg:rgba(255,255,255,0.06);--surface:rgba(255,255,255,0.05)}body{background:radial-gradient(circle at top left,rgba(99,102,241,.12),transparent 35%),radial-gradient(circle at top right,rgba(139,92,246,.08),transparent 30%),linear-gradient(180deg,#0f1117,#13162a)}}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0;background:none;color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell{width:min(1280px,calc(100vw - 32px));margin:0 auto;padding:32px 0 80px}.dashboard-shell{width:min(1920px,calc(100vw - 48px))}.hero{display:grid;grid-gap:16px;gap:16px;margin-bottom:24px}.eyebrow{margin:0 0 16px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:12px}.brand-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.brand-link-icon{flex:none;display:block}.brand-link-label{line-height:1}.hero-brand .eyebrow{margin-bottom:0}.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}.stat-card-link{display:block;color:inherit;text-decoration:none}.stat-card-link:focus-visible .stat-card,.stat-card-link:hover .stat-card{border-color:var(--accent-border);box-shadow:0 24px 48px rgba(8,15,30,.16);transform:translateY(-2px)}.panel,.stat-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{padding:20px;min-height:132px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.stat-card small,.stat-card span{color:var(--muted)}.stat-card strong{font-size:clamp(36px,4vw,54px);line-height:1}.stat-card.accent{background:linear-gradient(180deg,var(--accent-soft),var(--panel-strong))}.trophy-stat-card{display:flex;flex-direction:column}.trophy-stat-card strong{font-size:24px;line-height:1.1}.trophy-stat-card small{color:var(--muted);margin-top:auto}.trophy-stat-card .trophy-counts{flex-wrap:nowrap;gap:10px;max-width:100%}.trophy-stat-card .trophy-chip{flex:none}.trophy-filter-link{border-radius:6px;color:inherit;padding:2px 4px;text-decoration:none}.trophy-filter-link.is-active,.trophy-filter-link:focus-visible,.trophy-filter-link:hover{background:var(--accent-soft);outline:none}.trophy-stat-card .trophy-icon{width:14px;height:18px}.genre-stat-card{grid-column:1/-1}.genre-stat-table-wrap{overflow-x:auto}.genre-stat-table{width:100%;min-width:640px;border-collapse:collapse;table-layout:fixed}.genre-stat-table td,.genre-stat-table th{padding:10px 8px;border-bottom:1px solid var(--border);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.genre-stat-table td:first-child,.genre-stat-table th:first-child{width:34%;text-align:left}.genre-stat-table thead th{color:var(--muted);font-size:12px;text-transform:uppercase}.genre-stat-table tbody tr:last-child td,.genre-stat-table tbody tr:last-child th{border-bottom:0}.sync-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:24px}.next-game-card,.sync-grid{display:grid;grid-gap:16px;gap:16px}.next-game-head{margin-bottom:0}.next-game-content{display:grid;grid-template-columns:96px minmax(0,1.2fr) minmax(300px,1fr);grid-gap:18px;gap:18px;align-items:center}.next-game-cover-link{display:block;width:96px;height:96px;border-radius:8px;overflow:hidden;background:var(--surface);border:1px solid var(--border)}.next-game-cover{display:block;width:100%;height:100%;object-fit:cover}.next-game-cover-placeholder{background:linear-gradient(135deg,rgba(99,102,241,.18),rgba(148,163,184,.12)),var(--surface)}.next-game-copy{display:grid;grid-gap:10px;gap:10px;min-width:0}.next-game-title{width:-moz-fit-content;width:fit-content;max-width:100%;overflow-wrap:anywhere;font-size:24px;font-weight:700;line-height:1.2}.next-game-title:focus-visible,.next-game-title:hover{color:var(--accent);outline:none}.next-game-reasons{display:flex;flex-wrap:wrap;gap:8px}.next-game-reason{display:inline-flex;align-items:center;min-height:26px;padding:0 9px;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700;line-height:1}.next-game-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.next-game-metrics div{display:grid;grid-gap:4px;gap:4px;min-width:0;padding:12px;border-radius:8px;background:var(--surface);border:1px solid var(--border)}.next-game-metrics dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.next-game-metrics dd{margin:0;font-weight:700}.next-game-empty{padding:0}.buy-recommendations{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px;margin-bottom:24px;display:grid;grid-gap:16px;gap:16px}.buy-recommendations-header{display:flex;align-items:baseline;gap:12px;margin:0}.buy-recommendations-header h2{margin:0;font-size:28px}.buy-recommendations-status{flex-shrink:0;padding:4px 10px;border-radius:999px;font-size:12px;background:var(--running-bg);color:var(--running-color)}.buy-recommendations-empty{margin:0;color:var(--muted);line-height:1.45}.buy-recommendations-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.buy-recommendation-card{position:relative;display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:12px;background:var(--surface);border:1px solid var(--border)}.buy-recommendation-forget{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid color-mix(in srgb,var(--danger) 22%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel-strong) 88%,transparent);color:var(--danger);font-size:18px;line-height:1;box-shadow:0 10px 24px rgba(15,23,42,.12);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.buy-recommendation-forget:focus-visible:not(:disabled),.buy-recommendation-forget:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px rgba(15,23,42,.16)}.buy-recommendation-forget:focus-visible{outline:2px solid var(--danger);outline-offset:2px}.buy-recommendation-forget:disabled{cursor:progress;opacity:.65}.buy-recommendation-cover{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.buy-recommendation-body{display:grid;grid-gap:6px;gap:6px;padding-right:32px}.buy-recommendation-cover+.buy-recommendation-body{padding-right:0}.buy-recommendation-title{font-weight:700;font-size:15px;line-height:1.3;overflow-wrap:anywhere}.buy-recommendation-score{display:inline-block;font-size:13px;font-weight:700;color:var(--accent)}.buy-recommendation-genres{font-size:12px;color:var(--muted)}.buy-recommendation-store{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--accent);text-decoration:underline;text-underline-offset:2px}.buy-recommendation-store:focus-visible,.buy-recommendation-store:hover{opacity:.8;outline:none}.sync-card{padding:20px}.sync-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.sync-status{flex-shrink:0;padding:6px 12px;border-radius:999px;font-size:13px;line-height:1;background:var(--accent-soft);color:var(--muted)}.sync-status-running{background:var(--running-bg);color:var(--running-color)}.sync-status-failed{background:var(--accent-soft);color:var(--accent)}.sync-status-idle{background:var(--idle-bg);color:var(--idle-color)}.section-head h2,.sync-card h2{margin:0 0 12px;font-size:28px}.empty,.section-head p,.sync-card p,.title-cell small{margin:0;color:var(--muted);line-height:1.45}.sync-controls{display:grid;grid-gap:12px;gap:12px}.sync-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:0}.sync-meta div{padding:12px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--border)}.sync-meta dt{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.sync-meta dd,.sync-result{margin:0}.sync-result{min-height:22px}.sync-result-details{padding:12px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.sync-result-details summary{cursor:pointer;font-weight:700}.sync-result-details>div{display:grid;grid-gap:10px;gap:10px;margin-top:10px}.sync-result-details section{display:grid;grid-gap:6px;gap:6px}.sync-result-details ul{margin:0;padding-left:18px;color:var(--muted);line-height:1.45}.panel{padding:24px;margin-bottom:24px}.section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:20px}.dashboard-toolbar .section-head{align-items:flex-start;margin-bottom:12px}.dashboard-toolbar-head{display:grid;grid-gap:18px;gap:18px}.dashboard-toolbar .section-head h2{margin-bottom:8px}.dashboard-toolbar .section-head p{max-width:70ch}.dashboard-toolbar-inline{display:grid;grid-gap:12px;gap:12px}.dashboard-toolbar .crud-grid{grid-template-columns:minmax(120px,160px) minmax(180px,1fr) auto auto;align-items:end;gap:12px}.dashboard-toolbar .crud-field-wide{grid-column:auto}.section-actions{display:flex;align-items:center;gap:12px}.section-head strong{font-size:36px;color:var(--accent)}.filtered-stats{display:grid;grid-gap:12px;gap:12px;padding:14px 16px;margin-bottom:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.filtered-stats h3{margin:0;color:var(--muted);font-size:13px;font-weight:700;text-transform:uppercase}.filtered-stats dl{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.filtered-stats div{min-width:0}.filtered-stats dt{margin-bottom:4px;color:var(--muted);font-size:12px}.filtered-stats dd{margin:0;font-weight:700}.filtered-tag-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.filtered-tag-stats dd{display:flex;flex-wrap:wrap;gap:6px}.filtered-tag-stat,.game-tag-chip{display:inline-flex;align-items:center;max-width:100%;min-height:24px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--panel-strong);color:var(--muted);font-size:12px;font-weight:700;line-height:1;white-space:nowrap}.filtered-tag-stat{gap:5px}.filtered-tag-stat span{color:var(--accent)}.game-tag-list{display:flex;flex-wrap:nowrap;gap:6px;min-width:0;overflow:hidden}.game-tag-chip{color:var(--muted);text-decoration:none}.game-tag-chip.is-active,.game-tag-chip:focus-visible,.game-tag-chip:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent);background:var(--accent-soft);color:var(--accent);outline:none}.game-card-list{display:grid;grid-gap:12px;gap:12px}.game-card{padding:18px;display:grid;grid-gap:14px;gap:14px}.game-card-head a{font-size:18px;line-height:1.2;font-weight:600}.game-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.game-card-stats div{display:grid;grid-gap:4px;gap:4px;min-width:0}.game-card-stats dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.game-card-stats dd{margin:0;font-weight:600}.dashboard-mobile-toggle{display:none}.dashboard-mobile-panel{display:none;gap:12px}.dashboard-mobile-panel.is-open{display:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid transparent;background:var(--panel-strong);color:var(--text);box-shadow:0 10px 24px rgba(99,102,241,.08);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px rgba(99,102,241,.14)}.button:disabled{opacity:.65;cursor:progress}.button-primary{background:var(--accent);color:#ffffff}.button-secondary{background:var(--panel-strong);border-color:var(--border)}.button-danger{background:rgba(239,68,68,.12);color:var(--danger);border-color:rgba(239,68,68,.2)}.crud-form{display:grid;grid-gap:16px;gap:16px;margin:0 0 18px;padding:18px;border:1px solid var(--border);border-radius:20px;background:var(--panel)}.crud-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.crud-field{display:grid;grid-gap:8px;gap:8px;align-content:start}.crud-field-wide{grid-column:1/-1}.crud-field span{color:var(--muted);font-size:14px}.subscription-filter{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--text)}.subscription-filter input{width:18px;height:18px;accent-color:var(--accent)}.subscription-filter span{color:var(--text);font-size:14px}.genre-filter{grid-column:1/-1;min-width:220px}.genre-filter legend{color:var(--muted);font-size:13px;margin-bottom:8px}.genre-filter-options{display:flex;flex-wrap:wrap;gap:8px}.genre-filter-options label{align-items:center;display:inline-flex;gap:6px}.genre-filter-options input{width:16px;height:16px;accent-color:var(--accent)}.genre-filter-options span{color:var(--text);font-size:14px}.crud-actions{gap:10px}.crud-actions,.inline-form{display:flex;flex-wrap:wrap}.inline-form{gap:8px;align-items:flex-start;min-width:0}.inline-form-tight{justify-content:flex-start}.crud-inline-select{display:inline-grid;gap:8px}.field-control{width:100%;min-width:0;min-height:44px;padding:0 14px;border-radius:14px;border:1px solid var(--border);background:var(--field-bg);color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.field-control:focus{outline:2px solid rgba(99,102,241,.35);outline-offset:2px}.personal-rating-stars{align-items:center;display:inline-flex;flex-wrap:wrap;gap:2px}.personal-rating-star{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:28px;min-height:32px;padding:2px;border:0;background:transparent;color:var(--muted);cursor:pointer;font-size:20px;line-height:1}.personal-rating-star.is-filled{color:#f59e0b}.personal-rating-star:focus-visible{outline:2px solid rgba(245,158,11,.55);outline-offset:2px}.personal-rating-star:disabled{cursor:wait;opacity:.7}.personal-rating-error{flex-basis:100%}textarea.field-control{min-height:96px;padding-top:12px;padding-bottom:12px;resize:vertical}.segmented-control{display:flex;flex-wrap:wrap;gap:8px}.segmented-option{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer}.segmented-option:has(input:checked){border-color:var(--accent);color:var(--accent)}.field-error,.form-message{margin:0;color:var(--accent);font-size:14px;line-height:1.4}.form-message{color:var(--muted)}.ps-store-search{position:relative}.ps-store-search-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:20;display:grid;grid-gap:12px;gap:12px;width:min(520px,calc(100vw - 32px));padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.ps-store-search-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;grid-gap:8px;gap:8px;align-items:end}.ps-store-results{display:grid;grid-gap:8px;gap:8px;max-height:min(420px,60vh);overflow:auto}.ps-store-result{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.ps-store-result-cover{width:64px;height:64px;object-fit:cover;border-radius:6px;background:var(--field-bg)}.ps-store-result-cover-empty{border:1px dashed var(--border)}.ps-store-result-copy{display:grid;grid-gap:2px;gap:2px;min-width:0}.ps-store-result-copy a,.ps-store-result-copy small,.ps-store-result-copy strong{overflow-wrap:anywhere}.ps-store-result-copy small{color:var(--muted)}.ps-store-result-copy a{color:var(--accent);font-size:14px}.recommendation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:12px;gap:12px}.recommendation-card{display:grid;grid-template-columns:72px minmax(0,1fr);grid-gap:12px;gap:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.recommendation-card h3{margin:0;overflow-wrap:anywhere;font-size:18px;line-height:1.2}.recommendation-card .ps-store-result-cover{width:72px;height:72px}.recommendation-cover-empty{border:1px dashed var(--border)}.recommendation-card-copy{display:grid;grid-gap:10px;gap:10px;min-width:0}.recommendation-card-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:0}.recommendation-card-stats div{min-width:0}.recommendation-card-stats dt{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.recommendation-card-stats dd{display:grid;margin:0;font-weight:700}.recommendation-card-stats small{color:var(--muted);font-size:12px}.recommendation-card-genres{grid-column:1/-1}.table-wrap{overflow-x:auto}.desktop-only{display:block}.mobile-only{display:none}table{width:100%;border-collapse:collapse;min-width:1200px}td,th{text-align:left;padding:14px 10px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-size:14px;font-weight:600}tbody tr:last-child td{border-bottom:none}.sort-btn{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.sort-btn:hover,.sort-btn[aria-sort=ascending],.sort-btn[aria-sort=descending]{color:var(--accent)}.title-cell{display:grid;grid-gap:4px;gap:4px}.title-media{grid-template-columns:56px minmax(0,1fr);gap:12px;align-items:start}.title-media-stacked{grid-template-columns:minmax(0,1fr)}.title-copy{display:grid;grid-gap:4px;gap:4px;min-width:0}.game-genres{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.genre-chip{display:inline-flex;align-items:center;max-width:100%;min-height:22px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--muted);font-size:11px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-line{display:flex;min-width:0;align-items:center;gap:8px}.title-line a{min-width:0}.ps-plus-icon{width:18px;height:18px;object-fit:contain;flex:0 0 auto}.ps-plus-badge{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border-radius:6px;background:#f2c94c;color:#1d1b16;font-size:12px;line-height:1;white-space:nowrap}.title-copy-with-actions{position:relative;padding-right:0}.title-cell a,.title-cell span{font-weight:600}.dashboard-row-quick-actions{margin-top:6px;display:inline-flex;align-items:center;gap:8px}.dashboard-row-bucket-actions{display:inline-flex;align-items:center;gap:8px;opacity:0;pointer-events:none;transform:translateY(2px);transition:opacity .18s ease,transform .18s ease}.dashboard-row-rating{margin-right:4px}.title-media:focus-within .dashboard-row-bucket-actions,.title-media:hover .dashboard-row-bucket-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.dashboard-row-quick-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:999px;border:1px solid transparent;background:var(--panel-strong);box-shadow:0 8px 18px rgba(15,23,42,.08);transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.dashboard-row-quick-action:focus-visible:not(:disabled),.dashboard-row-quick-action:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px rgba(15,23,42,.12)}.dashboard-row-quick-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dashboard-row-quick-action-complete{color:var(--success);border-color:color-mix(in srgb,var(--success) 22%,transparent);background:color-mix(in srgb,var(--success) 12%,var(--panel-strong))}.dashboard-row-quick-action-hide{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 22%,transparent);background:color-mix(in srgb,var(--danger) 12%,var(--panel-strong))}.dashboard-row-quick-error{margin-top:2px}.game-cover{width:56px;height:56px;border-radius:14px;object-fit:cover;background:var(--surface);border:1px solid var(--border)}.game-cover-placeholder{background:linear-gradient(135deg,rgba(99,102,241,.18),rgba(148,163,184,.12)),var(--surface);box-shadow:inset 0 1px 0 rgba(255,255,255,.24)}.game-provider-sync-controls{display:flex;flex-wrap:wrap;gap:8px}.game-provider-sync-controls .button{min-height:36px;padding:0 12px}.empty{padding:20px 0 4px}.detail-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px;padding-top:12px}.detail-snapshot{display:grid;grid-template-columns:minmax(180px,240px) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.detail-cover-frame{width:100%;aspect-ratio:1;overflow:hidden;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.detail-cover{display:block;width:100%;height:100%;object-fit:cover}.detail-cover-empty{display:grid;width:100%;height:100%;place-items:center;grid-gap:8px;gap:8px;padding:24px;text-align:center;color:var(--muted)}.detail-cover-empty strong{color:var(--text)}.detail-cover-empty p{margin:0}.detail-snapshot-copy{display:grid;grid-gap:18px;gap:18px;min-width:0}.detail-title-group{display:grid;grid-gap:10px;gap:10px}.detail-title-group h1{margin:0;overflow-wrap:anywhere}.detail-chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.detail-chip{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:700}.detail-chip-item{max-width:100%}.detail-bucket-chip{color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.detail-source-chip{color:var(--muted);border:1px solid var(--border);background:var(--panel-strong)}.detail-source-empty,.detail-trophy-empty{color:var(--muted)}.detail-tag-rows{display:flex;flex-direction:column;gap:8px;padding:12px 0}.detail-tag-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.detail-tag-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);min-width:56px;flex-shrink:0}.detail-tag-chips{display:flex;flex-wrap:wrap;gap:6px}.detail-actions{display:grid;grid-gap:12px;gap:12px;align-items:start}.detail-bucket-form{max-width:220px}.detail-rating-stars{justify-self:start}.detail-comment-form{display:grid;grid-gap:12px;gap:12px;max-width:520px}.detail-delete-zone{display:grid;grid-gap:14px;gap:14px;justify-items:start}.detail-delete-confirm{display:grid;grid-gap:10px;gap:10px;max-width:520px;padding:12px;border:1px solid rgba(239,68,68,.2);border-radius:8px;background:rgba(239,68,68,.08)}.detail-delete-confirm p{margin:0;color:var(--text);font-weight:700}.detail-delete-buttons{display:flex;flex-wrap:wrap;gap:8px}.detail-manual-disclosure{border-top:1px solid var(--border);padding-top:12px}.detail-manual-disclosure summary{cursor:pointer;color:var(--text);font-weight:700}.detail-manual-matches{display:grid;grid-gap:12px;gap:12px;margin-top:12px}.detail-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.detail-stat-card{display:grid;grid-gap:8px;gap:8px;min-width:0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--panel)}.detail-stat-card span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.detail-stat-card strong{color:var(--text);font-size:24px;line-height:1}.detail-stat-card .game-genres{margin-top:2px}.detail-provider-panel,.detail-trophy-panel{display:grid;grid-gap:14px;gap:14px}.detail-provider-sync-list{display:grid;grid-gap:8px;gap:8px}.detail-provider-sync-row{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-strong)}.detail-provider-sync-main{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;min-width:0}.detail-provider-sync-main strong{color:var(--text)}.detail-provider-sync-main a,.detail-provider-sync-main span,.detail-provider-sync-time{color:var(--muted);font-size:13px}.detail-provider-sync-main a{overflow-wrap:anywhere}.detail-trophy-panel .trophy-counts{gap:14px}.trophy-counts{flex-wrap:nowrap;gap:8px;white-space:nowrap}.trophy-chip,.trophy-counts{display:inline-flex;align-items:center}.trophy-chip{flex:0 0 auto;gap:4px}.trophy-icon{display:block;width:16px;height:20px;object-fit:contain}.trophy-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:960px){.detail-snapshot,.hero,.sync-grid{grid-template-columns:1fr}.next-game-content{grid-template-columns:80px minmax(0,1fr)}.next-game-cover-link{width:80px;height:80px}.next-game-metrics{grid-column:1/-1}.detail-cover-frame{max-width:240px;justify-self:start}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.desktop-only{display:none}.mobile-only{display:block}.dashboard-shell{display:grid;grid-gap:20px;gap:20px}.dashboard-shell>.hero,.dashboard-shell>.panel{margin-bottom:0}.shell{width:min(100vw - 20px,1280px);padding-top:20px}.hero-stats{grid-template-columns:1fr}.panel,.stat-card{border-radius:20px}.crud-grid,.dashboard-toolbar .crud-grid{grid-template-columns:1fr}.dashboard-toolbar .crud-field-wide{grid-column:auto}.dashboard-toolbar-inline{display:none}.dashboard-mobile-toggle{display:inline-flex}.dashboard-mobile-panel{padding-top:4px}.dashboard-mobile-panel.is-open{display:grid}.ps-store-search-panel{position:fixed;top:76px;right:10px;left:10px;width:auto}.game-card-stats,.next-game-content,.ps-store-result,.ps-store-search-form{grid-template-columns:1fr}.next-game-cover-link{width:88px;height:88px}.filtered-stats dl,.next-game-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.filtered-tag-stats{grid-template-columns:1fr}.title-media-stacked .game-cover{width:88px;height:88px}.sync-meta{grid-template-columns:1fr}.detail-stat-grid{grid-template-columns:1fr 1fr}.detail-snapshot{gap:16px}.detail-stat-card strong{font-size:22px}}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;max-width:380px;width:100%;display:flex;flex-direction:column;gap:16px}.modal h2{font-size:1rem;font-weight:600;margin:0}.modal p{font-size:.875rem;color:var(--muted);margin:0}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.sync-actions{display:flex;gap:8px;align-items:center}.toast-region{position:fixed;right:20px;bottom:20px;z-index:120;display:grid;grid-gap:10px;gap:10px;width:min(360px,calc(100vw - 40px));pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:start;padding:14px 16px;border-radius:16px;background:var(--panel-strong);border:1px solid var(--border);box-shadow:var(--shadow)}.toast p{margin:0;color:var(--text);line-height:1.45}.toast-dismiss{min-height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer}.toast-dismiss:hover{color:var(--text)}@media (max-width:640px){.toast-region{right:10px;bottom:10px;width:min(360px,calc(100vw - 20px))}.toast{grid-template-columns:1fr}.toast-dismiss{justify-self:start}}.detail-media-description{margin:0;font-size:.95rem;line-height:1.5;white-space:pre-wrap}.detail-media-gallery{display:grid;grid-gap:.75rem;gap:.75rem}.detail-media-screenshots{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.25rem}.detail-media-screenshot-thumb{flex:0 0 284px;width:284px;height:160px;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer}.detail-media-screenshot-thumb:focus-visible,.detail-media-screenshot-thumb:hover{border-color:var(--accent);outline:none}.detail-media-screenshots img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px}.detail-media-lightbox{position:fixed;inset:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.78)}.detail-media-lightbox[hidden]{display:none}.detail-media-lightbox-frame{display:grid;grid-gap:12px;gap:12px;width:100%;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px)}.detail-media-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#ffffff}.detail-media-lightbox-head h3{margin:0;font-size:1rem}.detail-media-lightbox-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(15,23,42,.72);color:#ffffff;cursor:pointer}.detail-media-lightbox-button:focus-visible,.detail-media-lightbox-button:hover:not(:disabled){background:rgba(99,102,241,.88);outline:none}.detail-media-lightbox-button:disabled{opacity:.36;cursor:default}.detail-media-lightbox-stage{position:relative;display:flex;align-items:center;justify-content:center;min-width:0}.detail-media-lightbox-stage img{display:block;width:100%;max-height:calc(100vh - 132px);object-fit:contain;border-radius:8px;background:#000000}.detail-media-lightbox-nav{position:absolute;top:50%;z-index:1;transform:translateY(-50%)}.detail-media-lightbox-nav:first-child{left:12px}.detail-media-lightbox-nav:last-child{right:12px}.detail-media-trailer{width:100%;max-height:480px;border-radius:8px;background:black}@media (max-width:640px){.detail-media-screenshot-thumb{flex-basis:min(78vw,284px);width:min(78vw,284px)}.detail-media-lightbox-button{width:40px;height:40px}.detail-media-lightbox-nav:first-child{left:8px}.detail-media-lightbox-nav:last-child{right:8px}}.detail-sync-log-list{display:grid;grid-gap:.75rem;gap:.75rem}.detail-sync-log-row{display:grid;grid-template-columns:8rem 1fr;grid-gap:.85rem;gap:.85rem;align-items:start;padding:.85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.detail-sync-log-status{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;border-radius:999px;padding:.25rem .7rem;font-size:.8rem;font-weight:700;color:var(--muted);background:var(--panel-strong)}.detail-sync-log-status-success{color:var(--idle-color);background:var(--idle-bg)}.detail-sync-log-status-not_found{color:var(--running-color);background:var(--running-bg)}.detail-sync-log-status-failed{color:var(--danger);background:rgba(239,68,68,.12)}.detail-sync-log-main{min-width:0}.detail-sync-log-main p,.detail-sync-log-main span,.detail-sync-log-main strong{display:block}.detail-sync-log-main strong{font-size:.95rem}.detail-sync-log-main p,.detail-sync-log-main span{margin:.2rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.4;overflow-wrap:anywhere}@media (max-width:640px){.detail-sync-log-row{grid-template-columns:1fr}}