:root{--green:#204b3b;--dark:#16382d;--ink:#253b32;--muted:#768077;--cream:#f6f4ec;--line:#dfdfd4;--gold:#c4a45e;--white:#fffef8;font-family:'DM Sans',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}button,a,input,select{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bd9953;outline-offset:3px}button{border:0;background:none;color:inherit}a{color:inherit}input,select{border:1px solid var(--line);border-radius:8px;padding:12px;background:var(--white);color:var(--ink);max-width:100%}input[type=range]{padding:0;accent-color:var(--green);width:100%;height:24px}h1,h2,h3,p{margin:0}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400}h1{font-size:clamp(44px,5vw,78px);line-height:.99;letter-spacing:-1.7px}h2{font-size:40px;line-height:1.08}h3{font-size:18px;letter-spacing:-.3px}small{font-size:11px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#727c6e}.muted{color:var(--muted)}.serif{font-family:'Libre Caslon Display',Georgia,serif}.arrow{font-size:21px}.pill{display:inline-flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:20px;padding:5px 10px;font-size:11px;font-weight:600;white-space:nowrap}.pill.gold{background:#eee6cf;border-color:#e5daba;color:#735c2b}.pill.green{background:#e6eddf;border-color:#d5dfcc;color:#36543a}.row{display:flex;align-items:center;gap:12px}.spread{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;border:1px solid var(--line);border-radius:8px;padding:12px 22px;font-weight:600;font-size:13px;background:var(--white);transition:background .15s,transform .15s;white-space:nowrap}.btn:hover:not(:disabled){background:#eeeee4;transform:translateY(-1px)}.btn.primary{background:var(--green);color:#fffef3;border-color:var(--green)}.btn.primary:hover:not(:disabled){background:#14382b}.btn.gold{background:#d9bf80;color:#293e31;border-color:#d9bf80}.btn.small{min-height:36px;padding:8px 14px;font-size:11px}.icon-btn{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fffef7;font-size:16px}.icon{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:10;gap:18px}.brand{display:flex;align-items:center;gap:10px;padding:0}.brand-mark{width:38px;height:43px;background:var(--green);color:#e9d79f;border-radius:8px;display:grid;place-items:center}.brand-mark svg{width:25px;height:30px}.brand-name{font-family:Georgia,serif;font-weight:700;font-size:22px;letter-spacing:-1px;line-height:1}.brand-sub{font-size:7px;letter-spacing:3.6px;margin-top:5px;color:#7c856d;text-align:left}nav{display:flex;align-items:center;gap:8px;height:100%}nav button{padding:12px 16px;font-size:12px;font-weight:600;border-radius:7px;position:relative}nav button.active{background:#e6e9de;color:var(--green)}nav button:hover{background:#eceee4}.header-right{display:flex;gap:14px;align-items:center}.currency{font-size:12px;display:flex;align-items:center;gap:6px}.coin{width:19px;height:19px;border:1.5px solid #bda061;color:#9b7b38;border-radius:50%;display:inline-grid;place-items:center;font-size:10px;font-weight:700}.profile-button{border-left:1px solid var(--line);padding:0 0 0 15px;display:flex;align-items:center;gap:9px;text-align:left}.profile-button strong{font-size:11px;display:block;max-width:110px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-button small{font-size:9px;color:var(--muted)}.avatar-small{width:34px;height:34px;border:1px solid #d6dacd;border-radius:50%;overflow:hidden;background:#e2e5d7;display:inline-block}.avatar-small svg{width:100%;height:100%;transform:scale(1.8) translateY(16%)}#scene{position:absolute;top:84px;left:0;width:100%;height:calc(100svh - 84px);min-height:580px;max-height:920px;z-index:0;overflow:hidden}#scene canvas{display:block;width:100%;height:100%;touch-action:none}#scene.hidden{visibility:hidden}#app{position:relative;z-index:1;pointer-events:none}#app>*{pointer-events:auto}.hero{position:relative;min-height:580px;height:calc(100svh - 262px);max-height:740px;overflow:hidden;padding:7% 6% 30px;pointer-events:none!important}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(244,244,231,.98),rgba(244,244,231,.88) 23%,rgba(244,244,231,.16) 57%,transparent 83%),linear-gradient(0deg,rgba(55,77,47,.13),transparent 60%);z-index:-1}.hero-copy{max-width:530px;pointer-events:auto}.hero h1{margin:23px 0 22px}.hero p{font-size:14px;color:#657460;max-width:330px;line-height:1.7;margin-bottom:26px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-note{display:flex;gap:7px;align-items:center;font-size:9px;color:#72806b;margin-top:17px;letter-spacing:.4px}.hero-note .dot{width:5px;height:5px;background:#769268;border-radius:50%}.golfer-card{position:absolute;right:4%;top:37px;background:rgba(249,249,240,.95);border:1px solid rgba(245,246,231,.7);box-shadow:0 8px 32px #223f3010;border-radius:12px;padding:19px;width:235px;pointer-events:auto}.golfer-card .avatar{width:80px;height:110px;overflow:hidden;flex-shrink:0}.golfer-card .avatar svg{width:100%;height:100%}.golfer-card .name{font-size:16px;margin-top:5px;font-weight:600;overflow-wrap:anywhere}.golfer-card .info{font-size:10px;color:var(--muted);margin-top:5px}.stat-trio{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:14px;margin-top:10px}.stat-trio strong{font-size:24px;font-weight:500;display:block}.stat-trio small{font-size:8px;letter-spacing:1px;display:block;margin-top:3px;color:var(--muted)}.course-caption{position:absolute;bottom:27px;right:4%;text-align:right;color:#fffef2;text-shadow:0 1px 7px #28432e;font-size:12px;letter-spacing:.6px;pointer-events:none}.course-caption strong{display:block;font-family:Georgia,serif;font-size:23px;font-weight:400}.course-caption small{font-size:8px;letter-spacing:2px}.home-lower{background:var(--cream);padding:26px 4% 0}.section-rule{display:flex;gap:16px;align-items:center;margin-bottom:16px}.section-rule:after{content:'';height:1px;flex:1;background:var(--line)}.mode-cards{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.mode-card{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;align-items:center;justify-content:space-between;text-align:left;gap:16px;transition:transform .15s}.mode-card:hover{transform:translateY(-3px)}.mode-card h3{font-family:'Libre Caslon Display',Georgia,serif;font-size:25px;font-weight:400;margin:8px 0}.mode-card p{font-size:11px;color:var(--muted);line-height:1.5}.mode-symbol{height:62px;width:62px;background:#edf0e4;border:1px solid #dee4d4;border-radius:50%;display:grid;place-items:center;flex-shrink:0;color:#48634b}.mode-symbol svg{width:30px;height:30px}.mode-card:first-child{background:var(--green);color:#fffef1;border-color:var(--green)}.mode-card:first-child .eyebrow,.mode-card:first-child p{color:#b6c8b2}.mode-card:first-child .mode-symbol{color:#e3cf9f;background:#355847;border-color:#54745b}.footer{padding:25px 4%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.5px;color:#858b7e;background:var(--cream)}.footer button{text-decoration:underline;font-size:9px}.page{padding:42px 5% 40px;max-width:1440px;margin:auto;background:var(--cream);min-height:calc(100svh - 84px)}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:30px}.page-head h1{font-size:57px;margin-top:10px}.page-head p{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.7;max-width:600px}.card{border:1px solid var(--line);background:var(--white);border-radius:12px;padding:24px}.career-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.event-card{position:relative;min-height:240px;display:flex;flex-direction:column;justify-content:space-between;gap:14px}.event-card.current{border-color:#799272;box-shadow:0 0 0 1px #799272}.event-card.locked{background:#efeee5}.event-number{font-family:'Libre Caslon Display',Georgia,serif;font-size:48px;color:#b5bdac;line-height:1}.event-card h2{font-size:30px;margin:12px 0}.event-card p{font-size:11px;line-height:1.6;color:var(--muted)}.event-meta{display:flex;justify-content:space-between;align-items:center;margin-top:18px;font-size:10px;color:#6d7869}.event-card .btn{margin-top:18px}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:24px}.feature-row h3{font-size:16px;margin:12px 0 7px}.feature-row p{font-size:11px;color:var(--muted);line-height:1.6}.rival-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.rival-card{display:flex;align-items:center;gap:15px}.rival-card .initial{height:48px;width:48px;border-radius:50%;display:grid;place-items:center;background:#e5eadb;font-family:Georgia;font-size:20px;flex-shrink:0}.rival-card h3{font-size:13px}.rival-card p{font-size:10px;line-height:1.5;color:var(--muted);margin-top:4px}.my-player{display:grid;grid-template-columns:300px 1fr;gap:25px}.player-showcase{background:#e4e8db;border-color:#d3dbca;text-align:center;position:relative;overflow:hidden}.player-showcase:before{content:'B9';position:absolute;top:30px;left:0;right:0;font-family:Georgia;font-size:170px;opacity:.035;letter-spacing:-20px}.player-showcase .full-avatar{height:280px;margin:15px auto 0}.player-showcase svg{height:100%;width:100%}.player-showcase h2{font-size:34px;overflow-wrap:anywhere}.xp-track{height:5px;background:#d3dcc9;border-radius:5px;overflow:hidden;margin:11px 0}.xp-track i{display:block;height:100%;background:#668157}.skills-list{display:flex;flex-direction:column;gap:23px}.skill-row{display:grid;grid-template-columns:190px 1fr 50px 38px;align-items:center;gap:18px}.skill-row strong{font-size:13px}.skill-row small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.skill-track{height:6px;background:#e7e9df;border-radius:4px;overflow:hidden}.skill-track i{display:block;height:100%;background:#6d8761}.skill-value{font-size:21px;font-weight:500;text-align:right}.skill-plus{height:34px;width:34px;border:1px solid #cdd7c3;border-radius:50%;color:#356040;font-size:20px;background:#f0f3e8}.skill-plus:hover{background:#e2e8d8}.point-banner{padding:18px 21px;background:#e8eddf;border:1px solid #d7dfce;border-radius:8px;margin-bottom:26px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px}.point-banner strong{font-size:26px;margin-right:7px}.points-info{font-size:10px;color:#6b7b60;line-height:1.5}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}.metric{background:#f3f4eb;padding:15px;border-radius:8px}.metric strong{display:block;font-size:24px;font-weight:500}.metric small{color:var(--muted);font-size:9px}.badge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px}.badge{padding:17px 12px;border:1px solid var(--line);border-radius:9px;text-align:center;background:#f0f0e7;opacity:.6}.badge.earned{background:#f2ebd7;opacity:1;border-color:#ded0aa}.badge svg{width:24px;height:24px;color:#9b844b;margin-bottom:10px}.badge strong{display:block;font-size:11px}.badge small{display:block;font-size:9px;color:var(--muted);margin-top:6px;line-height:1.4}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.shop-card{overflow:hidden;padding:0}.product-visual{height:165px;background:#e9ecdf;display:grid;place-items:center;position:relative}.product-visual svg{height:150px;width:150px}.product-body{padding:20px}.product-body h3{font-size:20px;font-family:Georgia;font-weight:400;margin:7px 0 10px}.product-body p{font-size:11px;line-height:1.6;color:var(--muted);min-height:34px}.modifiers{display:flex;gap:5px;flex-wrap:wrap;margin:14px 0;min-height:26px}.modifier{font-size:9px;padding:5px 7px;background:#eaf0df;border-radius:4px;color:#4a6440}.modifier.negative{background:#f2e5d9;color:#9a6945}.product-body .row{margin-top:12px}.price{font-size:13px;font-weight:600}.challenge-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;min-height:410px}.challenge-copy{padding:35px 0}.challenge-copy h1{font-size:70px;line-height:1.02;margin:18px 0}.challenge-copy p{font-size:13px;line-height:1.8;max-width:420px;color:var(--muted);margin-bottom:24px}.challenge-art{background:#274d3d;border-radius:12px;padding:35px;color:#f7f1db;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:390px}.challenge-art .big{font-size:130px;line-height:.9;opacity:.8;letter-spacing:-8px}.challenge-art .line{height:1px;background:#65805d;margin:20px 0}.challenge-art p{font-size:12px;line-height:1.8;color:#c2d0b7}.challenge-art .eyebrow{color:#b9c49b}.challenge-details{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:25px}.challenge-details strong{display:block;font-size:16px;margin:12px 0 8px}.challenge-details p{font-size:11px;line-height:1.6;color:var(--muted)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{font-size:9px;letter-spacing:1.5px;color:var(--muted);font-weight:600;padding:13px 15px;border-bottom:1px solid var(--line)}td{padding:16px 15px;border-bottom:1px solid #eaeade}tr:last-child td{border-bottom:0}.empty{padding:60px 20px;text-align:center;color:var(--muted);font-size:13px;line-height:1.8}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;margin:17px 0}.field label{font-weight:600}.setting-card h3{margin-bottom:10px}.setting-card p{font-size:12px;color:var(--muted);line-height:1.7}.choice-row{display:flex;gap:8px;flex-wrap:wrap}.choice{border:1px solid var(--line);padding:10px 13px;border-radius:7px;font-size:11px;background:#f9f9f0}.choice.active{border-color:#6b855e;background:#e5ebdb;color:#31523a}.game{height:calc(100svh - 84px);min-height:580px;position:relative;pointer-events:none!important;overflow:hidden}.game>*{pointer-events:auto}.game-top{position:absolute;top:22px;left:3%;right:3%;display:flex;align-items:center;justify-content:space-between;gap:15px}.score-banner{background:rgba(26,59,45,.95);color:#fffbe8;border-radius:9px;display:flex;overflow:hidden;box-shadow:0 4px 18px #1f3d2815}.score-title{padding:13px 20px;min-width:190px;border-right:1px solid #5a735438}.score-title .eyebrow{color:#bbcbab;font-size:8px}.score-title strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:17px;margin-top:5px}.score-stat{padding:12px 17px;text-align:center;min-width:70px;border-right:1px solid #5a735438}.score-stat small{display:block;font-size:7px;letter-spacing:1px;color:#b7c7a9}.score-stat strong{display:block;font-size:24px;font-weight:500;margin-top:2px}.game-tools{display:flex;gap:6px}.game-tools .btn{background:#f7f6e9e8;font-size:10px;min-height:36px;padding:8px 12px;border-color:#d9e0c7}.distance-card{position:absolute;left:3%;top:121px;background:rgba(249,249,234,.94);border:1px solid #eef2df;border-radius:10px;padding:18px;width:160px;box-shadow:0 8px 25px #29452512}.distance-card .big-distance{font-size:43px;font-weight:450;letter-spacing:-2px;line-height:1.1;margin-top:10px}.distance-card .big-distance small{font-size:13px;letter-spacing:0}.distance-card .lie{border-top:1px solid #d8e1ca;margin-top:13px;padding-top:11px;font-size:11px;display:flex;align-items:center;gap:7px;text-transform:capitalize}.distance-card .lie i{width:6px;height:6px;background:#6d8d5d;border-radius:50%}.distance-card .elevation{font-size:9px;color:#7b886a;margin-top:9px}.wind-card{position:absolute;top:121px;right:3%;display:flex;gap:10px;align-items:center;padding:12px 15px;background:#f7f7e9eb;border-radius:9px;font-size:10px;border:1px solid #e8edda}.wind-card strong{display:block;font-size:16px;font-weight:500}.wind-arrow{font-size:25px;color:#6e885d;display:block}.map-panel{position:absolute;right:3%;top:191px;width:148px;border:1px solid #cdd5bd;background:#254836;border-radius:9px;overflow:hidden;color:#d5dfc7}.map-panel canvas{width:100%;height:192px;display:block;cursor:crosshair}.map-caption{padding:7px 9px;font-size:7px;display:flex;justify-content:space-between;letter-spacing:1px;border-top:1px solid #65815b50}.camera-tools{position:absolute;bottom:219px;left:50%;transform:translateX(-50%);display:flex;border-radius:30px;overflow:hidden;background:#f7f8eadc;border:1px solid #dce4ce}.camera-tools button{font-size:9px;padding:10px 16px;white-space:nowrap}.camera-tools button.active{background:var(--green);color:#edf1de}.aim-hint{position:absolute;bottom:268px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.5px;color:#fffce8;text-shadow:0 1px 5px #2c4c30;pointer-events:none}.shot-deck{position:absolute;bottom:22px;left:3%;right:3%;background:rgba(252,252,242,.98);border:1px solid #e0e6d2;border-radius:12px;box-shadow:0 8px 35px #153b2c1a;display:grid;grid-template-columns:1.1fr 1.2fr 1.8fr;min-height:170px}.club-controls{padding:20px;border-right:1px solid var(--line)}.club-row{display:flex;gap:10px;align-items:center;margin-top:9px}.club-controls select{font-family:Georgia,serif;font-size:23px;padding:6px 7px;background:transparent;border:none;min-width:112px;max-width:150px}.club-controls .carry{font-size:10px;color:var(--muted);margin:3px 7px 0}.aim-controls{display:flex;gap:6px;margin-top:13px}.aim-controls button{font-size:11px;padding:6px 10px;border:1px solid #dce1d2;border-radius:5px;background:#f0f3e7}.plan-controls{padding:20px;border-right:1px solid var(--line)}.plan-selects{display:grid;grid-template-columns:1.2fr 1fr;gap:7px;margin:10px 0}.plan-selects select{font-size:11px;padding:8px 6px;width:100%}.planned-power{display:flex;gap:12px;align-items:center}.planned-power span{font-size:10px;width:38px}.swing-controls{padding:20px;display:flex;flex-direction:column;justify-content:space-between}.swing-head{display:flex;align-items:center;justify-content:space-between;font-size:9px}.swing-step{color:var(--muted);font-size:9px}.meter{height:30px;border-radius:5px;position:relative;background:linear-gradient(90deg,#d8dbc9,#c8d2b6 50%,#a5bb8a 85%,#d8bc82);overflow:hidden;margin:11px 0 7px}.meter.impact{background:linear-gradient(90deg,#dbd5c6,#c8d2b6 15%,#d8d7c7 35%,#c8cbbc)}.meter .sweet{position:absolute;left:87%;width:8%;top:0;bottom:0;background:#5d895a66;border-left:1px solid #faffdb;border-right:1px solid #faffdb}.meter .pointer{position:absolute;width:3px;left:0;top:0;bottom:0;background:#173e2e;box-shadow:0 0 0 1px #f4ffe47a}.meter .target-line{position:absolute;left:90%;top:0;bottom:0;width:1px;background:#fffce5}.meter-ruler{display:flex;justify-content:space-between;font-size:8px;color:#8a907c}.swing-bottom{display:flex;gap:12px;align-items:center;margin-top:9px}.swing-bottom .btn{flex:1;min-height:43px;padding:10px 15px;font-size:12px}.keyhint{display:inline-flex;border:1px solid #d9dece;padding:2px 5px;border-radius:3px;font-size:8px;color:#8a927d}.shot-result{position:absolute;bottom:217px;left:50%;transform:translateX(-50%);border:1px solid #e0e6d3;background:rgba(249,250,235,.97);border-radius:10px;padding:17px 24px;min-width:370px;max-width:500px;box-shadow:0 5px 20px #254a2c18}.shot-result h3{font-family:Georgia,serif;font-size:24px;font-weight:400}.shot-result p{font-size:10px;color:var(--muted);line-height:1.6;margin:7px 0 13px}.result-stats{display:flex;gap:22px;font-size:10px;margin:11px 0 15px}.result-stats strong{display:block;font-size:19px;font-weight:500;margin-top:3px}.shot-result .row .btn{flex:1}.skip-flight{position:absolute;bottom:245px;left:50%;transform:translateX(-50%)}.save-dot{display:flex;align-items:center;gap:5px;font-size:8px;color:#829078}.save-dot i{height:5px;width:5px;background:#85a070;border-radius:50%}.game-save{position:absolute;bottom:5px;left:4%;color:#f4f4df;text-shadow:0 1px 5px #355531;font-size:8px}.help-button{position:absolute;left:3%;bottom:215px;font-size:9px;color:#f8f8e4;text-shadow:0 1px 4px #2e4a2b;padding:8px 0}dialog{border:1px solid #dbdfce;border-radius:16px;padding:0;background:#fbfbf2;color:var(--ink);width:min(610px,calc(100% - 28px));max-height:90svh;overflow:auto;box-shadow:0 25px 100px #14332444}dialog::backdrop{background:#15372d88;backdrop-filter:blur(5px)}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:23px 27px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:30px}.modal-body{padding:25px 27px}.modal-body p{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:16px}.modal-body .btn{min-width:130px}.modal-actions{display:flex;gap:10px;margin-top:24px;justify-content:flex-end;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-preview{height:160px;background:#e8eddf;border-radius:9px;display:grid;place-items:center}.form-preview svg{height:100%;width:110px}.upgrade-preview{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;text-align:center;padding:25px 0;background:#edf0e5;border-radius:10px}.upgrade-preview strong{font-size:52px;font-weight:400;font-family:Georgia,serif;display:block}.upgrade-preview small{color:var(--muted);font-size:9px}.upgrade-effects{padding:18px;margin-top:14px;border:1px solid var(--line);border-radius:8px;font-size:12px;line-height:1.9}.completion{text-align:center}.completion .result-number{font-family:'Libre Caslon Display',Georgia,serif;font-size:95px;line-height:1;margin:10px 0;color:var(--green)}.completion h2{font-size:42px;margin-bottom:12px}.completion .eyebrow{margin-bottom:15px}.reward-row{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0;border:1px solid var(--line);border-radius:9px;overflow:hidden}.reward-row>div{padding:17px;border-right:1px solid var(--line)}.reward-row>div:last-child{border:0}.reward-row strong{display:block;font-size:24px;font-weight:500}.reward-row small{display:block;font-size:8px;color:var(--muted);letter-spacing:1px;margin-top:6px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:13px 22px;background:#183e32;color:#fffbe9;box-shadow:0 3px 20px #152f3030;border-radius:8px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:90%;text-align:center;line-height:1.6}#toast.visible{opacity:1;transform:translate(-50%,0)}.warning-note{padding:12px 15px;background:#f1e8d5;border:1px solid #e5d7b6;color:#7a643d;font-size:10px;line-height:1.7;border-radius:7px;margin:15px 0}.text-link{font-size:11px;text-decoration:underline;text-underline-offset:3px;color:#567144}.chip-switch{display:flex;gap:6px;margin-bottom:22px;flex-wrap:wrap}.chip-switch button{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:9px 16px;background:#fffdf3}.chip-switch button.active{background:var(--green);color:#fbf6df;border-color:var(--green)}.how-list{display:flex;flex-direction:column;gap:15px}.how-list>div{display:flex;gap:12px}.how-number{width:25px;height:25px;background:#e5ecd9;border-radius:50%;display:grid;place-items:center;font-size:11px;flex-shrink:0}.how-list strong{font-size:12px}.how-list p{font-size:11px;line-height:1.7;margin:5px 0 0}.scorecard-detail th,.scorecard-detail td{padding:12px;font-size:11px}.scorecard-detail .current{background:#eef1e5}.mobile-only{display:none}.spacer{height:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.hero{padding-top:6%}.hero-copy{margin-left:2%}.golfer-card{right:6%;top:50px}.hero h1{font-size:90px}.shot-deck{max-width:1380px;margin:auto}.page{padding-top:55px}}
@media(max-width:1100px){header{padding:0 3%}.brand-name{font-size:20px}nav{gap:0}nav button{padding:11px 12px}.header-right{gap:9px}.profile-button strong{max-width:80px}.hero{padding:8% 5% 30px}.hero-copy{max-width:430px}.hero h1{font-size:65px}.golfer-card{width:205px}.skill-row{grid-template-columns:160px 1fr 36px 34px;gap:12px}.career-grid{grid-template-columns:repeat(2,1fr)}.shot-deck{grid-template-columns:.9fr 1fr 1.4fr}.club-controls,.plan-controls,.swing-controls{padding:17px}.score-title{min-width:160px}.game-tools .btn{padding:8px}.camera-tools button{padding:10px 12px}.shop-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){header{height:72px;padding:0 4%;flex-wrap:wrap;gap:0}.brand{gap:7px}.brand-mark{width:29px;height:34px;border-radius:6px}.brand-mark svg{width:21px;height:25px}.brand-name{font-size:18px}.brand-sub{font-size:6px;letter-spacing:2.8px}.header-right{gap:11px}.header-right>.icon-btn{display:none}.profile-button{padding-left:10px;gap:6px}.profile-button strong,.profile-button small{display:none}.currency{font-size:11px}.avatar-small{width:30px;height:30px}nav{order:3;position:fixed;bottom:0;left:0;right:0;background:#f8f8eeee;backdrop-filter:blur(10px);height:57px;justify-content:space-around;border-top:1px solid var(--line);z-index:50;padding:4px 6px env(safe-area-inset-bottom)}nav button{font-size:10px;min-width:64px;padding:11px 7px}nav button.active{background:#e6ebdb}#scene{top:72px;height:calc(100svh - 129px);min-height:620px;max-height:none}.hero{height:calc(100svh - 230px);min-height:590px;max-height:780px;padding:43px 6% 25px}.hero:before{background:linear-gradient(90deg,rgba(244,244,231,.96),rgba(244,244,231,.75) 30%,rgba(244,244,231,.05) 85%),linear-gradient(0deg,rgba(59,81,51,.2),transparent 65%)}.hero h1{font-size:60px;max-width:320px;margin:20px 0}.hero p{font-size:12px;max-width:270px}.hero .eyebrow{font-size:8px;letter-spacing:1.5px}.hero-actions{max-width:300px;gap:8px}.hero-actions .btn{font-size:11px;min-height:44px;padding:12px 16px}.hero-note{font-size:8px}.golfer-card{top:auto;bottom:23px;left:6%;right:auto;width:193px;padding:12px;background:#f9f9edee}.golfer-card .avatar{height:65px;width:51px}.golfer-card .eyebrow{font-size:7px}.golfer-card .name{font-size:13px}.golfer-card .info{font-size:8px}.golfer-card .stat-trio{padding-top:9px;margin-top:6px}.golfer-card .stat-trio strong{font-size:18px}.golfer-card .stat-trio small{font-size:6px}.golfer-card>.btn{display:none}.course-caption{font-size:9px;right:5%;bottom:32px}.course-caption strong{font-size:16px}.course-caption small{font-size:6px;letter-spacing:1px}.home-lower{padding:23px 5% 0}.mode-cards{grid-template-columns:1fr;gap:10px}.mode-card{padding:15px 18px}.mode-card h3{font-size:24px;margin:5px 0}.mode-card p{font-size:10px}.mode-symbol{height:48px;width:48px}.mode-symbol svg{width:24px}.footer{padding:22px 5% 79px;font-size:8px;gap:15px}.page{padding:28px 5% 85px;min-height:calc(100svh - 72px)}.page-head{margin-bottom:22px;align-items:flex-start;flex-direction:column;gap:15px}.page-head h1{font-size:48px}.page-head p{font-size:11px;margin-top:10px}.page-head .eyebrow{font-size:8px}.career-grid{grid-template-columns:1fr;gap:13px}.card{padding:20px}.event-card{min-height:215px}.event-card h2{font-size:29px}.feature-row{grid-template-columns:1fr;margin-top:17px;gap:10px}.feature-row .card{padding:19px}.rival-list{grid-template-columns:1fr}.my-player{grid-template-columns:1fr;gap:17px}.player-showcase .full-avatar{height:190px;margin:0}.player-showcase h2{font-size:30px}.player-showcase .xp-track{max-width:280px;margin:12px auto}.skill-row{grid-template-columns:130px 1fr 29px 31px;gap:10px}.skill-row strong{font-size:11px}.skill-row small{font-size:8px;line-height:1.4}.skill-value{font-size:19px}.skill-plus{height:30px;width:30px}.skills-list{gap:21px}.point-banner{padding:15px;font-size:10px}.point-banner strong{font-size:24px}.points-info{font-size:9px}.badge-grid{grid-template-columns:repeat(2,1fr);gap:8px}.badge{padding:15px 10px}.metrics{gap:8px}.metric{padding:12px}.metric strong{font-size:20px}.metric small{font-size:8px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-visual{height:115px}.product-visual svg{width:110px;height:110px}.product-body{padding:13px}.product-body .eyebrow{font-size:7px;letter-spacing:.8px}.product-body h3{font-size:18px}.product-body p{font-size:10px;line-height:1.5;min-height:59px}.product-body .btn{font-size:9px;padding:8px 10px;min-height:33px}.product-body .row{gap:5px;flex-wrap:wrap}.modifier{font-size:7px;padding:4px}.price{font-size:11px}.challenge-hero{grid-template-columns:1fr;gap:0}.challenge-copy{padding:10px 0 25px}.challenge-copy h1{font-size:60px}.challenge-copy p{font-size:12px}.challenge-art{min-height:270px;padding:25px}.challenge-art .big{font-size:100px}.challenge-details{grid-template-columns:1fr;gap:12px}.challenge-details .card{padding:18px}.challenge-details strong{font-size:14px;margin:8px 0}.setting-grid{grid-template-columns:1fr;gap:15px}.game{height:calc(100svh - 129px);min-height:620px}.game-top{top:12px;left:4%;right:4%}.score-banner{flex:1;min-width:0;align-items:stretch}.score-title{padding:10px;min-width:0;flex:1}.score-title strong{font-size:12px;max-width:130px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.score-title .eyebrow{font-size:6px;letter-spacing:1px}.score-stat{min-width:44px;padding:9px 8px}.score-stat small{font-size:6px}.score-stat strong{font-size:20px}.score-stat.hide-phone{display:none}.game-tools{gap:5px}.game-tools .btn{display:none}.game-tools .icon-btn{width:32px;height:32px;background:#f7f6e9dd}.distance-card{top:90px;left:4%;width:115px;padding:13px}.distance-card .eyebrow{font-size:7px;letter-spacing:1px}.distance-card .big-distance{font-size:34px;margin-top:5px}.distance-card .big-distance small{font-size:10px}.distance-card .lie{font-size:9px;padding-top:8px;margin-top:8px}.distance-card .elevation{font-size:8px}.wind-card{right:4%;top:90px;padding:9px 11px;gap:8px;font-size:8px}.wind-card strong{font-size:13px}.wind-arrow{font-size:23px}.map-panel{width:100px;right:4%;top:148px}.map-panel canvas{height:130px}.map-caption{font-size:5px;padding:5px 7px;letter-spacing:.7px}.shot-deck{bottom:12px;left:4%;right:4%;grid-template-columns:1fr 1.2fr;min-height:226px;border-radius:10px}.club-controls{padding:12px;border-bottom:1px solid var(--line)}.club-controls .eyebrow,.plan-controls .eyebrow{font-size:7px;letter-spacing:1px}.club-row{margin-top:5px;gap:5px}.club-controls select{font-size:20px;min-width:87px;padding:2px 4px}.club-controls .carry{font-size:8px;margin:1px 4px}.aim-controls{margin-top:7px;gap:5px}.aim-controls button{padding:5px 7px;font-size:9px}.plan-controls{padding:12px;border-right:0;border-bottom:1px solid var(--line)}.plan-selects{margin:6px 0 3px;gap:4px}.plan-selects select{font-size:9px;padding:5px 3px}.planned-power span{font-size:9px}.planned-power{gap:7px}.swing-controls{grid-column:1/-1;padding:11px 13px}.swing-head,.swing-step{font-size:8px}.meter{height:25px;margin:8px 0 4px}.meter-ruler{font-size:7px}.swing-bottom{margin-top:7px}.swing-bottom .btn{min-height:37px;font-size:11px;padding:8px}.keyhint{display:none}.camera-tools{bottom:254px}.camera-tools button{font-size:8px;padding:9px 13px}.aim-hint{bottom:295px;font-size:8px;white-space:nowrap}.help-button{bottom:290px;font-size:8px;left:4%;background:#365e3b45;padding:6px;border-radius:4px}.shot-result{bottom:255px;min-width:0;width:calc(100% - 32px);max-width:370px;padding:15px 18px}.shot-result h3{font-size:24px}.shot-result p{font-size:9px;margin:6px 0 10px}.shot-result .btn{min-height:39px;font-size:10px;padding:10px 14px}.result-stats{margin:8px 0 11px;font-size:8px;gap:20px}.result-stats strong{font-size:18px}.skip-flight{bottom:265px}.game-save{bottom:0px;font-size:6px}.modal-head{padding:19px 20px}.modal-head h2{font-size:27px}.modal-body{padding:21px 20px}.modal-body p{font-size:11px}.modal-actions{gap:8px;margin-top:19px}.modal-actions .btn{font-size:11px;padding:11px 15px;flex:1}.form-grid{gap:0 10px}.field{font-size:10px;margin:11px 0}.field input,.field select{padding:10px 8px;font-size:12px}.completion .result-number{font-size:80px}.completion h2{font-size:37px}.reward-row>div{padding:13px 10px}.reward-row strong{font-size:21px}.reward-row small{font-size:7px}.desktop-only{display:none!important}.mobile-only{display:inline-flex}.table-scroll th,.table-scroll td{padding:12px 10px;font-size:10px}}
@media(max-height:760px) and (min-width:761px){.hero{padding-top:4%;min-height:480px}.hero h1{font-size:64px}.game{min-height:520px}.shot-deck{bottom:13px;min-height:155px}.club-controls,.plan-controls,.swing-controls{padding:15px}.camera-tools{bottom:186px}.aim-hint{bottom:230px}.shot-result{bottom:185px}.map-panel{top:175px;width:120px}.map-panel canvas{height:155px}.distance-card{top:112px}.wind-card{top:112px}.help-button{bottom:188px}#scene{min-height:520px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:760px){.swing-bottom .btn{min-height:44px}.aim-controls button{min-height:32px}.club-controls .text-link,.plan-controls .row .text-link{min-height:28px;display:inline-flex;align-items:center;font-size:8px}.camera-tools{bottom:299px}.camera-tools button{min-height:34px}.aim-hint{bottom:342px}.shot-result{bottom:300px}.skip-flight{bottom:310px}.course-caption{width:130px}.course-caption>span{display:none}.header-right>.icon-btn:last-child{display:inline-grid;width:29px;height:29px}.header-right{gap:7px}.brand-sub{letter-spacing:2px}.brand-name{font-size:17px}.help-button{bottom:340px}}
