.golf-page{--paper:#f6f2e6;--ink:#243b31;--red:#ad4438;--line:#d3d3bf;--gold:#edbd54;background:var(--paper);min-height:100svh;color:var(--ink);font-family:Arial,Helvetica,sans-serif}.golf-page *{box-sizing:border-box}.golf-page button,.golf-page a{-webkit-tap-highlight-color:transparent}.golf-page button{font:inherit;cursor:pointer;touch-action:manipulation;border:0}.golf-page button:focus-visible,.golf-page a:focus-visible,.golf-page summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.golf-page main{max-width:1320px;margin:auto;padding:0 40px}.golf-page .masthead{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:26px 0 22px;display:flex}.golf-page .wordmark{letter-spacing:-1px;color:inherit;font-size:22px;font-weight:900;text-decoration:none}.golf-page .wordmark span{letter-spacing:1px;margin-top:5px;font-family:monospace;font-size:9px;font-weight:400;display:block}.golf-page .edition{text-align:right;letter-spacing:1px;font:10px/1.7 monospace}.golf-page .intro{justify-content:space-between;align-items:flex-end;gap:24px;padding:36px 0 30px;display:flex}.golf-page .eyebrow{letter-spacing:1.7px;margin:0 0 9px;font:700 10px/1.5 monospace}.golf-page .dot{background:#507e53;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.golf-page h1{letter-spacing:-4px;margin:0;font:76px/.98 Georgia,Times New Roman,serif}.golf-page h1 em{color:var(--red);font-weight:400}.golf-page .intro-copy{margin:0 0 3px;font-size:13px;line-height:1.6}.golf-page .intro-copy span{color:#607064;margin-top:9px;font-size:10px;display:block}.golf-page .game{border:1px solid var(--ink);background:#faf8ef;border-radius:12px;overflow:hidden;box-shadow:0 5px #253b3110}.golf-page .scoreboard{align-items:center;gap:30px;padding:19px 24px;display:flex}.golf-page .course{margin-right:auto}.golf-page .course .eyebrow{color:#6a786a;margin-bottom:4px;font-size:9px;display:block}.golf-page .course strong{font:18px Georgia,serif}.golf-page .stat{border-left:1px solid var(--line);min-width:100px;padding-left:24px}.golf-page .stat span{letter-spacing:1px;margin-bottom:5px;font:9px monospace;display:block}.golf-page .stat strong{font:700 27px monospace}.golf-page .stat small{font:14px monospace}.golf-page .round-tag{border:1px solid var(--line);letter-spacing:.4px;border-radius:30px;padding:9px 12px;font:9px monospace}.golf-page .field-wrap{border-block:1px solid var(--ink);background:#c6ece1;position:relative}.golf-page .field{width:100%;height:clamp(360px,38vw,475px);overflow:hidden}.golf-page .field canvas{display:block}.golf-page .speed-control{border-bottom:1px solid var(--line);padding:12px 24px}.golf-page .speed-heading{letter-spacing:1px;justify-content:space-between;align-items:center;font:700 10px monospace;display:flex}.golf-page .speed-heading output{font-size:15px}.golf-page .speed-options{align-items:center;gap:10px;display:flex}.golf-page .speed-options input{min-width:0;min-height:44px;accent-color:var(--red);cursor:pointer;touch-action:pan-y;flex:1;margin:0}.golf-page .speed-options button{border:1px solid var(--line);min-height:44px;color:var(--ink);white-space:nowrap;background:0 0;border-radius:5px;padding:7px 10px;font-size:11px}.golf-page .speed-options button[aria-pressed=true]{border-color:var(--ink);background:#e4ebdd}.golf-page .speed-options input:focus-visible{outline:3px solid var(--red);outline-offset:3px}.golf-page .speed-control p{color:#677263;margin:0;font-size:10px}@media (max-width:650px){.golf-page .speed-control{padding-inline:14px}.golf-page .speed-options{gap:8px}.golf-page .speed-options button{padding-inline:8px}}.golf-page .field-caption{letter-spacing:1.2px;color:#315a4a;pointer-events:none;font:9px monospace;position:absolute;top:15px;left:20px}.golf-page .loading{text-align:center;background:#c6ece1;place-content:center;padding:25px;font-family:monospace;display:grid;position:absolute;inset:0}.golf-page .controls{align-items:center;gap:35px;padding:24px;display:flex}.golf-page .timing{flex:1}.golf-page .meter-heading{letter-spacing:1px;justify-content:space-between;gap:8px;font:700 9px monospace;display:flex}.golf-page .meter-heading span:last-child{color:#8c6824}.golf-page .meter{border:1px solid var(--ink);background:linear-gradient(to right, #9fbdab 0%, #d4dbac 18%, #f6e589 30%, #ffdb38 var(--perfect-start,38%), #ffdb38 var(--perfect-end,62%), #f6e589 70%, #d4dbac 82%, #9fbdab 100%);border-radius:4px;height:16px;margin-top:14px;position:relative}.golf-page .primary.bounce-now{color:#253a30;background:#ffdb38}.golf-page .meter-needle{background:var(--ink);border-radius:2px;width:4px;height:26px;position:absolute;top:-6px;left:0;transform:translate(-50%)}.golf-page .inactive{opacity:.3}.golf-page .timing p{color:#677263;margin:12px 0 0;font-size:11px}.golf-page .primary,.golf-page .results button{background:var(--red);color:#fff6dd;letter-spacing:.6px;border-radius:7px;min-width:255px;min-height:65px;padding:17px 26px;font-size:13px;font-weight:700;box-shadow:0 3px #70352b}.golf-page .primary span{letter-spacing:1.4px;opacity:.75;margin-top:8px;font:9px monospace;display:block}.golf-page button:hover:not(:disabled){filter:brightness(1.08)}.golf-page button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.golf-page button:disabled{opacity:.55;cursor:default}.golf-page .announcer{border-top:1px solid var(--line);text-align:center;letter-spacing:.8px;background:#e8e9d9;min-height:42px;margin:0;padding:13px 20px;font:10px/1.4 monospace}.golf-page .results{border:1px solid var(--ink);text-align:center;background:#fbf6e8f5;border-radius:12px;width:min(90%,420px);padding:28px 20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px #243b3120}.golf-page .results h2{letter-spacing:-1.5px;margin:10px 0;font:42px Georgia,serif}.golf-page .results p{font-size:13px;line-height:1.6}.golf-page .results button{width:min(100%,255px);min-width:0;min-height:48px;margin-top:8px}.golf-page .debug{color:#e9edce;background:#263b32;padding:16px 24px;font:11px monospace}.golf-page .debug pre{overflow:auto}.golf-page footer{color:#697365;justify-content:space-between;gap:20px;margin:26px 0;font:10px/1.8 monospace;display:flex}.golf-page footer strong{color:var(--ink);font-weight:400}.golf-page footer p{margin:0}.golf-page footer p:last-child{text-align:right}@media (max-width:760px){.golf-page main{padding:0 16px}.golf-page .masthead{padding:19px 0}.golf-page .wordmark{font-size:19px}.golf-page .wordmark span{letter-spacing:.5px;font-size:7px}.golf-page .edition{font-size:8px}.golf-page .intro{padding:26px 0 22px;display:block}.golf-page h1{letter-spacing:-2.5px;font-size:clamp(43px,9.7vw,72px)}.golf-page .intro-copy{margin-top:15px;font-size:12px}.golf-page .intro-copy br{display:none}.golf-page .intro-copy span{margin-top:3px}.golf-page .scoreboard{flex-wrap:wrap;gap:13px;padding:15px}.golf-page .course{flex:1 0 100%}.golf-page .course strong{font-size:15px}.golf-page .stat{border-left:0;min-width:85px;padding:0}.golf-page .stat strong{font-size:24px}.golf-page .round-tag{margin-left:auto;font-size:8px}.golf-page .field{height:360px}.golf-page .field-caption{letter-spacing:.3px;font-size:7px;left:12px}.golf-page .controls{padding:22px 16px 18px;display:block}.golf-page .primary{width:100%;min-width:0;min-height:65px;margin-top:20px}.golf-page .meter-heading{font-size:8px}.golf-page .announcer{font-size:9px}.golf-page footer{font-size:9px;display:block}.golf-page footer p:last-child{text-align:left;margin-top:14px}}@media (prefers-reduced-motion:reduce){.golf-page button:active:not(:disabled){transform:none}}.golf-shell .game-options{justify-content:space-between;align-items:center;gap:12px;margin:12px 0;display:flex}.golf-shell .game-options>button{color:#371337;background:#fff7e7;border:1px solid #bca06c;border-radius:10px;min-height:44px;padding:9px 18px;font-weight:800}
