:root{--green: #1e6b3a;--green-dark: #17542d;--green-soft: #e6f2ea;--bg: #f3f4f2;--card: #ffffff;--ink: #1c2420;--muted: #6b7770;--line: #e2e6e3;--up: #1a7f43;--down: #c23b3b;--accent-soft: #f0f7f2;--radius: 14px;--shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 14px rgba(0, 0, 0, .05)}@media(prefers-color-scheme:dark){:root{--green: #37a35f;--green-dark: #2b8b4f;--green-soft: #14301f;--bg: #0f1512;--card: #18201b;--ink: #e8ede9;--muted: #9aa79f;--line: #263029;--up: #4fbf75;--down: #e2706e;--accent-soft: #14231a;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 18px rgba(0, 0, 0, .35)}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.4}button{font-family:inherit;cursor:pointer}h2{font-size:1rem;margin:0;letter-spacing:.01em}.app{max-width:560px;margin:0 auto;min-height:100vh;min-height:100dvh}.app.center{display:grid;place-items:center}.muted{color:var(--muted)}.small{font-size:.82rem}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;background:var(--green);color:#fff;box-shadow:var(--shadow)}.brand{font-size:1.25rem;font-weight:700;letter-spacing:.02em;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-course{font-weight:600;font-size:1.05rem;opacity:.75}.brand-mark{margin-right:2px}.link{background:none;border:none;color:#fff;font-size:.95rem;font-weight:600;padding:6px 8px;opacity:.95}.stack{display:flex;flex-direction:column;gap:14px;padding:16px;padding-bottom:calc(env(safe-area-inset-bottom) + 40px)}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.btn{border:none;border-radius:10px;padding:13px 16px;font-size:1rem;font-weight:600;transition:transform .05s ease,filter .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5}.btn.primary{background:var(--green);color:#fff}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.btn.danger{color:var(--down);border-color:var(--down)}.cta{width:100%}.row{display:flex;gap:10px}.row .btn{flex:1}.error{color:var(--down);font-size:.9rem;margin:4px 0 0}.error.banner{background:color-mix(in srgb,var(--down) 12%,var(--card));padding:10px 12px;border-radius:10px;margin:0}.setup h2{margin-bottom:6px}.field-group{display:flex;flex-direction:column;gap:10px;margin:14px 0}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.85rem;font-weight:600;color:var(--muted)}.hint{color:var(--green);font-style:normal;font-weight:600}input[type=text],input[type=number]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:1rem;background:var(--card);color:var(--ink)}input:focus{outline:2px solid var(--green);outline-offset:-1px}.money-input{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:10px;padding-left:14px;background:var(--card)}.money-input span{color:var(--muted);font-weight:600}.money-input input{border:none;padding-left:4px}.money-input input:focus{outline:none}.money-input:focus-within{outline:2px solid var(--green);outline-offset:-1px}.player-fields{display:flex;gap:10px;align-items:flex-end}.player-fields .grow{flex:1;min-width:0}.player-fields .hcp{width:92px;flex:none}.player-fields .hcp input{text-align:center}.strokes-hint{margin:-6px 0 12px}.course-picker{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}.course-note{margin:0}.course-loaded{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0;padding:8px 12px;background:var(--green-soft);border-radius:10px;font-weight:600;font-size:.9rem}.link-btn{background:none;border:none;color:var(--green);font-weight:600;font-size:.85rem;padding:2px 4px}.course-chips .chip{flex:none;min-width:0;font-size:.85rem;padding:8px 12px}.course-search{display:flex;gap:8px}.course-search input{flex:1;min-width:0}.course-search .btn{flex:none;padding:10px 16px}input[type=search]{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-size:1rem;background:var(--card);color:var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none}.course-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.course-result{width:100%;display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.course-result:disabled{opacity:.55;cursor:default}.course-result-name{font-weight:600;font-size:.92rem}.course-result-row{display:flex;align-items:stretch;gap:6px}.course-result-row .course-result{flex:1;min-width:0}.course-result-remove{flex:none;width:40px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);opacity:.6;font-size:1.15rem;line-height:1}.save-course-row{display:flex;gap:8px;margin-top:10px}.save-course-row input{flex:1;min-width:0}.save-course-row .btn{flex:none;padding:10px 16px}.si-details{margin:0 0 14px;border:1px solid var(--line);border-radius:10px;padding:10px 12px}.si-details summary{font-weight:600;font-size:.9rem;color:var(--green);cursor:pointer}.si-details p{margin:8px 0}.si-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.si-cell{display:flex;flex-direction:column;gap:2px;align-items:stretch}.si-hole{font-size:.68rem;font-weight:700;color:var(--muted);text-align:center}.si-cell input{padding:8px 4px;text-align:center;font-size:.92rem}.standings-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.standings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.standings-row{display:grid;grid-template-columns:20px 1fr auto auto;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}.standings-row:first-child{border-top:none}.rank{color:var(--muted);font-size:.8rem;font-weight:700;text-align:center}.pname{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skins{font-size:.8rem;color:var(--muted);font-variant-numeric:tabular-nums}.amount{font-weight:700;font-variant-numeric:tabular-nums;min-width:68px;text-align:right}.up{color:var(--up)}.down{color:var(--down)}.even{color:var(--muted)}.holes-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.hole-list{display:flex;flex-direction:column}.hole-row{border-top:1px solid var(--line)}.hole-list>div:first-child .hole-row{border-top:none}.hole-head{width:100%;display:flex;align-items:center;gap:12px;padding:12px 4px;background:none;border:none;text-align:left;color:var(--ink)}.hole-num{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--muted);font-weight:700;font-size:.9rem}.hole-row.current .hole-num{background:var(--green);color:#fff}.hole-row.played .hole-num{background:var(--green-soft);color:var(--green)}.hole-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.wolf-line{display:flex;align-items:center;gap:8px}.wolf-badge{font-weight:600;font-size:.95rem}.now-tag{font-size:.62rem;font-weight:800;letter-spacing:.08em;background:var(--green);color:#fff;padding:2px 6px;border-radius:999px}.hole-status{font-size:.82rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hole-row.wolf .hole-status,.hole-row.opponents .hole-status{color:var(--ink)}.hole-chevron{color:var(--muted);font-size:.9rem}.editor{padding:4px 4px 16px;display:flex;flex-direction:column;gap:14px;animation:slidein .12s ease}@keyframes slidein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.editor-pot{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;color:var(--muted);background:var(--accent-soft);padding:8px 12px;border-radius:10px}.editor-pot strong{color:var(--ink)}.mult-tag{font-weight:700;color:var(--green)}.tee-order{font-size:.85rem;padding:0 2px}.tee-order em{color:var(--muted);font-style:normal;font-weight:600}.tee-sep{color:var(--muted)}.editor-section{display:flex;flex-direction:column;gap:8px}.label-note{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.score-cell{display:flex;flex-direction:column;gap:4px;align-items:stretch}.score-name{font-size:.78rem;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pips{color:var(--green);letter-spacing:.1em;margin-left:3px}.score-cell input{padding:10px 4px;text-align:center;font-size:1.05rem;font-weight:600}.score-net{font-size:.72rem;text-align:center;color:var(--green);font-weight:700;min-height:1em}.score-net.empty{color:var(--muted);font-weight:500}.derived-note{margin:0;font-size:.82rem;color:var(--green);font-weight:600}.derived-note.mismatch{color:var(--down)}.section-label{font-size:.8rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.seg{display:flex;gap:8px}.seg-btn{flex:1;display:flex;flex-direction:column;gap:2px;align-items:center;padding:10px 6px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}.seg-btn.on{border-color:var(--green);background:var(--green-soft);color:var(--green)}.seg-main{font-weight:700;font-size:.92rem}.seg-sub{font-size:.68rem;color:var(--muted)}.seg-btn.on .seg-sub{color:var(--green)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{flex:1;min-width:30%;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font-weight:600}.chip.on{border-color:var(--green);background:var(--green-soft);color:var(--green)}.preview{border:1px dashed var(--line);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.preview-sides{display:flex;flex-direction:column;gap:2px;font-size:.85rem}.preview-sides em{color:var(--muted);font-style:normal;font-weight:600}.preview-deltas{display:flex;flex-wrap:wrap;gap:6px 12px}.pd{font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums}.editor-actions .btn{padding:11px 12px}.score-table{width:100%;border-collapse:collapse;font-size:.88rem;font-variant-numeric:tabular-nums}.score-table th{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 6px;text-align:center}.score-table td{padding:7px 6px;border-top:1px solid var(--line);text-align:center}.score-table .left{text-align:left;padding-left:0}.settle-list{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.settle-row{display:flex;align-items:center;gap:8px;font-size:.95rem}.pay-from{font-weight:700}.pay-arrow{color:var(--muted);font-size:.85rem}.pay-to{font-weight:700}.pay-amt{margin-left:auto;font-weight:700;color:var(--up);font-variant-numeric:tabular-nums}.rules summary{font-weight:600;cursor:pointer;color:var(--green)}.rules ul{margin:12px 0 0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:.9rem;color:var(--ink)}.danger-zone{display:flex;justify-content:center;padding-top:4px}.danger-zone .btn{width:100%}.brand-link{background:none;border:none;padding:0;color:inherit;font:inherit;font-size:1.25rem;font-weight:700;letter-spacing:.02em;text-align:left;cursor:pointer}.topbar-actions{display:flex;align-items:center;gap:12px;flex:none}.dev-tag{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:var(--green-soft);color:var(--green)}.signin-stack{align-items:center;padding-top:24px}.signin-stack .center{text-align:center}.signin-widget{display:flex;justify-content:center}.game-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 2px}.game-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}.game-row{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);text-align:left;cursor:pointer}.game-row-main{display:flex;flex-direction:column;gap:2px;min-width:0}.game-row-title{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none}.game-row-status{font-weight:700;font-size:.85rem}.game-row-status.live{color:var(--green)}.hole-row.readonly .hole-head{cursor:default}
