﻿:root{
  --bg:#080f0a;--surface:#0f1a11;--surface2:#162018;--border:#1e3022;
  --text:#f0e6d3;--text-muted:#6a8a6e;--accent:#f97316;--gold:#d4a017;--gold2:#f0c040;
  --albatross:#dc2626;--eagle:#15803d;--birdie:#22c55e;--par:#f0e6d3;
  --bogey:#93c5fd;--double:#3b82f6;--triple:#1e40af;--worse:#1e3a8a;
  --p1:#f97316;--p2:#38bdf8;--p3:#34d399;--p4:#f472b6;
  --fd:'Bebas Neue',sans-serif;--fb:'DM Sans',sans-serif;
  --stripe-color:rgba(249,115,22,.07);
}
/* ── LIGHT MODE ── */
body.light-mode{
  --bg:#f5f0e8;--surface:#ffffff;--surface2:#f0ebe0;--border:#d4c9b0;
  --text:#1a1a1a;--text-muted:#7a6a50;--accent:#e06000;--gold:#b8860b;--gold2:#cc9900;
  --albatross:#b91c1c;--eagle:#166534;--birdie:#15803d;--par:#1a1a1a;
  --bogey:#1e40af;--double:#1d4ed8;--triple:#1e3a8a;--worse:#1e3a8a;
  --stripe-color:rgba(180,100,0,.05);
}
body.light-mode .stripe-bg{background:var(--bg);background-image:repeating-linear-gradient(105deg,transparent 0,transparent 14px,var(--stripe-color) 14px,var(--stripe-color) 18px,transparent 18px,transparent 32px);}
body.light-mode .home-hero{background:var(--bg);background-image:repeating-linear-gradient(105deg,transparent 0,transparent 14px,var(--stripe-color) 14px,var(--stripe-color) 18px);}
body.light-mode .game-header{background:var(--bg);background-image:none;border-bottom:2px solid var(--border);}
body.light-mode .modal{background:var(--surface);border-top:2px solid var(--accent);}
body.light-mode .modal::before{display:none;}
body.light-mode .score-cell.par,.body.light-mode .sc.par{background:#e8e0d0;border-color:#c0b090;color:var(--text);}
body.light-mode .btn-google{background:linear-gradient(135deg,#fff,#f5f5f5);box-shadow:0 2px 10px rgba(0,0,0,.1);}
body.light-mode body.light-mode .auth-wrap{background:var(--bg);}
body.light-mode input,body.light-mode select,body.light-mode textarea{background:var(--surface2);border-color:var(--border);color:var(--text);}
body.light-mode .dropdown-list{background:var(--surface);border-color:var(--border);}
body.light-mode .dropdown-item{color:var(--text);border-color:var(--border);}
body.light-mode .dropdown-item:hover{background:var(--surface2);}
body.light-mode .stat-accordion{background:var(--surface2);}
body.light-mode .half-bar{color:var(--text);}
body.light-mode .hole-tick.upcoming{background:var(--surface2);border-color:var(--border);}
body.light-mode .hole-tick.current{background:var(--surface2);border-color:var(--accent);}
body.light-mode #pnCanvas{background:#e8f5e9;}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:var(--fb);min-height:100vh;max-width:430px;margin:0 auto;overflow-x:hidden;}
.screen{display:none;min-height:100vh;}
.screen.active{display:block;}

/* STRIPE */
.stripe-bg{background:var(--bg);background-image:repeating-linear-gradient(105deg,transparent 0,transparent 14px,rgba(249,115,22,.07) 14px,rgba(249,115,22,.07) 18px,transparent 18px,transparent 32px,rgba(212,160,23,.04) 32px,rgba(212,160,23,.04) 34px);}

/* AUTH */
.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;}
.auth-logo{width:90px;height:90px;border-radius:20px;margin-bottom:18px;box-shadow:0 0 40px rgba(249,115,22,.3);}
.auth-title{font-family:var(--fd);font-size:34px;letter-spacing:3px;text-align:center;background:linear-gradient(135deg,var(--gold2),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px;}
.auth-sub{font-size:11px;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:36px;}
.auth-divider{width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin-bottom:28px;}
.auth-btns{width:100%;max-width:320px;display:flex;flex-direction:column;gap:12px;}
.btn-google{width:100%;padding:15px;background:linear-gradient(135deg,#fff,#f0f0f0);border:none;border-radius:14px;font-size:15px;font-weight:700;color:#1a1a1a;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 20px rgba(0,0,0,.3);}
.btn-guest{width:100%;padding:13px;background:none;border:1px solid var(--border);border-radius:14px;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;}
.auth-note{margin-top:28px;font-size:11px;color:var(--text-muted);text-align:center;line-height:1.6;max-width:260px;}

/* HOME HERO */
.home-hero{padding:0 16px 14px;background:var(--bg);background-image:repeating-linear-gradient(105deg,transparent 0,transparent 14px,rgba(249,115,22,.07) 14px,rgba(249,115,22,.07) 18px,transparent 18px,transparent 32px,rgba(212,160,23,.04) 32px,rgba(212,160,23,.04) 34px);border-bottom:1px solid var(--border);position:relative;}
.home-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),var(--accent),var(--gold),transparent);}
.profile-bar{display:flex;align-items:center;gap:10px;padding:10px 0 8px;}
.profile-avatar{width:30px;height:30px;border-radius:50%;border:2px solid var(--accent);object-fit:cover;}
.profile-name{flex:1;font-size:13px;font-weight:700;color:var(--text);}
.btn-signout{padding:4px 10px;background:none;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:11px;font-weight:600;cursor:pointer;}
.logo-row{display:flex;align-items:center;gap:12px;margin-bottom:4px;}
.logo-img{width:44px;height:44px;border-radius:10px;object-fit:cover;cursor:pointer;}
.home-title{font-family:var(--fd);font-size:28px;letter-spacing:2px;background:linear-gradient(135deg,var(--gold2),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;}
.home-sub{font-size:9px;color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;}

/* HOME SECTIONS */
.home-section{padding:0 16px;margin-top:16px;}
.section-title{font-size:9px;font-weight:700;color:var(--gold);letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.section-title::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent);}

/* DROPDOWN */
.dropdown-wrap{position:relative;margin-top:2px;}
.dropdown-btn{width:100%;padding:13px 16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--text);font-size:15px;font-weight:700;display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:all .2s;}
.dropdown-btn.selected{border-color:rgba(249,115,22,.5);color:var(--accent);}
.dropdown-btn.open{border-radius:14px 14px 0 0;border-bottom-color:var(--surface2);}
.dropdown-btn.open .arrow{transform:rotate(180deg);}
.arrow{font-size:10px;color:var(--text-muted);transition:transform .2s;}
.dropdown-list{display:none;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 14px 14px;max-height:260px;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.dropdown-list.open{display:block;}
.dropdown-list::-webkit-scrollbar{width:4px;}
.dropdown-list::-webkit-scrollbar-track{background:var(--surface);}
.dropdown-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}
.dropdown-list::-webkit-scrollbar-thumb:hover{background:var(--accent);}
.dropdown-item{padding:12px 16px;font-size:14px;font-weight:600;color:var(--text);cursor:pointer;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;}
.dropdown-item:last-child{border-bottom:none;}
.dropdown-item.selected{color:var(--accent);}
.item-meta{font-size:11px;color:var(--text-muted);font-weight:500;}

/* GAMETYPE */
.gametype-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.gametype-card{background:var(--surface);border:2px solid var(--border);border-radius:14px;padding:16px 10px;cursor:pointer;transition:all .2s;text-align:center;position:relative;overflow:hidden;}
.gametype-card.selected{border-color:var(--accent);background:rgba(249,115,22,.07);box-shadow:0 0 20px rgba(249,115,22,.15);}
.gametype-card.selected::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--accent),var(--gold));}
.gametype-icon{font-size:28px;margin-bottom:6px;}
.gametype-name{font-family:var(--fd);font-size:20px;letter-spacing:1px;color:var(--text);}
.gametype-desc{font-size:10px;color:var(--text-muted);font-weight:600;margin-top:2px;}
.gametype-error{display:none;color:#ef4444;font-size:11px;font-weight:700;text-align:center;margin-top:8px;}
.gametype-error.visible{display:block;}

/* PLAYERS */
.pcount-row{display:flex;gap:8px;margin-bottom:12px;}
.pcount-btn{flex:1;padding:8px;background:var(--surface);border:2px solid var(--border);border-radius:10px;color:var(--text-muted);font-size:13px;font-weight:700;cursor:pointer;text-align:center;transition:all .2s;}
.pcount-btn.selected{border-color:var(--accent);color:var(--accent);}
.player-inputs{display:flex;flex-direction:column;gap:8px;}
.player-row{display:flex;align-items:center;gap:10px;}
.player-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
.player-input{flex:1;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;color:var(--text);font-size:14px;font-weight:600;font-family:var(--fb);outline:none;transition:border-color .2s;}
.player-input:focus{border-color:var(--accent);}
.player-input::placeholder{color:var(--text-muted);}

/* START BUTTON */
.btn-start{width:100%;padding:16px;background:linear-gradient(135deg,var(--accent),#ea6a0a);border:none;border-radius:14px;color:#000;font-family:var(--fd);font-size:22px;letter-spacing:2px;cursor:pointer;margin-top:8px;box-shadow:0 4px 20px rgba(249,115,22,.35);transition:all .2s;}
.btn-start:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed;box-shadow:none;}
.home-nav{display:flex;gap:10px;padding:0 16px;margin-top:12px;}
.home-nav-btn{flex:1;padding:12px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text-muted);font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;}
.home-spacer{height:40px;}
.history-card-fav{background:none;border:2px solid rgba(249,115,22,.3);border-radius:8px;font-size:18px;cursor:pointer;padding:3px 6px;line-height:1;flex-shrink:0;color:rgba(249,115,22,.4);transition:all .2s;}
.history-card-fav.active{border-color:var(--accent);color:var(--accent);background:rgba(249,115,22,.1);}
.history-card-fav:hover{opacity:1;}
.history-card-fav.active{opacity:1;}
.btn-mp-join{width:100%;padding:12px;background:linear-gradient(135deg,rgba(212,160,23,.15),rgba(249,115,22,.1));border:1px solid rgba(212,160,23,.4);border-radius:12px;color:var(--gold);font-size:14px;font-weight:700;cursor:pointer;letter-spacing:1px;}
.btn-mp-join:hover{background:linear-gradient(135deg,rgba(212,160,23,.25),rgba(249,115,22,.15));}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.3);}}
.mp-score-pending{opacity:.4;}
.mp-score-conflict{border-color:var(--gold)!important;box-shadow:0 0 8px rgba(212,160,23,.4)!important;}

/* CONTINUE BANNER */
.continue-banner{display:none;margin:10px 16px 0;background:linear-gradient(135deg,rgba(212,160,23,.12),rgba(249,115,22,.08));border:1px solid rgba(249,115,22,.35);border-radius:14px;padding:12px 14px;}
.continue-btns{display:flex;gap:8px;margin-top:8px;}
.btn-continue{flex:1;padding:10px;background:var(--accent);border:none;border-radius:10px;color:#000;font-family:var(--fd);font-size:16px;letter-spacing:1px;cursor:pointer;}
.btn-newgame{padding:10px 14px;background:none;border:1px solid var(--border);border-radius:10px;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;}

/* GAME HEADER */
.game-header{background:var(--bg);background-image:repeating-linear-gradient(105deg,transparent 0,transparent 14px,rgba(249,115,22,.06) 14px,rgba(249,115,22,.06) 18px,transparent 18px,transparent 32px,rgba(212,160,23,.04) 32px,rgba(212,160,23,.04) 34px);border-bottom:1px solid var(--border);padding:10px 14px 8px;position:sticky;top:0;z-index:100;}
.game-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),var(--accent),var(--gold),transparent);}
.game-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.game-logo-wrap{display:flex;align-items:center;gap:8px;cursor:pointer;}
.game-logo-img{width:26px;height:26px;border-radius:5px;object-fit:cover;}
.game-logo{font-family:var(--fd);font-size:15px;letter-spacing:2px;background:linear-gradient(135deg,var(--gold2),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.game-type-tag{font-size:9px;font-weight:700;color:var(--accent);letter-spacing:1.5px;text-transform:uppercase;border:1px solid rgba(249,115,22,.3);padding:2px 7px;border-radius:6px;background:rgba(249,115,22,.08);}
.game-meta{display:flex;align-items:center;gap:6px;}
.btn-reset{background:none;border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:3px 9px;font-size:11px;font-weight:600;cursor:pointer;}
.course-tag{font-size:9px;font-weight:600;color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;background:var(--surface2);border:1px solid var(--border);padding:3px 8px;border-radius:20px;}

/* PROGRESS */
.progress-section{margin-top:6px;}
.progress-meta{display:flex;justify-content:space-between;font-size:9px;font-weight:600;color:var(--text-muted);margin-bottom:4px;}
.progress-track{display:grid;grid-template-columns:repeat(18,1fr);gap:2px;height:18px;}
.hole-tick{border-radius:3px;transition:all .3s;cursor:pointer;}
.hole-tick.p1-win{background:var(--p1);}
.hole-tick.p2-win{background:var(--p2);}
.hole-tick.halved{background:#333;}
.hole-tick.upcoming{background:var(--surface2);border:1px solid var(--border);}
.hole-tick.current{background:var(--surface2);border:1px solid var(--accent);box-shadow:0 0 5px rgba(249,115,22,.4);}
.progress-nums{display:grid;grid-template-columns:repeat(18,1fr);gap:2px;margin-top:13px;}
.hole-num-label{text-align:center;font-size:7px;color:var(--text-muted);font-weight:600;}

/* TABS */
.tabs{display:flex;background:var(--surface);border-bottom:1px solid var(--border);padding:0 14px;}
.tab{flex:1;padding:10px 0;text-align:center;font-size:11px;font-weight:600;color:var(--text-muted);cursor:pointer;border-bottom:2px solid transparent;transition:all .2s;letter-spacing:.5px;}
.tab.active{color:var(--accent);border-bottom-color:var(--accent);}

/* LEGEND */
.legend{display:flex;flex-wrap:wrap;gap:5px;padding:8px 12px 4px;}
.legend-item{display:flex;align-items:center;gap:3px;font-size:9px;font-weight:600;color:var(--text-muted);}
.legend-dot{width:8px;height:8px;border-radius:2px;}
.legend-hint{margin-left:auto;font-size:9px;color:var(--gold);font-weight:600;}

/* MATCH PLAY */
.mp-players{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center;margin-bottom:6px;}
.mp-card{background:var(--surface);border-radius:10px;padding:8px 10px;border:1px solid var(--border);position:relative;overflow:hidden;}
.mp-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;}
.mp-card.p1::before{background:linear-gradient(90deg,var(--gold),var(--p1));}
.mp-card.p2::before{background:var(--p2);}
.mp-card.p2{text-align:right;}
.mp-init{font-family:var(--fd);font-size:22px;line-height:1;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mp-card.p1 .mp-init{color:var(--p1);}
.mp-card.p2 .mp-init{color:var(--p2);}
.mp-player-name{font-size:9px;font-weight:600;color:var(--text-muted);}
.mp-topar{font-size:12px;font-weight:700;margin-top:2px;}
.mp-status{display:flex;flex-direction:column;align-items:center;gap:1px;}
.mp-badge{font-family:var(--fd);font-size:26px;color:var(--accent);line-height:1;}
.mp-label{font-size:8px;font-weight:700;letter-spacing:1px;color:var(--text-muted);text-transform:uppercase;text-align:center;}
.decided-badge{display:none;margin-top:3px;background:rgba(212,160,23,.15);border:1px solid rgba(212,160,23,.5);border-radius:8px;padding:2px 7px;font-size:8px;font-weight:700;color:var(--gold2);}
.decided-badge.visible{display:block;}

/* SCORECARD */
.scorecard{padding:8px 12px;}
.hole-row{display:grid;grid-template-columns:26px 36px 1fr 1fr 32px;gap:4px;align-items:center;margin-bottom:5px;}
@keyframes currentPulse{0%,100%{box-shadow:0 0 14px rgba(249,115,22,.1);}50%{box-shadow:0 0 26px rgba(249,115,22,.25);}}
.hole-row.current-hole{background:rgba(249,115,22,.06);border-radius:12px;padding:6px 6px 6px 4px;border:1px solid rgba(249,115,22,.3);position:relative;overflow:visible;margin-bottom:8px;animation:currentPulse 2.5s ease-in-out infinite;}
.hole-row.current-hole::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;background:linear-gradient(180deg,var(--gold),var(--accent));border-radius:2px;}
.hole-row.current-hole::after{content:'▶ MOST';position:absolute;top:-9px;left:8px;font-size:8px;font-weight:700;letter-spacing:1.5px;color:var(--gold);background:var(--bg);padding:0 5px;font-family:var(--fb);}
html[lang="en"] .hole-row.current-hole::after{content:'▶ NOW';}
.hole-label{font-family:var(--fd);font-size:16px;color:var(--text-muted);line-height:1;}
.hole-label.cur{font-size:24px;background:linear-gradient(135deg,var(--gold2),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hole-meta-mp{display:flex;flex-direction:column;align-items:center;}
.par-val{font-size:10px;font-weight:700;color:var(--text);line-height:1;}
.par-lbl{font-size:8px;color:var(--text-muted);}
.si-val{font-size:9px;color:var(--text-muted);}
.si-lbl{font-size:7px;color:var(--text-muted);opacity:.6;}
.score-cell{border-radius:9px;height:44px;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:24px;position:relative;border:2px solid transparent;cursor:pointer;user-select:none;transition:all .15s;-webkit-tap-highlight-color:transparent;}
.sc{border-radius:10px;height:52px;width:54px;font-family:var(--fd);font-size:26px;position:relative;border:2px solid transparent;cursor:pointer;user-select:none;transition:all .15s;display:flex;align-items:center;justify-content:center;margin:0 auto;-webkit-tap-highlight-color:transparent;}
.score-cell.empty,.sc.empty{background:var(--surface);border-color:var(--border);color:var(--text-muted);}
.score-cell.albatross,.sc.albatross{background:rgba(220,38,38,.18);border-color:var(--albatross);color:var(--albatross);}
.score-cell.eagle,.sc.eagle{background:rgba(21,128,61,.2);border-color:var(--eagle);color:var(--eagle);}
.score-cell.birdie,.sc.birdie{background:rgba(34,197,94,.18);border-color:var(--birdie);color:var(--birdie);}
.score-cell.par,.sc.par{background:var(--surface);border-color:#333;color:var(--par);}
.score-cell.bogey,.sc.bogey{background:rgba(147,197,253,.15);border-color:var(--bogey);color:var(--bogey);}
.score-cell.double,.sc.double{background:rgba(59,130,246,.18);border-color:var(--double);color:var(--double);}
.score-cell.triple,.sc.triple{background:rgba(30,64,175,.2);border-color:var(--triple);color:var(--triple);}
.score-cell.worse,.sc.worse{background:rgba(30,58,138,.25);border-color:var(--worse);color:var(--worse);}
.score-badge,.sc-badge{position:absolute;top:-4px;right:-4px;font-size:7px;font-family:var(--fb);font-weight:700;padding:1px 3px;border-radius:5px;text-transform:uppercase;pointer-events:none;}
.score-cell.albatross .score-badge,.sc.albatross .sc-badge{background:var(--albatross);color:#fff;}
.score-cell.eagle .score-badge,.sc.eagle .sc-badge{background:var(--eagle);color:#fff;}
.score-cell.birdie .score-badge,.sc.birdie .sc-badge{background:var(--birdie);color:#fff;}
.score-cell.bogey .score-badge,.sc.bogey .sc-badge{background:var(--bogey);color:#fff;}
.score-cell.double .score-badge,.sc.double .sc-badge{background:var(--double);color:#fff;}
.score-cell.triple .score-badge,.sc.triple .sc-badge{background:var(--triple);color:#fff;}
.score-cell.worse .score-badge,.sc.worse .sc-badge{background:var(--worse);color:#fff;}
@keyframes tigerFlash{0%,100%{box-shadow:0 0 0 0 rgba(249,115,22,0);}30%{box-shadow:0 0 0 6px rgba(249,115,22,.4);}60%{box-shadow:0 0 0 10px rgba(212,160,23,.2);}}
.tiger-flash{animation:tigerFlash .5s ease-out;}
.shot-order-tl{position:absolute;top:3px;left:4px;font-size:10px;font-family:var(--fb);font-weight:700;color:var(--gold);line-height:1;pointer-events:none;}
.hole-result{display:flex;flex-direction:column;align-items:center;justify-content:center;height:44px;}
.hw-dot{width:8px;height:8px;border-radius:50%;margin-bottom:2px;}
.hw-dot.p1{background:var(--p1);}
.hw-dot.p2{background:var(--p2);}
.hw-dot.halved{background:#333;}
.hw-txt{font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);}
.half-divider{display:flex;align-items:center;gap:8px;margin:6px 0;}
.half-divider-line{flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent);}
.half-divider-label{font-size:9px;font-weight:700;color:var(--gold);letter-spacing:.8px;text-transform:uppercase;white-space:nowrap;}
.totals-row{display:grid;grid-template-columns:62px 1fr 1fr 32px;gap:4px;align-items:center;background:var(--surface2);border-radius:10px;padding:8px 5px;margin:8px 0 0;border:1px solid var(--border);}

/* STROKE */
.stroke-table-wrap{overflow-x:visible;padding:8px 12px 0;height:calc(100dvh - 230px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;}
.stroke-table-wrap::-webkit-scrollbar{display:none;}
.stroke-table{width:100%;border-collapse:collapse;}
.stroke-table th{position:sticky;top:0;z-index:3;font-size:11px;background:var(--bg);font-weight:700;color:var(--gold);letter-spacing:.8px;text-transform:uppercase;padding:4px 3px;text-align:center;border-bottom:1px solid var(--border);}
.stroke-table td{padding:6px 3px;text-align:center;vertical-align:middle;}
.stroke-table tr.divider-row td{padding:4px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:rgba(212,160,23,.04);}
.stroke-table tr.total-row td{background:var(--surface2);font-weight:700;padding:6px 2px;}
.stroke-table tr.current-row{background:linear-gradient(135deg,rgba(212,160,23,.1),rgba(249,115,22,.08));animation:currentPulse 2.5s ease-in-out infinite;}
.stroke-table tr.current-row td{border-top:1px solid rgba(249,115,22,.3);border-bottom:1px solid rgba(249,115,22,.3);padding-top:6px;padding-bottom:6px;}
.stroke-table tr.current-row td:first-child{border-left:3px solid var(--accent);}
.hole-num-cell{font-family:var(--fd);font-size:16px;color:var(--text-muted);}
.hole-num-cell.current{font-size:22px;background:linear-gradient(135deg,var(--gold2),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.hole-meta-cell{display:flex;flex-direction:column;align-items:center;}
.hm-par{font-size:10px;font-weight:700;color:var(--text);line-height:1;}
.hm-si{font-size:8px;color:var(--text-muted);}
.subtotal-cell{font-family:var(--fd);font-size:16px;}
.topar-cell{font-size:10px;font-weight:700;}
.tp-under{color:var(--birdie);}
.tp-even{color:var(--text-muted);}
.tp-over{color:var(--bogey);}

/* FLIGHT LEADER */
.flight-leader{display:none;margin:6px 0 4px;padding:8px 12px;background:linear-gradient(135deg,rgba(212,160,23,.12),rgba(249,115,22,.06));border:1px solid rgba(212,160,23,.35);border-radius:10px;}
.flight-leader.visible{display:flex;align-items:center;gap:10px;}
.fl-info{flex:1;}
.fl-label{font-size:8px;font-weight:700;color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;}
.fl-name{font-family:var(--fd);font-size:18px;line-height:1.1;}
.fl-score{font-size:11px;font-weight:700;}

/* MODAL */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.82);z-index:300;align-items:flex-end;justify-content:center;}
.modal-overlay.active{display:flex;}
.modal{background:var(--surface);border-radius:20px 20px 0 0;padding:18px;width:100%;max-width:430px;border-top:2px solid transparent;border-image:linear-gradient(90deg,var(--gold),var(--accent),var(--gold)) 1;animation:slideUp .25s ease;position:relative;overflow:hidden;}
.modal::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0,transparent 16px,rgba(249,115,22,.04) 16px,rgba(249,115,22,.04) 19px);pointer-events:none;}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.modal-title{font-family:var(--fd);font-size:22px;color:var(--accent);margin-bottom:2px;letter-spacing:1px;position:relative;}
.modal-sub{font-size:12px;color:var(--text-muted);font-weight:500;position:relative;}
.modal-edit-hint{font-size:10px;color:var(--gold);font-weight:600;min-height:16px;margin-bottom:12px;position:relative;}
.modal-inputs-mp{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;position:relative;}
.modal-inputs-sp{display:flex;flex-direction:column;gap:10px;margin-bottom:12px;position:relative;}
.score-stepper{display:flex;align-items:center;background:var(--surface2);border-radius:12px;border:1px solid var(--border);overflow:hidden;}
.stepper-btn{width:44px;height:48px;background:none;border:none;color:var(--text);font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.stepper-btn:active{background:#222;}
.stepper-val{flex:1;text-align:center;font-family:var(--fd);font-size:30px;color:var(--text);}
.preview-chip{padding:4px 10px;border-radius:16px;font-size:10px;font-weight:700;border:1px solid transparent;text-align:center;min-width:70px;}
.btn-save{width:100%;padding:14px;background:linear-gradient(135deg,var(--accent),#ea6a0a);border:none;border-radius:12px;color:#000;font-family:var(--fd);font-size:20px;letter-spacing:1px;cursor:pointer;}
.btn-save:active{opacity:.9;}
.btn-cancel{width:100%;padding:10px;background:none;border:none;color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;margin-top:5px;}

/* STATS */
.stats-section{padding:12px;display:none;}
.stat-card{background:var(--surface);border-radius:12px;border:1px solid var(--border);padding:12px;margin-bottom:8px;}
.stat-card-title{font-size:9px;font-weight:700;color:var(--gold);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}
.stat-bar-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
.stat-bar-label{font-size:10px;color:var(--text-muted);font-weight:600;width:65px;}
.stat-bar-track{flex:1;height:6px;background:var(--surface2);border-radius:4px;overflow:hidden;}
.stat-bar-fill{height:100%;border-radius:4px;transition:width .5s;}
.stat-bar-val{font-size:11px;font-weight:700;color:var(--text);width:22px;text-align:right;}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.stat-num-card{background:var(--surface2);border-radius:10px;padding:10px;text-align:center;}
.stat-num{font-family:var(--fd);font-size:26px;}
.stat-num-label{font-size:9px;color:var(--text-muted);font-weight:600;margin-top:2px;}

/* HISTORY */
.history-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px;cursor:pointer;display:flex;align-items:center;gap:12px;}
.history-card:active{background:var(--surface2);}

/* PRACTICE */
.practice-hole-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;margin-bottom:6px;cursor:pointer;}

/* CANVAS */
.cv-obj-btn{padding:5px 9px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:12px;cursor:pointer;transition:all .15s;}
.cv-obj-btn:active,.cv-obj-active{background:rgba(249,115,22,.15)!important;border-color:var(--accent)!important;color:var(--accent)!important;}

/* FINISH */
.finish-btn-row{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;background:var(--surface);border-top:1px solid var(--border);padding:12px 16px 28px;display:flex;gap:10px;z-index:100;}

.spacer{height:90px;}

/* BACK BUTTON */
.btn-back{display:flex;align-items:center;gap:6px;padding:6px 12px 6px 8px;background:rgba(249,115,22,.1);border:1px solid rgba(249,115,22,.3);border-radius:10px;color:var(--accent);font-size:13px;font-weight:700;cursor:pointer;font-family:var(--fb);}
.btn-back:active{background:rgba(249,115,22,.2);}
.btn-back-arrow{font-size:16px;line-height:1;}
/* PIN LOGIN */
.pin-dot { width:18px;height:18px;border-radius:50%;background:var(--border);border:2px solid var(--border);transition:all .15s ease; }
.pin-key { padding:18px;font-size:22px;font-weight:700;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;font-family:var(--fd);transition:background .1s;width:100%; }
.pin-key:active { background:var(--surface2); }

.sp-sticky-header{position:sticky;top:0;z-index:5;background:var(--bg);padding-bottom:2px;}
.sp-sticky-block{position:sticky;top:0;z-index:10;background:var(--bg);}