:root{color-scheme:dark;--ink:#143c30;--cream:#fff5d7;--gold:#ffcf58;--green:#1b6944;font-family:ui-rounded,'Trebuchet MS',system-ui,sans-serif}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{color:var(--cream);background:#164d39 url('assets/garden.webp') center/cover no-repeat}body::before{content:'';position:fixed;inset:0;pointer-events:none;background:linear-gradient(#072b3159,transparent 26%,transparent 66%,#092d28bc);box-shadow:inset 0 0 140px #082c284d}button,input,a{font:inherit;touch-action:manipulation}button{cursor:pointer;border:0}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #fff1a2;outline-offset:4px}[hidden]{display:none!important}.shell{position:relative;width:100%;height:100dvh;isolation:isolate;overflow:hidden}.shell:fullscreen{background:#164d39 url('assets/garden.webp') center/cover}.shell:fullscreen::backdrop{background:#164d39}.topbar{position:absolute;inset:max(14px,env(safe-area-inset-top)) 20px auto;display:flex;align-items:center;justify-content:space-between;z-index:5;pointer-events:none}.topbar>*{pointer-events:auto}.back,.top-actions button,.course-actions button{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #e4f6c570;border-radius:15px;background:linear-gradient(#337c54,#194e39);color:#fff6d8;box-shadow:0 4px 0 #0d392b,0 7px 14px #082f2840,inset 0 1px #ffffff40;text-shadow:0 2px #0a382a;font-size:23px;font-weight:900;text-decoration:none}.back span,.brand{display:none}.top-actions{display:flex;gap:8px}.top-actions button{font-size:22px}.top-actions #pause{background:linear-gradient(#ffe596,#e9b43c);color:#544318;border-color:#fff2b9;text-shadow:none;box-shadow:0 4px 0 #987529,0 7px 14px #082f2840}.top-actions #focusMode{font-size:21px}.top-actions button[aria-pressed="true"]#focusMode{background:#e2c775;color:#37553a}.top-actions #sound[aria-pressed="false"]{color:#b1c2a5}.title-row{position:absolute;right:22px;top:78px;z-index:4}.title-row>div:first-child{display:none}.collection{padding:8px 14px;border-radius:30px;background:#123d2bbb;border:1px solid #d9e79e66;box-shadow:0 3px 8px #13372933;font-size:13px;white-space:nowrap}.collection>b{font-size:20px;color:#ffdc6d}.collection i{font-style:normal;color:#ffdc6d}.collection small{display:none}.hud{position:absolute;left:50%;top:max(14px,env(safe-area-inset-top));transform:translateX(-50%);display:flex;margin:0;z-index:4;border:1px solid #f9df9b99;border-radius:18px;background:linear-gradient(#fff8e8,#e9dcb7);color:var(--ink);box-shadow:0 4px 0 #b09b68,0 8px 20px #143b3450;padding:7px 4px}.hud>div{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:67px;padding:0 12px;border-right:1px solid #bdba9766}.hud>div:last-child{border:0}.hud span{font-size:8px;font-weight:900;letter-spacing:.11em;color:#758065}.hud strong{font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.hud i{display:none}.course-card{position:absolute;inset:0;pointer-events:none}.course-heading{position:absolute;top:16px;left:82px;display:grid;grid-template-columns:42px 1fr;gap:0 10px;align-items:center;z-index:4;pointer-events:auto;text-shadow:0 2px 7px #123b31}.course-number{grid-row:1/3;display:grid;place-items:center;width:42px;height:48px;font-size:25px;letter-spacing:-1px;background:linear-gradient(#ffe497,#e3b340);color:#4b471b;border:1px solid #fff0b8;border-radius:12px;box-shadow:0 4px 0 #90722e;text-shadow:0 1px #fff2bb}.course-heading #chapter{display:block;color:#e2edc4;font-size:7px;font-weight:900;letter-spacing:.16em}.course-heading h2{margin:3px 0;font-size:19px;letter-spacing:-.04em}.course-meta{grid-column:2;font-size:8px;color:#e7edcb}.course-meta #courseStars{color:#ffdf75;letter-spacing:2px;margin-right:6px;font-size:12px}.course-meta #goalHint{display:none}.course-stage{position:absolute;inset:90px 18px 155px;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;pointer-events:auto}.game{position:relative;flex:none;width:100%;max-width:100%;border-radius:20px;box-shadow:none}canvas{display:block;width:100%;height:auto;touch-action:none;user-select:none;cursor:crosshair;outline-offset:-10px!important;border-radius:20px;filter:drop-shadow(0 14px 16px #092f2a88)}.play-status{position:absolute;bottom:132px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;width:max-content;max-width:calc(100% - 28px);z-index:4;pointer-events:auto}.play-status p{font-size:11px;margin:0;color:#fff8dc;text-shadow:0 2px 5px #123d31;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-dot{width:6px;height:6px;border-radius:50%;background:#e7f4ae;box-shadow:0 0 8px #d3ffb4}.is-moving .status-dot{background:#ffd56c}.play-status button{min-height:28px;white-space:nowrap;border:1px solid #e8edc34f;background:#123f2dd9;color:#eef1cb;border-radius:20px;padding:5px 10px;font-size:9px;font-weight:800}#cancelAim{background:#b65435;color:white;border-color:#ffd1a0}.shot-controls{position:absolute;bottom:max(47px,calc(env(safe-area-inset-bottom) + 36px));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:138px minmax(100px,1fr) 112px;gap:18px;align-items:center;width:min(650px,calc(100% - 40px));height:72px;padding:9px 12px;border:1px solid #f6e6b8;border-radius:22px;background:linear-gradient(145deg,#fff6dc,#e6d8ae);box-shadow:0 5px 0 #a1945c,0 12px 24px #082f2860,inset 0 2px #fffbee;color:var(--ink);z-index:4}.direction{display:flex;gap:6px;align-items:center;justify-content:space-between}.direction>button{width:35px;height:40px;flex:none;border:1px solid #a9bb86;border-radius:12px;background:linear-gradient(#eef0cb,#cad6a9);color:#36563b;box-shadow:0 3px 0 #a0b080;font-size:26px}.direction>div{min-width:42px;text-align:center}.direction #precision{display:block;margin:0 auto 3px;padding:2px 3px;border-radius:4px;background:transparent;font-size:7px;font-weight:900;color:#7c8664;letter-spacing:.03em}.direction #precision[aria-pressed="true"]{background:#e4c973;color:#594d21}.direction b{font-size:13px}.power-control{min-width:0}.power-control>span{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:900;letter-spacing:.08em;color:#77815a}.power-control b{color:#526a39;font-size:12px;letter-spacing:0}.power-control input{display:block;width:100%;margin:4px 0 0;height:24px;accent-color:#739539;cursor:pointer}.primary,.modal button#overlayBtn{display:flex;align-items:center;justify-content:center;gap:15px;border:1px solid #ffed9d;background:linear-gradient(#ffe89c,#f2bc43);color:#4a451b;min-height:49px;padding:10px 22px;border-radius:15px;box-shadow:0 4px 0 #a47e25,inset 0 2px #fff0af;font-size:17px;font-weight:1000;text-shadow:0 1px #fff1a4}.primary:active:not(:disabled),.modal button#overlayBtn:active{transform:translateY(2px);box-shadow:0 2px 0 #a47e25}.primary span{font-size:24px}.course-actions{position:absolute;bottom:max(2px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:9px;z-index:4}.course-actions button{width:35px;height:31px;border-radius:11px;font-size:21px;box-shadow:0 2px 0 #103e2e}.course-actions #prev,.course-actions #next{width:28px;font-size:25px}.help{display:none}.eyebrow{font-size:9px;font-weight:900;letter-spacing:.18em}.overlay{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:20px;background:#082f2585;backdrop-filter:blur(7px);pointer-events:auto}.overlay.hidden{display:none}.modal{position:relative;max-width:450px;width:100%;max-height:100%;overflow:auto;text-align:center;background:linear-gradient(145deg,#fff9e5,#e8dab6);color:var(--ink);border:2px solid #fff2c7;border-radius:30px;padding:28px;box-shadow:0 7px 0 #b59a60,0 20px 60px #082a216b}.modal-ball{width:75px;height:75px;object-fit:contain;filter:drop-shadow(0 8px 6px #163f2840)}.modal h2{font-size:35px;line-height:1.1;letter-spacing:-1.3px;margin:10px 0}.modal .eyebrow{color:#81835a;font-size:9px}.modal p:not(.eyebrow){font-size:13px;color:#6d7d5e;line-height:1.6;max-width:300px;margin:14px auto 22px}.modal button#overlayBtn{margin:auto;min-width:215px}.retry-course{margin:16px auto 0;background:transparent;color:#5d7654;font-size:12px;text-decoration:underline}.result-stars{font-size:47px;letter-spacing:5px;color:#d69d2a;text-shadow:0 3px #fae6a4}.menu-map,.menu-badges{display:none}.in-menu .overlay{background:linear-gradient(#10322e10,#0e412c21 50%,#0d302759),url('assets/garden.webp') center/cover;backdrop-filter:none}.in-menu .modal{display:flex;flex-direction:column;align-items:center;max-width:700px;padding:15px 20px 25px;border:0;background:none;box-shadow:none;overflow:visible;isolation:isolate}.in-menu .modal::before{content:'';position:absolute;z-index:-1;inset:-40px -80px;background:radial-gradient(ellipse,#133b3473,transparent 68%);pointer-events:none}.in-menu .modal-ball{width:90px;height:90px;margin-bottom:12px;animation:bob 3s ease-in-out infinite}.in-menu .modal .eyebrow{color:#fff6cf;letter-spacing:.24em;font-size:10px;text-shadow:0 2px 7px #143b31;margin:0 0 13px}.in-menu .modal h2{font-size:clamp(62px,8.5vw,112px);font-weight:1000;line-height:.92;letter-spacing:-5px;color:#ffe66d;text-shadow:0 3px #c29321,0 7px #774b1c,0 10px #193d28,3px 0 #193d28,-3px 0 #193d28;transform:rotate(-3deg);margin:0 0 20px}.in-menu .modal h2 span{display:block;color:#fff8e0;font-size:.7em;letter-spacing:-3px;text-shadow:0 3px #c9b675,0 6px #1b5039,2px 0 #1b5039,-2px 0 #1b5039}.in-menu .modal p:not(.eyebrow){color:#fff9d9;font-size:14px;font-weight:800;text-shadow:0 2px 6px #103c2a;max-width:320px;margin:4px auto 24px}.in-menu .modal button#overlayBtn{width:230px;min-height:65px;font-size:25px;border-radius:21px;border:2px solid #fff4b2;box-shadow:0 6px 0 #9a7121,0 12px 23px #0e342c80;gap:45px}.in-menu .modal button#overlayBtn span:last-child{font-size:20px}.in-menu .menu-map{display:block;background:#154932d4;border:1px solid #e2edb580;box-shadow:0 3px 0 #123b2b;color:#fff7d6;border-radius:13px;padding:11px 28px;font-size:13px;font-weight:900;margin:21px auto 0}.in-menu .menu-badges{display:flex;gap:18px;margin-top:23px;font-size:10px;color:#fff7ce;text-shadow:0 2px 4px #153c2a;letter-spacing:.04em}.menu-badges>span+span::before{content:'•';margin-right:18px;color:#ffdb75}.in-menu .topbar,.in-menu .title-row,.in-menu .hud,.in-menu .course-heading,.in-menu .play-status,.in-menu .shot-controls,.in-menu .course-actions{visibility:hidden}.focus-mode .course-stage{inset:70px 8px 122px}.focus-mode .title-row,.focus-mode .hud{visibility:hidden}.focus-mode .play-status{bottom:110px}.focus-mode .shot-controls{bottom:29px;height:68px}.focus-mode .course-actions{bottom:0}.theme-night{background-color:#103f48;background-blend-mode:multiply}.theme-night::before{background:linear-gradient(#0c284d99,#0c284d66 50%,#071e32cc)}.theme-sunset::before{background:linear-gradient(#946b3526,transparent 40%,#3e332c8c)}dialog{color:var(--ink);width:min(92vw,450px);max-height:90dvh;overflow:auto;border:2px solid #fff4c9;border-radius:27px;padding:26px;background:linear-gradient(135deg,#fff9e5,#e9dbb6);box-shadow:0 6px 0 #b59c68,0 30px 100px #062b225c}dialog::backdrop{background:#082e29b8;backdrop-filter:blur(9px)}dialog h2{font-size:29px;letter-spacing:-1px;margin:7px 0}dialog .eyebrow{color:#8a885e}dialog p{color:#6e7d61;font-size:13px;line-height:1.5}#pauseDialog{text-align:center;width:min(90vw,390px)}#pauseDialog .pause-avatar{display:block;width:150px;height:clamp(65px,23dvh,175px);object-fit:contain;margin:12px auto;filter:drop-shadow(0 8px 6px #3b694430)}#resume{width:100%;font-size:15px}.pause-tools{display:flex;justify-content:center;gap:20px;align-items:center;margin-top:20px}.pause-tools button,.pause-tools a{background:transparent;color:#59714e;font-size:11px;text-decoration:none;font-weight:800;padding:5px}.pause-credit{font-size:9px!important;margin:20px 0 0;opacity:.7}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-top>button{width:39px;height:39px;border-radius:50%;background:#dae1bc;color:#52714e;font-size:26px}.dialog-top h2{font-size:26px}#mapDialog{width:min(94vw,690px);padding:24px}.course-map{margin-top:18px}.map-chapter{margin-bottom:19px}.map-chapter:last-child{margin:0}.map-chapter h3{display:flex;justify-content:space-between;color:#76805d;font-size:9px;letter-spacing:.13em;margin:0 0 10px}.map-chapter h3 small{color:#ac852a;letter-spacing:0}.map-chapter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.course-node{padding:7px;position:relative;border:1px solid #c7cda4;border-radius:14px;background:#fff7dc;color:#466044;text-align:left;box-shadow:0 3px 0 #c5c99e;min-width:0}.course-node.current{border-color:#daa73f;background:#ffe8a4;box-shadow:0 3px 0 #b18a37}.course-node.done{background:#e3edc6}.course-preview{display:block;width:100%;aspect-ratio:960/580;border-radius:8px}.course-node>b{position:absolute;top:11px;left:11px;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#1b503ce6;color:#fff6d6;font-size:12px}.course-node>span{display:block;font-size:10px;font-weight:800;margin-top:6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.course-node>small{display:block;font-size:16px;letter-spacing:2px;color:#b79032}.course-node>em{font-style:normal;font-size:8px;color:#7a8665}@keyframes bob{50%{transform:translateY(-9px) rotate(6deg)}}
@media(max-width:1050px){.hud{top:78px}.course-stage{top:145px}.title-row{top:85px}.course-heading{top:16px}.focus-mode .course-stage{top:79px}}
@media(max-width:650px){.topbar{inset:max(12px,env(safe-area-inset-top)) 12px auto}.back,.top-actions button{width:36px;height:37px;border-radius:12px;font-size:20px}.top-actions{gap:6px}.course-heading{top:14px;left:58px;grid-template-columns:33px 1fr;gap:0 7px}.course-number{width:33px;height:38px;font-size:21px;border-radius:10px}.course-heading h2{font-size:15px;margin:3px 0}.course-heading #chapter{font-size:6px;letter-spacing:.1em}.course-meta #courseStars{font-size:10px}.course-meta #levelTag{font-size:7px}.top-actions #mapButton{position:fixed;left:12px;top:64px}.top-actions #focusMode{position:fixed;left:55px;top:64px}.top-actions #fullscreen{display:none}.top-actions #sound{font-size:20px}.hud{top:66px;padding:5px 0;border-radius:13px;left:auto;right:12px;transform:none}.hud>div{min-width:46px;padding:0 9px}.hud .total-stat{display:none}.hud span{font-size:6px}.hud strong{font-size:19px}.title-row{top:112px;right:14px}.collection{padding:4px 9px;font-size:9px}.collection>b{font-size:13px}.course-stage{inset:148px 0 151px}.game,canvas{border-radius:14px}.play-status{bottom:126px;gap:6px}.play-status p{font-size:9px}.play-status button{font-size:8px;padding:5px 7px}.play-status .status-dot{display:none}.shot-controls{width:calc(100% - 18px);height:70px;bottom:max(43px,calc(env(safe-area-inset-bottom) + 34px));grid-template-columns:104px minmax(50px,1fr) 76px;gap:10px;padding:8px;border-radius:18px}.direction{gap:4px}.direction>button{width:29px;height:38px;border-radius:9px;font-size:23px}.direction>div{min-width:36px}.direction #precision{font-size:6px}.direction b{font-size:11px}.power-control>span{font-size:6px;letter-spacing:0}.power-control b{font-size:10px}.power-control input{height:23px}.shot-controls>.primary{min-height:45px;padding:8px;gap:6px;border-radius:12px;font-size:16px}.primary span{font-size:20px}.course-actions{gap:10px}.course-actions button{height:30px}.focus-mode .course-stage{inset:113px 0 128px}.focus-mode .title-row,.focus-mode .hud{visibility:hidden}.focus-mode .play-status{bottom:109px}.focus-mode .shot-controls{bottom:30px;height:66px}.focus-mode .course-actions{bottom:0}.in-menu .modal{padding:10px 7px}.in-menu .modal h2{font-size:70px;letter-spacing:-4px}.in-menu .modal h2 span{letter-spacing:-2px}.in-menu .modal-ball{width:80px;height:80px}.in-menu .modal p:not(.eyebrow){font-size:12px;max-width:250px}.in-menu .modal .eyebrow{font-size:8px}.in-menu .modal button#overlayBtn{width:210px;min-height:61px}.in-menu .menu-badges{gap:10px;font-size:8px}.menu-badges>span+span::before{margin-right:10px}.modal{max-width:340px;padding:23px}.modal h2{font-size:29px}.modal p:not(.eyebrow){font-size:12px}.result-stars{font-size:38px}.map-chapter-grid{gap:6px}.course-node{padding:5px;border-radius:9px}.course-node>span{font-size:8px}.course-node>small{font-size:12px;letter-spacing:1px}.course-node>em{font-size:7px}.course-node>b{width:17px;height:17px;top:8px;left:8px;font-size:10px}#mapDialog{padding:20px 13px}.dialog-top h2{font-size:22px}}
@media(max-width:360px){.top-actions{gap:5px}.top-actions #sound{display:none}.course-heading h2{font-size:14px}.course-heading #chapter{font-size:5px}.hud>div{min-width:41px;padding:0 7px}.shot-controls{grid-template-columns:96px minmax(45px,1fr) 68px;gap:8px}.direction{gap:2px}.direction>button{width:27px}.in-menu .modal h2{font-size:61px}.in-menu .modal-ball{width:65px;height:65px}.in-menu .menu-badges{margin-top:18px}}
@media(max-height:500px) and (min-width:651px){.topbar{inset:9px 12px auto}.back,.top-actions button{width:34px;height:34px;font-size:19px;border-radius:11px}.course-heading{top:10px;left:56px;grid-template-columns:31px 1fr;gap:0 7px}.course-number{width:31px;height:36px;font-size:20px}.course-heading h2{font-size:14px}.course-heading #chapter{font-size:6px}.course-meta{font-size:7px}.hud{top:10px;padding:5px 0}.hud>div{min-width:48px;padding:0 9px}.hud strong{font-size:20px}.hud span{font-size:6px}.title-row{display:none}.course-stage{inset:59px 10px 112px}.play-status{bottom:94px}.play-status p{font-size:9px}.play-status button{min-height:22px;padding:3px 7px}.shot-controls{height:55px;bottom:33px;width:560px;padding:5px 10px;border-radius:16px}.shot-controls .primary{min-height:39px;font-size:15px}.direction>button{height:32px}.power-control input{height:18px}.course-actions{bottom:0}.course-actions button{height:26px;width:32px;font-size:19px}.focus-mode .course-stage{inset:51px 8px 106px}.focus-mode .shot-controls{height:55px;bottom:29px}.focus-mode .play-status{bottom:89px}.in-menu .modal{display:grid;grid-template-columns:1fr 1fr;gap:5px 25px;max-width:660px;align-items:center}.in-menu .modal-ball{display:none}.in-menu .modal .eyebrow{grid-column:1;grid-row:1;margin:0;font-size:7px}.in-menu .modal h2{grid-column:1;grid-row:2/5;font-size:64px;letter-spacing:-3px;margin:5px 0}.in-menu .modal p:not(.eyebrow){grid-column:2;font-size:11px;margin:0 0 10px}.in-menu .modal button#overlayBtn{grid-column:2;min-height:54px;width:210px;font-size:23px}.in-menu .menu-map{grid-column:2;margin:10px auto 0;padding:9px 23px}.in-menu .menu-badges{grid-column:1/-1;justify-content:center;margin-top:17px;font-size:8px}.modal-ball{display:none}.modal h2{font-size:24px}.modal{padding:17px;max-width:460px}.modal .eyebrow{font-size:7px}.modal p:not(.eyebrow){margin:8px auto 12px;font-size:11px}.result-stars{font-size:28px}.retry-course{margin-top:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.menu-exit{display:none}.in-menu .menu-exit{display:inline-block;color:#f8f4d7;text-decoration:none;margin-top:24px;font-size:10px;font-weight:800;text-shadow:0 2px 5px #103c2a}.in-menu .modal h2{font-weight:900;-webkit-text-stroke:1px #486331} @media(max-height:500px) and (min-width:651px){.in-menu .menu-exit{grid-column:1/-1;margin-top:8px;font-size:9px}}

.in-menu .modal button#overlayBtn{white-space:nowrap;gap:24px}.in-menu .modal button#overlayBtn span:first-child{font-size:23px}@media(max-width:650px){.in-menu .modal button#overlayBtn{width:230px}}
/* V5: custom transparent game icon atlas; one image request for all controls. */
.golf-icon{display:inline-block;flex:none;width:30px;height:30px;background-image:url('assets/ui-icons-v1.webp');background-repeat:no-repeat;background-size:400% 400%;vertical-align:middle;pointer-events:none;user-select:none}
.icon-home{background-position:0 0}.icon-map{background-position:33.333333% 0}.icon-sound-on{background-position:66.666667% 0}.icon-sound-off{background-position:100% 0}
.icon-focus{background-position:0 33.333333%}.icon-fullscreen{background-position:33.333333% 33.333333%}.icon-pause{background-position:66.666667% 33.333333%}.icon-play{background-position:100% 33.333333%}
.icon-turn-left,.icon-turn-right{background-position:0 66.666667%}.icon-undo{background-position:33.333333% 66.666667%}.icon-restart{background-position:66.666667% 66.666667%}.icon-previous,.icon-next{background-position:100% 66.666667%}
.icon-aim{background-position:0 100%}.icon-close{background-position:33.333333% 100%}.icon-shoot{background-position:66.666667% 100%}.icon-star{background-position:100% 100%}.icon-turn-right,.icon-next{transform:scaleX(-1)}
.topbar .golf-icon{width:32px;height:32px}.top-actions #fullscreen.is-fullscreen .golf-icon{background-position:0 33.333333%}.top-actions #focusMode[aria-pressed="true"] .golf-icon{filter:drop-shadow(0 0 3px #fff5b8)}
.collection .collection-star{width:20px;height:20px;margin-top:-3px}.course-meta #courseStars.star-rating{display:inline-flex;align-items:center;gap:0;vertical-align:middle;line-height:1}.star-rating .golf-icon{width:17px;height:17px}.star-rating .unearned{filter:grayscale(1);opacity:.3}.result-stars.star-rating{display:flex;justify-content:center;gap:7px;margin:16px 0}.result-stars.star-rating .golf-icon{width:55px;height:55px}.map-chapter h3 .golf-icon{width:15px;height:15px;margin-top:-2px}.course-node>small.star-rating{display:flex;gap:1px;margin:4px 0 2px}.course-node>small.star-rating .golf-icon{width:18px;height:18px}
.direction>button{display:grid;place-items:center;padding:0}.direction .golf-icon{width:29px;height:29px}.course-actions button{padding:0}.course-actions .golf-icon{width:27px;height:27px}.course-actions #prev .golf-icon,.course-actions #next .golf-icon{width:22px;height:22px}
.play-status button{display:inline-flex;align-items:center;justify-content:center;gap:4px}.play-status button .golf-icon{width:18px;height:18px}.play-status #guide[aria-pressed="false"] .golf-icon{filter:grayscale(1);opacity:.5}.shot-controls #shoot .golf-icon{width:33px;height:33px}.shot-controls #shoot .shoot-label{font-size:16px}
.in-menu .menu-map{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 22px}.in-menu .menu-map .golf-icon{width:26px;height:26px}.in-menu .menu-exit{display:inline-flex;align-items:center;gap:5px}.menu-exit .golf-icon{width:18px;height:18px}.modal button#overlayBtn .golf-icon{width:32px;height:32px}.in-menu .modal button#overlayBtn .golf-icon{width:38px;height:38px}.modal .retry-course{display:inline-flex;align-items:center;justify-content:center;gap:5px}.modal .retry-course .golf-icon{width:22px;height:22px}#resume .golf-icon{width:29px;height:29px}.pause-tools #menuHome{display:inline-flex;align-items:center;gap:4px}.pause-tools #menuHome .golf-icon{width:22px;height:22px}.dialog-top>button{display:grid;place-items:center;padding:0}.dialog-top>button .golf-icon{width:26px;height:26px}
@media(max-width:650px){.topbar .golf-icon{width:28px;height:28px}.direction .golf-icon{width:26px;height:26px}.collection .collection-star{width:16px;height:16px}.star-rating .golf-icon{width:13px;height:13px}.course-node>small.star-rating .golf-icon{width:14px;height:14px}.play-status button{gap:3px}.play-status button .golf-icon{width:15px;height:15px}.shot-controls #shoot{gap:2px}.shot-controls #shoot .golf-icon{width:29px;height:29px}.shot-controls #shoot .shoot-label{font-size:14px}.result-stars.star-rating .golf-icon{width:43px;height:43px}.in-menu .modal button#overlayBtn .golf-icon{width:33px;height:33px}}
@media(max-height:500px) and (min-width:651px){.topbar .golf-icon{width:26px;height:26px}.direction .golf-icon{width:25px;height:25px}.course-actions .golf-icon{width:23px;height:23px}.result-stars.star-rating .golf-icon{width:33px;height:33px}.in-menu .modal button#overlayBtn .golf-icon{width:28px;height:28px}}
.back .golf-icon{display:inline-block}.star-rating[role="img"]{white-space:nowrap}@media(max-width:360px){.shot-controls #shoot{gap:2px}.shot-controls #shoot .golf-icon{width:24px;height:24px}.shot-controls #shoot .shoot-label{font-size:13px}}
/* Keep the cancel target away from the central pull-back path on portrait phones. */
.course-card>#cancelAim{position:absolute;left:12px;bottom:130px;z-index:6;pointer-events:auto;display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:6px 9px;border:1px solid #f4c08f;border-radius:12px;background:#994f36;color:#fff1d3;font-size:10px;font-weight:800;box-shadow:0 3px 0 #5c3627}.course-card>#cancelAim .golf-icon{width:18px;height:18px}.focus-mode .course-card>#cancelAim{bottom:107px}@media(max-width:650px){.course-card>#cancelAim{left:10px;bottom:122px;font-size:9px;min-height:29px;padding:5px 7px}.focus-mode .course-card>#cancelAim{bottom:103px}}@media(max-height:500px) and (min-width:651px){.course-card>#cancelAim{bottom:92px}.focus-mode .course-card>#cancelAim{bottom:87px}}
/* Full-stage course completion, with a reward and a score podium. */
.showing-result .overlay{background:radial-gradient(ellipse at 50% 20%,#5b9e5570,transparent 60%),#0b3729e8;backdrop-filter:blur(12px)}.showing-result .modal{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:700px;width:100%;max-height:100%;padding:20px 15px;border:0;background:none;box-shadow:none;border-radius:0;overflow:auto;color:#fff4c8}.showing-result .modal h2{font-size:clamp(34px,6vw,64px);color:#fff2b2;text-shadow:0 4px #4c6733;letter-spacing:-2px}.showing-result .modal .eyebrow{color:#cce4a4;letter-spacing:.23em;font-size:10px;margin:12px 0 2px}.showing-result .modal p:not(.eyebrow){color:#dce8ba;font-size:13px;margin:14px auto 20px}.showing-result .modal button#overlayBtn{width:280px;min-height:58px;gap:16px;font-size:17px;border-radius:18px}.showing-result .modal button#overlayBtn span:first-child{font-size:17px}.showing-result .modal .retry-course{color:#ebefce;text-decoration:none;padding:12px 20px;border:1px solid #bad58e80;background:#1f5835;border-radius:13px;box-shadow:0 3px 0 #173f2b;font-size:12px;margin-top:18px}.showing-result .result-stars.star-rating{margin:14px auto 0}.showing-result .result-stars.star-rating .golf-icon{width:45px;height:45px;animation:star-arrive .55s backwards}.showing-result .result-stars.star-rating .golf-icon:nth-child(2){width:56px;height:56px;transform:translateY(-9px);animation-delay:.15s}.showing-result .result-stars.star-rating .golf-icon:nth-child(3){animation-delay:.3s}.golf-score{margin:8px auto}.showing-result .topbar,.showing-result .shot-controls,.showing-result .course-actions{visibility:hidden}@media(max-height:540px){.showing-result .modal{display:grid;grid-template-columns:1fr 1fr;gap:7px 20px;max-width:670px;padding:8px}.showing-result .scene-reward{grid-row:1/3;grid-column:1;width:110px;height:110px}.showing-result #overlayEyebrow{grid-column:2;margin:0}.showing-result #overlayTitle{grid-column:2;font-size:32px}.showing-result .golf-score{grid-column:1;grid-row:3/5;width:95px;height:95px}.showing-result #resultStars{grid-column:2;margin:0}.showing-result .modal p:not(.eyebrow){grid-column:2;font-size:10px;margin:3px}.showing-result .modal button#overlayBtn{grid-column:2;min-height:43px;width:240px}.showing-result .modal .retry-course{grid-column:1/-1;margin:0 auto;padding:8px 18px}.showing-result .result-stars.star-rating .golf-icon{width:30px;height:30px}.showing-result .result-stars.star-rating .golf-icon:nth-child(2){width:38px;height:38px}}
.showing-result .modal{justify-content:safe center}@media(max-width:650px) and (max-height:700px){.showing-result .modal{padding:9px}.showing-result .scene-reward{width:90px;height:90px}.showing-result .modal .eyebrow{font-size:8px;margin:8px 0 2px}.showing-result .modal h2{font-size:30px;margin:6px 0}.showing-result .golf-score{width:82px;height:82px;margin:6px auto}.showing-result .golf-score strong{font-size:36px}.showing-result .golf-score>span,.showing-result .golf-score small{font-size:7px}.showing-result .result-stars.star-rating{margin:8px auto 0}.showing-result .result-stars.star-rating .golf-icon{width:33px;height:33px}.showing-result .result-stars.star-rating .golf-icon:nth-child(2){width:41px;height:41px;transform:translateY(-6px)}.showing-result .modal p:not(.eyebrow){font-size:11px;margin:7px auto 12px}.showing-result .modal button#overlayBtn{min-height:46px;font-size:14px;width:250px}.showing-result .modal button#overlayBtn span:first-child{font-size:14px}.showing-result .modal .retry-course{min-height:33px;padding:7px 13px;margin-top:11px;font-size:10px}}
