:root{--bg: #d4e2d8;--surface: #e8f0eb;--card-bg: #ffffff;--card-shadow: 0 1px 4px rgba(0, 0, 0, .08);--border: #b8cdbe;--text: #1a1a1a;--text-muted: #5c5c5c;--green: #0d8050;--green-dark: #0a6540;--green-bg: #e8f5ef;--red: #c8102e;--red-bg: #fce8eb;--radius: 10px;--radius-pill: 999px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--touch-min: 44px;--safe-top: env(safe-area-inset-top, 0);--safe-bottom: env(safe-area-inset-bottom, 0)}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.45;-webkit-font-smoothing:antialiased;padding-bottom:var(--safe-bottom);overflow-x:hidden}#app{max-width:480px;margin:0 auto;min-height:100vh}.app-bar{position:sticky;top:0;z-index:10;width:100vw;margin-left:calc(-50vw + 50%);background:var(--card-bg);border-bottom:1px solid var(--border);box-shadow:var(--card-shadow);padding-top:var(--safe-top)}.app-bar-inner{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;min-height:var(--touch-min)}.app-logo{font-size:1.5rem;line-height:1}.app-title{margin:0;font-size:1.1rem;font-weight:700;color:var(--text);flex:1;text-align:center}.app-bar-actions{min-width:44px}.app-bar-link{padding:.35rem .5rem;background:none;border:none;color:var(--text-muted);font:inherit;font-size:.9rem;text-decoration:underline;cursor:pointer}.app-bar-link:hover{color:var(--text)}.screen{display:none}.screen.active{display:block}.screen-inner{padding:1rem 1rem 1.25rem}.event-card{margin-bottom:1.25rem}.event-title{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:var(--text)}.event-sub{margin:0;font-size:.9rem;color:var(--text-muted)}.btn{padding:.65rem 1.1rem;min-height:var(--touch-min);border-radius:var(--radius);font:inherit;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--text);display:inline-flex;align-items:center;justify-content:center}.btn:hover{background:var(--surface)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--green);color:#fff;border-color:var(--green)}.btn-primary:hover{background:var(--green-dark);border-color:var(--green-dark)}.btn-accent{background:var(--red);border-color:var(--red)}.btn-accent:hover{background:#a00d28;border-color:#a00d28}.btn-outline{background:transparent;border:1px solid var(--border)}.btn-block{width:100%}.btn-large{padding:.9rem 1.25rem;font-size:1.05rem}.btn-icon{background:var(--card-bg);border:1px solid var(--border);color:var(--text);width:var(--touch-min);height:var(--touch-min);border-radius:var(--radius);cursor:pointer;font-size:1.25rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-icon.back{font-size:1.4rem}.btn-icon:hover{background:var(--surface)}.setup-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.setup-header .event-card{flex:1;margin-bottom:0}.setup-content{display:flex;flex-direction:column;gap:1.5rem}.setup-step{margin-bottom:.25rem}.step-label{margin:0 0 .5rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.game-type-cards-wrap{margin-bottom:1.5rem}.game-type-cards{display:grid;gap:.75rem}.game-type-card{display:block;width:100%;text-align:left;padding:1rem 1.1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;font:inherit;box-shadow:var(--card-shadow);transition:border-color .15s,background .15s,box-shadow .15s}.game-type-card:hover{background:var(--card-bg);border-color:var(--green);box-shadow:0 2px 6px #0000001a}.game-type-card:focus{outline:none;box-shadow:0 0 0 2px var(--green)}.game-type-card.selected{background:var(--card-bg);border-color:var(--green);color:var(--text);box-shadow:var(--card-shadow)}.game-type-card-title{margin:0 0 .35rem;font-size:1.05rem;font-weight:700;color:var(--text)}.game-type-card-desc{margin:0;font-size:.85rem;line-height:1.4;color:var(--text-muted)}.game-type-card.selected .game-type-card-title{color:var(--green)}.player-count-btns{display:flex;gap:.5rem}.player-count-btns button{flex:1;min-height:var(--touch-min);padding:.5rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;font:inherit;font-weight:500}.player-count-btns button:hover{background:var(--card-bg);border-color:var(--green)}.player-count-btns button.selected{background:var(--green);color:#fff;border-color:var(--green)}.hole-count-btns{display:flex;gap:.5rem}.hole-count-btns button{flex:1;min-height:var(--touch-min);padding:.5rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;font:inherit;font-weight:500}.hole-count-btns button:hover{background:var(--card-bg);border-color:var(--green)}.hole-count-btns button.selected{background:var(--green);color:#fff;border-color:var(--green)}#players-form{display:grid;grid-template-columns:1fr minmax(120px,auto);column-gap:.75rem;row-gap:.75rem;align-items:center}.players-row{display:contents}.players-row-header .step-label:last-child{text-align:left;justify-self:start}.players-row input[type=text]{padding:.65rem 1rem;min-height:var(--touch-min);border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:1rem}.players-row-header .step-label{margin:0}.players-row select{padding:.65rem 2rem .65rem 1rem;min-height:var(--touch-min);border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;min-width:120px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235c5c5c' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.setup-teams .teams-hint{margin:0 0 1rem;color:var(--text-muted);font-size:.9rem}#teams-container{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.team-box{padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);box-shadow:var(--card-shadow)}.team-box h3{margin:0 0 .75rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.team-player{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.team-player:last-child{border-bottom:none}.team-player span{font-size:.95rem}.swap-btn{padding:.35rem .6rem;min-height:36px;font-size:.8rem;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;font-weight:500}.swap-btn:hover{background:var(--green);color:#fff;border-color:var(--green)}.confirm-teams-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.confirm-teams-header .event-title{margin:0;font-size:1.35rem}#confirm-teams-container{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.confirm-team-card{display:flex;flex-direction:column;gap:.5rem}.confirm-team-card .step-label{margin:0}.confirm-team-name-row{display:flex;align-items:center;gap:.5rem}.confirm-team-name-row .confirm-team-name{flex:1;min-width:0}.confirm-team-refresh{flex-shrink:0;font-size:1.25rem;color:var(--text-muted)}.confirm-team-refresh:hover{color:var(--green)}.confirm-team-name{padding:.65rem 1rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:1rem;font-weight:600}.confirm-team-name::placeholder{color:var(--text-muted);font-weight:500}.confirm-team-body{padding-left:12px;padding-right:12px}.confirm-team-roster{margin:0;font-size:.9rem;color:var(--text-muted)}.confirm-team-player{display:flex;align-items:center;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--border)}.confirm-team-player:last-child{border-bottom:none}.confirm-team-player .swap-btn{flex-shrink:0}.confirm-team-combined{margin:0;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--green-dark)}.round-top{padding:0 1rem;padding-top:var(--safe-top);padding-bottom:.5rem}.round-header{display:flex;align-items:center;gap:.75rem;padding:1rem 0 .5rem}.round-end-link{margin-left:auto;padding:.35rem 0;background:none;border:none;color:var(--text-muted);font:inherit;font-size:.9rem;text-decoration:underline;cursor:pointer;white-space:nowrap}.round-end-link:hover{color:var(--text)}.round-title-wrap{flex:1;min-width:0}.status-pill{display:inline-block;padding:.2rem .6rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--red-bg);color:var(--red);border-radius:var(--radius-pill);margin-bottom:.35rem}.round-title{margin:0 0 .15rem;font-size:1.35rem;font-weight:700;color:var(--text)}.round-meta{margin:0;font-size:.85rem;color:var(--text-muted)}.round-layout{display:flex;flex-direction:column;padding:1rem;padding-bottom:calc(1rem + 80px)}.leaderboard-panel{margin-top:1.25rem;padding:1rem;background:var(--card-bg);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--card-shadow)}.round-layout>.round-actions{margin-top:1rem}.round-layout>.round-actions .btn{width:100%}.round-footer{position:fixed;bottom:var(--safe-bottom);left:50%;transform:translate(-50%);width:100%;max-width:480px;padding:.75rem 1rem;background:var(--bg);border-top:1px solid var(--border)}.hole-nav-segment-tabs{display:flex;gap:.25rem;margin-bottom:.5rem}.segment-tab{flex:1;padding:.4rem .5rem;border-radius:6px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);font:inherit;font-size:.85rem;font-weight:500;cursor:pointer}.segment-tab:hover{border-color:var(--green)}.segment-tab.selected{background:var(--green);color:#fff;border-color:var(--green)}.leaderboard-heading{margin:0 0 .75rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.leaderboard-table{width:100%}.leaderboard-header{display:grid;grid-template-columns:40px 1fr 44px;gap:.5rem;padding:.4rem 0 .5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);border-bottom:2px solid var(--border)}.lb-pos,.lb-player{text-align:left}.lb-pts{text-align:right}.leaderboard-item{display:grid;grid-template-columns:40px 1fr 44px;gap:.5rem;align-items:center;padding:.6rem 0;font-size:.95rem;border-bottom:1px solid var(--border)}.leaderboard-item:last-child{border-bottom:none}.leaderboard-item .lb-pos{font-weight:600;color:var(--text-muted)}.leaderboard-item .lb-label{font-weight:500;min-width:0}.leaderboard-item .lb-label small{font-weight:400;color:var(--text-muted);font-size:.85em}.leaderboard-item .lb-pts{font-weight:700;text-align:right}.leaderboard-item.leader .lb-pts{color:var(--green)}.leaderboard-item.leader .lb-label{font-weight:600;color:var(--text)}.hole-nav-wrap{margin-bottom:0}.hole-nav{display:grid;grid-template-columns:repeat(9,1fr);gap:.25rem}.hole-nav button{min-height:2.5rem;padding:.25rem;border-radius:6px;border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;font:inherit;font-size:.9rem;font-weight:500}.hole-nav button:hover{background:var(--card-bg);border-color:var(--green)}.hole-nav button.filled{background:var(--green-bg);color:var(--green-dark);border:2px solid var(--green-dark);font-weight:600}.hole-nav button.current{background:var(--green-dark);color:#fff;border:2px solid var(--green-dark);font-weight:700}.hole-nav button.current.filled{background:var(--green-dark);color:#fff;border:2px solid var(--green-dark)}.hole-entry{margin-top:.5rem}.hole-title{margin:0 0 .25rem;font-size:1.5rem;font-weight:700;color:var(--text)}.hole-instruction{margin:0 0 1rem;font-size:.95rem;color:var(--text-muted)}.hole-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:1.5rem}.hole-option{min-height:var(--touch-min);padding:.65rem .5rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--card-bg);color:var(--text);cursor:pointer;font:inherit;font-size:.95rem;font-weight:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem}.hole-option-label{font-weight:600}.hole-option-sublabel{font-size:.8rem;font-weight:400;color:var(--text-muted)}.hole-option.selected .hole-option-sublabel{color:#ffffffe6}.hole-options:has(.hole-option-team){grid-template-columns:repeat(2,1fr)}.hole-option-team{min-height:3.5rem;padding:.85rem .75rem;font-size:1.05rem}.hole-option:hover{background:var(--card-bg);border-color:var(--green)}.hole-option.selected{background:var(--green);color:#fff;border-color:var(--green)}.round-actions{display:flex;gap:.5rem;flex-wrap:wrap}.round-actions .btn{flex:1;min-width:0}.summary-content{display:flex;flex-direction:column;gap:1.25rem}.card{padding:1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-shadow)}.card-heading{margin:0 0 .75rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted)}.summary-leaderboard .leaderboard-table .leaderboard-header{margin-bottom:0}.summary-leaderboard .leaderboard-item{padding:.5rem 0}.summary-holes h2,.summary-holes .card-heading{margin:0 0 .5rem}.summary-holes ul{margin:0;padding-left:1.25rem;color:var(--text-muted);font-size:.95rem;line-height:1.6}.summary-actions{display:flex;flex-direction:column;gap:.5rem}.summary-actions .btn{width:100%}.history-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.history-header .event-title{margin:0;font-size:1.35rem}.history-content{min-height:200px}.history-list-item{padding:1rem;margin-bottom:.5rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--card-shadow);cursor:pointer;min-height:var(--touch-min);display:flex;flex-direction:column;justify-content:center}.history-list-item:hover,.history-list-item:active{background:var(--green-bg);border-color:var(--green)}.history-list-item .date{font-size:.9rem;font-weight:600;color:var(--text)}.history-list-item .meta{font-size:.85rem;color:var(--text-muted);margin-top:.2rem}.history-detail{margin-top:1rem}.history-detail .summary-leaderboard,.history-detail .card{margin-bottom:1rem}#toast-container{position:fixed;bottom:calc(1rem + var(--safe-bottom));left:50%;transform:translate(-50%);z-index:100;pointer-events:none}.toast{padding:.6rem 1.25rem;background:var(--green);color:#fff;border-radius:var(--radius-pill);font-size:.9rem;font-weight:500;white-space:nowrap;animation:toastIn .2s ease}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-history{color:var(--text-muted);text-align:center;padding:2rem 1rem;font-size:.95rem}
