@font-face{font-family:Inter;src:url(assets/inter.woff2) format('woff2');font-display:swap}@font-face{font-family:'Space Grotesk';src:url(assets/space-grotesk.woff2) format('woff2');font-display:swap}
:root{font-family:Inter,system-ui,sans-serif;color:#fff4d9;background:#16392e;color-scheme:dark}*{box-sizing:border-box}body{margin:0;height:100svh;overflow:hidden}[hidden]{display:none!important}button{font:inherit;font-weight:750;color:inherit;background:#315443;border:1px solid #7a9c7c;border-radius:12px;min-height:44px;min-width:44px;padding:9px 13px;cursor:pointer;touch-action:manipulation}button:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #ffdf94;outline-offset:2px}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}.primary{color:#233c2d;border-color:#ffe7a9;background:linear-gradient(#f6d285,#e4b456)}.shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:48px minmax(0,1fr) 100px;height:100%;gap:4px;max-width:1100px;margin:auto;padding:6px 10px}.shell>*{min-width:0}.hud{display:flex;align-items:center;gap:22px;padding-right:96px}.hud small{display:block;font-size:8px;color:#d2dfbb;letter-spacing:.08em}.hud strong{font:700 22px 'Space Grotesk',sans-serif;font-variant-numeric:tabular-nums}.course-wrap{position:relative;overflow:hidden;border-radius:20px;min-height:0;background:#16392e}canvas{display:block;width:100%;height:100%;touch-action:none}#hole-name{position:absolute;left:50%;top:5px;transform:translateX(-50%);font-size:11px;letter-spacing:.04em;color:#e6e8c9;pointer-events:none;white-space:nowrap}.controls{width:min(100%,650px);margin:auto;text-align:center}.power-row{display:flex;align-items:center;gap:8px}.power-row button{flex-shrink:0}.power-row label{flex:1;min-width:0;text-align:left;font-size:9px;font-weight:750;color:#e4eacb}.power-row output{float:right;color:#ffe0a0}input{display:block;accent-color:#f0ca73;width:100%;height:29px;cursor:pointer;touch-action:pan-y;margin:0}.controls p{font-size:11px;line-height:1.3;margin:4px 0 0;color:#e4e8cb}.controls #hint{font-size:10px;color:#bcd3b9;line-height:1.3}.overlay{position:fixed;inset:0;z-index:5;display:grid;place-items:center;padding:14px;overflow:auto;background:#0b281fe8;backdrop-filter:blur(4px)}.menu{background:linear-gradient(90deg,#0c2b23eb,#153a2ca8),url(assets/cover.webp) center/cover}.sheet{width:min(100%,460px);max-height:100%;overflow:auto;border:1px solid #8da682;border-radius:24px;padding:25px;background:#17392ef5;text-align:center;box-shadow:0 20px 80px #071e1888}.sheet h1,.sheet h2{font:700 clamp(28px,6vw,44px)/1.05 'Space Grotesk',sans-serif;letter-spacing:-.04em;margin:8px 0 15px}.sheet p{font-size:14px;line-height:1.5;color:#e1e8cf}.sheet .eyebrow{font-size:9px;font-weight:800;letter-spacing:.12em;color:#f6d387;margin-top:0}.sheet .instructions,.sheet .save-note{font-size:11px;color:#c0d4bb}.sheet>button{display:block;width:100%;margin:10px 0}.result{font:700 42px 'Space Grotesk',sans-serif;color:#f8d991}.record{border-color:#ffe0a0;box-shadow:0 0 30px #e6c57925}.scorecard{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:15px 0}.scorecard>div{border:1px solid #77936b66;border-radius:10px;padding:8px 3px;background:#224938}.scorecard small{display:block;color:#c4d8b9;font-size:9px}.scorecard strong{display:block;font:700 22px 'Space Grotesk',sans-serif;margin:3px 0}.scorecard .under{color:#ffe0a0}
@media(max-width:420px){.shell{padding:5px;grid-template-rows:44px minmax(0,1fr) 109px}.hud{gap:12px;padding-right:84px}.hud strong{font-size:18px}.hud small{font-size:7px}.power-row{gap:6px}.power-row button{padding:6px}.sheet{padding:19px}.controls p{font-size:10px}.controls #hint{font-size:9px}.course-wrap{border-radius:13px}}
@media(max-height:450px) and (min-width:600px){.shell{grid-template-columns:minmax(0,1fr) 225px;grid-template-rows:42px minmax(0,1fr);max-width:none;gap:4px 10px}.hud{grid-column:1/-1}.course-wrap{grid-row:2;grid-column:1}.controls{grid-row:2;grid-column:2}.power-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px}.power-row .primary{grid-column:1/-1}.controls p{margin-top:9px}.sheet{padding:15px}.sheet h1,.sheet h2{font-size:29px}.sheet p{margin:9px 0}.sheet .instructions{display:none}.scorecard{grid-template-columns:repeat(6,1fr);gap:4px}.scorecard strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
