*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{--bg:#0f0e17;--bg2:#1a1932;--bg3:#232147;--card:#1c1b36;--card2:#2a2952;--text:#fffffe;--text2:#a7a9be;--accent:#e94560;--accent2:#ff6b6b;--green:#4ecca3;--gold:#ffd369;--blue:#4fc3f7;--purple:#ba68c8;--common:#b0bec5;--uncommon:#4fc3f7;--rare:#ba68c8;--legendary:#ffd54f;--shadow:0 4px 24px rgba(0,0,0,.5);--radius:12px}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#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:20px 20px 40px;gap:16px}.btn{padding:14px 36px;border:none;border-radius:var(--radius);font-size:15px;font-weight:700;cursor:pointer;transition:all .15s ease;font-family:inherit;text-transform:uppercase;letter-spacing:1px;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--accent),#c92a4a);color:#fff;box-shadow:0 4px 20px #e945604d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 28px #e9456080}.btn-secondary{background:var(--card2);color:var(--text);border:1px solid rgba(255,255,255,.08)}.btn-secondary:hover{background:var(--bg3);transform:translateY(-1px)}.btn-small{padding:8px 18px;font-size:13px}.btn-gold{background:linear-gradient(135deg,var(--gold),#e6b800);color:#1a1a2e}.btn-green{background:linear-gradient(135deg,var(--green),#2e9e7a);color:#fff}.menu-screen{background:radial-gradient(ellipse at 50% 30%,#1a1932,#0f0e17 70%)}.logo{font-size:clamp(52px,12vw,88px);font-weight:900;letter-spacing:-3px;background:linear-gradient(135deg,var(--green) 0%,var(--blue) 50%,var(--green) 100%);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:logoShimmer 4s ease infinite}@keyframes logoShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.logo-sub{font-size:clamp(12px,2.5vw,16px);color:var(--text2);margin-bottom:40px;letter-spacing:6px;text-transform:uppercase}.menu-buttons{display:flex;flex-direction:column;gap:12px;width:min(280px,80vw)}.career-header{text-align:center;margin-bottom:8px}.career-header h2{font-size:22px;color:var(--gold)}.money-display{font-size:28px;font-weight:900;color:var(--gold);margin:4px 0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;width:min(420px,92vw);margin:8px 0}.stat-card{background:var(--card);border-radius:8px;padding:10px 6px;text-align:center;border:1px solid rgba(255,255,255,.04)}.stat-card .stat-name{font-size:10px;color:var(--text2);text-transform:uppercase;letter-spacing:1px}.stat-card .stat-val{font-size:24px;font-weight:900;color:var(--green)}.tour-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.tour-qschool{background:#b0bec526;color:var(--common)}.tour-kornferry{background:#4fc3f726;color:var(--uncommon)}.tour-pga{background:#ba68c826;color:var(--rare)}.tour-major{background:#ffd36926;color:var(--legendary)}.tab-bar{display:flex;gap:2px;background:var(--card);border-radius:8px;padding:3px;margin-bottom:12px}.tab-btn{padding:7px 16px;border:none;background:transparent;color:var(--text2);border-radius:6px;cursor:pointer;font-family:inherit;font-size:12px;font-weight:600;transition:all .15s}.tab-btn.active{background:var(--bg3);color:var(--text)}.tourney-list{display:flex;flex-direction:column;gap:8px;width:min(500px,92vw)}.tourney-card{background:var(--card);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:all .15s;border:1px solid rgba(255,255,255,.04);display:flex;justify-content:space-between;align-items:center;gap:12px}.tourney-card:hover{background:var(--card2);border-color:#e945604d}.tourney-card:active{transform:scale(.99)}.tourney-card.locked{opacity:.35;pointer-events:none}.tourney-info h3{font-size:15px;margin-bottom:3px}.tourney-info p{font-size:12px;color:var(--text2)}.tourney-meta{text-align:right;flex-shrink:0}.tourney-meta .prize{color:var(--gold);font-weight:700;font-size:14px}.tourney-meta .diff{font-size:11px;color:var(--text2)}.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:6px 12px;background:linear-gradient(180deg,var(--bg2),rgba(26,25,50,.95));border-bottom:1px solid rgba(255,255,255,.04);z-index:5;flex-shrink:0;gap:10px;flex-wrap:wrap}.game-top .hole-info{font-size:13px;font-weight:700;white-space:nowrap}.game-top .hole-info span{color:var(--green)}.game-top .score-info{font-size:12px;color:var(--text2);white-space:nowrap}.game-top .wind-info{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}.wind-arrow{display:inline-block;font-size:16px;transition:transform .3s}.weather-bar{font-size:11px;color:var(--text2);background:#ffffff0a;border-radius:4px;padding:2px 8px;white-space:nowrap}.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,#0a1f0a,#070e07)}.canvas-wrap{width:100%;height:100%;overflow:hidden;position:relative;touch-action:none;cursor:crosshair}#gameCanvas{display:block;will-change:transform}.game-bottom{background:linear-gradient(0deg,var(--bg2),rgba(26,25,50,.97));border-top:1px solid rgba(255,255,255,.04);padding:6px 6px 10px;z-index:5;flex-shrink:0}.debuff-bar{display:flex;gap:6px;justify-content:center;margin-bottom:4px;min-height:18px}.debuff{font-size:10px;padding:2px 8px;border-radius:4px;animation:pulse 1.5s infinite}.debuff-sand{background:#e8d28226;color:var(--gold)}.debuff-rough{background:#2e5e2e33;color:#6b9e6b}@keyframes pulse{0%,to{opacity:.7}50%{opacity:1}}.hand-area{display:flex;gap:6px;justify-content:center;align-items:flex-end;min-height:100px;flex-wrap:nowrap;overflow-x:auto;padding:4px 4px 0;scrollbar-width:none;-ms-overflow-style:none}.hand-area::-webkit-scrollbar{display:none}.shot-card{width:82px;min-width:82px;background:linear-gradient(160deg,var(--card) 0%,#151530 100%);border-radius:10px;padding:10px 6px 8px;text-align:center;cursor:pointer;transition:all .15s ease;border:2px solid rgba(255,255,255,.06);position:relative;user-select:none;-webkit-user-select:none}.shot-card:hover{transform:translateY(-6px);z-index:2}.shot-card.selected{transform:translateY(-10px);z-index:3;border-color:var(--accent);box-shadow:0 0 20px #e9456059,inset 0 0 20px #e9456014}.shot-card .piece-icon{font-size:28px;line-height:1.1;margin-bottom:2px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.shot-card .shot-name{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.shot-card .shot-range{font-size:9px;color:var(--text2);margin-top:2px;line-height:1.2}.rarity-common .piece-icon{color:var(--common)}.rarity-uncommon .piece-icon{color:var(--uncommon)}.rarity-rare .piece-icon{color:var(--rare)}.rarity-legendary .piece-icon{color:var(--legendary)}.card-border-common:hover,.card-border-common.selected{border-color:var(--common)}.card-border-uncommon:hover,.card-border-uncommon.selected{border-color:var(--uncommon)}.card-border-rare:hover,.card-border-rare.selected{border-color:var(--rare)}.card-border-legendary:hover,.card-border-legendary.selected{border-color:var(--legendary)}.card-border-uncommon.selected{box-shadow:0 0 20px #4fc3f74d,inset 0 0 20px #4fc3f70d}.card-border-rare.selected{box-shadow:0 0 20px #ba68c84d,inset 0 0 20px #ba68c80d}.card-border-legendary.selected{box-shadow:0 0 20px #ffd3694d,inset 0 0 20px #ffd3690d}.hand-actions{display:flex;justify-content:center;gap:8px;margin-top:4px}.trade-btn{padding:5px 14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:var(--text2);font-size:11px;cursor:pointer;font-family:inherit;transition:all .15s}.trade-btn:hover{background:#ffffff14;color:var(--text)}.trade-btn:disabled{opacity:.25;cursor:not-allowed}.game-msg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#0f0e17f5;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:24px 40px;text-align:center;z-index:20;animation:msgPop .25s cubic-bezier(.34,1.56,.64,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@keyframes msgPop{0%{transform:translate(-50%,-50%) scale(.85);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.game-msg h3{font-size:22px;margin-bottom:6px}.game-msg p{color:var(--text2);font-size:13px}.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)}.effect-overlay{position:absolute;top:8px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:4px;z-index:15;pointer-events:none;animation:fadeIn .2s}.effect-pill{padding:4px 12px;border-radius:6px;font-size:11px;font-weight:600;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);white-space:nowrap;text-align:center}.effect-wind{background:#64a0ff33;color:#a0c8ff;border:1px solid rgba(100,160,255,.25)}.effect-sand{background:#e8d28233;color:var(--gold);border:1px solid rgba(232,210,130,.25)}.effect-rough{background:#2e5e2e40;color:#8bc48b;border:1px solid rgba(46,94,46,.3)}.green-overlay{position:absolute;bottom:8px;left:50%;transform:translate(-50%);padding:4px 14px;border-radius:6px;font-size:11px;font-weight:600;background:#45c45a26;color:#80e89a;border:1px solid rgba(69,196,90,.2);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}.debuff-green{background:#45c45a26;color:#80e89a}.hole-transition{position:absolute;top:0;left:0;width:100%;height:100%;background:#0f0e17f7;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:25;animation:fadeIn .2s;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.hole-transition h2{font-size:clamp(28px,7vw,48px);font-weight:900}.hole-transition .par-display{font-size:clamp(48px,12vw,72px);font-weight:900;color:var(--green);margin:8px 0}.hole-transition p{color:var(--text2);font-size:14px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;width:min(560px,92vw);margin:12px 0}.shop-item{background:var(--card);border-radius:var(--radius);padding:16px 12px;text-align:center;cursor:pointer;transition:all .15s;border:1px solid rgba(255,255,255,.04)}.shop-item:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 4px 20px #ffd3691a}.shop-item:active{transform:scale(.97)}.shop-item.sold{opacity:.3;pointer-events:none}.shop-item .item-icon{font-size:32px;margin-bottom:6px}.shop-item .item-name{font-size:12px;font-weight:700;margin-bottom:3px}.shop-item .item-desc{font-size:10px;color:var(--text2);margin-bottom:8px;min-height:24px;line-height:1.4}.shop-item .item-price{color:var(--gold);font-weight:700;font-size:14px}.results-table{width:min(480px,92vw);border-collapse:collapse;margin:8px 0}.results-table th,.results-table td{padding:7px 10px;text-align:left;font-size:12px;border-bottom:1px solid rgba(255,255,255,.04)}.results-table th{color:var(--text2);text-transform:uppercase;font-size:10px;letter-spacing:1px}.results-table tr.player-row{background:#e9456014}.results-table tr.player-row td{color:var(--accent2);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:6px 0;min-width:max-content}.sc-cell{background:var(--card);border-radius:3px;padding:4px 6px;text-align:center;font-size:11px;font-weight:600;min-width:28px}.sc-cell.sc-header{background:transparent;color:var(--text2);font-size:10px}.sc-cell.sc-label{background:transparent;color:var(--text2);font-size:10px;text-align:right;padding-right:8px}.sc-eagle{color:#4fc3f7;background:#4fc3f71a}.sc-birdie{color:var(--green);background:#4ecca31a}.sc-par{color:var(--text2)}.sc-bogey{color:var(--gold);background:#ffd3690f}.sc-double{color:var(--accent)}.sc-worse{color:var(--accent2)}.help-content{background:var(--card);border-radius:var(--radius);padding:16px 18px;font-size:13px;line-height:1.7;color:var(--text2)}.help-content strong{color:var(--text)}.help-content ul{margin:6px 0 6px 18px;line-height:2}@media(max-width:600px){.game-top{padding:4px 8px;gap:4px}.shot-card{width:70px;min-width:70px;padding:8px 4px 6px}.shot-card .piece-icon{font-size:24px}.shot-card .shot-name{font-size:9px}.shot-card .shot-range{font-size:8px}.hand-area{min-height:88px;gap:5px}.stats-grid{grid-template-columns:repeat(2,1fr)}.shop-grid{grid-template-columns:repeat(2,1fr);gap:8px}.btn{padding:12px 28px;font-size:14px}}@media(max-width:380px){.shot-card{width:64px;min-width:64px}.shot-card .piece-icon{font-size:22px}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--card2);border-radius:2px}
