:root{--green: #1b4332;--green-2: #2d6a4f;--green-3: #40916c;--bg: #f4f6f4;--card: #ffffff;--text: #1c1f1d;--muted: #6b716d;--line: #dde3df;--red: #b23a3a;--amber: #b7791f;--blue: #2b5c8a;--radius: 12px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:16px}body{padding-bottom:env(safe-area-inset-bottom)}a{color:var(--green-2);text-decoration:none}h1,h2,h3{margin:0 0 8px}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.topbar{background:var(--green);color:#fff;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.topbar a{color:#fff}.topbar .brand{font-weight:700;font-size:18px}.topbar nav a{margin-left:14px;font-size:14px;opacity:.9}.container{max-width:760px;margin:0 auto;padding:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:14px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.muted{color:var(--muted);font-size:14px}.small{font-size:13px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#e8f1ec;color:var(--green);font-size:12px;font-weight:600}.badge.red{background:#f7e4e4;color:var(--red)}.badge.amber{background:#f7eedd;color:var(--amber)}.badge.blue{background:#e2ecf5;color:var(--blue)}button,.btn{font:inherit;border:1px solid var(--line);background:#fff;color:var(--text);padding:10px 14px;border-radius:10px;cursor:pointer}button.primary,.btn.primary{background:var(--green-2);border-color:var(--green-2);color:#fff;font-weight:600}button.danger{color:var(--red);border-color:#e3c4c4}button.ghost{background:transparent;border-color:transparent;color:var(--green-2)}button:disabled{opacity:.5;cursor:default}button.sm{padding:6px 10px;font-size:14px}button.chip{border-radius:999px;padding:6px 12px;font-size:14px}button.chip.on{background:var(--green-2);color:#fff;border-color:var(--green-2)}button.chip.onB{background:var(--blue);color:#fff;border-color:var(--blue)}label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}input,select{font:inherit;width:100%;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff}input[type=number]{-moz-appearance:textfield}.field{margin-bottom:10px}.error{color:var(--red);font-size:14px}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:6px;border-bottom:1px solid var(--line);text-align:center}th{color:var(--muted);font-weight:600;font-size:12px}td.l,th.l{text-align:left}.pos{color:var(--green-2);font-weight:700}.neg{color:var(--red);font-weight:700}.scroll{overflow-x:auto}.holehead{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.holehead .num{font-size:32px;font-weight:800;color:var(--green);line-height:1}.holehead .info{color:var(--muted);font-size:14px}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden}.stepper button{border:0;border-radius:0;padding:8px 12px;font-size:18px;min-width:40px}.stepper span{min-width:34px;text-align:center;font-weight:700}.stepper.pen span{color:var(--red)}.playerrow{border-top:1px solid var(--line);padding:10px 0}.playerrow .name{font-weight:700}.playerrow .meta{color:var(--muted);font-size:13px}.pen-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.pen-row .stepper{transform:scale(.9);transform-origin:left}.pen-row .lab{font-size:11px;color:var(--muted);display:block}.holenav{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;margin-bottom:12px}.holenav button{padding:6px 0;font-size:13px;border-radius:6px}.holenav button.cur{background:var(--green);color:#fff;border-color:var(--green)}.holenav button.done{background:#e8f1ec}.sidebox{border-radius:10px;padding:8px 10px;margin-bottom:6px}.sidebox.A{background:#e8f1ec}.sidebox.B{background:#e2ecf5}.totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}.totals .t{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center}.totals .t .n{font-size:13px;color:var(--muted)}.totals .t .v{font-size:20px;font-weight:800}.sticky-bottom{position:sticky;bottom:0;background:var(--bg);padding:10px 0;display:flex;gap:10px}.sticky-bottom button{flex:1}
