:root{--color-primary: #2eaf4f;--color-primary-dark: #1f8a3b;--color-primary-light: #a6e39a;--color-accent: #ffc857;--color-bg: #ffffff;--color-bg-muted: #e6ece9;--color-border: #d7dedb;--color-text: #1f2a2e;--color-text-muted: #6b7280;--color-text-inverse: #ffffff;--color-danger: #dc2626;--color-warning: #f59e0b;--color-success: #16a34a;--color-birdie: #16a34a;--color-par: #1f2a2e;--color-bogey: #ffc857;--color-double: #dc2626;--color-score-bogey: #f58a80;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-pill: 999px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-xxl: 32px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);font-size:16px;line-height:1.4;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}button{font-family:inherit;cursor:pointer;border:none;background:transparent;color:inherit;font-size:inherit}input,textarea{font-family:inherit;font-size:inherit}a{color:var(--color-primary-dark);text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-sm) var(--space-lg);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10;box-shadow:var(--shadow-sm);min-height:56px}.header-title{font-weight:700;font-size:18px;margin:0}.header-logo{height:80px;width:auto;max-width:55%;object-fit:contain;display:block}.header-logo{height:28px;width:auto;display:block;object-fit:contain}.header-back,.header-right{color:var(--color-text-inverse);font-weight:600;font-size:15px;background:transparent}.header-lang-wrap{display:flex;align-items:center;gap:6px;padding-left:10px;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-md);background:#ffffff1f}.header-lang-globe{color:#ffffffd9;flex-shrink:0}.header-lang{border:none;background:transparent;padding:6px 8px 6px 4px;font-size:14px;font-weight:700;color:#fff;cursor:pointer}.header-lang option{color:var(--color-text)}.page{flex:1;width:100%;max-width:720px;margin:0 auto;padding:var(--space-lg)}.title{font-size:24px;font-weight:800;margin:0 0 var(--space-xs) 0;color:var(--color-text)}.venue-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.venue-title-row .title{margin:0;min-width:0;font-size:20px}.rules-pill{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);font-size:14px;font-weight:700;color:var(--color-text);cursor:pointer}.rules-pill-chevron{font-size:18px;line-height:1;color:var(--color-text-muted)}.subtitle{font-size:16px;color:var(--color-text);margin:0 0 2px}.muted{color:var(--color-text-muted)}.section-title{font-size:12px;color:var(--color-text-muted);letter-spacing:.5px;font-weight:700;margin:var(--space-xl) 0 var(--space-sm) 0;text-transform:uppercase}.bane-page{counter-reset:setupstep}.setup-section-title{counter-increment:setupstep;display:flex;align-items:center;gap:10px;font-size:15px;letter-spacing:.6px;font-weight:800;color:var(--color-primary-dark);margin:var(--space-xl) 0 var(--space-md)}.setup-section-title:before{content:counter(setupstep);flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;letter-spacing:0}.setup-section-title:after{content:"";flex:1 1 auto;height:2px;border-radius:1px;background:color-mix(in srgb,var(--color-primary) 30%,transparent)}.today-best-list{background:var(--color-bg-muted);border-radius:var(--radius-md);overflow:hidden}.leaderboard-link-btn{margin-top:var(--space-md);width:100%;padding:12px;border:1px solid var(--color-primary);background:transparent;color:var(--color-primary-dark);font-weight:700;font-size:15px;border-radius:var(--radius-md);cursor:pointer}.leaderboard-link-btn:hover{background:var(--color-primary);color:#fff}.leaderboard-page{max-width:560px;margin:0 auto;padding:var(--space-lg) var(--space-md) var(--space-xl)}.leaderboard-venue{font-size:22px;font-weight:800;margin:0}.leaderboard-sub{color:var(--color-text-muted);margin:4px 0 var(--space-lg)}.leaderboard-course-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-md)}.leaderboard-course-tab{padding:7px 14px;border:1px solid var(--color-border);background:var(--color-bg);border-radius:999px;font-size:14px;font-weight:700;cursor:pointer}.leaderboard-course-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.leaderboard-course-name{font-size:16px;font-weight:800;margin:0 0 var(--space-sm)}.leaderboard-list{list-style:none;margin:0;padding:0;background:var(--color-bg-muted);border-radius:var(--radius-md);overflow:hidden}.leaderboard-page .leaderboard-row{display:flex;align-items:center;gap:var(--space-md);padding:10px var(--space-md);border-bottom:1px solid var(--color-border)}.leaderboard-page .leaderboard-row:last-child{border-bottom:none}.leaderboard-rank{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-text-muted);font-weight:800;font-size:13px}.leaderboard-rank.rank-1{background:#e8b923;color:#4a3500}.leaderboard-rank.rank-2{background:#c3cad1;color:#2b2f33}.leaderboard-rank.rank-3{background:#bd7b44;color:#3a1e08}.leaderboard-page .leaderboard-name{flex:1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-page .leaderboard-score{font-weight:800;font-size:17px}.leaderboard-score-unit{color:var(--color-text-muted);font-weight:600;font-size:12px}.today-best-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border)}.today-best-row:last-child{border-bottom:none}.today-best-name{flex:1;font-size:15px;font-weight:800;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.today-best-values{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.today-best-score{font-size:14px;font-weight:800;color:var(--color-text)}.today-best-player{font-size:12px;font-weight:700;color:var(--color-primary-dark)}.record-table{width:100%}.record-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.record-row:last-child{border-bottom:none}.record-col-bane{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-col-score{width:90px;text-align:center}.record-col-winner{width:110px;text-align:right}.setup-top{display:flex;gap:var(--space-md);align-items:stretch;margin-bottom:var(--space-lg)}.setup-card{display:flex;flex-direction:column;flex:1 1 0;min-width:0;background:var(--color-bg-muted);border-radius:var(--radius-md);padding:var(--space-md) var(--space-md) var(--space-sm)}.setup-card-title{display:flex;align-items:center;gap:6px;margin-bottom:var(--space-sm)}.setup-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--color-primary)}.setup-card-label{min-width:0;font-size:12px;font-weight:800;letter-spacing:.2px;text-transform:uppercase;color:var(--color-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-card-button{text-align:left;font:inherit;border:none;cursor:pointer;color:inherit}.rules-card-row{display:flex;flex:1;align-items:center;gap:var(--space-sm)}.rules-card-text{flex:1;font-size:14px;line-height:1.3;color:var(--color-text-muted)}.rules-card-chevron{flex-shrink:0;font-size:24px;line-height:1;color:var(--color-text-muted)}.setup-card .today-best-list{background:transparent}.setup-card .today-best-row{padding-left:0;padding-right:0;gap:var(--space-sm)}.setup-card .today-best-name,.setup-card .today-best-score{font-size:13px}.setup-card .today-best-player{font-size:11px}.gameinfo-list{display:flex;flex:1;flex-direction:column;gap:var(--space-sm)}.gameinfo-btn{display:flex;flex:1;align-items:center;gap:6px;width:100%;min-height:44px;padding:var(--space-sm) 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:14px;font-weight:700;color:var(--color-text);cursor:pointer}.gameinfo-icon{color:var(--color-primary);flex-shrink:0}.gameinfo-label{flex:1;text-align:left}.gameinfo-chevron{color:var(--color-text-muted);flex-shrink:0}.player-field{position:relative;flex:1;min-width:0}.player-field .player-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.player-input.with-icon{width:100%;box-sizing:border-box;padding-left:38px}.info-card{background:var(--color-bg-muted);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-lg)}.info-card-label{font-size:11px;color:var(--color-text-muted);font-weight:700;letter-spacing:.5px;margin-bottom:var(--space-xs)}.info-card-text{font-size:15px;color:var(--color-text);line-height:1.5;white-space:pre-wrap}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.chip{padding:var(--space-sm) var(--space-md);background:color-mix(in srgb,var(--color-primary-light) 25%,transparent);color:var(--color-primary-dark);border-radius:var(--radius-pill);font-size:13px;font-weight:600}.btn-primary{display:block;width:100%;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-lg);border-radius:var(--radius-md);font-weight:700;font-size:16px;text-align:center;margin-top:var(--space-xl)}.btn-primary:active{background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.6}.btn-secondary{display:block;width:100%;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-weight:600;text-align:center;margin-top:var(--space-sm)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);z-index:1000}.dialog-card{width:100%;max-width:400px;max-height:85vh;overflow-y:auto;background:var(--color-bg);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 12px 40px #0000004d}.dialog-title{margin:0 0 var(--space-sm) 0;font-size:20px;font-weight:800;color:var(--color-text)}.dialog-body{margin:0;font-size:15px;line-height:1.5;color:var(--color-text-muted);white-space:pre-line}.dialog-body strong{color:var(--color-text)}.dialog-body a{color:var(--color-primary);font-weight:600;word-break:break-all}.end-name-rejected{margin:0 0 var(--space-sm);text-align:center;font-weight:700;color:var(--color-danger)}.dialog-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.dialog-actions .btn-primary,.dialog-actions .btn-secondary{flex:1;width:auto;margin-top:0}.admin-auth-page{align-items:center;background:var(--color-bg);display:flex;justify-content:center;min-height:100vh;padding:var(--space-xl)}.admin-login-card{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-md);max-width:420px;padding:var(--space-xl);width:100%}.admin-login-card h1,.admin-topbar h1,.admin-panel h2,.admin-venue-row h3{margin:0}.admin-shell{background:var(--color-bg-muted);min-height:100vh}.admin-topbar{align-items:center;background:var(--color-primary);color:var(--color-text-inverse);display:flex;gap:var(--space-lg);justify-content:space-between;padding:var(--space-lg) clamp(var(--space-lg),4vw,var(--space-xxl));position:sticky;top:0;z-index:20}.admin-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;margin:0 0 2px;opacity:.78;text-transform:uppercase}.admin-topbar-actions,.admin-actions,.admin-inline-row,.admin-panel-header,.admin-course-header{align-items:center;display:flex;gap:var(--space-sm)}.admin-main{margin:0 auto;max-width:1120px;padding:var(--space-xl)}.admin-panel{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-md);padding:var(--space-lg)}.admin-panel-header{justify-content:space-between}.admin-button{align-items:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);display:inline-flex;font-weight:800;justify-content:center;min-height:40px;padding:var(--space-sm) var(--space-md)}.admin-button-primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.admin-button-danger{border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border));color:var(--color-danger)}.admin-button:disabled{cursor:default;opacity:.6}.admin-venue-list{display:grid;gap:var(--space-sm)}.admin-venue-row{align-items:center;background:var(--color-bg-muted);border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text);display:flex;gap:var(--space-md);justify-content:space-between;padding:var(--space-md)}.admin-venue-row:hover{border-color:var(--color-primary)}.admin-venue-row p{color:var(--color-text-muted);font-size:13px;margin:2px 0 0}.admin-venue-row span{background:var(--color-bg);border-radius:var(--radius-pill);color:var(--color-primary-dark);flex:0 0 auto;font-size:13px;font-weight:800;padding:var(--space-xs) var(--space-md)}.admin-empty,.admin-error{background:color-mix(in srgb,var(--color-warning) 14%,var(--color-bg));border:1px solid color-mix(in srgb,var(--color-warning) 40%,var(--color-border));border-radius:var(--radius-md);margin:0;padding:var(--space-md)}.admin-error{background:color-mix(in srgb,var(--color-danger) 10%,var(--color-bg));border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border));color:var(--color-danger)}.admin-edit-grid{display:grid;gap:var(--space-lg);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.admin-full{grid-column:1 / -1}.admin-field{color:var(--color-text);display:grid;font-size:13px;font-weight:800;gap:var(--space-xs)}.admin-field input,.admin-field textarea,.admin-field select,.admin-inline-row input{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);min-height:42px;padding:var(--space-sm) var(--space-md);width:100%}.admin-field textarea{min-height:96px;resize:vertical}.admin-two-col{display:grid;gap:var(--space-md);grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.admin-chip-grid{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.admin-chip{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-text);font-size:13px;font-weight:800;padding:var(--space-sm) var(--space-md)}.admin-chip.active{background:color-mix(in srgb,var(--color-primary-light) 38%,var(--color-bg));border-color:var(--color-primary);color:var(--color-primary-dark)}.admin-inline-row input{flex:1}.admin-file-import{align-items:center;background:var(--color-bg-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-primary-dark);cursor:pointer;display:flex;font-weight:900;justify-content:center;min-height:56px;padding:var(--space-md);text-align:center}.admin-file-import input{display:none}.admin-image-grid{display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.admin-image-thumb{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;gap:var(--space-xs);min-height:120px;overflow:hidden;padding:var(--space-sm)}.admin-image-thumb img{aspect-ratio:4 / 3;border-radius:var(--radius-sm);object-fit:cover;width:100%}.admin-image-thumb p{color:var(--color-text-muted);font-size:12px;margin:0;overflow-wrap:anywhere}.admin-image-thumb span{color:var(--color-primary-dark);font-size:12px;font-weight:900}.admin-image-thumb button{color:var(--color-danger);font-size:13px;font-weight:800;text-align:left}.admin-crop-backdrop{align-items:center;background:#00000094;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:var(--space-lg);position:fixed;z-index:100}.admin-crop-modal{background:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:grid;gap:var(--space-md);max-width:760px;padding:var(--space-lg);width:100%}.admin-crop-frame{aspect-ratio:16 / 9;background-color:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:crosshair;overflow:hidden;position:relative;width:100%}.admin-crop-image{display:block;height:100%;object-fit:cover;pointer-events:none;transition:transform .12s ease,object-position .12s ease;-webkit-user-select:none;user-select:none;width:100%}.admin-crop-focus{border:2px solid #fff;border-radius:999px;box-shadow:0 0 0 2px #00000073;height:18px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:18px}.admin-crop-zoom{display:grid;gap:6px}.admin-crop-zoom span{color:var(--color-muted);font-size:.92rem;font-weight:700}.admin-crop-zoom input{accent-color:var(--color-primary);width:100%}.admin-crop-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:flex-end}.admin-course-card{background:var(--color-bg-muted);border-radius:var(--radius-md);display:grid;gap:var(--space-md);padding:var(--space-md)}.admin-par-grid{display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.admin-monthbest{display:grid;gap:6px;background:var(--color-bg, #fff);border:1px solid var(--color-border, #e2e2e2);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.admin-monthbest-label{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted, #777)}.admin-monthbest-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.admin-monthbest-info{font-size:14px;color:var(--color-text, #222)}.admin-monthbest-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.admin-monthbest-empty{font-size:13px;color:var(--color-text-muted, #777)}.admin-lb-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;max-height:360px;overflow-y:auto}.admin-lb-row{display:flex;align-items:center;gap:10px;padding:6px 8px;background:var(--color-background-primary, #fff);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md)}.admin-lb-rank{flex-shrink:0;width:24px;text-align:center;font-weight:500;color:var(--color-text-secondary, #777);font-size:13px}.admin-lb-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.admin-lb-score{font-weight:500;font-size:14px}.admin-lb-del{flex-shrink:0;padding:4px 10px;font-size:13px}.admin-par-field{display:grid;gap:3px}.admin-par-field span{color:var(--color-text-muted);font-size:11px;font-weight:800;text-transform:uppercase}.admin-par-field input{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-weight:800;min-height:38px;padding:var(--space-xs);text-align:center}@media(max-width:760px){.admin-topbar,.admin-panel-header,.admin-course-header{align-items:stretch;flex-direction:column}.admin-edit-grid,.admin-two-col{grid-template-columns:1fr}.admin-main{padding:var(--space-md)}}.course-list{display:flex;flex-direction:column;gap:var(--space-sm)}.course-row{display:flex;align-items:center;padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-muted);border:2px solid transparent;cursor:pointer}.course-row.active{background:color-mix(in srgb,var(--color-primary-light) 25%,transparent);border-color:var(--color-primary)}.course-row-name{flex:1;font-size:16px;font-weight:600;color:var(--color-text)}.course-row.active .course-row-name{color:var(--color-primary-dark)}.course-row-meta{font-size:13px;color:var(--color-text-muted);margin-top:2px}.radio{width:22px;height:22px;border-radius:50%;border:2px solid var(--color-border);display:flex;align-items:center;justify-content:center}.course-row.active .radio{border-color:var(--color-primary)}.radio-dot{width:10px;height:10px;border-radius:50%;background:var(--color-primary)}.gametype-section-title{display:flex;align-items:center;gap:var(--space-sm)}.gametype-list{display:flex;gap:var(--space-md);margin-bottom:var(--space-lg)}.gametype-card{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:var(--space-sm);text-align:left;padding:var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-muted);border:2px solid transparent;cursor:pointer}.gametype-card.active{background:color-mix(in srgb,var(--color-primary-light) 25%,transparent);border-color:var(--color-primary)}.gametype-card-main{flex:1;min-width:0}.gametype-card-name{font-size:14px;font-weight:800;color:var(--color-text)}.gametype-card-tag{font-size:11px;font-weight:700;color:var(--color-text-muted)}.gametype-card.active .gametype-card-name{color:var(--color-primary-dark)}.gametype-card-desc{margin-top:2px;font-size:12px;line-height:1.3;color:var(--color-text-muted)}.gametype-card.active .radio{border-color:var(--color-primary)}.player-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.player-input{flex:1;background:var(--color-bg-muted);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid transparent;font-size:16px}.player-input:focus{outline:none;border-color:var(--color-primary);background:var(--color-bg)}.icon-btn{width:40px;height:40px;border-radius:50%;background:var(--color-bg-muted);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;color:var(--color-danger)}.add-player-btn{display:block;width:100%;padding:var(--space-md);border-radius:var(--radius-md);border:1px dashed var(--color-border);color:var(--color-primary);font-weight:600;text-align:center;background:transparent;margin-top:var(--space-xs)}.gallery{width:100%;height:220px;background:var(--color-bg-muted);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-md);position:relative}.gallery-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-track::-webkit-scrollbar{display:none}.gallery-img{flex:0 0 100%;scroll-snap-align:start;object-fit:cover;width:100%;height:100%}.gallery-counter{position:absolute;bottom:var(--space-md);right:var(--space-md);padding:4px 10px;background:#0000008c;color:#fff;font-size:13px;font-weight:600;border-radius:var(--radius-pill)}.banner{background:color-mix(in srgb,var(--color-accent) 30%,white);border:1px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg)}.banner-text{color:var(--color-text);margin-bottom:var(--space-sm);font-size:14px}.banner-actions{display:flex;gap:var(--space-sm)}.banner-actions button{flex:1;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-weight:600;font-size:14px}.banner-primary{background:var(--color-primary);color:#fff}.banner-secondary{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border)}.hole-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.nav-btn{padding:6px var(--space-md);border-radius:var(--radius-md);background:var(--color-bg-muted);font-weight:600;color:var(--color-text);font-size:14px}.hole-pill{text-align:center}.hole-num{font-size:18px;font-weight:800;color:var(--color-text)}.hole-par{font-size:12px;color:var(--color-primary);font-weight:600}.hole-of{font-size:10px;color:var(--color-text-muted)}.player-card{background:var(--color-bg-muted);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:6px}.player-header{display:flex;align-items:center;margin-bottom:4px}.player-name{flex:1;font-size:14px;font-weight:700;color:var(--color-text)}.diff-badge{padding:1px 6px;border-radius:var(--radius-sm);font-size:11px;font-weight:700}.score-btns{display:flex;flex-wrap:wrap;gap:4px}.score-btn{width:36px;height:36px;border-radius:8px;background:var(--color-bg);border:1px solid var(--color-border);font-size:14px;font-weight:700;color:var(--color-text)}.score-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.score-btn.clear{border-style:dashed;color:var(--color-text-muted)}.score-btns.matchplay{gap:var(--space-sm)}.score-btns.matchplay .score-btn{flex:1;height:48px;font-size:18px}.totals-card,.matchplay-card{background:var(--color-bg-muted);border-radius:var(--radius-md);padding:var(--space-sm)}.matchplay-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xs) var(--space-md) var(--space-sm);font-size:12px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted)}.matchplay-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md)}.matchplay-name{flex:1;font-size:15px;font-weight:600}.matchplay-points{font-size:18px;font-weight:800;color:var(--color-primary)}.help-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-left:6px;padding:0;border:1px solid var(--color-border);border-radius:50%;background:var(--color-bg-muted);color:var(--color-text-muted);font-size:11px;font-weight:800;line-height:1;cursor:pointer;vertical-align:middle}.help-badge:hover{color:var(--color-primary);border-color:var(--color-primary)}.total-row{display:flex;align-items:center;padding:var(--space-sm) var(--space-md)}.total-name{flex:1;font-size:15px;font-weight:600}.total-progress{width:48px;font-size:12px;color:var(--color-text-muted);text-align:right}.total-score{width:48px;font-size:18px;font-weight:800;text-align:right}.total-row.matchplay .total-score{color:var(--color-primary)}.total-rel{width:40px;font-size:13px;font-weight:700;text-align:right;color:var(--color-text-muted)}.total-rel.under{color:var(--color-birdie)}.total-rel.over{color:var(--color-score-bogey)}.grid-wrap{display:flex;align-items:flex-start;background:var(--color-bg-muted);border-radius:var(--radius-md);padding:6px;overflow:hidden}.grid-name-pane{flex:0 0 92px}.grid-score-pane{flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin}.grid-score-row{display:flex;width:max-content}.grid-cell{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;background:var(--color-bg);border-radius:var(--radius-sm);font-size:13px;font-weight:700;padding:0;margin:1px}.grid-cell.head{background:transparent;color:var(--color-text-muted);font-size:12px}.grid-cell.active{background:var(--color-primary);color:#fff}.grid-cell.par-cell{background:#e6eefc;color:#2b4a78;font-weight:800}.grid-cell.par-cell.active{background:#cfe0fb;color:#2b4a78}.grid-cell.name-cell{width:92px;flex-basis:92px;justify-content:flex-start;padding:0 6px;background:transparent;font-weight:600;font-size:13px;color:var(--color-text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:36px}.grid-cell.par-label{background:#e6eefc;color:#2b4a78;font-weight:900;font-size:12px;letter-spacing:.5px;border-radius:var(--radius-sm)}.grid-cell.name-cell.player-name{border-radius:var(--radius-md);font-weight:700}.segment-tabs{display:flex;gap:4px;margin-bottom:var(--space-md);padding:4px;background:var(--color-bg-muted);border-radius:var(--radius-md)}.segment-tab{flex:1;padding:8px 4px;border:none;border-radius:var(--radius-sm);background:transparent;font-size:15px;font-weight:800;color:var(--color-text-muted);cursor:pointer}.segment-tab.active{background:var(--color-primary);color:#fff}.end-screen{position:relative;background-color:#f3f6f4;min-height:100vh}.end-screen .header,.end-screen header.header{display:none}.end-banner{position:absolute;inset:0 0 auto 0;width:100%;aspect-ratio:941 / 1672;background-image:url(/vinder_2.jpg);background-size:cover;background-position:top center;background-repeat:no-repeat;z-index:0;pointer-events:none}.end-page{background:transparent;position:relative;z-index:1;border-radius:0;padding-top:46%}.end-trophy{position:absolute;top:-32px;right:8px;width:64px;height:auto;z-index:2;filter:drop-shadow(0 4px 12px rgba(0,0,0,.4));pointer-events:none}.winner-card{display:flex;background:#fff;border-radius:var(--radius-lg);box-shadow:0 8px 28px #0000002e;padding:var(--space-md);margin-bottom:var(--space-lg);gap:var(--space-md);align-items:center;position:relative;z-index:1}.winner-card-body{flex:1;min-width:0}.winner-badge{display:inline-flex;align-items:center;gap:4px;background:var(--color-primary);color:#fff;padding:4px 12px;border-radius:var(--radius-pill);font-size:13px;font-weight:700;margin-bottom:var(--space-xs)}.winner-badge-crown{font-size:14px}.winner-name{font-size:22px;font-weight:800;font-style:italic;color:var(--color-text);margin:0 0 4px;padding-right:68px;word-break:break-word}.winner-venue{font-size:12px;color:var(--color-text-muted);font-weight:500;margin-bottom:6px}.winner-stars{color:var(--color-primary);font-size:14px;letter-spacing:4px;margin-bottom:var(--space-sm)}.winner-course-pill{border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:4px 12px;font-size:13px;color:var(--color-primary-dark);font-weight:600;text-align:center;margin-bottom:var(--space-sm)}.winner-stats{display:flex;gap:var(--space-xs)}.winner-stat{flex:1;background:#f8f9f9;border-radius:var(--radius-md);padding:6px;text-align:center;border:1px solid var(--color-border)}.winner-stat-bar{height:3px;width:24px;background:var(--color-primary-light);border-radius:2px;margin:0 auto 4px}.winner-stat-value{font-size:16px;font-weight:800;color:var(--color-text)}.winner-stat-value.under{color:var(--color-birdie)}.winner-stat-value.over{color:var(--color-bogey)}.winner-stat-label{font-size:10px;color:var(--color-text-muted);font-weight:600;margin-top:2px}.leaderboard-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-md);margin-bottom:var(--space-xl)}.leaderboard-header{display:flex;align-items:center;gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-sm)}.leaderboard-icon{color:var(--color-primary);font-size:18px}.leaderboard-title{flex:1;font-size:13px;font-weight:800;letter-spacing:1px;color:var(--color-text)}.leaderboard-rows{display:flex;flex-direction:column}.leaderboard-entry{border-bottom:1px solid var(--color-border)}.leaderboard-entry:last-child{border-bottom:none}.leaderboard-row{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-sm)}.leaderboard-row.winner{background:color-mix(in srgb,var(--color-primary-light) 18%,transparent);border-radius:var(--radius-md)}.leaderboard-row.clickable{cursor:pointer}.leaderboard-row.selected{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--radius-md)}.leaderboard-details{display:flex;flex-direction:column;align-items:center;gap:1px;flex-shrink:0}.leaderboard-details-label{font-size:9px;font-weight:700;color:var(--color-primary);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap}.leaderboard-expand{color:var(--color-primary);font-size:28px;line-height:1;transition:transform .15s ease}.leaderboard-expand.open{transform:rotate(180deg)}.leaderboard-chevron{flex-shrink:0;color:var(--color-text-muted);font-size:22px;line-height:1;padding:2px 8px}.player-holes{background:var(--color-bg-muted);border-radius:var(--radius-md);padding:var(--space-md) var(--space-sm);margin:0 0 var(--space-sm)}.hole-cards{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.hole-card{flex:0 0 60px;width:60px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #00000014}.hole-card-head{background:#103a1d;color:#fff;font-weight:800;font-size:13px;text-align:center;padding:4px 0}.hole-card-body{display:flex;flex-direction:column;align-items:center;gap:6px;padding:6px 4px 10px}.hole-card-par{font-size:12px;font-weight:600;color:var(--color-text)}.hole-mark{display:flex;align-items:center;justify-content:center;width:38px;height:34px}.hole-mark-value{font-size:16px;font-weight:800;color:#fff}.hole-legend-mark{display:inline-block;flex-shrink:0;width:18px;height:18px}.mark-eagle,.mark-double{clip-path:polygon(50% 2%,100% 100%,0 100%)}.mark-eagle{background:#2f8f3e}.mark-double{background:#b0202e}.mark-eagle .hole-mark-value,.mark-double .hole-mark-value{margin-top:8px}.mark-birdie{background:#6fbf4b;border-radius:6px}.mark-bogey{background:#f58a80;border-radius:6px}.mark-par,.mark-empty{background:transparent}.mark-par .hole-mark-value{color:var(--color-text)}.mark-empty .hole-mark-value{color:var(--color-text-muted)}.mark-point{background:var(--color-primary);border-radius:6px}.mark-nopoint{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:6px}.mark-nopoint .hole-mark-value{color:var(--color-text-muted)}.hole-card.ace{border:2px solid #caa106}.hole-mark-ace{display:flex;flex-direction:column;align-items:center;gap:2px}.hole-mark-ace-circle{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#fff7d6;border:2px solid #f5c518;font-size:16px;font-weight:900;color:#caa106}.hole-mark-ace-label{font-size:9px;font-weight:900;letter-spacing:1px;color:#caa106}.hole-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.hole-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.leaderboard-pos{width:32px;height:32px;border-radius:50%;background:#2c3438;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}.leaderboard-pos.pos-gold{background:linear-gradient(145deg,#f4cf4a,#d4a017);color:#4a3500}.leaderboard-pos.pos-silver{background:linear-gradient(145deg,#d8dde2,#aab2bb);color:#2b2f33}.leaderboard-pos.pos-bronze{background:linear-gradient(145deg,#d3884e,#a85f28);color:#3a1e08}.leaderboard-name{flex:1;min-width:0;overflow:hidden;font-weight:700;color:var(--color-text)}.leaderboard-score{font-size:14px;color:var(--color-text)}.leaderboard-score strong{font-size:22px;font-weight:800;color:var(--color-primary-dark);margin-right:4px}.leaderboard-score .muted{color:var(--color-text-muted);font-weight:500;font-size:13px}.end-footer{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-xl) 0 var(--space-lg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-lg)}.end-footer-text{margin:0;font-size:13px;color:var(--color-text-muted);font-weight:500}.end-footer-logo{height:28px;width:auto}.end-actions{display:flex;flex-direction:column;gap:var(--space-sm);padding-bottom:var(--space-xxl)}.end-actions.end-actions-row{flex-direction:row}.end-actions.end-actions-row .end-btn-share,.end-actions.end-actions-row .end-btn-close{flex:1;margin:0}.end-btn-share{margin-top:0;display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.end-btn-close{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);border:1px solid var(--color-border);background:#fff;color:var(--color-text);padding:var(--space-md);border-radius:var(--radius-md);font-weight:700;font-size:15px}.btn-icon{font-size:16px}.landing-body{display:flex;flex-direction:column;flex:1}@media(min-width:761px){.landing-shell{background:url(/Website_bagground.png) center / cover no-repeat;background-attachment:scroll}.landing-body{flex:0 0 auto;align-self:center;width:100%;max-width:620px;margin:var(--space-xl) auto}}.landing-topbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);min-height:56px;background:#fff;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:10}.landing-topbar-logo{height:28px;width:auto;display:block}.landing-nav{display:flex;align-items:center;gap:var(--space-lg)}.landing-nav-link{background:none;border:none;cursor:pointer;font-size:15px;font-weight:600;color:var(--color-text);padding:4px 2px}.landing-nav-link:hover{color:var(--color-primary)}.landing-lang-wrap{display:flex;align-items:center;gap:6px;padding-left:10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.landing-lang-globe{color:var(--color-text-muted);flex-shrink:0}.landing-lang{border:none;background:transparent;padding:6px 8px 6px 4px;font-size:14px;font-weight:600;color:var(--color-text);cursor:pointer}@media(max-width:760px){.landing-nav-link{display:none}}.landing-hero{text-align:center;padding:var(--space-xxl) var(--space-lg)}.landing-hero-title{font-size:34px;line-height:1.15;margin-bottom:var(--space-sm)}.landing-logo{width:120px;height:120px;margin:0 auto var(--space-lg);display:block}.landing-tagline{font-size:18px;color:var(--color-text-muted);margin-bottom:var(--space-xs)}.landing-badges{display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:center;align-items:center;margin-top:var(--space-lg)}.landing-badge{height:48px;width:auto;display:block}.landing-hint{font-size:13px;color:var(--color-text-muted);padding:var(--space-md) var(--space-lg);text-align:center;line-height:1.5;margin:var(--space-md) 0 var(--space-sm)}.landing-privacy-link{align-self:center;color:var(--color-primary-dark);font-size:13px;font-weight:700;background:none;border:none;text-decoration:none;cursor:pointer}.landing-bottombar{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-sm) var(--space-lg);padding:var(--space-md) var(--space-lg);background:#fff;box-shadow:0 -1px 2px #00000014}.landing-copyright{font-size:13px;font-weight:600;color:var(--color-text-muted)}.landing-footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-md)}.landing-search{padding:0 var(--space-lg) var(--space-md)}.landing-search-field{position:relative}.landing-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.landing-search-input{width:100%;box-sizing:border-box;padding-left:40px;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md)}.landing-venues{padding:0 var(--space-lg)}.landing-venues-title{margin:0 0 var(--space-sm);padding:0 var(--space-xs);font-size:13px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-muted)}.landing-venues-scroll{display:flex;flex-direction:column;max-height:210px;overflow-y:auto;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md)}.landing-loading{text-align:center;padding:var(--space-lg) 0}.landing-empty{text-align:center;padding:var(--space-lg) var(--space-md)}.landing-empty-title{font-weight:700;color:var(--color-text);margin:0 0 4px}.landing-empty-hint{font-size:13px;margin:0}.landing-venue-row{display:flex;align-items:center;gap:var(--space-md);background:transparent;border:none;border-bottom:1px solid var(--color-border);padding:var(--space-md);text-align:left;width:100%;cursor:pointer;transition:background 80ms ease}.landing-venue-row:last-child{border-bottom:none}.landing-venue-row:hover,.landing-venue-row:active{background:var(--color-bg-muted)}.landing-venue-pin{color:var(--color-primary);flex-shrink:0}.landing-venue-chevron{color:var(--color-text-muted);flex-shrink:0}.landing-venue-info{flex:1;min-width:0}.landing-venue-name{font-size:16px;font-weight:700;color:var(--color-text)}.landing-venue-sub{font-size:13px;color:var(--color-text-muted);margin-top:2px}.landing-venue-badge{padding:var(--space-xs) var(--space-md);background:color-mix(in srgb,var(--color-primary-light) 25%,transparent);border-radius:var(--radius-sm);font-size:12px;font-weight:700;color:var(--color-primary-dark);min-width:64px;text-align:center;flex-shrink:0}.privacy-page{width:100%;max-width:820px;margin:0 auto;padding:var(--space-xl) var(--space-lg) var(--space-xxl)}.about-page{width:100%;max-width:920px;margin:0 auto;padding:var(--space-xl) var(--space-lg) var(--space-xxl)}.about-page h1{font-size:34px;margin:0 0 var(--space-md)}.about-lead{color:var(--color-text-muted);font-size:16px;line-height:1.6;margin:0;max-width:520px}.about-block{margin-top:var(--space-xxl)}.about-block-title{font-size:22px;margin:0 0 var(--space-xs)}.about-block-sub{color:var(--color-text-muted);font-size:15px;line-height:1.6;margin:0 0 var(--space-lg);max-width:580px}.about-founders{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.about-founder-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;padding:var(--space-lg);box-shadow:var(--shadow-sm)}.about-founder-head{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.about-founder-photo{width:96px;height:96px;border-radius:50%;background-repeat:no-repeat;flex-shrink:0}.about-founder-name{font-size:18px;font-weight:800}.about-founder-role{color:var(--color-primary);font-weight:700;font-size:14px}.about-founder-bio{color:var(--color-text);font-size:14px;line-height:1.6;margin:0}.about-features{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.about-feature-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);margin-bottom:var(--space-sm)}.about-feature-title{font-size:15px;font-weight:800;margin:0 0 4px}.about-feature-text{color:var(--color-text-muted);font-size:13px;line-height:1.55;margin:0}@media(max-width:760px){.about-founders{grid-template-columns:1fr}.about-features{grid-template-columns:1fr 1fr}}.privacy-page h1{font-size:28px;margin:0 0 var(--space-sm)}.privacy-updated{color:var(--color-text-muted);font-size:13px;margin:0 0 var(--space-xl)}.privacy-intro{color:var(--color-text);font-size:16px;line-height:1.6;margin:0 0 var(--space-xl)}.privacy-section{border-top:1px solid var(--color-border);padding-top:var(--space-lg);margin-top:var(--space-lg)}.privacy-section h2{font-size:18px;margin:0 0 var(--space-sm)}.privacy-section ul{margin:0;padding-left:20px}.privacy-section li{color:var(--color-text-muted);line-height:1.6;margin:0 0 var(--space-sm)}.center{display:flex;align-items:center;justify-content:center;flex-direction:column;padding:var(--space-xl);flex:1}.row{display:flex;align-items:center}.gap-sm{gap:var(--space-sm)}.spacer{flex:1}.address-line{color:var(--color-text-muted);margin-top:2px}.hint{margin:var(--space-md) 0 var(--space-lg);font-size:24px;color:var(--color-text);line-height:1.25;text-align:left;padding:0 var(--space-sm)}.hint strong{color:var(--color-primary-dark)}.website-link{display:inline-block;color:var(--color-primary-dark);margin-top:var(--space-xs);font-size:14px;font-weight:600}.error-box{background:color-mix(in srgb,var(--color-danger) 10%,white);border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-md);margin:var(--space-lg) 0;color:var(--color-danger);font-size:14px}.stats-row{display:flex;background:var(--color-bg-muted);border-radius:var(--radius-md);padding:var(--space-md);margin-top:var(--space-lg)}.stat{flex:1;text-align:center}.stat-value{font-size:22px;font-weight:800;color:var(--color-text)}.stat-label{font-size:11px;color:var(--color-text-muted);text-transform:uppercase;margin-top:2px}.stats-row.compact{padding:var(--space-sm);margin-top:var(--space-md);align-items:center}.stats-row.compact .stat-value{font-size:16px}.stats-row.compact .stat-label{font-size:10px}.report-page{background:#eef1f0;min-height:100vh;padding:24px 16px}.report-sheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}@media print{.report-no-print{display:none!important}.report-page{background:#fff;padding:0}.report-sheet{box-shadow:none!important;margin:0!important;max-width:100%!important;border-radius:0!important}}@page{size:A4 portrait;margin:10mm}.trn-page{padding:var(--space-xl) var(--space-lg) var(--space-xxl);display:flex;flex-direction:column;gap:var(--space-lg)}.trn-wizard{display:flex;flex-direction:column;gap:var(--space-lg)}.trn-headrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.trn-title{font-size:26px;font-weight:800;color:var(--color-text);margin:0}.trn-h2{font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 var(--space-md)}.trn-muted{color:var(--color-text-muted);font-size:14px;margin:var(--space-xs) 0}.trn-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-lg)}.trn-input,.trn-groupname{width:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);font-size:15px}.trn-field{display:flex;flex-direction:column;gap:var(--space-xs);font-size:13px;font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-md)}.trn-login{max-width:420px;margin:var(--space-xl) auto;display:flex;flex-direction:column}.trn-btn-primary{display:block;width:100%;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-lg);border-radius:var(--radius-md);font-weight:700;font-size:16px;text-align:center;border:none;cursor:pointer}.trn-btn-primary:active{background:var(--color-primary-dark)}.trn-btn-primary:disabled{opacity:.6}.trn-create{margin-top:var(--space-sm)}.trn-btn-secondary{display:inline-block;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-weight:600;cursor:pointer;margin-top:var(--space-sm)}.trn-link{background:none;border:none;color:var(--color-primary-dark);font-weight:600;cursor:pointer;padding:0;font-size:14px}.trn-error{color:var(--color-danger);font-size:14px;font-weight:600}.trn-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.trn-rowlabel{font-weight:600;color:var(--color-text)}.trn-row .trn-input{flex:1}.trn-pnum{width:22px;text-align:right;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.trn-x{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:18px;line-height:1;cursor:pointer;flex:none}.trn-total{margin-top:var(--space-md);font-size:15px}.trn-gametypes{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.trn-gametype{display:flex;flex-direction:column;gap:var(--space-xs);text-align:left;padding:var(--space-lg);border-radius:var(--radius-md);border:2px solid var(--color-border);background:var(--color-bg);cursor:pointer}.trn-gametype.is-active{border-color:var(--color-primary);background:var(--color-bg-muted)}.trn-gametype.is-disabled{opacity:.55;cursor:not-allowed}.trn-soon{font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-inverse);background:var(--color-text-muted);padding:1px 6px;border-radius:var(--radius-pill);margin-left:4px;vertical-align:middle}.trn-gametype strong{font-size:16px;color:var(--color-text)}.trn-gametype span{font-size:13px;color:var(--color-text-muted)}.trn-stepper{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-pill);overflow:hidden}.trn-stepper button{width:34px;height:34px;border:none;background:var(--color-bg);color:var(--color-text);font-size:18px;cursor:pointer}.trn-stepper button:disabled{opacity:.4}.trn-steppernum{min-width:34px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.trn-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md);margin-top:var(--space-md)}.trn-group{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);min-height:90px;background:var(--color-bg-muted)}.trn-groupname{font-weight:700;margin-bottom:var(--space-sm);background:var(--color-bg)}.trn-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.trn-chip{display:inline-block;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-text-inverse);font-size:13px;font-weight:600;cursor:grab;-webkit-user-select:none;user-select:none}.trn-chip:active{cursor:grabbing}.trn-tablewrap{overflow-x:auto}.trn-table{border-collapse:collapse;width:100%;font-size:14px}.trn-table th,.trn-table td{border:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);text-align:left;white-space:nowrap}.trn-table th{background:var(--color-bg-muted);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.trn-result{max-width:520px;margin:var(--space-xl) auto}.trn-codelist{list-style:none;padding:0;margin:var(--space-lg) 0;display:flex;flex-direction:column;gap:var(--space-sm)}.trn-codelist li{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md)}.trn-code{font-size:22px;font-weight:800;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--color-primary-dark)}.trn-warn{color:var(--color-warning);font-size:13px;font-weight:600;margin-top:var(--space-xs)}.trn-input.is-dup{border-color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 10%,transparent)}.trn-setup{display:flex;flex-direction:column;gap:var(--space-sm);margin:var(--space-sm) 0}.trn-setup-groups{display:flex;flex-direction:column;gap:2px;font-size:14px}.trn-public{max-width:640px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-md)}.trn-listrow{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);width:100%;text-align:left;padding:var(--space-md) var(--space-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);cursor:pointer}.trn-listrow:hover{background:var(--color-bg-muted)}.trn-listname{font-weight:700;color:var(--color-text)}.trn-rounds{display:flex;flex-direction:column;gap:var(--space-md);margin:var(--space-sm) 0}.trn-roundtabs{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.trn-roundtab{padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-weight:600;font-size:13px;cursor:pointer}.trn-roundtab.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.trn-roundview{display:flex;flex-direction:column;gap:var(--space-md)}.trn-roundgroup{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.trn-qrline{display:flex;align-items:center;gap:var(--space-md)}.trn-scoregrid{border-collapse:collapse;font-size:13px;white-space:nowrap}.trn-scoregrid th,.trn-scoregrid td{border:1px solid var(--color-border);padding:2px 6px;text-align:center}.trn-scoregrid th:first-child,.trn-scoregrid td:first-child{text-align:left;position:sticky;left:0;background:var(--color-bg)}.trn-parrow{color:var(--color-text-muted);font-weight:600;background:var(--color-bg-muted)}.trn-cell{border:none;background:none;width:100%;cursor:pointer;font-size:13px;font-weight:600;color:var(--color-text);padding:2px 4px}.trn-cell:hover{background:var(--color-bg-muted)}.trn-editbar{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-bg-muted)}.trn-publiclink{text-decoration:none;align-self:flex-start}.trn-facilities{display:flex;flex-wrap:wrap;gap:var(--space-sm) var(--space-md)}.trn-facility{display:flex;align-items:center;gap:4px;font-size:14px}.trn-coursecard{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.trn-holeinput{width:70px;flex:none}.trn-pargrid{display:flex;flex-wrap:wrap;gap:4px}.trn-parcell{display:flex;flex-direction:column;align-items:center;font-size:11px;color:var(--color-text-muted)}.trn-parcell input{width:42px;text-align:center;padding:2px;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.trn-lbsection{margin-top:var(--space-xs)}.trn-lblist{list-style:none;padding:0;margin:var(--space-sm) 0 0;display:flex;flex-direction:column;gap:4px}.trn-lbrow{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px}.trn-lbscore{font-weight:700;font-variant-numeric:tabular-nums}.trn-lbx{margin-left:auto;width:26px;height:26px;font-size:15px}.trn-danger{align-self:flex-start;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);border:1px solid var(--color-danger);background:var(--color-bg);color:var(--color-danger);font-weight:600;cursor:pointer}.trn-danger:disabled{opacity:.5}.trn-standings-wrap{margin-top:var(--space-md)}.trn-standings{border-collapse:collapse;width:100%;font-size:14px}.trn-standings th,.trn-standings td{border-bottom:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);text-align:left}.trn-standings th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.trn-standings td:first-child,.trn-standings th:first-child{width:28px;color:var(--color-text-muted)}.trn-shell{display:grid;grid-template-columns:230px minmax(0,820px);gap:var(--space-xl);align-items:start}.trn-sidebar{position:sticky;top:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.trn-sideuser{display:flex;flex-direction:column;gap:var(--space-xs);align-items:flex-start}.trn-sideemail{font-size:13px;font-weight:600;color:var(--color-text);word-break:break-all}.trn-sidenav{display:flex;flex-direction:column;gap:var(--space-xs)}.trn-sidegroup{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:0 0 var(--space-xs)}.trn-sideitem{text-align:left;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:none;background:none;font-size:15px;font-weight:600;color:var(--color-text);cursor:pointer}.trn-sideitem:hover{background:var(--color-bg-muted)}.trn-sideitem.is-active{background:var(--color-primary);color:var(--color-text-inverse)}.trn-content{min-width:0;display:flex;flex-direction:column;gap:var(--space-lg)}.trn-list{display:flex;flex-direction:column;gap:var(--space-md)}.trn-cardtitle{font-size:18px;font-weight:800;margin:0;color:var(--color-text)}.trn-badge{font-size:12px;font-weight:700;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--color-bg-muted);color:var(--color-text-muted);white-space:nowrap}@media(max-width:720px){.trn-shell{grid-template-columns:1fr}.trn-sidebar{width:100%;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.trn-sidenav{flex-direction:row;flex-wrap:wrap;align-items:center}.trn-sidegroup{width:100%;margin:0}}@media(max-width:560px){.trn-gametypes{grid-template-columns:1fr}}.score-doneflag{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-text-inverse);font-weight:700;text-align:center;margin-bottom:var(--space-md)}
