@import url('https://fonts.googleapis.com/css2?family=Shrikhand&display=swap');
/* The clubhouse follows the ink, cream and orange of the original mascot. */
:root{--display:'Shrikhand',Georgia,serif;--paper:#f0e8d5;--ink:#233e33;--green:#233e33;--orange:#cf542e;--panel:#e7dfc9;--line:#c8c0a9;--muted:#666d5e;--raised:#faf3e2;--shadow:#233e33}
body{background-image:radial-gradient(#233e330c .65px,transparent .65px);background-size:5px 5px}
[data-theme=dark]{color-scheme:dark;--paper:#19251f;--ink:#f0e5cb;--green:#f0e5cb;--panel:#25352b;--line:#495646;--muted:#b7bca9;--raised:#304134;--shadow:#0e1712}
.header{height:112px;border-bottom:2px solid var(--ink)}.brand-image{width:185px;height:105px}.header-right{gap:14px}.nav{font-size:11px}.edition{font-size:9px}.avatar{background:var(--raised)}
.intro{padding:30px 0}.intro h1{font-weight:400;font-size:clamp(30px,3.15vw,49px);line-height:1.2;letter-spacing:-1.5px}.intro h1 em{display:inline-block;transform:rotate(-2deg);text-shadow:1px 2px 0 var(--paper)}
.intro-note{display:flex;align-items:center;gap:14px;color:var(--ink);text-align:left;transform:rotate(2deg)}.intro-note p{font-size:12px;font-weight:700;line-height:1.6}
.mascot-face{width:72px;height:72px;flex:0 0 auto;border:2px solid #233e33;border-radius:50%;background-image:url('/assets/mascot-expressions.png');background-size:724% 241.333%;background-position:10.15% 30.66%;box-shadow:3px 3px 0 var(--shadow);transform:rotate(-8deg)}
.mascot-face.angry{background-position:50.48% 33%;transform:rotate(6deg)}.mascot-face.victory{background-position:89.2% 35.3%;transform:rotate(-6deg)}
.setup-panel,.play-panel{background:var(--panel);border:2px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--shadow);padding:23px}.setup-panel h2,.play-panel h2,.playing .play-panel h2{font-size:35px;font-weight:400;line-height:1.1;text-transform:none;letter-spacing:-1px;margin:17px 0 20px}.panel-kicker{font-size:9px}
.mode{border:1px solid var(--line);border-radius:9px}.mode:hover{background:var(--raised)}.mode.selected{background:#233e33;color:#f0e8d5;border-color:#233e33;box-shadow:2px 3px 0 #cf542e}.mode strong{font:400 14px var(--display)}
.mode-options,.turn-subtitle,.setup-foot,.round-summary>span:last-child,.course-meta,.course-number,.controls-help,.camera-help,dialog p,footer,.score-row small{color:var(--muted)}
.player-field{background:var(--raised);border-color:var(--line);border-radius:8px}.player-field input{color:var(--ink)}.mode-options select{color:var(--ink)}select option{background:var(--paper)}
.primary-button{font-size:18px;font-weight:400;text-transform:none;letter-spacing:0;border:2px solid #233e33;border-radius:10px;box-shadow:3px 4px 0 var(--shadow);padding:14px;color:#fff0d6}.primary-button:hover{background:#e06339}.secondary-button{border:2px solid var(--line);border-radius:9px}.field-label{color:var(--muted)}
.course-card{border:2px solid var(--line);border-radius:12px;background:var(--panel)}.course-card.selected{border:2px solid var(--ink);background:var(--panel);box-shadow:3px 4px 0 var(--shadow)}.course-info h3{font-size:20px;font-weight:400;text-transform:none;line-height:1.2}.course-meta{font-size:8px}.section-heading h2{font-size:11px}.section-heading h2 span{color:var(--muted)}
.course-stage{border:2px solid #233e33;border-radius:16px;--paper:#f0e8d5;--ink:#233e33;--green:#233e33;--orange:#cf542e;color:#233e33}
.stage-title h2{font-size:clamp(32px,3.4vw,51px);font-weight:400;line-height:1.04;text-transform:none;letter-spacing:-1px}.stage-title{max-width:260px}.course-stamp{font:700 12px var(--body)}.course-stamp strong{font:400 14px var(--display)}
.preview-holes{display:flex;gap:7px;margin-top:15px;pointer-events:auto}.preview-holes button{width:30px;height:30px;background:#e9e2cc;color:#233e33;border:1px solid #233e33;border-radius:50%;font-weight:800;font-size:11px}.preview-holes button[aria-pressed=true]{background:#cf542e;color:#fff1d7}#preview-hole-name{display:block;font-size:10px;color:#fff4d9;margin-top:7px;max-width:155px;line-height:1.4}
.game-hud h2{font:400 23px/1.1 var(--display);text-transform:none;max-width:340px}.stroke-box strong{font-weight:400;font-size:34px}.game-hud>div:first-child{border:1px solid #233e3322;border-radius:9px}.stroke-box{border-radius:9px}.shot-banner{font-weight:400;font-size:clamp(17px,2.2vw,32px);white-space:normal;width:max-content;max-width:85%;border:2px solid #233e33;border-radius:10px}
.stage-bottom{align-items:center;gap:10px;padding:10px 15px}.screen-controls{display:flex;gap:6px;pointer-events:auto;flex-shrink:0}.screen-controls button{font-size:10px;font-weight:800;background:#f4eddc;border:1px solid #233e3360;border-radius:6px;padding:8px 10px;color:#233e33}.screen-controls button:hover{background:#eac6a0}
.hole-brief{border:1px dashed var(--line);border-radius:8px;margin-top:12px;padding:11px}.hole-brief b{font-size:9px;color:var(--orange);letter-spacing:.5px}.hole-brief p{font-size:11px;line-height:1.6;margin:6px 0 0}
.heckler{display:flex;align-items:center;gap:12px;margin-top:15px;padding:4px}.heckler .mascot-face{width:52px;height:52px}.heckler p{font-size:11px;font-weight:700;font-style:italic;line-height:1.5;margin:0}.score-row{border-color:var(--line)}.score-row.current{background:var(--raised);border-radius:8px}.score-row b{font-weight:400;font-size:21px}.shot-controls{padding-top:18px}.controls-help span{background:var(--raised);border-color:var(--line)}
dialog{background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:20px;box-shadow:8px 8px 0 #0e1712;max-width:580px}dialog h2{font-weight:400;font-size:40px;text-transform:none;line-height:1.12}.modal-mascot{width:80px;height:80px;margin:0 0 24px}.modal-kicker{max-width:90%;line-height:1.5}.empty-board b{font-weight:400;font-size:23px;text-transform:none}.result-score{font-weight:400;font-size:62px}.leaderboard-table td:last-child{font-weight:400;font-size:22px}.leaderboard-table th{color:var(--muted)}.leaderboard-filters button{border-radius:8px}.party-names input{background:var(--raised);color:var(--ink)}
footer{border-top:2px solid var(--ink)}.footer-brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-weight:400}.footer-brand .mascot-face{width:40px;height:40px}.footer-brand>span{margin-left:-7px}.toast{background:#233e33;color:#f0e8d5;border:1px solid #f0e8d5;border-radius:10px}
.playing .play-panel{overflow:auto}.playing .course-stage{min-height:650px}.playing .header .brand-image{height:73px}.playing .controls-help{font-size:9px;margin-top:10px;line-height:2}.playing .camera-help{font-size:9px}
body.immersive{overflow:hidden}.immersive .header,.immersive .intro,.immersive footer,.immersive .course-selection{display:none}.immersive .game-layout{position:fixed;inset:12px;margin:0;z-index:10;grid-template-columns:minmax(0,1fr) 290px;gap:12px}.immersive .course-stage{height:100%;min-height:0;max-height:none}.immersive .play-panel,.immersive .setup-panel{min-height:0;overflow-y:auto;padding:19px}.immersive .play-panel h2{font-size:29px}.immersive .heckler{margin-top:10px}.immersive .hole-brief{padding:8px}.immersive .shot-controls{padding-top:12px}.immersive .controls-help{display:none}.immersive .play-actions{padding-top:10px}.immersive .shot-controls{margin-top:auto}.immersive .setup-panel h2{font-size:32px}
@media(max-width:1200px){.intro-note{display:none}.intro h1{font-size:38px}.course-info h3{font-size:18px}.game-hud h2{font-size:21px}}
@media(max-width:900px){.header{height:85px;padding:0 4%;gap:8px}.brand-image{width:130px;height:80px}.header-right{gap:6px}.intro h1{font-size:33px;max-width:none}.intro h1 em{display:block}.game-layout{gap:18px}.setup-panel h2{font-size:32px}.course-info h3{font-size:24px}.playing .course-stage{min-height:480px}.course-stage{border-radius:12px}.stage-title h2{font-size:36px}.stage-bottom #stage-caption{display:none}.stage-bottom{justify-content:flex-end}.screen-controls button{font-size:10px}.game-hud h2{font-size:19px}.game-hud>div:first-child{max-width:70%}.stage-title{max-width:200px}.playing .play-panel h2{font-size:30px}dialog h2{font-size:32px}.immersive .game-layout{inset:5px;grid-template-columns:1fr;grid-template-rows:minmax(220px,1fr) 230px;gap:6px}.immersive .play-panel{display:block;padding:12px 16px}.immersive .panel-kicker,.immersive .turn-subtitle,.immersive #player-scores,.immersive .heckler,.immersive .hole-brief{display:none}.immersive .play-panel h2{font-size:22px;margin:0 0 8px}.immersive .shot-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding-top:0}.immersive .shot-controls label{grid-column:1}.immersive .shot-controls input{grid-column:1}.immersive #shoot-button{grid-column:2;grid-row:1/5;align-self:stretch}.immersive .play-actions{padding-top:0}.immersive .setup-panel{padding:15px}.immersive .setup-panel h2,.immersive .setup-panel .field-label,.immersive .setup-panel .panel-kicker,.immersive .setup-foot,.immersive .round-summary{display:none}.immersive .mode-grid{margin-top:0}.immersive .mode{padding:5px}.immersive .mode b{display:none}.immersive .mode-options{height:28px}.immersive .player-field{padding:5px;margin:0 0 7px}.immersive .primary-button{padding:9px 13px}.shot-banner{font-size:20px}}
