:root{--ink:#141414;--paper:#fff;--accent:#f2b705;--accent-ink:#141414;--line:#e3e0d5;--muted:#5c5c55;--radius:14px}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);background:var(--paper);line-height:1.55}
header{border-bottom:3px solid var(--accent);padding:14px 20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.logo{font-weight:800;font-size:1.3rem;text-decoration:none;color:var(--ink)}.logo span{color:#8a6d00}
nav a{margin-right:14px;color:var(--ink);text-decoration:none}nav a:hover{text-decoration:underline}
main{max-width:980px;margin:0 auto;padding:28px 20px 60px}h1{font-size:2rem;line-height:1.2}h2{margin-top:2em}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:14px 0;background:#fff}
.badge{display:inline-block;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:700}
.muted{color:var(--muted)}input[type=search],input[type=text]{width:100%;padding:12px;border:1px solid #999;border-radius:10px;font-size:1rem}
button{background:var(--ink);color:#fff;border:0;padding:11px 18px;border-radius:10px;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
footer{border-top:1px solid var(--line);padding:20px;color:var(--muted);max-width:980px;margin:0 auto}
table{width:100%;border-collapse:collapse}td,th{border-bottom:1px solid var(--line);padding:8px;text-align:left;vertical-align:top}
.notice{border-left:5px solid var(--accent);padding:12px 16px;background:#fffbe8}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;margin:20px 0 8px}
.controls .grow{flex:1 1 240px}
.controls label{display:block;font-weight:600;margin-bottom:6px}
select{padding:11px;border:1px solid #999;border-radius:10px;font-size:1rem;background:#fff}
.chiprow{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}
.chiprow .chip-label{font-weight:600;margin-right:2px}
.chip{background:#fff;color:var(--ink);border:1px solid #999;border-radius:999px;padding:6px 14px;font-size:.9rem;cursor:pointer}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}
.games-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}
.game-card{margin:0}
.splash{margin:18px 0}.splash video{width:100%;height:auto;display:block;border-radius:12px}
.search-hero{background:var(--ink);border:2px solid var(--ink);border-bottom:5px solid var(--accent);border-radius:16px;padding:20px 18px 16px;margin:18px 0 10px}
.search-hero label{display:block;color:var(--accent);font-weight:800;font-size:1.05rem;letter-spacing:.02em;margin-bottom:10px}
.search-hero .big-search{width:100%;padding:15px 20px;font-size:1.2rem;border:3px solid var(--accent);border-radius:999px;background:#fff;color:var(--ink)}
.search-hero .big-search:focus-visible{outline:3px solid #fff;outline-offset:2px}
.search-hero form{display:flex;gap:10px;flex-wrap:wrap}
.search-hero form .big-search{flex:1 1 260px;width:auto}
.search-hero form button{background:var(--accent);color:var(--accent-ink);font-weight:800;border-radius:999px;padding:13px 24px;font-size:1.05rem}
.game-card.compact{padding:10px}
.game-card.compact h3{font-size:.98rem;margin:.15em 0 .1em;line-height:1.25}
.game-card.compact .g-meta{font-size:.8rem;margin:.1em 0 .45em}
.game-card.compact .g-stats{display:flex;flex-wrap:wrap;gap:4px;margin:.35em 0}
.game-card.compact .g-stat{background:#f7f2dc;border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:.76rem;line-height:1.5;white-space:nowrap}
.game-card.compact .g-stat em{font-style:normal;color:var(--muted);font-weight:600}
.game-card.compact .g-rtp{background:var(--ink);border-color:var(--ink);color:#fff}
.game-card.compact .g-rtp em{color:var(--accent)}
.game-card.compact .g-rtp strong{color:var(--accent)}
.game-card.compact .g-feat{font-size:.78rem;margin:.3em 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-card.compact .g-variants{font-size:.78rem;margin:.3em 0;line-height:1.45}
.game-card.compact .g-src{font-size:.72rem;margin:.25em 0;line-height:1.45;overflow-wrap:anywhere}
.game-card.compact .g-badge{margin:.45em 0 0}
.game-card.compact .g-badge .badge{font-size:.68rem;padding:1px 8px}
.game-card.compact .tile{padding:12px 8px;margin-bottom:8px}
.game-card.compact .tile-mono{font-size:1.3rem}
.tile{background:var(--ink);border-bottom:4px solid var(--accent);border-radius:10px;padding:22px 12px;text-align:center;margin-bottom:12px}
.tile-mono{display:block;font-size:2rem;font-weight:800;color:var(--accent);letter-spacing:.04em;line-height:1.1}
.tile-prov{display:block;color:#fff;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;margin-top:6px}
.game-card h3{margin:.3em 0}
.providers-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.provider-card{margin:0}
.provider-card h3{margin:.3em 0}
.index-score{margin:.2em 0;font-size:1.05rem}
.score-num{font-size:1.7rem;color:#8a6d00}
.score-parts{font-size:.85rem;margin:.1em 0 .6em}
.reg-chips{margin:4px 0 8px}
.chip-link{text-decoration:none;display:inline-block}
.chip-link:hover{border-color:var(--ink);text-decoration:underline}
.game-card .art{margin:-18px -18px 12px;position:relative}
.game-card.compact .art{margin:-10px -10px 8px}
.game-card.compact .art .tile-prov{font-size:.68rem;padding:1px 7px;left:6px;bottom:6px}
.game-card .game-art{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:var(--radius) var(--radius) 0 0;background:#111}
.game-card .art .tile-prov{position:absolute;left:10px;bottom:8px;background:rgba(0,0,0,.68);color:#fff;padding:2px 9px;border-radius:999px;font-size:.8rem}
