/* Midnight enamel, warm gold controls and restrained retro details. */
@font-face{font-family:Barlow Game;src:url('./assets/ui/barlow-semi-condensed-bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
:root {font-family: 'Trebuchet MS', 'Segoe UI', sans-serif;color:#fff8e3;background:#071020;--gold:#ffd052;--ink:#102440;--cream:#fff8e3}
[hidden] {display:none!important}
#app {grid-template-rows:minmax(0,1fr) auto}
.topbar,.preview-badge,#build-marker,#camera-info {display:none}
button {border-radius:5px;border:2px solid #efc86c;box-shadow:inset 0 2px #fff1b5,inset 0 -3px #c58b31,0 5px #69441d,0 7px #040c1a;background:#edbd54;color:#17243a;font:700 20px/1.1 'Barlow Game','Segoe UI',sans-serif;letter-spacing:.025em;transition:filter .12s,transform .12s;}
button:hover:not(:disabled){filter:brightness(1.12)}
button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #906019}
button:disabled{opacity:.48}
#playfield{background:#101d32}
.eyebrow{font-size:11px;letter-spacing:.18em;color:#edcf7c;line-height:1.5}
#course-info{position:absolute;z-index:2;pointer-events:none;width:250px;color:white;padding:0 0 10px;text-shadow:0 2px 3px #050d1b,0 0 18px #050d1b;filter:drop-shadow(0 2px 2px #040b17);}
#course-info:before{content:'';position:absolute;inset:-18px -24px;z-index:-1;background:radial-gradient(ellipse at center,#07152bcc,transparent 72%);}
#course-info[data-corner$=left]{left:18px}
#course-info[data-corner$=right]{right:18px;text-align:right}
#course-info[data-corner^=top]{top:18px}
#course-info[data-corner^=bottom]{bottom:50px}
.hole-heading{font-size:26px;font-weight:900;letter-spacing:.04em;line-height:1.08}
.hole-heading strong{font-size:34px;letter-spacing:0;margin-left:5px;font-variant-numeric:tabular-nums;}
.course-facts{display:flex;align-items:center;gap:20px;font-size:22px;font-weight:800;}
[data-corner$=right] .course-facts{justify-content:flex-end}
#present-yardage{font-size:14px;font-weight:700;color:#f5eccc}
.course-wind{margin-top:8px;font-size:23px;font-weight:800;line-height:1.2}
.course-wind:before{content:'WIND ';font-size:10px;letter-spacing:.12em;color:#d0daea;margin-right:5px;vertical-align:middle}
.course-wind i{display:inline-block;font-style:normal;margin-right:8px;color:var(--gold)}
.game-menu{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:3;gap:7px}
.game-menu button{width:auto;padding:0 12px;min-height:38px;font-size:12px;border:1px solid #ddd39a66;box-shadow:0 2px 0 #040c1a;background:#112b4ef5;color:var(--cream)}
.game-menu [data-settings]{font-size:20px;min-width:40px;padding:0 8px}
.game-menu #open-inspector{font-size:10px;opacity:.65}
.dock{position:relative;z-index:4;grid-template-columns:minmax(170px,230px) minmax(180px,520px) minmax(145px,190px);justify-content:center;align-items:center;gap:8px 26px;padding:14px max(18px,env(safe-area-inset-right)) 12px;border-top:2px solid #608cb8;background:linear-gradient(110deg,#17345a,#101e35 62%);box-shadow:0 -5px 0 #071020,0 -6px 0 #5991c455;}
.club-control{position:relative;font-size:10px;letter-spacing:.14em;gap:6px}
#club-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;background:#244a75;border:1px solid #5288b8;color:var(--cream);box-shadow:0 3px 0 #071325;padding:8px 12px;font-size:15px;letter-spacing:0}
#club-toggle>span:last-child{font-size:24px;color:var(--gold)}
#club-drawer{position:absolute;z-index:6;bottom:calc(100% + 12px);left:0;width:280px;max-width:calc(100vw - 32px);max-height:min(410px,calc(100dvh - 170px));overflow-y:auto;overscroll-behavior:contain;padding:8px;background:#10233e;border:1px solid #5386ad;box-shadow:6px 6px 0 #020a17bb;display:grid;gap:4px;}
#club-drawer:before{content:'CHOOSE YOUR CLUB';font-size:10px;letter-spacing:.15em;color:var(--gold);padding:6px 8px}
#club-drawer button{box-shadow:none;background:#203f65;border:1px solid transparent;color:var(--cream);text-align:left;font-size:14px;padding:8px 10px;min-height:44px}
#club-drawer button[aria-pressed=true]{border-color:var(--gold);background:#345a80;color:#ffe399}
.meter-control{width:100%;gap:7px}
.meter-copy{font-size:11px;letter-spacing:0;align-items:center;min-height:17px}
#swing-state{white-space:nowrap;font-size:11px;color:#ffe091}
#meter-readout{text-align:right;color:#dce5ef;font-size:11px}
.meter{height:28px;border:3px solid #071327;border-radius:3px;background:#315676 url('./assets/ui/meter-power.svg') 0 0/100% 100%;box-shadow:0 1px #6288b0,0 -1px #6288b0;overflow:visible}
.meter:after{display:none}
.meter-sweet{display:none}
[data-phase=ACCURACY_ACTIVE] .meter{background:#315676 url('./assets/ui/meter-accuracy.svg') 0 0/100% 100%}
[data-phase=ACCURACY_ACTIVE] .meter-sweet{display:block;background:transparent;border-inline:2px solid #eaffc7;z-index:1}
#meter-marker{z-index:3;width:4px;background:#fff;box-shadow:0 0 0 1px #17362b,0 0 6px #fff8}
#putting-reference{z-index:2}
#meter-legend{display:flex;justify-content:space-between;color:#aebfd4;font-size:9px;letter-spacing:.1em;font-weight:800}
[data-phase=ACCURACY_ACTIVE] #meter-legend span:nth-child(2){color:#d9ffb3}
.swing-button{min-height:60px;font-size:23px;text-transform:uppercase;border-bottom:2px solid #d99837}
#hole-info{grid-column:1/3;margin:0;font-size:12px;color:#c2cfe0}
#shot-facts{grid-column:3;font-size:10px;text-align:right;white-space:nowrap;color:#aebfd4;font-weight:700}
#title-screen{position:absolute;inset:0;z-index:10;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;justify-content:center;padding:clamp(24px,5vw,80px);gap:4vw;overflow:auto;background:radial-gradient(ellipse at 28% 50%,#204b7bea,transparent 65%),linear-gradient(100deg,#071123f5,#0d203af5);}
#title-screen:before{content:'';position:absolute;inset:12px;border:1px solid #c4bb6a55;pointer-events:none;}
#app:has(#title-screen:not([hidden])) :is(#course-info,.game-menu,.dock){visibility:hidden}
.title-art{display:flex;align-items:center;justify-content:center;min-height:0}
.title-art img{display:block;width:min(100%,560px,74dvh);height:auto;filter:drop-shadow(0 18px 24px #0007)}
.title-copy{max-width:470px}
.title-copy h1{font-size:clamp(32px,4.4vw,64px);line-height:1.03;font-weight:900;letter-spacing:-.055em;color:var(--cream);margin:18px 0}
.title-copy>p:not(.eyebrow){color:#becbdd;font-size:17px;line-height:1.7;margin-bottom:25px}
#start-round{display:block;width:100%;max-width:360px;min-height:60px;font-size:17px;letter-spacing:.04em}
.title-settings{display:block;background:transparent;color:#f0e8cc;border:0;box-shadow:none;padding:0;margin-top:12px;min-height:44px}
.title-footnote{display:block;color:#8ea78c;font-size:10px;letter-spacing:.15em;margin-top:28px}
#hole-intro{position:absolute;z-index:5;left:50%;top:70px;transform:translateX(-50%);max-width:95%;width:max-content;padding:12px 20px;background:#102440e8;border-block:1px solid #d1b660;font-size:16px;font-weight:900;letter-spacing:.09em;pointer-events:none;box-shadow:0 5px 16px #001a1455}
.round-interstitial{position:fixed;inset:0;z-index:8;padding:24px;background:#040c1ae8;backdrop-filter:blur(5px)}
.scorecard-panel{width:min(850px,100%);border-radius:7px;border:2px solid #4c749a;border-top:4px solid var(--gold);background:#112642;padding:clamp(18px,3vw,36px);box-shadow:8px 8px 0 #030b18}
.scorecard-panel h2{font-size:clamp(30px,5vw,54px);font-weight:900;letter-spacing:-.04em;line-height:1.1;margin:10px 0;color:var(--cream)}
[data-celebration=special] .scorecard-panel h2,[data-celebration=ace] .scorecard-panel h2{color:#ffda66;text-shadow:0 3px #67451d}
[data-celebration=ace] .scorecard-panel{border-color:#ffdf75;box-shadow:8px 8px 0 #030b18}
.round-interstitial:not([hidden]) .scorecard-panel{animation:result-arrive .28s ease-out}
@keyframes result-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.hole-result{font-size:17px;color:#efe7c6}
.hole-coins{font:700 clamp(16px,2.2vw,20px)/1.4 'Barlow Game','Segoe UI',sans-serif;color:var(--gold);margin:8px 0 16px;overflow-wrap:anywhere}
#start-new-round,#play-again,#final-home{width:100%;max-width:360px}
#start-new-round{display:block;min-height:48px;margin-top:12px;font-size:19px;text-transform:uppercase}
#play-again{display:block;margin:0;text-transform:uppercase}
#final-home{margin:12px 0 0}
#final-home button{width:100%;min-height:48px;margin:0;text-transform:uppercase}
@media(max-width:700px){#start-new-round{margin-left:auto;margin-right:auto}}
#gmg-persistence-status:empty{display:none}
[data-view=scorecard] .hole-coins{display:none}
[data-final=true] .hole-result{font-size:clamp(24px,3.5vw,38px);font-weight:900;color:#ffda66;letter-spacing:-.035em}
#running-score{font-size:14px;color:#aebed4}
.barley-moment{display:flex;align-items:center;gap:18px;border-block:1px solid #6384a855;padding:12px 0;margin:20px 0 14px}
.barley-moment img{width:100px;height:auto;flex:none}
.barley-moment p{font-size:19px;line-height:1.3;font-weight:800;margin:7px 0;color:#f5eac8}
.barley-moment small{font-size:10px;color:#a8b9cc}
#scorecard{min-width:0;font-size:13px}
#scorecard th,#scorecard td{padding:10px 5px;border:0;border-bottom:1px solid #5d83ab55;font-variant-numeric:tabular-nums}
#scorecard thead{color:#ffda6f}
#scorecard th:first-child{background:#142c4a}
#scorecard td:last-child{font-weight:900;color:#ffda6f;background:#27456a}
.round-totals{font-size:14px;justify-content:space-between;margin:20px 0}
.scorecard-panel>button{min-height:48px;min-width:140px}
#settings{position:fixed;left:50%;top:50%;border-radius:0;border-top:3px solid var(--gold);max-width:440px;}
#settings .dialog-heading h2{font-size:30px}
#settings fieldset{margin:20px 0;border-radius:0;padding:12px 16px;color:#b9c8da}
#settings fieldset label{justify-content:space-between;gap:20px}
#settings input[type=range]{width:150px}
#settings .settings-actions{display:grid;grid-template-columns:minmax(0,1fr);row-gap:19px;padding-bottom:7px}
#settings .settings-actions>button{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin:0;padding:10px 12px;text-align:center;text-transform:uppercase}
#settings .music-track{font-size:12px;min-height:30px}
#settings .music-track select{width:150px;padding:3px 8px;min-height:30px;background:#183653;color:#fff3d8;border:1px solid #52769d;border-radius:3px;font:inherit}

:is(.hole-heading,.course-facts,.course-distance,.course-wind,h1,h2,#swing-state,#meter-legend,#hole-intro,.round-totals){font-family:'Barlow Game','Segoe UI',sans-serif;font-weight:700}
.eyebrow{color:#ebcc89}.hole-heading{line-height:1.2}.course-distance{font-size:25px;line-height:1.2;margin-top:5px;white-space:nowrap}.course-distance>span{font-size:14px;color:#d0daea;margin-right:5px}.course-wind:before{font-size:13px}.course-facts{font-size:23px}
#course-info{filter:none;text-shadow:0 2px 2px #030a16,1px 0 #030a16,-1px 0 #030a16}#course-info:before{inset:-10px -14px;border-radius:6px;background:rgb(11 29 52 / 20%)}
:is(.game-menu button,#club-toggle,#club-drawer button,.title-settings,button.secondary){background:#244971;color:#fff4db;border:1px solid #5885b1;border-radius:4px;box-shadow:inset 0 2px #6999c455,inset 0 -3px #122d4a,0 4px #050e20;text-shadow:0 1px #06142b}
.game-menu button{font-size:14px}.game-menu #open-inspector{font-family:'Segoe UI',sans-serif}.game-menu [data-settings]{font-family:'Segoe UI Symbol',sans-serif}
#club-toggle{font-size:20px;min-height:50px;line-height:1.1}#club-name{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.club-yardage{font:700 12px 'Segoe UI',sans-serif;font-variant-numeric:tabular-nums}
#club-drawer{border:2px solid #5b82ad;border-top:3px solid #91b0ce;border-radius:5px;padding:8px;background:#10233e;scrollbar-color:#638cba #10233e}#club-drawer button{font-size:19px}#club-drawer button[aria-pressed=true]{border-color:#edc675;background:#365778;color:#ffe19a;box-shadow:inset 3px 0 #efc76c,inset 0 1px #7e9cba}
#swing-state{font-size:14px}#meter-legend{font-size:12px;letter-spacing:.06em}#meter-readout{font-variant-numeric:tabular-nums}.meter-control.putting .meter{background:#315676 url('./assets/ui/meter-power.svg') 0 0/100% 100%;border-color:#071327}
#meter-marker{top:-4px;bottom:-4px;background:#fff6dc;box-shadow:0 0 0 1px #071327}#meter-marker:before{content:'';position:absolute;top:-3px;left:-3px;width:10px;height:4px;background:#fff6dc;border:1px solid #071327}#putting-reference{box-shadow:0 0 0 1px #071327;background:#91eafa}
[data-phase=ACCURACY_ACTIVE] .meter-sweet{border-inline:2px solid #eaffef}[data-phase=ACCURACY_ACTIVE] #meter-legend span:nth-child(2){color:#a2ead4}
#shot-facts{font-size:10px}#hole-info{min-height:12px}.title-copy h1{font-weight:700;letter-spacing:-.025em;text-shadow:0 3px #041124}.title-settings{padding:0 18px;min-width:120px;margin-top:18px}#start-round{font-size:23px}.title-art img{filter:drop-shadow(0 12px 12px #02081788)}#title-screen:before{border-color:#6085b755;border-radius:4px;box-shadow:inset 0 2px #abc9e211}
#logo-stinger{position:absolute;inset:0;z-index:9;pointer-events:none;display:flex;align-items:center;justify-content:center;gap:32px;background:#0b1c35;border-block:2px solid #5e87b5;box-shadow:inset 0 6px #17385e,inset 0 -6px #050e20;overflow:hidden}
#logo-stinger img{width:min(48vw,400px,76dvh);height:auto;max-height:80%;object-fit:contain;filter:drop-shadow(0 8px 4px #030c1b)}#stinger-caption{font:700 clamp(24px,4vw,48px)/1.1 'Barlow Game','Segoe UI',sans-serif;letter-spacing:.04em;color:#f3d18a;text-shadow:0 3px #030c1b}
#settings{background:#112642;border:2px solid #5b82ad;border-top:4px solid #eac26b;border-radius:6px;max-width:450px;color:#fff3d8;box-shadow:0 8px #030c1b}#settings .dialog-heading h2{font-size:32px}#settings fieldset{padding:4px 12px;border:1px solid #52769d;margin:16px 0}#settings legend{color:#e7ca8c}#settings .audio-channel{padding:5px 0;border-bottom:1px solid #365471}#settings .audio-channel:last-child{border:0}#settings .audio-channel>label:first-child{font:700 18px 'Barlow Game',sans-serif;min-height:32px}#settings .audio-volume{font-size:12px;min-height:28px}#settings input{accent-color:#eac26b}#settings input[type=range]{min-height:20px;height:20px}#settings .muted{color:#b9c8da}
#scorecard th:first-child,#scorecard td:first-child{background:#142c4a}#scorecard .upcoming{color:#95a9bf}#scorecard{font-size:14px}.barley-moment p{font-family:'Barlow Game',sans-serif;font-size:23px}.barley-moment small{font-size:12px}.round-totals{font-size:17px;color:#dce5ef}
@media(max-width:700px){
 .dock{grid-template-columns:minmax(125px,1fr) minmax(125px,1fr);padding:10px 12px;gap:8px 16px}
 .meter-control{grid-column:1/-1;grid-row:1;width:100%;max-width:none!important}
 .club-control{grid-row:2}.swing-button{grid-column:2;grid-row:2;min-height:48px;font-size:21px}
 .club-control label{display:none}#club-toggle{min-height:48px;font-size:18px;padding:8px;gap:4px}
 #hole-info{grid-column:1;grid-row:3;font-size:10px}#shot-facts{position:static;grid-column:2;grid-row:3;font-size:9px}

 .game-menu{left:auto;right:10px;transform:none;top:10px}.game-menu button{min-height:36px;font-size:11px;padding:0 9px}
 #course-info[data-corner^=top]{top:57px}
 #title-screen{grid-template-columns:1fr;align-content:center;justify-items:center;gap:12px;padding:26px;text-align:center}
 .title-art img{width:min(64vw,330px,41dvh)}
 .title-copy h1{font-size:34px;margin:10px 0}.title-copy h1 br{display:none}
 .title-copy>p:not(.eyebrow){font-size:14px;line-height:1.5;margin:10px 0 18px}
 .title-copy .eyebrow{font-size:9px;margin:0}#start-round{min-height:52px;margin:auto;font-size:21px}
 .title-settings{margin:8px auto 0}.title-footnote{margin-top:12px;font-size:8px}
 .round-interstitial{padding:14px}.scorecard-panel{padding:18px 14px}
 .barley-moment{gap:12px;margin:14px 0}.barley-moment img{width:70px}.barley-moment p{font-size:15px}.barley-moment .eyebrow{font-size:9px}
 #scorecard{font-size:11px}#scorecard th,#scorecard td{padding:9px 3px}.round-totals{font-size:12px;gap:9px}
 #hole-intro{top:54px;font-size:11px;padding:10px 12px}
}
@media(max-width:599px),(max-height:480px){
 #course-info{width:174px}#course-info .eyebrow{font-size:9px;letter-spacing:.04em}
 .hole-heading{font-size:25px}.hole-heading strong{font-size:27px}.course-facts{font-size:19px;gap:14px}.course-distance{font-size:23px}.course-distance>span{font-size:13px}#present-yardage{font-size:11px}.course-wind{font-size:18px;margin-top:5px}
 #course-info[data-corner$=left]{left:14px}#course-info[data-corner$=right]{right:14px}
}
@media(max-height:480px) and (min-width:600px){
 .dock{grid-template-columns:175px minmax(160px,420px) 150px;padding:7px 14px;gap:5px 18px}
 .meter-control{grid-column:2;grid-row:1}.club-control{grid-row:1}.swing-button{grid-column:3;grid-row:1;min-height:48px;font-size:20px}
 .club-control label{display:none}#hole-info{grid-column:1/3;grid-row:2;font-size:10px}#shot-facts{position:static;grid-column:3;grid-row:2;font-size:9px}#club-toggle{min-height:44px;font-size:13px}
 #title-screen{grid-template-columns:1fr 1fr;gap:30px;padding:24px 40px;text-align:left}
 .title-art img{width:min(72dvh,340px)}.title-copy h1{font-size:32px;margin:8px 0}.title-copy>p:not(.eyebrow){font-size:13px;margin:8px 0 12px;line-height:1.4}
 #start-round{min-height:48px;font-size:19px}.title-footnote{display:none}.title-copy .eyebrow{font-size:9px}.title-settings{margin:4px 0 0}
 #course-info[data-corner^=top]{top:10px}#course-info[data-corner^=bottom]{bottom:8px}
 #club-drawer{max-height:calc(100dvh - 95px)}.game-menu{left:50%;right:auto;transform:translateX(-50%)}
 .scorecard-panel{padding:16px 22px}.barley-moment{margin:10px 0;padding:8px 0}.barley-moment img{width:60px}.barley-moment p{font-size:15px}.scorecard-panel h2{font-size:30px}
 #hole-intro{top:52px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){button{transition:none}.round-interstitial{backdrop-filter:none}.round-interstitial:not([hidden]) .scorecard-panel{animation:none}}


@media(max-width:599px) and (min-height:481px){#logo-stinger{flex-direction:column;gap:22px}#logo-stinger img{width:min(80vw,400px,58dvh)}#stinger-caption{font-size:30px}}
/* Lightweight mobile broadcast readout. Desktop rules above are unchanged. */
@media (max-width:700px) and (orientation:portrait), (max-width:599px){
 #course-info{display:grid;grid-template-columns:max-content max-content;justify-content:start;align-items:baseline;gap:3px 8px;width:190px;padding:0;text-transform:uppercase}
 #course-info[data-corner$=right]{justify-content:end}
 #course-info:before{display:none}
 #course-info .hole-heading,#course-info .hole-heading strong,#course-info .course-facts{font-size:18px;line-height:1.2;letter-spacing:.02em;margin:0}
 #course-info .hole-heading strong{margin-left:2px}
 #course-info .course-facts{gap:0;justify-content:start}
 #course-info .course-facts:before{content:'·';margin-right:8px}
 #course-info .course-distance,#course-info .course-wind{font-size:17px;line-height:1.2;margin:0;white-space:nowrap}
 #course-info .course-distance>span{display:none}
 #course-info .course-wind:before{content:'·';font:inherit;color:inherit;margin-right:8px;vertical-align:baseline}
 #course-info .course-wind i{margin-right:4px}
}
@media (max-width:700px) and (orientation:portrait) and (max-height:480px), (max-width:599px) and (max-height:480px){
 #course-info[data-corner^=bottom]{bottom:8px}
}
