@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Playfair+Display:wght@400;700&display=swap";*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--bg:#091409;--bg2:#0f1f0f;--bg3:#162816;--card:#122012;--card2:#1a2e1a;--text:#eef2e6;--text2:#8a9e7e;--text3:#5a6e50;--accent:#c0392b;--accent2:#e74c3c;--green:#2ecc71;--gold:#f1c40f;--blue:#5dade2;--purple:#a569bd;--common:#95a5a6;--uncommon:#5dade2;--rare:#a569bd;--legendary:#f1c40f;--shadow:0 8px 32px rgba(0,0,0,.4);--radius:12px;--font-body:"Playfair Display",Georgia,serif;--font-detail:"Outfit",system-ui,sans-serif}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--font-body);font-weight:400;font-size:15px;line-height:1.5}#app{width:100%;height:100%;display:flex;flex-direction:column;position:relative}.screen{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;z-index:10;background:var(--bg);overflow-y:auto;-webkit-overflow-scrolling:touch}.screen-scroll{display:flex;flex-direction:column;align-items:center;width:100%;min-height:100%;padding:24px 20px 48px;gap:20px}.btn{padding:14px 32px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-detail);letter-spacing:.3px;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--green);color:#091409;box-shadow:0 4px 16px #2ecc7140}.btn-primary:hover{box-shadow:0 6px 24px #2ecc7166;transform:translateY(-2px)}.btn-secondary{background:#ffffff0f;color:var(--text);border:1px solid rgba(255,255,255,.1)}.btn-secondary:hover{background:#ffffff1a;transform:translateY(-1px)}.btn-small{padding:10px 20px;font-size:13px}.btn-gold{background:var(--gold);color:#1a1a0a;font-weight:700}.btn-green{background:var(--green);color:#091409;font-weight:500}.menu-screen{background:radial-gradient(ellipse at 50% 35%,#12280f,#091409 60%)}.logo{font-family:var(--font-body);font-size:clamp(56px,14vw,96px);font-weight:400;letter-spacing:-1px;color:var(--green);margin-bottom:0;text-shadow:0 4px 40px rgba(46,204,113,.3)}.logo-sub{font-family:var(--font-detail);font-size:clamp(13px,2.5vw,15px);color:var(--text2);margin-bottom:48px;letter-spacing:3px;font-weight:300}.menu-buttons{display:flex;flex-direction:column;gap:14px;width:min(260px,80vw)}.menu-footer{padding:20px 24px 32px;text-align:center;width:100%;max-width:400px;align-self:center}.menu-tagline{font-family:var(--font-detail);font-size:13px;color:var(--text3);line-height:1.6;margin-bottom:14px;font-weight:300}.menu-help-btn{background:none;border:1px solid rgba(255,255,255,.08);color:var(--text2);padding:8px 16px;border-radius:20px;cursor:pointer;font-family:var(--font-detail);font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px;transition:all .15s}.menu-help-btn:hover{background:#ffffff0a;color:var(--text)}.career-header{text-align:center;margin-bottom:4px}.career-header h2{font-family:var(--font-body);font-size:24px;font-weight:400;color:var(--text)}.money-display{font-size:22px;font-weight:700;color:var(--gold);margin:2px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:min(440px,92vw);margin:8px 0}.stat-card{background:var(--card);border-radius:10px;padding:12px 8px;text-align:center;border:1px solid rgba(255,255,255,.04);transition:all .15s}.stat-card .stat-name{font-family:var(--font-detail);font-size:10px;color:var(--text2);letter-spacing:.5px;font-weight:500}.stat-card .stat-val{font-family:var(--font-body);font-size:26px;color:var(--green)}.stat-card-click{cursor:pointer}.stat-card-click:hover{border-color:#2ecc7133;background:#2ecc710a}.stat-card-click:active{transform:scale(.96)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:50;animation:fadeIn .15s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal{background:var(--bg2);border-radius:16px;padding:24px;max-width:min(380px,88vw);width:100%;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}.tour-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-family:var(--font-detail);font-size:11px;font-weight:500;letter-spacing:.5px}.tour-qschool{background:#95a5a61f;color:var(--common)}.tour-kornferry{background:#5dade21a;color:var(--uncommon)}.tour-pga{background:#a569bd1a;color:var(--rare)}.tour-major{background:#f1c40f1a;color:var(--legendary)}.rank-banner{display:flex;align-items:center;gap:14px;background:var(--card);border-radius:14px;padding:14px 18px;width:min(440px,92vw);border:1px solid rgba(255,255,255,.06)}.rank-number{font-size:32px;font-weight:700;color:var(--gold);min-width:60px}.rank-details{flex:1}.rank-label{font-family:var(--font-detail);font-size:11px;color:var(--text3);letter-spacing:.5px}.rank-pts{font-family:var(--font-detail);font-size:14px;color:var(--text);font-weight:500}.month-timeline{display:flex;gap:4px;justify-content:center;margin-bottom:12px}.month-dot{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 6px;border-radius:8px;min-width:40px}.month-dot span{font-family:var(--font-detail);font-size:10px;color:var(--text3);font-weight:500}.month-dot.played{background:#2ecc7114}.month-dot.played span{color:var(--green)}.month-dot.current{background:var(--green)}.month-dot.current span{color:#091409;font-weight:700}.month-dot.viewing{border:2px solid var(--blue)}.month-dot.viewing span{color:var(--blue)}.event-tag{font-family:var(--font-detail);font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;margin-right:6px;vertical-align:middle}.event-tag-qual{background:#5dade226;color:var(--blue)}.event-tag-major{background:#f1c40f26;color:var(--gold)}.rank-pts-badge{font-family:var(--font-detail);font-size:11px;color:var(--blue);font-weight:500}.hub-screen{flex-direction:column;justify-content:flex-start;align-items:stretch;overflow:hidden}.hub-header{display:flex;align-items:center;justify-content:center;padding:8px 14px;background:#091409f2;border-bottom:1px solid rgba(255,255,255,.06);z-index:5;flex-shrink:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);gap:12px}.hub-header-center{flex:1;text-align:center;font-size:14px;color:var(--text2)}.hub-sep{margin:0 6px;opacity:.3}.hub-icon-btn{background:none;border:1px solid rgba(255,255,255,.08);color:var(--text2);width:32px;height:32px;border-radius:8px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;font-family:var(--font-detail)}.hub-icon-btn:hover{background:#ffffff0f;color:var(--text)}.hub-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.hub-panel{padding:16px 16px 24px;max-width:520px;margin:0 auto;width:100%}.hub-nav{display:flex;justify-content:center;gap:6px;background:var(--card);border-top:1px solid rgba(255,255,255,.08);flex-shrink:0;padding:6px 16px 10px}.hub-nav-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;background:none;border:none;border-radius:10px;cursor:pointer;transition:all .15s;color:var(--text3);min-width:64px}.hub-nav-btn:hover{background:#ffffff0a}.hub-nav-btn.active{color:var(--green);background:#2ecc7114}.hub-nav-icon{font-size:18px}.hub-nav-label{font-family:var(--font-detail);font-size:10px;font-weight:500}.section-label{font-family:var(--font-detail);font-size:11px;color:var(--text3);letter-spacing:.5px;font-weight:500;margin-bottom:8px}.event-list{display:flex;flex-direction:column;gap:10px}.event-card{background:var(--card);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:all .2s;border:1px solid rgba(255,255,255,.04)}.event-available{border:1px solid rgba(46,204,113,.4);background:#2ecc710f}.event-available:hover{background:#2ecc711f;border-color:#2ecc7199;transform:translateY(-1px);box-shadow:0 4px 16px #0003}.event-played{border:1px solid rgba(243,156,18,.4);background:#f39c120f;cursor:default}.event-needs-qual,.event-preview-locked,.event-wrong-tier{border:1px solid rgba(192,57,43,.35);background:#c0392b0d;cursor:default}.event-preview,.event-skipped,.event-past{border:1px solid rgba(149,165,166,.25);background:#95a5a60a;cursor:default}.event-card-top{display:flex;align-items:center;gap:6px;margin-bottom:4px}.event-name{flex:1;font-size:15px;font-weight:500}.event-pts{font-family:var(--font-detail);font-size:12px;color:var(--blue);font-weight:500}.event-card-bottom{display:flex;justify-content:space-between;font-family:var(--font-detail);font-size:12px;color:var(--text2)}.event-card-note{font-family:var(--font-detail);font-size:11px;color:var(--text3);margin-top:4px}.event-note-locked{color:var(--accent)}.event-note-played{color:var(--green)}.event-note-available{color:var(--green);opacity:.7}.event-note-tier{color:var(--blue)}.event-field-info{display:flex;gap:6px;align-items:center;margin-top:5px;flex-wrap:wrap}.field-badge,.chance-badge{font-family:var(--font-detail);font-size:10px;padding:2px 8px;border-radius:10px;font-weight:500}.field-elite{background:#f1c40f1f;color:var(--gold)}.field-strong{background:#a569bd1a;color:var(--purple)}.field-average{background:#5dade21a;color:var(--blue)}.field-weak{background:#95a5a61a;color:var(--common)}.chance-favoured{background:#2ecc711f;color:var(--green)}.chance-competitive{background:#2ecc7114;color:var(--green)}.chance-challenging{background:#f1c40f14;color:var(--gold)}.chance-tough{background:#c0392b14;color:var(--accent)}.chance-verytough{background:#c0392b1f;color:var(--accent)}.expected-winner{font-family:var(--font-detail);font-size:10px;color:var(--text3)}.event-result{font-family:var(--font-detail);font-size:12px;color:var(--green);font-weight:500}.event-lock{font-size:12px;opacity:.6}.event-check{color:var(--green);font-size:14px;font-weight:700}.bag-grid{display:flex;flex-wrap:wrap;gap:6px}.bag-chip{font-family:var(--font-detail);font-size:12px;background:var(--card);border-radius:20px;padding:4px 12px;border:1px solid rgba(255,255,255,.04)}.bag-count{color:var(--text3);font-size:11px}.rankings-table{width:100%;border-collapse:collapse;table-layout:fixed}.rankings-table th,.rankings-table td{padding:8px 10px;text-align:center;font-family:var(--font-detail);font-size:13px;border-bottom:1px solid rgba(255,255,255,.04)}.rankings-table th{color:var(--text3);font-size:10px;font-weight:500;letter-spacing:.5px}.rankings-table th:nth-child(1),.rankings-table td:nth-child(1){width:40px}.rankings-table th:nth-child(2),.rankings-table td:nth-child(2){text-align:left}.rankings-table th:nth-child(3),.rankings-table td:nth-child(3){width:50px}.rankings-table th:nth-child(4),.rankings-table td:nth-child(4){width:80px}.rankings-table .player-row{background:#2ecc710f}.rankings-table .player-row td{color:var(--green);font-weight:700}.rank-gold{color:var(--gold);font-weight:700}.tour-badge-sm{font-size:9px;padding:1px 6px}.tab-bar{display:flex;gap:0;background:var(--card);border-radius:10px;padding:3px;margin-bottom:16px}.tab-btn{padding:8px 14px;border:none;background:transparent;color:var(--text3);border-radius:8px;cursor:pointer;font-family:var(--font-detail);font-size:13px;font-weight:500;transition:all .15s}.tab-btn.active{background:var(--green);color:#091409;font-weight:700}.tourney-list{display:flex;flex-direction:column;gap:10px;width:min(500px,92vw)}.tourney-card{background:var(--card);border-radius:var(--radius);padding:16px 18px;cursor:pointer;transition:all .2s;border:1px solid rgba(255,255,255,.04);display:flex;justify-content:space-between;align-items:center;gap:14px}.tourney-card:hover{background:var(--card2);border-color:#2ecc7133;transform:translateY(-1px);box-shadow:0 4px 16px #0003}.tourney-card:active{transform:scale(.99)}.tourney-card.locked{opacity:.3;pointer-events:none}.tourney-info h3{font-size:15px;font-weight:500;margin-bottom:4px}.tourney-info p{font-family:var(--font-detail);font-size:12px;color:var(--text2);font-weight:300}.tourney-meta{text-align:right;flex-shrink:0}.tourney-meta .prize{color:var(--gold);font-weight:700;font-size:15px}.tourney-meta .diff{font-family:var(--font-detail);font-size:11px;color:var(--text3)}.game-screen{flex-direction:column;justify-content:flex-start;align-items:stretch;overflow:hidden}.game-top{display:flex;justify-content:center;align-items:center;padding:8px 14px;background:#091409f2;border-bottom:1px solid rgba(255,255,255,.06);z-index:5;flex-shrink:0;gap:12px;flex-wrap:wrap;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.game-top .hole-info,.game-top .par-info{font-size:16px;white-space:nowrap}.game-top .hole-info span{color:var(--green)}.par-under{color:var(--green);font-weight:700}.par-even{color:var(--text)}.par-over{color:var(--accent);font-weight:700}.game-top .round-score{font-size:16px;color:var(--text);white-space:nowrap}.game-top .round-score span{color:var(--green)}.game-top .wind-info{display:flex;align-items:center;gap:4px;font-family:var(--font-detail);font-size:14px;white-space:nowrap}.wind-arrow{display:inline-block;font-size:16px;transition:transform .3s}.weather-bar{font-family:var(--font-detail);font-size:12px;color:var(--text2);background:#ffffff0f;border-radius:20px;padding:3px 12px;white-space:nowrap;font-weight:300}.info-toggle{display:flex;justify-content:center;gap:0;background:var(--card);flex-shrink:0;border-bottom:1px solid rgba(255,255,255,.04)}.info-tab{flex:0;padding:5px 16px;border:none;background:none;color:var(--text3);font-family:var(--font-detail);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;border-bottom:2px solid transparent}.info-tab.active{color:var(--green);border-bottom-color:var(--green)}.info-tab:hover{color:var(--text2)}.info-panel{background:var(--card);flex-shrink:0;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.04);scrollbar-width:none;-ms-overflow-style:none;max-height:120px;overflow-y:auto}.info-panel::-webkit-scrollbar{display:none}.mini-scorecard{display:flex;gap:2px;padding:6px 8px;min-width:max-content;justify-content:center;margin:0 auto}.mini-sc-cell{display:flex;flex-direction:column;align-items:center;min-width:32px;padding:3px 4px;border-radius:4px;background:#ffffff05}.mini-sc-hole{font-family:var(--font-detail);font-size:9px;color:var(--text3)}.mini-sc-score{font-size:15px;font-weight:700}.mini-sc-par{font-family:var(--font-detail);font-size:9px;color:var(--text3)}.sc-eagle .mini-sc-score{color:var(--blue)}.sc-birdie .mini-sc-score{color:var(--green)}.sc-par .mini-sc-score{color:var(--text2)}.sc-bogey .mini-sc-score{color:var(--gold)}.sc-over .mini-sc-score{color:var(--accent)}.live-lb{padding:4px 12px;max-width:360px;margin:0 auto}.live-lb-row{display:flex;align-items:center;gap:8px;padding:3px 8px;border-radius:6px;font-family:var(--font-detail);font-size:13px}.live-lb-row:nth-child(odd){background:#ffffff05}.live-lb-me{background:#2ecc7114!important;font-weight:700}.live-lb-pos{width:20px;text-align:center;color:var(--text3);font-size:12px}.live-lb-row:first-child .live-lb-pos{color:var(--gold);font-weight:700}.live-lb-name{flex:1;font-size:13px}.live-lb-me .live-lb-name{color:var(--green)}.live-lb-vs{font-size:13px;font-weight:500;min-width:30px;text-align:right}.game-middle{flex:1;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;min-height:0;background:radial-gradient(ellipse at center,#0d200d,#060e06)}.canvas-wrap{width:100%;height:100%;overflow:hidden;position:relative;touch-action:none;cursor:crosshair}#gameCanvas{display:block;will-change:transform}.game-bottom{background:#091409f2;border-top:1px solid rgba(255,255,255,.06);padding:8px 8px 14px;z-index:5;flex-shrink:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.debuff-bar{display:flex;gap:8px;justify-content:center;margin-bottom:6px;min-height:18px}.debuff{font-family:var(--font-detail);font-size:11px;padding:3px 10px;border-radius:20px;animation:pulse 1.5s infinite;font-weight:500}.debuff-sand{background:#e8d2821f;color:#d4be6a}.debuff-rough{background:#2e5e2e26;color:#6b9e6b}.debuff-green{background:#45c45a1f;color:#80e89a}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.hand-area{display:flex;gap:8px;justify-content:center;align-items:flex-end;min-height:108px;flex-wrap:nowrap;overflow-x:auto;padding:6px 4px 0;scrollbar-width:none;-ms-overflow-style:none}.hand-area::-webkit-scrollbar{display:none}.shot-card{width:84px;min-width:84px;height:100px;background:var(--card);border-radius:12px;padding:14px 6px 6px;text-align:center;cursor:pointer;transition:all .2s ease;border:2px solid rgba(255,255,255,.06);position:relative;user-select:none;-webkit-user-select:none;overflow:hidden;display:grid;grid-template-rows:auto auto 1fr;align-items:start;justify-items:center}.shot-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-radius:12px 12px 0 0}.shot-card:hover{transform:translateY(-8px);z-index:2;border-color:#ffffff26}.shot-card.selected{transform:translateY(-12px);z-index:3;border-color:var(--green);box-shadow:0 8px 24px #2ecc7140}.shot-card .piece-icon{font-size:30px;line-height:1;filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}.shot-card .shot-name{font-size:11px;font-weight:700;letter-spacing:.3px;margin-top:4px}.shot-card .shot-range{font-family:var(--font-detail);font-size:9px;color:var(--text3);margin-top:2px;line-height:1.2;font-weight:300;align-self:start}.rarity-common:before{background:var(--common)}.rarity-uncommon:before{background:var(--uncommon)}.rarity-rare:before{background:var(--rare)}.rarity-legendary:before{background:var(--legendary)}.shot-card .piece-icon{color:var(--text)}.card-border-common.selected{border-color:var(--common);box-shadow:0 8px 24px #95a5a633}.card-border-uncommon:hover{border-color:#5dade24d}.card-border-uncommon.selected{border-color:var(--uncommon);box-shadow:0 8px 24px #5dade240}.card-border-rare:hover{border-color:#a569bd4d}.card-border-rare.selected{border-color:var(--rare);box-shadow:0 8px 24px #a569bd40}.card-border-legendary:hover{border-color:#f1c40f4d}.card-border-legendary.selected{border-color:var(--legendary);box-shadow:0 8px 24px #f1c40f40}.hand-actions{display:flex;justify-content:center;gap:10px;margin-top:6px}.trade-btn{padding:6px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:20px;color:var(--text2);font-size:13px;cursor:pointer;font-family:var(--font-detail);transition:all .15s;font-weight:500}.trade-btn:hover{background:#ffffff1a;color:var(--text)}.trade-btn:disabled{opacity:.2;cursor:not-allowed}.game-msg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#091409eb;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:28px 44px;text-align:center;z-index:20;animation:msgPop .3s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@keyframes msgPop{0%{transform:translate(-50%,-50%) scale(.85);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.game-msg h3{font-family:var(--font-body);font-size:26px;margin-bottom:6px}.game-msg p{font-family:var(--font-detail);color:var(--text2);font-size:14px;font-weight:300}.game-msg.eagle h3{color:var(--blue)}.game-msg.birdie h3{color:var(--green)}.game-msg.bogey h3{color:var(--gold)}.game-msg.double h3{color:var(--accent)}.game-msg.water h3{color:var(--blue)}.pause-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text2);width:30px;height:30px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;padding:0}.pause-btn:hover{background:#ffffff0f;color:var(--text)}.pause-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#091409d9;display:flex;align-items:center;justify-content:center;z-index:30;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .15s}.pause-menu{background:var(--bg2);border-radius:20px;padding:28px 32px;max-width:min(320px,85vw);width:100%;text-align:center;border:1px solid rgba(255,255,255,.08);box-shadow:var(--shadow)}.pause-menu h2{margin-bottom:4px}.shot-popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#091409e6;border-radius:16px;padding:16px 28px;text-align:center;z-index:22;animation:msgPop .25s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);pointer-events:none}.shot-popup-title{font-size:20px;font-weight:700;margin-bottom:3px}.shot-popup-text{font-family:var(--font-detail);font-size:12px;color:var(--text2);font-weight:300}.shot-popup-wind .shot-popup-title{color:var(--blue)}.shot-popup-scatter .shot-popup-title{color:var(--green)}.shot-popup-break .shot-popup-title{color:var(--gold)}.hole-transition{position:absolute;top:0;left:0;width:100%;height:100%;background:#091409;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:25}.hole-transition h2{font-family:var(--font-body);font-size:clamp(28px,7vw,44px)}.hole-transition .par-display{font-family:var(--font-body);font-size:clamp(52px,14vw,80px);color:var(--green);margin:4px 0;text-shadow:0 4px 30px rgba(46,204,113,.3)}.hole-transition p{font-family:var(--font-detail);color:var(--text2);font-size:14px;font-weight:300}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.effect-overlay{position:absolute;top:10px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:4px;z-index:15;pointer-events:none;animation:fadeIn .2s}.effect-pill{padding:5px 14px;border-radius:20px;font-family:var(--font-detail);font-size:12px;font-weight:500;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);white-space:nowrap;text-align:center}.effect-sand{background:#e8d28226;color:#d4be6a;border:1px solid rgba(232,210,130,.2)}.effect-rough{background:#2e5e2e33;color:#8bc48b;border:1px solid rgba(46,94,46,.25)}.green-overlay{position:absolute;bottom:10px;left:50%;transform:translate(-50%);padding:5px 16px;border-radius:20px;font-size:12px;font-weight:500;background:#45c45a1f;color:#80e89a;border:1px solid rgba(69,196,90,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:15;pointer-events:none;animation:fadeIn .2s;white-space:nowrap}.break-icon{font-size:14px}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;width:min(560px,92vw);margin:10px 0}.shop-item{background:var(--card);border-radius:var(--radius);padding:18px 14px;text-align:center;cursor:pointer;transition:all .2s;border:1px solid rgba(255,255,255,.04)}.shop-item:hover{border-color:#f1c40f33;transform:translateY(-2px);box-shadow:0 6px 20px #00000040}.shop-item:active{transform:scale(.97)}.shop-item.sold{opacity:.25;pointer-events:none}.shop-item .item-icon{font-size:28px;margin-bottom:8px}.shop-item .item-name{font-size:13px;font-weight:700;margin-bottom:4px}.shop-item .item-desc{font-family:var(--font-detail);font-size:12px;color:var(--text2);margin-bottom:10px;min-height:28px;line-height:1.4;font-weight:300}.shop-item .item-price{color:var(--gold);font-weight:700;font-size:14px}.mod-shop-item{border-top:2px solid var(--green);border-bottom:2px solid var(--accent)}.results-table{width:min(480px,92vw);border-collapse:collapse;margin:10px 0}.results-table th,.results-table td{padding:8px 12px;text-align:left;font-family:var(--font-detail);font-size:13px;border-bottom:1px solid rgba(255,255,255,.04);font-weight:300}.results-table th{color:var(--text3);font-size:11px;letter-spacing:.5px;font-weight:500}.results-table tr.player-row{background:#2ecc710f}.results-table tr.player-row td{color:var(--green);font-weight:700}.results-table .money-col{color:var(--gold)}.scorecard-wrap{overflow-x:auto;width:min(500px,92vw);scrollbar-width:none;-ms-overflow-style:none}.scorecard-wrap::-webkit-scrollbar{display:none}.scorecard{display:grid;gap:3px;margin:8px 0;min-width:max-content}.sc-cell{background:var(--card);border-radius:4px;padding:5px 6px;text-align:center;font-size:12px;font-weight:500;min-width:30px}.sc-cell.sc-header{background:transparent;color:var(--text3);font-size:10px}.sc-cell.sc-label{background:transparent;color:var(--text3);font-size:10px;text-align:right;padding-right:8px}.sc-eagle{color:var(--blue);background:#5dade214}.sc-birdie{color:var(--green);background:#2ecc7114}.sc-par{color:var(--text2)}.sc-bogey{color:var(--gold);background:#f1c40f0d}.sc-double{color:var(--accent)}.sc-worse{color:var(--accent2)}.help-section{background:var(--card);border-radius:12px;padding:14px 16px;margin-bottom:10px}.help-section p{font-family:var(--font-detail);font-size:13px;color:var(--text2);line-height:1.6;font-weight:300;margin:0}.help-section strong{color:var(--text);font-weight:500}.help-heading{font-size:14px;margin-bottom:8px;color:var(--green)}.help-grid{display:flex;flex-direction:column;gap:6px}.help-item{font-family:var(--font-detail);font-size:13px;color:var(--text2);font-weight:300;display:flex;align-items:center;gap:8px}.help-item strong{color:var(--text);font-weight:500}.help-piece{font-size:18px;width:22px;text-align:center;color:var(--text)}.help-swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0}.pins-display{font-size:14px;font-weight:500;color:var(--blue)}.mod-intro{background:var(--card);border-radius:16px;padding:24px 20px;text-align:center;border:1px solid rgba(255,255,255,.06)}.mod-intro-icon{font-size:32px;margin-bottom:10px}.mod-intro h3{font-family:var(--font-body);font-size:18px;margin-bottom:10px}.mod-intro p{font-family:var(--font-detail);color:var(--text2);font-size:13px;line-height:1.6;max-width:320px;margin:0 auto 18px;font-weight:300}.mod-intro-steps{display:flex;flex-direction:column;gap:10px;text-align:left;max-width:300px;margin:0 auto 18px}.mod-intro-step{display:flex;align-items:center;gap:12px;font-family:var(--font-detail);font-size:13px;color:var(--text2);font-weight:300}.mod-intro-step strong{color:var(--text);font-weight:500}.mod-intro-num{width:24px;height:24px;border-radius:50%;background:var(--green);color:#091409;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0}.mod-intro-bar{height:4px;background:#ffffff0f;border-radius:2px;overflow:hidden;margin-bottom:4px}.mod-intro-fill{height:100%;background:var(--green);border-radius:2px;transition:width .3s}.mod-intro-progress span{font-size:11px;color:var(--text3)}.mod-section-label{color:var(--text3);font-size:11px;letter-spacing:.5px;margin-top:14px;margin-bottom:6px;font-weight:500}.mod-slots{display:flex;gap:10px;justify-content:center;margin:6px 0 10px}.mod-slot{width:104px;min-height:76px;background:var(--card);border:2px dashed rgba(255,255,255,.06);border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px;cursor:default;transition:all .15s}.mod-slot-filled{border-style:solid;border-color:var(--green);cursor:pointer;background:#2ecc710a}.mod-slot-filled:hover{border-color:var(--accent);background:#c0392b0a}.mod-slot-icon{font-size:22px}.mod-slot-name{font-size:9px;font-weight:700;margin-top:3px}.mod-slot-hint{font-size:8px;color:var(--text3);margin-top:2px;font-weight:300}.mod-slot-empty{font-size:22px;color:var(--text3);opacity:.2}.mod-card{background:var(--card);border-radius:var(--radius);padding:14px;cursor:pointer;border:1px solid rgba(255,255,255,.04);transition:all .15s;border-left:3px solid var(--green);border-right:3px solid var(--accent)}.mod-card:hover{border-left-color:var(--green);border-right-color:var(--green);background:#2ecc7108}.mod-card.mod-card-available{border-left-color:var(--blue);border-right-color:var(--blue);cursor:default}.mod-card-header{display:flex;align-items:center;gap:10px;margin-bottom:5px}.mod-card-icon{font-size:20px}.mod-card-name{font-size:14px;font-weight:500;flex:1}.mod-card-equip{font-size:10px;color:#091409;background:var(--green);font-weight:700;padding:3px 10px;border-radius:20px}.mod-card-cost{font-size:11px;color:var(--blue);font-weight:500}.mod-card-pos{font-family:var(--font-detail);font-size:12px;color:var(--green);margin-bottom:2px;font-weight:300}.mod-card-neg{font-family:var(--font-detail);font-size:12px;color:var(--accent);font-weight:300}.mod-undiscovered{background:var(--card);border-radius:var(--radius);padding:14px;margin-top:8px}.mod-tier-row{display:flex;align-items:center;gap:12px;padding:5px 0}.mod-tier-label{font-size:11px;color:var(--text3);width:42px;flex-shrink:0;font-weight:500}.mod-tier-pips{display:flex;gap:5px;flex:1}.mod-pip{width:10px;height:10px;border-radius:50%;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.mod-pip-found{background:var(--green);border-color:var(--green)}.mod-tier-count{font-size:10px;color:var(--text3);width:30px;text-align:right}.mod-hud{display:flex;gap:4px;align-items:center}.mod-hud-icon{font-size:14px;background:#ffffff0f;border-radius:6px;padding:2px 5px;cursor:help}@media(max-width:600px){.game-top{padding:6px 10px;gap:6px}.shot-card{width:72px;min-width:72px;height:92px;padding-top:12px;padding-bottom:5px}.shot-card .piece-icon{font-size:26px}.shot-card .shot-name{font-size:9px}.shot-card .shot-range{font-size:7px}.hand-area{min-height:94px;gap:6px}.stats-grid{grid-template-columns:repeat(2,1fr)}.shop-grid{grid-template-columns:repeat(2,1fr);gap:8px}.btn{padding:12px 24px;font-size:13px}}@media(max-width:380px){.shot-card{width:64px;min-width:64px;height:86px;padding-top:10px;padding-bottom:4px}.shot-card .piece-icon{font-size:22px}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}
