/* The course is the match screen. Secondary tools open only when requested. */
body.in-game{overflow:hidden}.in-game #header{display:none}.in-game #scene{top:0;height:100svh;min-height:0}.in-game #app{padding:0}.match-screen.game{height:100svh;min-height:0}.match-top{position:absolute;top:18px;left:24px;right:24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;z-index:5;padding:14px 18px;background:#132e3ef2;border:1px solid #93b2a766;box-shadow:0 3px 0 #0c283b33}.match-score{display:flex;align-items:center;gap:17px;flex-wrap:wrap}.match-score>.eyebrow{display:none}.match-score>strong{font:16px Arcade,monospace;color:#f4dfac;white-space:nowrap}.match-score strong small{font:9px TourSans,sans-serif;margin-left:12px;color:#b2c5ad;white-space:nowrap}.match-score>span:last-child{font:11px TourSans,sans-serif;color:#b6cbb3;white-space:nowrap}.match-score i{font-style:normal;margin:0 8px;color:#799d8c}.match-distance{display:flex;align-items:center;gap:12px}.match-distance>strong{font:23px Arcade,monospace;color:#f5e7bf;white-space:nowrap}.match-distance strong small{font:10px TourSans,sans-serif;margin-left:6px}.match-distance>span{font:10px TourSans,sans-serif;color:#a8c2ad;text-transform:capitalize;white-space:nowrap}.match-top-actions{display:flex;justify-content:flex-end;align-items:center;gap:22px}.match-wind{display:flex;align-items:center;gap:9px}.match-wind .wind-arrow{font:25px TourSans,sans-serif;color:#e9d69b}.match-wind>span:last-child{display:flex;align-items:center;gap:8px}.match-wind strong{font:14px TourSans,sans-serif;color:#e4e4bd}.match-wind strong small{font-size:9px}.match-wind>span>small{font:6px TourSans,sans-serif;color:#94b5a5;letter-spacing:1px}.match-menu-button{display:flex;align-items:center;gap:7px;background:#2a4d56;border:1px solid #8ca79b66;color:#ece7c0;padding:10px 13px;font:11px TourSans,sans-serif}.match-menu-button .icon{width:15px;height:15px}
.match-screen .shot-deck{left:50%;right:auto;bottom:24px;transform:translateX(-50%);width:min(740px,calc(100% - 48px));display:grid;grid-template-columns:220px minmax(0,1fr);min-height:0;border:1px solid #93b2a777;box-shadow:0 4px 0 #0d283a55;background:#132e3ef5}.match-screen .club-controls{padding:16px;border-right:1px solid #87a69744;border-bottom:0}.match-screen .club-row{margin:0;gap:8px;display:flex;justify-content:space-between}.match-screen .club-controls select{font:16px Arcade,monospace;min-width:0;max-width:120px;width:120px;letter-spacing:-.8px;padding:0;border:0;background:transparent;color:#f5e6b9}.match-screen .aim-controls{margin:0;gap:3px}.match-screen .aim-controls button{padding:0;width:27px;min-height:29px;font-size:21px;background:#2a4d55;border:1px solid #88a89866}.match-screen .club-controls .carry{font-size:10px;margin:8px 0 12px;color:#abc2ac}.options-toggle{color:#e5cf94;background:none;border:0;border-bottom:1px solid #c7b27855;padding:4px 0;font:10px TourSans,sans-serif;min-height:24px}.match-screen .swing-controls{padding:16px 18px;min-height:0;grid-column:auto}.match-screen .swing-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:nowrap}.match-screen .swing-step{font:8px TourSans,sans-serif;letter-spacing:.5px;color:#b4cab1}.match-screen #meter-reading{font:10px TourSans,sans-serif;color:#f3d58d;white-space:nowrap}.match-screen .meter{height:24px;margin:12px 0 5px}.match-screen .meter-ruler{font-size:7px;color:#88aa98}.match-screen .swing-bottom{margin:9px 0 0;gap:10px}.match-screen .swing-bottom .btn{min-height:35px;padding:8px 12px;font:11px TourSans,sans-serif;min-width:0}.match-screen .keyhint{font-size:6px}.match-screen .swing-cancel{min-height:35px}.match-screen .is-flight{pointer-events:none}.match-screen.is-flight .shot-deck,.match-screen.has-result .shot-deck{display:none}.match-screen .shot-result{bottom:24px;border-width:1px;max-width:410px;min-width:360px}.match-screen .shot-result h3{font-size:18px}.match-screen .shot-result p{font-size:11px}.match-screen .result-stats strong{font-size:19px}.match-screen .skip-flight{bottom:24px;background:#163b45f2;left:50%;transform:translateX(-50%);color:#f1deaa;border:1px solid #93b2a777;min-height:37px}.match-screen .impact-feedback{top:21%;pointer-events:none}.match-screen .map-panel{top:95px;right:24px;width:145px;display:block}.match-screen .map-panel canvas{height:200px}.match-screen .map-caption{align-items:center}.match-screen .map-caption button{font-size:8px}.back-to-shot{position:absolute;left:50%;top:100px;transform:translateX(-50%);background:#183d48;color:#f2dda4;border:1px solid #a1b99e77;padding:11px 15px;font-size:11px}.shot-options-panel{position:absolute;left:calc(50% - 370px);bottom:188px;z-index:8;width:330px;background:#163746;border:1px solid #91afa077;box-shadow:0 5px 0 #102b3955;padding:19px}.options-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.options-heading h2{font:14px Arcade,monospace;margin:0;color:#f2d693}.shot-options-panel .text-link{font-size:11px;color:#e8d39c}.options-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font:12px TourSans,sans-serif;color:#b4c9b4}.options-row strong{color:#f0d99d;font-weight:500}.shot-options-panel .planned-power{margin:10px 0 16px}.shot-options-panel .planned-power input{width:100%}.shot-options-panel .plan-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 16px}.shot-options-panel .plan-selects label{font:10px TourSans,sans-serif;color:#a8c3ae;display:grid;gap:7px}.shot-options-panel .plan-selects select{font:12px TourSans,sans-serif;min-width:0;padding:8px}.shot-options-panel .options-row .btn{flex:1;font-size:10px;padding:9px 6px;min-height:34px;background:#284e57;color:#e5ddba;border-color:#7c9e8a66}.shot-options-panel p{font:10px/1.6 TourSans,sans-serif;color:#a5c1ac;margin:15px 0 10px}.round-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.round-menu-grid .btn{font-size:12px}.round-menu-grid .btn:first-child{grid-column:1/-1}.round-menu-note{font-size:12px!important;margin:20px 0 0!important}.match-save-error{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);color:#f2c98a;font-size:10px}.match-screen .ranked-live{top:103px;left:24px;right:auto;width:auto;gap:14px;border-width:1px;min-height:0;padding:10px 13px}.match-screen .ranked-live>button{display:none}.match-screen .ranked-live small{font-size:6px}.match-screen .ranked-live strong{font-size:12px}.match-screen .ranked-live strong span{font-size:8px}.match-screen .ranked-live .live-error{font-size:9px}
@media(max-width:800px){.match-score{gap:7px;display:grid}.match-distance{display:grid;gap:4px;text-align:center}.match-score>strong{font-size:14px}.match-score strong small{font-size:8px;margin-left:7px}.match-score>span:last-child{font-size:9px}.match-top-actions{gap:12px}.match-wind>span:last-child{display:grid;gap:2px}.shot-options-panel{left:24px}.match-screen .ranked-live{top:107px}}
@media(max-width:560px){.match-top{top:max(10px,env(safe-area-inset-top));left:10px;right:10px;padding:12px 11px;gap:10px;grid-template-columns:1fr auto 1fr}.match-score>strong{font-size:11px}.match-score strong small{font-size:7px;margin-left:6px}.match-score>span:last-child{font-size:8px}.match-score i{margin:0 4px}.match-distance>strong{font-size:21px}.match-distance>span{font-size:8px}.match-top-actions{gap:9px}.match-wind{gap:5px}.match-wind .wind-arrow{font-size:19px}.match-wind strong{font-size:11px}.match-wind strong small{font-size:7px}.match-wind>span>small{display:none}.match-menu-button{font-size:0;padding:8px;min-width:32px;min-height:34px}.match-menu-button .icon{width:15px;height:15px}.match-screen .shot-deck{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 20px);grid-template-columns:1fr;left:10px;right:10px;transform:none}.match-screen .club-controls{border-right:0;border-bottom:1px solid #87a69744;padding:10px 12px;display:flex;align-items:center;gap:12px}.match-screen .club-row{flex:1;gap:7px;justify-content:flex-start}.match-screen .club-controls select{font-size:14px;width:104px;max-width:104px}.match-screen .aim-controls{gap:4px}.match-screen .aim-controls button{width:29px;min-height:30px}.match-screen .club-controls .carry{display:none}.match-screen .options-toggle{margin-left:auto;font-size:10px;min-height:30px;white-space:nowrap}.match-screen .swing-controls{padding:12px}.match-screen .swing-head{gap:8px}.match-screen .swing-step{font-size:7px;letter-spacing:.2px}.match-screen #meter-reading{font-size:9px}.match-screen .meter{height:26px;margin:10px 0 5px}.match-screen .meter-ruler{font-size:6px}.match-screen .swing-bottom{margin-top:9px}.match-screen .swing-bottom .btn{min-height:40px;font-size:12px}.match-screen .swing-cancel{min-height:40px}.shot-options-panel{left:10px;right:10px;bottom:220px;width:auto;max-height:calc(100svh - 315px);overflow:auto;padding:16px}.options-heading{margin-bottom:14px}.shot-options-panel .plan-selects{margin-bottom:12px}.shot-options-panel p{margin-top:12px}.match-screen .shot-result{bottom:max(12px,env(safe-area-inset-bottom));min-width:0;width:calc(100% - 20px);max-width:none;padding:17px}.match-screen .shot-result h3{font-size:18px}.match-screen .shot-result .result-stats{margin:13px 0}.match-screen .shot-result .btn{font-size:12px;min-height:40px}.match-screen .map-panel{top:90px;right:10px;width:125px}.match-screen .map-panel canvas{height:170px}.match-screen .ranked-live{top:91px;left:10px;padding:9px 10px;gap:12px;max-width:calc(100% - 20px)}.match-screen .impact-feedback{top:23%}.back-to-shot{top:99px;max-width:170px;font-size:10px}.round-menu-grid{gap:9px}.round-menu-grid .btn{font-size:11px;padding:12px 8px}.match-screen .skip-flight{bottom:max(15px,env(safe-area-inset-bottom));font-size:12px}}
@media(max-height:650px) and (min-width:561px){.match-top{top:10px;padding:10px 14px}.match-screen .shot-deck{bottom:12px}.match-screen .swing-controls{padding:11px 15px}.match-screen .club-controls{padding:11px 15px}.shot-options-panel{bottom:162px;max-height:calc(100svh - 250px);overflow:auto}.match-screen .shot-result{bottom:12px}}

.match-screen .repeat-setup{font:10px TourSans,sans-serif;color:#c6cda5;margin-top:12px;border-bottom:1px solid #91a88c44;padding:4px 0}.match-screen .match-menu-button:focus-visible,.match-screen .options-toggle:focus-visible{outline:2px solid #f1d38e;outline-offset:3px}
.reset-view-button{display:flex;align-items:center;justify-content:center;gap:7px;background:#254951;border:1px solid #8ca79b66;color:#ece7c0;padding:10px 11px;font:10px TourSans,sans-serif;white-space:nowrap}.reset-view-button .icon{width:14px;height:14px}.reset-view-button:focus-visible{outline:2px solid #f1d38e;outline-offset:3px}.match-top-actions{gap:12px}@media(max-width:800px){.reset-view-button span{display:none}.reset-view-button{padding:8px;min-width:32px;min-height:34px}.match-top-actions{gap:7px}}@media(max-width:560px){.match-top-actions{gap:5px}.match-top{gap:7px}.match-wind{gap:3px}.match-wind .wind-arrow{font-size:16px}.reset-view-button .icon{width:14px;height:14px}}

/* A single watch control stays beside the score; spectator mode clears the deck. */
.match-screen .ranked-live>.watch-opponent{display:flex;align-items:center;gap:7px;min-height:36px;padding:8px 10px;background:#2a4d56;border:1px solid #8ca79b66;color:#f3dfaa;font:9px TourSans,sans-serif;white-space:nowrap}
.watch-opponent .icon{width:13px;height:13px}.watch-opponent:disabled{opacity:.45}.watch-opponent:focus-visible,.spectator-return:focus-visible{outline:2px solid #f1d38e;outline-offset:3px}
.spectator-top{position:absolute;left:24px;right:24px;top:max(18px,env(safe-area-inset-top));display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;padding:15px 18px;background:#132e3ef2;border:1px solid #93b2a766;z-index:5}
.spectator-top>div:first-child{display:grid;gap:7px;min-width:0}.spectator-top .eyebrow{font:8px TourSans,sans-serif;letter-spacing:1.3px;color:#a9c2ae}.spectator-top strong{font:17px TourSans,sans-serif;color:#f4dfac;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spectator-top small{font:9px TourSans,sans-serif;color:#b2c5ad}
.spectator-hole{display:grid;gap:9px;text-align:center;color:#f4dfac;font:16px Arcade,monospace;white-space:nowrap}.spectator-hole small{font:10px TourSans,sans-serif}.spectator-return{justify-self:end;display:flex;align-items:center;gap:10px;min-height:44px;font:11px TourSans,sans-serif;background:#edcd83;border:1px solid #f6dfab;color:#173846;box-shadow:0 3px 0 #987b43;padding:11px 16px;white-space:nowrap}
.spectator-caption{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);display:flex;align-items:center;gap:14px;padding:15px 20px;background:#132e3ef2;border:1px solid #93b2a777;box-shadow:0 3px 0 #0c283b33;color:#f1dfac;z-index:6}.spectator-caption>div{display:grid;gap:6px}.spectator-caption small{font:8px TourSans,sans-serif;letter-spacing:1px;color:#adc6b1}.spectator-caption strong{font:15px TourSans,sans-serif}.spectator-caption>div>span{font:11px TourSans,sans-serif;text-transform:capitalize;color:#bfd0b5}.spectator-caption .text-link{min-height:36px;font:11px TourSans,sans-serif;color:#f1dfac;margin-left:12px}.spectator-caption .live-dot{flex:none}
.ai-label{display:inline-block;font:8px TourSans,sans-serif;border:1px solid #9aaf9366;padding:3px 5px;margin-left:7px;color:#bbd1b9}.ai-queue-note{color:#c5c9a5!important}
@media(max-width:560px){.match-screen .ranked-live{right:10px;width:auto}.match-screen .ranked-live>.watch-opponent{margin-left:auto;min-height:36px;padding:8px;font-size:9px}.match-screen .ranked-live strong{max-width:137px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spectator-top{left:10px;right:10px;top:max(10px,env(safe-area-inset-top));padding:13px 11px;gap:10px;grid-template-columns:minmax(0,1fr) auto auto}.spectator-top strong{font-size:13px}.spectator-top .eyebrow{font-size:6px;letter-spacing:.6px}.spectator-top small{font-size:8px}.spectator-hole{font-size:10px;gap:7px}.spectator-hole small{font-size:8px}.spectator-return{font-size:9px;padding:10px;min-height:42px;gap:5px}.spectator-return .icon{width:13px}.spectator-caption{bottom:max(18px,env(safe-area-inset-bottom));max-width:calc(100% - 20px);gap:10px;padding:13px 15px}.spectator-caption strong{font-size:12px}.spectator-caption small{font-size:7px}.spectator-caption .text-link{margin-left:3px}}
