
:root{
  --bg:#f6f3ef;
  --panel:#fff;
  --ink:#272522;
  --muted:#6d6761;
  --line:#ddd6cf;
  --accent:#476d63;
  --accent-soft:#e4ece8;
  --danger:#a3473c;
  --shadow:0 8px 26px rgba(42,41,39,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
header{background:#fffdfb;border-bottom:1px solid var(--line);padding:18px 24px;position:sticky;top:0;z-index:10}
.brand-row,.hero,.game-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
h1,h2,h3{margin-top:0}
h1{margin-bottom:3px}
.subtitle,.note{color:var(--muted);font-size:13px}
main{max-width:1200px;margin:auto;padding:22px}
button,input,select{font:inherit}
button{border:1px solid var(--line);background:white;border-radius:10px;padding:9px 12px;cursor:pointer}
button.primary{background:var(--accent);color:white;border-color:var(--accent)}
button.danger{color:var(--danger)}
button:hover{filter:brightness(.98)}
.hidden{display:none!important}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.game-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:18px}
.game-card h3{margin-bottom:5px}
.game-card .meta{color:var(--muted);font-size:13px;min-height:38px}
.card-actions,.actions,.game-actions{display:flex;gap:8px;flex-wrap:wrap}
.card-actions{margin-top:14px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
label{font-size:12px;font-weight:700;color:var(--muted)}
input,select{border:1px solid var(--line);border-radius:10px;padding:10px;background:white}
.players-setup{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:16px 0}
.scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:18px 0}
.score-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);text-align:center}
.score-card .name{font-weight:800}
.score-card .score{font-size:42px;font-weight:800;margin:8px 0}
.score-card .sub{font-size:12px;color:var(--muted)}
.round-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:14px 0}
.round-line{display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.round-line:last-child{border-bottom:none}
.history-list{display:grid;gap:10px}
.history-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.history-title{margin-top:26px}
.special{background:var(--accent-soft);border:1px solid #c8d8d1;border-radius:14px;padding:14px;margin:14px 0}
.special h3{margin-bottom:8px}
.meld-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.meld-item{background:white;border-radius:10px;padding:10px;border:1px solid #d4dfda}
.badge{display:inline-block;padding:4px 7px;border-radius:999px;background:#eee8e1;font-size:11px;margin-right:5px}
@media(max-width:700px){.form-grid{grid-template-columns:1fr}}
