@font-face{font-family:Story;src:url('./baloo.woff2') format('woff2');font-display:swap;font-weight:400 800}
@font-face{font-family:Reading;src:url('./nunito.woff2') format('woff2');font-display:swap;font-weight:400 900}
:root{--paper:#f7edda;--ink:#193e44;--lake:#326e58;--gold:#d99e44;--line:#c9b98e;--heading:Story,Georgia,serif;--reading:Reading,Tahoma,sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);font-family:var(--reading);background:radial-gradient(ellipse at 5% 25%,#fffdf2,transparent 50%),repeating-linear-gradient(110deg,transparent 0 60px,#ddcbb619 61px 62px),var(--paper)}
button,select{font:800 .9rem var(--reading);min-height:44px;color:var(--ink);border:1px solid #8c9c96;background:#fff9ec;border-radius:9px;padding:8px 12px;cursor:pointer}button:hover{background:#f3dfad}button:disabled{opacity:.5;cursor:default}a{color:inherit}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #a34327;outline-offset:3px}button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff9e7}[hidden]{display:none!important}
.site-head,footer{max-width:1400px;margin:auto;padding:20px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{text-decoration:none;font:800 26px/1.1 var(--heading)}.brand span{display:block;font:900 9px var(--reading);letter-spacing:.22em;margin-top:7px}.back{font-weight:800;font-size:13px;min-height:44px;display:flex;align-items:center}main{max-width:1300px;margin:auto;padding:22px 5% 40px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(350px,620px);gap:6%;align-items:start}.introduction{padding-top:48px;position:sticky;top:20px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:.16em;color:#785332}h1{font:800 clamp(62px,8.3vw,116px)/.87 var(--heading);margin:30px 0;letter-spacing:-.05em}h1 span{color:var(--lake)}.lead{font:700 28px/1.15 var(--heading);margin:0 0 18px}.introduction>p:not(.eyebrow){max-width:310px}.introduction p{line-height:1.65}.ticket{margin:30px 0;max-width:310px;padding:18px 0;border-block:1px solid var(--line)}.ticket b{font-size:10px;letter-spacing:.11em}.ticket span{display:block;font-size:14px;margin-top:7px}.instructions{max-width:330px;font-size:14px}.instructions summary{font-weight:900;cursor:pointer;min-height:44px;padding:12px 0}
.cabinet{min-width:0;border:1px solid #c4b591;border-radius:22px;padding:16px;background:#efe1c3;box-shadow:0 22px 55px #4a361c20,inset 0 1px #fffbe9}.toolbar{display:flex;justify-content:space-between;gap:8px;align-items:center}.toolbar>div{display:flex;gap:6px}.toolbar button{font-size:11px;padding:6px 10px}.cabinet-name{font-size:9px;letter-spacing:.15em;font-weight:900}.scoreboard{display:flex;align-items:center;justify-content:space-around;gap:10px;text-align:center;padding:14px 0}.scoreboard>div{min-width:55px}.scoreboard span{font-size:9px;letter-spacing:.1em;font-weight:900;display:block}.scoreboard strong{font:800 34px/1 var(--heading)}.scoreboard b{display:block;font:700 18px/1.15 var(--heading);max-width:140px;margin:4px auto}.scoreboard small{display:block;font-size:10px}.table-wrap{position:relative;width:min(100%,440px);margin:auto;aspect-ratio:3/4;border-radius:18px;overflow:hidden;box-shadow:0 9px 18px #34201240;background:#42664c}canvas{display:block;width:100%;height:100%;touch-action:none;outline-offset:-6px!important}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#f5edda16;padding:24px}.overlay-card{text-align:center;background:#fff8e8f5;box-shadow:0 16px 45px #193e4436;border:1px solid #dcc99c;border-radius:20px;padding:24px 18px;width:min(310px,100%)}.overlay h2{font:800 32px/1.05 var(--heading);margin:12px 0}.overlay p:not(.eyebrow){font-size:14px;line-height:1.5;white-space:pre-line}.overlay button,#putt{background:var(--ink);color:#fff8e8;border:none;min-height:48px}.overlay button{width:100%;margin-top:8px}
.shot-controls{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:center;margin:12px 0 0}.shot-controls label{font-size:11px;font-weight:900;min-width:0}.shot-controls input{display:block;width:100%;min-height:44px;margin:0;accent-color:var(--ink)}output{font-weight:600;float:right}.table-help{text-align:center;font-size:12px;line-height:1.5;margin:8px 0 14px}.options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.options label{font-size:11px;font-weight:900;display:grid;gap:5px;align-content:start}.options select{width:100%;min-width:0;padding:8px}.options fieldset{grid-column:1/-1;border:0;padding:0;margin:0}.options legend{font-size:11px;font-weight:900;margin-bottom:7px}.skins{display:flex;gap:6px}.skins button{flex:1;padding:8px 4px;font-size:12px}.best{font-size:11px}.best span,.best b{display:block}.best button{font-size:10px;background:transparent;border:0;padding:3px 0;text-decoration:underline}.status{font-size:12px;text-align:center;line-height:1.5;min-height:18px}#failure{font-size:12px;line-height:1.5}footer{font-size:11px;border-top:1px solid var(--line)}
.music-controls{display:flex;flex-wrap:wrap;align-items:center;gap:5px 16px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid var(--line);font-size:11px}.music-controls button{font-size:12px}.music-controls label{display:flex;align-items:center;gap:8px;min-height:44px}.music-controls input[type=checkbox]{width:18px;height:18px;accent-color:var(--ink)}.music-controls input[type=range]{width:95px;min-height:44px;accent-color:var(--ink)}.music-note{flex-basis:100%;font-size:11px;margin:0}
.cabinet:fullscreen,.cabinet.fullscreen-fallback{width:100%;height:100dvh;padding:8px max(8px,env(safe-area-inset-right));border:0;border-radius:0;display:flex;flex-direction:column;align-items:center;overflow:auto;background:#efe1c3}.fullscreen-fallback{position:fixed;inset:0;z-index:1000}.fairways-fullscreen-open{overflow:hidden}.cabinet:fullscreen .toolbar,.fullscreen-fallback .toolbar{width:100%;max-width:650px;flex-shrink:0}.cabinet:fullscreen .scoreboard,.fullscreen-fallback .scoreboard{padding:5px;gap:25px;flex-shrink:0}.cabinet:fullscreen .table-wrap,.fullscreen-fallback .table-wrap{width:auto;height:min(calc(100dvh - 330px),800px);max-width:100%;flex-shrink:0;margin:4px auto}.cabinet:fullscreen .options,.fullscreen-fallback .options{display:none}.cabinet:fullscreen .shot-controls,.fullscreen-fallback .shot-controls{width:min(100%,520px);margin:4px 0;flex-shrink:0}.cabinet:fullscreen .music-controls,.fullscreen-fallback .music-controls{margin:0;padding:0;border:0;justify-content:center;gap:0 12px}.cabinet:fullscreen .music-note,.fullscreen-fallback .music-note{display:none}.cabinet:fullscreen .table-help,.fullscreen-fallback .table-help{margin:2px 0}.cabinet:fullscreen .status,.fullscreen-fallback .status{margin:2px 0}
@media(max-width:760px){.site-head{padding:16px 5%}.brand{font-size:22px}.back{font-size:11px}main{display:block;padding:0 12px 30px}.introduction{position:static;padding:12px 9px 18px}.introduction h1{font-size:48px;line-height:1;display:inline-block;margin:7px 0}.introduction h1 br{display:none}.introduction h1 span{margin-left:.18em}.introduction .lead{font-size:20px;margin:2px 0}.introduction .lead br{display:none}.introduction>p:not(.eyebrow){max-width:none;margin:6px 0;font-size:13px}.introduction .ticket{display:none}.introduction .eyebrow{margin:0}.instructions{max-width:none;font-size:12px}.instructions summary{padding:10px 0}.cabinet{padding:10px;border-radius:16px}.scoreboard{padding:10px 0}.scoreboard b{font-size:16px}.table-wrap{width:min(100%,410px)}.toolbar button{padding:5px 8px}.cabinet-name{font-size:8px}.overlay{padding:12px}.overlay-card{padding:16px}.overlay h2{font-size:26px}.overlay p:not(.eyebrow){font-size:12px}footer{padding:15px;line-height:1.6}.options{gap:10px}.shot-controls{gap:7px}.shot-controls output{font-size:10px}#putt{padding:8px}.introduction h1{font-size:clamp(34px,9.5vw,48px)}}
@media(max-height:530px) and (orientation:landscape){.cabinet:fullscreen,.cabinet.fullscreen-fallback{display:grid;grid-template-columns:minmax(155px,1fr) auto minmax(155px,1fr);grid-template-rows:auto 1fr auto;gap:6px;padding:10px}.cabinet:fullscreen .table-wrap,.fullscreen-fallback .table-wrap{grid-column:2;grid-row:1/4;height:calc(100dvh - 24px);width:auto;margin:0}.cabinet:fullscreen .toolbar,.fullscreen-fallback .toolbar{grid-column:1;grid-row:1;flex-wrap:wrap}.cabinet:fullscreen .scoreboard,.fullscreen-fallback .scoreboard{grid-column:1;grid-row:2;gap:8px;flex-wrap:wrap}.cabinet:fullscreen .table-help,.fullscreen-fallback .table-help{grid-column:1;grid-row:3}.cabinet:fullscreen .shot-controls,.fullscreen-fallback .shot-controls{grid-column:3;grid-row:1;grid-template-columns:1fr 1fr}.cabinet:fullscreen #putt,.fullscreen-fallback #putt{grid-column:1/-1}.cabinet:fullscreen #audio-slot,.fullscreen-fallback #audio-slot{grid-column:3;grid-row:2;align-self:center}.cabinet:fullscreen .status,.fullscreen-fallback .status{grid-column:3;grid-row:3}.overlay{padding:10px}.overlay-card{padding:12px}.overlay h2{font-size:23px}.overlay .eyebrow{font-size:8px}.overlay button{min-height:44px;margin-top:3px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
