:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eef4ef;--bg-gradient-a:#edf5ef;--bg-gradient-b:#dbe8de;--bg-glow:#ffcf5c52;--text:#16241d;--text-strong:#174c35;--text-body:#354b3f;--text-muted:#587064;--text-faint:#64786d;--accent:#126846;--accent-hover:#0d573a;--accent-muted:#6fa88a;--on-accent:#fff;--focus-ring:#14764d24;--surface:#ffffffeb;--surface-solid:#fbfdfb;--surface-nav:#ffffffb8;--surface-sunken:#f0f7f2;--surface-sunken-alt:#f4faf5;--surface-sunken-hover:#e4f1e7;--surface-accent-subtle:#e8f5eb;--surface-keypad:#e9f3ec;--border:#cfddd3;--border-subtle:#dfebe2;--border-input:#b8cbbf;--border-strong:#a9c4b2;--border-card:#1e52381a;--danger:#bd3a25;--danger-text:#8b2420;--danger-border:#cf887b;--danger-surface:#fff0ee;--danger-surface-subtle:#fff7f5;--status-synced-text:#2f4a3b;--status-synced-surface:#e8f0ea;--status-saving-text:#5a4a12;--status-saving-surface:#fbf3d8;--status-offline-text:#6a4b16;--status-offline-surface:#fdeccf;--overlay:#0d1e157a;--shadow-color:#2a4b391f;--shadow-color-strong:#0a241633;color:var(--text);background:var(--bg);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101a15;--bg-gradient-a:#12211b;--bg-gradient-b:#0c1410;--bg-glow:#ffcf5c0d;--text:#e4ede7;--text-strong:#eef4ef;--text-body:#b7c9bf;--text-muted:#93a89b;--text-faint:#849a8f;--accent:#1a7d54;--accent-hover:#22946a;--accent-muted:#3f8f6f;--on-accent:#fff;--focus-ring:#1a7d5466;--surface:#18231e;--surface-solid:#1b2823;--surface-nav:#ffffff0d;--surface-sunken:#16211c;--surface-sunken-alt:#182420;--surface-sunken-hover:#1e2c26;--surface-accent-subtle:#14241c;--surface-keypad:#17271f;--border:#2b3a33;--border-subtle:#243029;--border-input:#3a4d44;--border-strong:#43584e;--border-card:#ffffff14;--danger:#e06b52;--danger-text:#f0ab9d;--danger-border:#7c4034;--danger-surface:#2c1512;--danger-surface-subtle:#24110e;--status-synced-text:#a7c6b6;--status-synced-surface:#17251e;--status-saving-text:#d9c48a;--status-saving-surface:#29230f;--status-offline-text:#e0b483;--status-offline-surface:#2c2210;--overlay:#0000009e;--shadow-color:#00000073;--shadow-color-strong:#00000080}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#101a15;--bg-gradient-a:#12211b;--bg-gradient-b:#0c1410;--bg-glow:#ffcf5c0d;--text:#e4ede7;--text-strong:#eef4ef;--text-body:#b7c9bf;--text-muted:#93a89b;--text-faint:#849a8f;--accent:#1a7d54;--accent-hover:#22946a;--accent-muted:#3f8f6f;--on-accent:#fff;--focus-ring:#1a7d5466;--surface:#18231e;--surface-solid:#1b2823;--surface-nav:#ffffff0d;--surface-sunken:#16211c;--surface-sunken-alt:#182420;--surface-sunken-hover:#1e2c26;--surface-accent-subtle:#14241c;--surface-keypad:#17271f;--border:#2b3a33;--border-subtle:#243029;--border-input:#3a4d44;--border-strong:#43584e;--border-card:#ffffff14;--danger:#e06b52;--danger-text:#f0ab9d;--danger-border:#7c4034;--danger-surface:#2c1512;--danger-surface-subtle:#24110e;--status-synced-text:#a7c6b6;--status-synced-surface:#17251e;--status-saving-text:#d9c48a;--status-saving-surface:#29230f;--status-offline-text:#e0b483;--status-offline-surface:#2c2210;--overlay:#0000009e;--shadow-color:#00000073;--shadow-color-strong:#00000080}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at top right, var(--bg-glow), transparent 30rem), linear-gradient(160deg, var(--bg-gradient-a) 0%, var(--bg-gradient-b) 100%);margin:0}button,input,select,textarea{font:inherit}.app-shell{width:min(100%,34rem);min-height:100vh;margin:0 auto;padding:2rem 1rem 3rem}.top-navigation{background:var(--surface-nav);border-radius:1rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-bottom:.75rem;padding:.35rem;display:grid}.top-navigation button{min-height:2.7rem;color:var(--text-body);background:0 0;margin:0;padding-inline:.2rem;font-size:.78rem}.top-navigation button[aria-current=page]{color:var(--on-accent);background:var(--accent)}.loading{color:var(--text-muted);place-items:center;display:grid}.hero{padding:.75rem .35rem 1.4rem}.hero h1,.hero p{margin:0}.hero h1{letter-spacing:-.045em;margin-top:.25rem;font-size:clamp(2rem,8vw,3rem);line-height:1.05}.hero>p:last-child{color:var(--text-muted);margin-top:.65rem}.eyebrow{color:var(--accent);letter-spacing:.15em;text-transform:uppercase;font-size:.76rem;font-weight:800}.score-card{border:1px solid var(--border-card);background:var(--surface);box-shadow:0 1.2rem 3rem var(--shadow-color);border-radius:1.4rem;padding:1.35rem}.score-card h2{margin:0 0 1.15rem;font-size:1rem}label{color:var(--text-body);gap:.45rem;font-size:.85rem;font-weight:700;display:grid}input,select,textarea{border:1px solid var(--border-input);width:100%;min-height:3.2rem;color:var(--text);background:var(--surface-solid);border-radius:.85rem;padding:.75rem .9rem;font-size:1rem}textarea{resize:vertical;min-height:6rem}input:focus{border-color:var(--accent);outline:3px solid var(--focus-ring)}.number-grid{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem;display:grid}button{width:100%;min-height:3.35rem;color:var(--on-accent);background:var(--accent);cursor:pointer;border:0;border-radius:.9rem;margin-top:1.2rem;font-weight:800}button:hover{background:var(--accent-hover)}button:disabled{cursor:wait;opacity:.65}.error{color:var(--danger-text);background:var(--danger-surface);border-radius:.75rem;margin:1rem 0 0;padding:.8rem;font-size:.9rem}.sync-status{color:var(--status-synced-text);background:var(--status-synced-surface);border-radius:999px;align-items:center;gap:.6rem;margin:0 0 .75rem;padding:.45rem .9rem;font-size:.82rem;font-weight:600;display:flex}.sync-status-saving{color:var(--status-saving-text);background:var(--status-saving-surface)}.sync-status-offline-pending{color:var(--status-offline-text);background:var(--status-offline-surface)}.sync-status-failed{color:var(--danger-text);background:var(--danger-surface)}.sync-status button{margin-left:auto}.round-presence{color:var(--text-strong);background:var(--surface-accent-subtle);border-radius:.75rem;margin:0;padding:.5rem .85rem;font-size:.85rem}.result{color:var(--text-strong);background:var(--surface-accent-subtle);border-radius:1rem;gap:.15rem;margin-top:1.1rem;padding:1rem;display:grid}.result p,.result strong,.result span{margin:0}.library-stack{gap:1rem;display:grid}.compact-hero{padding-bottom:.6rem}.compact-hero h1{font-size:clamp(1.85rem,7vw,2.65rem)}.library-form{gap:1rem;display:grid}.library-form h2{margin-bottom:0}.library-form button{margin-top:0}.library-list{gap:.65rem;display:grid}.statistics-summary{grid-template-columns:repeat(3,1fr);gap:.5rem;margin:0;display:grid}.statistics-summary div{text-align:center;background:var(--surface-sunken);border-radius:.75rem;gap:.15rem;padding:.65rem .5rem;display:grid}.statistics-summary dt{color:var(--text-muted);font-size:.72rem}.statistics-summary dd{color:var(--text-strong);font-variant-numeric:tabular-nums;margin:0;font-size:1.35rem;font-weight:800}.statistics-recent{color:var(--text-body);margin:.9rem 0 0;font-size:.9rem}.statistics-breakdown{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.statistics-breakdown li{border:1px solid var(--border);border-radius:.75rem;gap:.2rem;padding:.7rem .85rem;display:grid}.statistics-breakdown span{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.85rem}.library-list-item{border:1px solid var(--border);color:var(--text-strong);background:var(--surface-sunken-alt);text-align:left;justify-items:start;gap:.2rem;margin:0;padding:.9rem 1rem;display:grid}.library-list-item span{color:var(--text-muted);font-size:.85rem}.empty-state{color:var(--text-faint)}.back-button{width:auto;min-height:auto;color:var(--accent);background:0 0;justify-self:start;margin:.4rem 0 0;padding:.5rem 0}.hole-editor{gap:.8rem;display:grid}.hole-editor fieldset{border:1px solid var(--border);border-radius:.9rem;gap:.8rem;margin:0;padding:.9rem;display:grid}.hole-editor legend{color:var(--text-body);padding:0 .35rem;font-weight:800}.two-columns{grid-template-columns:.7fr 1.3fr;margin-top:0}.hole-table-scroll{overflow-x:auto}.hole-table{border-collapse:collapse;width:100%;font-size:.85rem}.hole-table th,.hole-table td{text-align:left;vertical-align:middle;padding:.3rem .35rem}.hole-table th{color:var(--text-body);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--border);font-size:.68rem;font-weight:800}.hole-table tbody tr+tr td{border-top:1px solid var(--border-subtle)}.hole-table th:first-child,.hole-table td:first-child{width:2.5rem;color:var(--text-muted);font-variant-numeric:tabular-nums;text-align:center;padding-left:.15rem}.hole-table th:nth-child(3),.hole-table td:nth-child(3),.hole-table th:nth-child(4),.hole-table td:nth-child(4){width:4rem}.hole-table input{border-radius:.55rem;width:100%;min-height:2.3rem;margin:0;padding:.3rem .45rem;font-size:.9rem}.hole-table td:nth-child(3) input,.hole-table td:nth-child(4) input{text-align:center;font-variant-numeric:tabular-nums}.hole-row-actions{gap:.2rem;display:flex}.hole-row-actions button{width:2rem;min-width:2rem;min-height:2.3rem;margin:0;padding:0;font-size:.82rem;line-height:1}.hole-actions{flex-wrap:wrap;gap:.5rem;display:flex}.secondary-button{border:1px solid var(--border-strong);color:var(--accent);background:var(--surface-sunken)}.secondary-button:hover{background:var(--surface-sunken-hover)}.compact-button{width:auto;min-height:2.4rem;padding:.45rem .7rem;font-size:.82rem}.danger-button{color:var(--danger-text);margin-left:auto}.hole-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.hole-list li{border-bottom:1px solid var(--border-subtle);padding:.7rem 0}.player-list{gap:.65rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.range-toggle{flex-wrap:wrap;gap:.35rem;margin:0 0 .75rem;display:flex}.range-toggle button{border:1px solid var(--border-strong);width:auto;min-height:2.4rem;color:var(--accent);background:var(--surface-sunken);border-radius:999px;margin:0;padding:.4rem .8rem;font-size:.85rem}.range-toggle button[aria-pressed=true]{color:var(--on-accent);background:var(--accent)}.ranking-filters{gap:.6rem;margin-bottom:.9rem;display:grid}.ranking-list{gap:.4rem;margin:0;padding-left:1.4rem;display:grid}.ranking-list li{justify-content:space-between;gap:.75rem;display:flex}.ranking-list span{color:var(--text-muted);font-variant-numeric:tabular-nums}.player-list li{border-bottom:1px solid var(--border-subtle);gap:.2rem;padding:.7rem 0;display:grid}.player-list span{color:var(--text-muted);font-size:.85rem}.link-review{background:var(--surface-accent-subtle);border-radius:1rem;margin-top:1rem;padding:1rem}.result strong{font-size:1.4rem}.result span{color:var(--text-muted);margin-top:.25rem;font-size:.8rem}@media (width<=390px){.number-grid{grid-template-columns:1fr}}.score-entry-card{gap:.8rem;padding:.9rem;display:grid}.score-entry-card>button{margin-top:0}.scorecard-hole-navigation{text-align:center;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;gap:.55rem;display:grid}.scorecard-hole-navigation h2,.scorecard-hole-navigation p{margin:0}.scorecard-hole-navigation p{color:var(--text-faint);margin-top:.2rem;font-size:.82rem}.hole-navigation-button{min-height:2.5rem;margin:0;padding:0;font-size:1.45rem}.scorecard-player-list{gap:.6rem;display:grid}.scorecard-player{border:1px solid var(--border);background:var(--surface-solid);border-radius:.95rem;overflow:hidden}.scorecard-player.active-player{border-color:var(--accent-muted)}.scorecard-player-toggle{min-height:auto;color:var(--text);text-align:left;background:0 0;border-radius:0;grid-template-columns:1fr auto;align-items:center;gap:.7rem;margin:0;padding:.75rem;display:grid}.scorecard-player-toggle:hover{background:var(--surface-sunken)}.scorecard-player-toggle>span:first-child{gap:.2rem;display:grid}.scorecard-player-toggle small{color:var(--text-faint);font-size:.75rem;font-weight:600}.hole-result{min-width:2rem;color:var(--text-strong);text-align:center;justify-items:center;gap:.05rem;font-size:1.35rem;font-weight:900;display:grid}.hole-result.penalty-result{color:var(--danger)}.penalty-flag{color:var(--danger);letter-spacing:.05em;text-transform:uppercase;font-size:.58rem;font-weight:800}.score-entry-controls{border-top:1px solid var(--border-subtle);background:var(--surface-sunken-alt);gap:.55rem;padding:.65rem;display:grid}.score-number-grid{grid-template-columns:repeat(5,1fr);gap:.3rem;display:grid}.score-number-grid button{border:1px solid var(--border-input);min-height:2.4rem;color:var(--text-strong);background:var(--surface-solid);border-radius:.65rem;margin:0;padding:0}.score-number-grid button.selected-score{border-color:var(--accent);color:var(--on-accent);background:var(--accent)}.score-number-grid button.selected-penalty-score{border-color:var(--danger);background:var(--danger)}.score-entry-secondary{grid-template-columns:minmax(5rem,1fr) auto auto;align-items:end;gap:.45rem;display:grid}.other-score-label{gap:.2rem;font-size:.72rem}.other-score-label input{min-height:2.4rem;padding:.35rem .55rem}.penalty-toggle,.clear-score-button{min-height:2.4rem;margin:0}.penalty-toggle{border-color:var(--danger-border);color:var(--danger-text);background:var(--danger-surface-subtle)}.penalty-toggle:hover,.penalty-toggle.penalty-active{color:var(--on-accent);background:var(--danger)}.clear-score-button{padding:.45rem}.participant-card{margin-top:1rem}.participant-list{flex-direction:column;gap:.5rem;margin:.5rem 0 1rem;padding:0;list-style:none;display:flex}.participant-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.participant-name{align-items:center;gap:.4rem;display:flex}.participant-dnf{letter-spacing:.03em;color:var(--danger);border:1px solid var(--danger-border);border-radius:999px;padding:.05rem .4rem;font-size:.68rem;font-weight:700}.participant-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.player-picker-results,.selected-players ul{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.player-picker-row,.selected-players li{justify-content:space-between;align-items:center;display:flex}.player-picker-row{text-align:left;min-height:3rem;margin:0;padding:.7rem .9rem}.selected-players{border-top:1px solid var(--border-subtle);padding-top:.9rem}.selected-players h2{margin-bottom:.65rem}.selected-players li{border-bottom:1px solid var(--border-subtle);gap:.7rem;padding:.45rem 0}.selected-players li button{width:auto}.round-review dl,.round-review dl div{gap:.25rem;display:grid}.round-review dl{gap:.8rem;margin:0}.round-review dt{color:var(--text-faint);text-transform:uppercase;font-size:.75rem;font-weight:700}.round-review dd{margin:0;font-weight:750}.result-sheet-backdrop{background:var(--overlay);z-index:50;justify-content:center;align-items:flex-end;padding:1rem 0 0;display:flex;position:fixed;inset:0}.result-sheet{background:var(--surface-solid);box-shadow:0 -1rem 3rem var(--shadow-color-strong);max-height:92vh;padding:1rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));border-radius:1.4rem 1.4rem 0 0;width:min(100%,34rem);overflow-y:auto}.result-sheet-header{justify-content:space-between;align-items:center;display:flex}.result-sheet-header div{display:grid}.result-sheet-header small{color:var(--text-faint)}.result-sheet-header button{width:2.7rem}.result-sheet-value{justify-content:center;align-items:baseline;gap:.4rem;min-height:4.2rem;padding:.35rem;font-size:2.8rem;font-weight:900;display:flex}.result-sheet-value small{font-size:.75rem}.result-keypad{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.result-keypad button{background:var(--surface-keypad);color:var(--text-strong);min-height:3.6rem;margin:0;font-size:1.35rem}.result-keypad button.penalty-active{background:var(--danger);color:var(--on-accent)}.result-keypad button:disabled{cursor:not-allowed}.result-sheet-actions{grid-template-columns:1fr;gap:.55rem;margin-top:.75rem;display:grid}.result-sheet-actions button{margin:0}.result-sheet-save{font-size:1.05rem}.participant-confirmation{border:1px solid var(--danger-border);background:var(--danger-surface-subtle);border-radius:.75rem;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:.75rem;display:flex}.participant-confirmation p{margin:0}.participant-add{flex-direction:column;gap:.5rem;display:flex}.round-history-list{color:var(--text-muted);flex-direction:column;gap:.3rem;margin:.4rem 0 .8rem;padding:0;font-size:.85rem;list-style:none;display:flex}.round-lifecycle{flex-direction:column;gap:.6rem;display:flex}.round-lifecycle [role=group]{flex-direction:column;gap:.5rem;display:flex}.round-lifecycle [role=group] p{color:var(--text-muted);margin:0;font-size:.85rem}.results-scroll{margin-top:.5rem;overflow-x:auto}.results-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.8rem}.results-table th,.results-table td{border:1px solid var(--border);text-align:center;padding:.35rem .5rem}.results-table thead th{color:var(--text-body);font-weight:700}.results-table th[scope=row]{z-index:1;text-align:left;background:var(--surface-sunken-alt);position:sticky;left:0}.results-player{align-items:center;gap:.35rem;display:flex}.results-par-row td,.results-par-row th{color:var(--text-faint);font-weight:600}.results-table td.penalty-result{color:var(--danger);font-weight:700;position:relative}.results-table td.penalty-result:before{background:var(--danger);content:"";height:4px;position:absolute;top:0;left:0;right:0}.results-total{font-weight:700}.results-topar{color:var(--accent);font-weight:700}.settings-screen h2{margin-bottom:.75rem}.setting-field{margin-top:1rem}.map-panel{gap:1rem;display:grid}.map-figure{gap:.5rem;margin:0;display:grid}.map-figure img{background:var(--surface-sunken);border-radius:.9rem;width:100%;height:auto}.map-figure figcaption{color:var(--text-muted);font-size:.78rem}.setting-toggle{background:var(--surface-sunken-alt);border:1px solid var(--border);border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;font-weight:650;display:flex}.setting-toggle input{flex:none;width:1.5rem;height:1.5rem}.field-hint{color:var(--text-muted);margin:.4rem 0 0;font-size:.82rem}.form-error{color:var(--danger-text);margin:.4rem 0 0;font-size:.85rem;font-weight:600}.development-data-tools{border-top:1px solid var(--border);gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:grid}.development-data-actions{gap:.6rem;display:grid}.development-data-actions label{cursor:pointer;text-align:center}.development-data-actions input[type=file]{width:100%;margin-top:.5rem;display:block}
