/* Wspólny styl huba: katalog (index.html) i strona gry (game.html). Ciemny motyw, telefon najpierw. */
:root{--bg:#0f0f10;--card:#18181b;--card2:#141416;--line:#27272b;--fg:#ececef;--mut:#9a9aa1;--acc:#4af;--go:#5ad07a;--fix:#e8b84a;--kill:#f66;color-scheme:dark}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;padding:0 0 64px}
.wrap{max-width:720px;margin:0 auto;padding:0 16px}
header{padding:22px 0 6px;background:radial-gradient(120% 80% at 0% 0%,#1b2330 0%,var(--bg) 60%)}
h1{font-size:28px;letter-spacing:-.02em;margin:0}
h1 small{display:block;font-size:13px;color:var(--mut);font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.lead{color:var(--mut);margin:8px 0 0}
h2{font-size:15px;color:var(--mut);text-transform:uppercase;letter-spacing:.06em;margin:28px 0 10px}
.rules{border-left:3px solid var(--acc);padding:8px 12px;margin:14px 0 0;color:var(--mut);background:var(--card2);border-radius:0 10px 10px 0}
.rules b{color:var(--fg)}

/* katalog */
.find{margin:0 0 12px}
.find input{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--fg);font:inherit}
.tiles{display:grid;gap:10px}
.tile{position:relative;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:14px 14px 12px 18px;overflow:hidden}
.tile::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c,#4af)}
.tile h3{margin:0 0 6px}
.tile .teaser{margin:0 0 10px;font-size:15.5px}
.empty{color:var(--mut);padding:10px 0}

/* nagłówki gier */
.head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
h3{font-size:19px;margin:0;letter-spacing:-.01em}
.badge{font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--mut);white-space:nowrap}
.badge.go{color:var(--go);border-color:var(--go)}.badge.fix{color:var(--fix);border-color:var(--fix)}
.badge.kill{color:var(--kill);border-color:var(--kill)}.badge.team{background:#222;color:#ddd}
.badge.ver{color:var(--acc);border-color:var(--acc)}

/* przyciski */
.play{display:block;padding:14px 16px;border-radius:14px;background:var(--acc);color:#0b1520;font-weight:700;font-size:18px;text-decoration:none;box-shadow:0 6px 18px rgba(68,170,255,.18)}
.play small{display:block;color:#123;font-weight:500;font-size:13px;margin-top:2px;line-height:1.35}
.open{display:inline-block;padding:9px 18px;border-radius:10px;background:var(--acc);color:#0b1520;font-weight:700;font-size:16px;text-decoration:none}
.back{display:inline-block;color:var(--mut);text-decoration:none;font-size:15px;padding:14px 0 6px}
.opts{margin:10px 0 0;display:grid;gap:8px}
.opt{display:block;border:1px solid var(--line);border-left:4px solid var(--c,#4af);border-radius:12px;background:var(--card);padding:10px 12px;text-decoration:none;color:var(--fg)}
.opt .kind{display:inline-block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);border:1px solid var(--line);border-radius:999px;padding:1px 7px;margin-right:6px}
.opt b{font-size:16px}
.opt .note{display:block;color:var(--mut);font-size:13.5px;margin-top:2px}

/* instrukcja testu */
.steps{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 14px;margin:12px 0 0}
.steps ol,.steps ul{margin:8px 0;padding-left:20px}.steps li{margin:6px 0}
kbd{background:#2c2c31;border-radius:6px;padding:1px 7px;font:inherit;color:#fff}

/* materiały */
details{border:1px solid var(--line);border-radius:12px;margin:10px 0;background:var(--card);padding:0 14px}
summary{cursor:pointer;font-weight:600;min-height:46px;display:flex;align-items:center;gap:8px;list-style:none}
summary::-webkit-details-marker{display:none}
summary::before{content:"›";color:var(--mut);font-size:20px;transition:transform .15s}
details[open]>summary::before{transform:rotate(90deg)}
details[open]{padding-bottom:12px}
details.wave{padding:0 10px;background:transparent;border-style:dashed}
details.wave>summary{font-size:17px}
details.wave>summary .n{margin-left:auto;color:var(--mut);font-weight:500;font-size:13px}
.md h4{font-size:15px;margin:12px 0 4px}.md p{margin:4px 0;font-size:14.5px}
.md ul{margin:4px 0 8px}.md li{font-size:14.5px}
.md code{background:#26262b;border-radius:5px;padding:0 5px;font-size:13px}
ul{margin:4px 0;padding-left:20px}li{margin:4px 0}
.bg li{margin:8px 0}.rej li{color:var(--mut)}.rej li b{color:var(--fg);font-weight:600}
p.mut{color:var(--mut)}
footer{color:var(--mut);margin-top:34px;font-size:14px}
