
:root{--card:rgba(17,24,39,.94);--card-2:rgba(31,41,55,.82);--text:#f8fafc;--muted:#cbd5e1;--border:rgba(255,255,255,.12);--accent:#22c55e;--accentText:#052e16;--shadow:0 12px 32px rgba(0,0,0,.35)}
*{box-sizing:border-box} body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:linear-gradient(180deg,#0b1222 0%,#111827 100%);color:var(--text)}
.app{width:min(920px,100%);margin:0 auto;padding:max(16px, env(safe-area-inset-top)) 14px max(28px, env(safe-area-inset-bottom))}
.card{background:var(--card);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:16px;margin-bottom:14px}.hidden{display:none!important}
h1,h2,h3,h4,p{margin:0}.hero p,.hint,.welcome-copy{color:var(--muted)}.welcome-copy{line-height:1.45;margin-top:10px;font-size:14px}.mt-12{margin-top:12px}
.players-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.players-grid-3{grid-template-columns:1fr 1fr 1fr}
.player-box,.select-box,.bonus-box,.stake-box{background:var(--card-2);border:1px solid var(--border);border-radius:14px;padding:14px}.player-box h3,.setup-subtitle{margin:0 0 10px}
.field{margin-top:12px}.field.tight{margin-top:0}.field label{display:block;font-weight:700;margin-bottom:6px}
input,select,.readonly{width:100%;border-radius:12px;border:1px solid var(--border);background:#0f172a;color:var(--text);padding:12px 14px;font-size:16px;min-height:48px}
.select-box{margin-top:14px}.select-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.points-area{display:grid;grid-template-columns:1.2fr .9fr;gap:12px;margin-top:14px;align-items:start}
.points-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.points-mini-card{background:#0f172a;border:1px solid var(--border);border-radius:12px;padding:10px}.points-mini-card label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.points-mini-card input{margin-bottom:0;padding:10px 12px}
.stake-box .field:first-of-type{margin-top:0}.action-row{display:flex;gap:10px;flex-wrap:wrap}.primary-action,.secondary{border-radius:14px;padding:14px 18px;font-size:18px;font-weight:800;border:0;cursor:pointer}.primary-action{background:var(--accent);color:var(--accentText);flex:1}.secondary{background:#334155;color:#f8fafc}
.sticky-score{position:sticky;top:max(8px, env(safe-area-inset-top));z-index:10;backdrop-filter:blur(10px)}.sticky-score .label{display:block;color:var(--muted);font-size:13px;margin-bottom:4px}.sticky-score .main{display:block;font-size:18px;font-weight:800;line-height:1.3}.sticky-score .small{display:block;color:var(--muted);font-size:13px;margin-top:4px}
.hole-line{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-bottom:12px}.hole-line .big{font-size:22px;font-weight:800}.hole-line .meta{color:var(--muted);font-size:14px}
.three-player-entry-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.player-entry-box{background:var(--card-2);border:1px solid var(--border);border-radius:14px;padding:12px}.player-entry-box h4{font-size:15px;margin-bottom:8px}
.extras-stack{margin-top:10px;display:grid;gap:6px;font-size:13px}.extras-stack label{display:flex;gap:8px;align-items:center}.extras-stack input{width:18px;height:18px;min-height:auto;padding:0}
.ntp-box .ntp-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}.panel{background:var(--card-2);border:1px solid var(--border);border-radius:14px;padding:12px}.badge{display:inline-block;background:#0f172a;border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:12px;color:#bfdbfe}
.results-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.results-list{display:grid;gap:10px}.result-card{background:var(--card-2);border:1px solid var(--border);border-radius:14px;padding:12px}.result-top{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;line-height:1.35;font-size:13px}.result-actions{margin-top:8px;display:flex;gap:8px;align-items:center;justify-content:space-between}.mini-btn{border-radius:999px;padding:8px 10px;font-size:12px;font-weight:800;background:#334155;color:#f8fafc;border:0;cursor:pointer}
.info-box{margin-top:10px;border:1px solid rgba(56,189,248,.25);border-radius:12px;background:rgba(14,116,144,.10);padding:10px 12px;color:var(--text)}.info-box pre{white-space:pre-wrap;margin:0;font:inherit;color:var(--muted)}
.export-actions{display:flex;gap:10px;flex-wrap:wrap}.export-actions button{flex:1;min-width:180px}
@media (max-width:820px){.players-grid,.points-area,.three-player-entry-grid{grid-template-columns:1fr}.players-grid-3{grid-template-columns:1fr}.select-grid{grid-template-columns:1fr}.points-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}


.compact-three-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:8px;
  margin-top:12px;
}
.compact-player{
  background:var(--card-2);
  border:1px solid var(--border);
  border-radius:12px;
  padding:8px;
}
.compact-player h4{
  font-size:13px;
  margin-bottom:6px;
  line-height:1.2;
}
.compact-score-wrap label{
  display:block;
  font-weight:700;
  font-size:11px;
  margin-bottom:4px;
}
.compact-score-wrap input{
  width:100%;
  border-radius:10px;
  border:1px solid var(--border);
  background:#0f172a;
  color:var(--text);
  padding:10px 10px;
  font-size:18px;
  font-weight:800;
  min-height:42px;
  text-align:center;
}
.compact-checks{
  margin-top:8px;
  display:grid;
  gap:5px;
  font-size:11px;
  line-height:1.2;
}
.check-row{
  display:flex;
  align-items:center;
  gap:6px;
}
.check-row input{
  width:15px;
  height:15px;
  min-height:auto;
  padding:0;
  margin:0;
  flex:0 0 15px;
}
@media (max-width:820px){
  .compact-three-grid{grid-template-columns:1fr 1fr 1fr}
}


.check-row.is-disabled{
  opacity:.45;
}
.check-row input:disabled{
  cursor:not-allowed;
}
