:root{--ink:#173e43;--paper:#f6f4e9;--yellow:#f8df5b;--muted:#6d8079;--outline:#cfd6c9}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #e97847;outline-offset:5px}button:disabled{cursor:default}button[hidden],[hidden]{display:none!important}.page{max-width:1640px;margin:auto;padding:0 4.3%}.masthead{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--outline)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--ink);font-size:10px;font-weight:900;letter-spacing:1.4px;line-height:1.35}.brand-icon{font-family:Georgia,serif;font-style:italic;font-size:47px;line-height:.6;letter-spacing:-6px;position:relative;width:48px;height:42px;display:flex;align-items:center}.brand-icon span{position:absolute;left:5px;top:22px;font-size:38px;letter-spacing:0}.edition,.local{font-family:monospace;font-size:10px;letter-spacing:1.5px}.edition{margin-left:-50px;color:var(--muted)}.local{border:1px solid var(--outline);border-radius:20px;padding:10px 14px;display:flex;align-items:center;gap:8px}.local i{width:6px;height:6px;border-radius:100%;background:#709b71}.title-row{display:flex;align-items:center;justify-content:space-between;padding:30px 0 23px}.eyebrow{font-family:monospace;font-size:10px;letter-spacing:1.9px;margin:0 0 10px}h1{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(42px,5.2vw,76px);font-weight:900;letter-spacing:-1.5px;line-height:1;margin:0;position:relative}h1 span{color:#438773}h1 svg{width:75px;height:40px;margin-left:24px;stroke:#e28b53;stroke-width:3;fill:none;transform:rotate(-8deg)}.tagline{font-family:Georgia,serif;font-style:italic;font-size:17px;line-height:1.4;text-align:right;margin:18px 0 0}.game{position:relative;width:100%;aspect-ratio:1.98;min-height:420px;max-height:720px;background:#b4ded5;border:1px solid #799c8d;border-radius:12px;overflow:hidden;isolation:isolate;box-shadow:0 4px 0 #173e430b;touch-action:manipulation}canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.grain{position:absolute;inset:0;pointer-events:none;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.65' d='M0 0h180v180H0z'/%3E%3C/svg%3E");z-index:2}.game-top{position:absolute;left:28px;right:28px;top:23px;display:flex;align-items:start;justify-content:space-between;pointer-events:none}.conditions{display:flex;align-items:center;gap:10px;font-family:monospace;font-size:10px;font-weight:bold;letter-spacing:1.5px}.wind-arrow{font-size:31px;font-weight:normal}.condition-detail{display:block;margin-top:5px;font-size:8px;font-weight:normal;letter-spacing:1.1px;opacity:.65}.scores{display:flex;gap:28px;text-align:right}.scores>div{min-width:76px}.best{border-left:1px solid #173e432b;padding-left:25px}.score-label{font-family:monospace;font-size:9px;letter-spacing:1px;display:block;margin-bottom:5px}.score-value{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:32px;line-height:1}.score-value b{font-weight:normal}.score-value small{font-size:16px;margin-left:4px}.intro{position:absolute;top:25%;left:52%;width:43%;z-index:3}.session-label{font-family:monospace;font-size:9px;letter-spacing:1.4px;font-weight:600}.intro h2,.result h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;letter-spacing:-.8px;font-size:clamp(34px,4.3vw,64px);line-height:.98;margin:17px 0}.intro h2 em{font-style:normal;color:#387b69}.intro p{font-size:13px;line-height:1.6;margin:16px 0 22px;color:#315c5c}.primary{background:var(--yellow);border:1.5px solid var(--ink);box-shadow:3px 4px 0 var(--ink);border-radius:5px;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:38px;min-width:204px;font-size:12px;font-weight:900;letter-spacing:1px;color:var(--ink);transition:transform .12s,box-shadow .12s}.primary:hover{transform:translate(-1px,-2px);box-shadow:4px 6px 0 var(--ink);background:#ffe979}.primary:active{transform:translate(3px,4px);box-shadow:0 0 0 var(--ink)}.primary span{font-size:21px;line-height:1}.key-hint{display:block;font-family:monospace;font-size:9px;letter-spacing:.4px;margin-top:15px;color:#244f50}kbd{font:inherit;font-size:9px;border:1px solid #476f6c70;border-radius:3px;padding:2px 5px;margin:0 2px}.game-bottom{position:absolute;left:27px;bottom:18px;right:23px;display:flex;align-items:center;justify-content:space-between;z-index:4;font-family:monospace;font-size:9px;letter-spacing:1px;color:#e5f5de}.game-tools{display:flex;gap:7px}.game-tools button{display:grid;place-items:center;width:31px;height:31px;border:1px solid #d4efe05c;border-radius:50%;background:#225f5c42;color:#edfae4;font-size:19px}.game-tools button:hover{background:#173e43}.game-tools svg{width:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.scene-note{position:absolute;top:22%;left:8%;font-family:monospace;font-size:10px;line-height:1.6;letter-spacing:1px;transform:rotate(-9deg);color:#3f6e68;pointer-events:none}.scene-note svg{display:block;width:90px;height:63px;margin-left:65px;stroke:#5b8575;stroke-width:1.6;fill:none}.instructions{display:flex;gap:4.1%;align-items:center;padding:27px 0 28px;border-bottom:1px solid var(--outline)}.instructions>div{display:flex;gap:13px;align-items:center}.step{height:29px;width:29px;border:1px solid #b7c8b5;border-radius:50%;display:grid;place-items:center;font-family:monospace;font-size:10px;flex-shrink:0}.instructions p{margin:0}.instructions b{font-family:monospace;font-size:10px;letter-spacing:.5px;display:block}.instructions p span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.footer-mark{margin-left:auto;max-width:165px;font-family:monospace;font-size:9px;line-height:1.5;letter-spacing:1px;display:flex;gap:14px}.footer-mark>span{font-size:27px}footer{display:flex;justify-content:space-between;padding:19px 0 26px;font-family:monospace;color:var(--muted);font-size:8px;letter-spacing:.9px}.launch-message{position:absolute;top:26%;left:49%;text-align:center;transform:translateX(-25%);pointer-events:none;z-index:3}.launch-message>span{display:block;font-family:monospace;font-size:10px;letter-spacing:2px;margin-bottom:8px}.launch-message strong{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:clamp(30px,4.5vw,60px);letter-spacing:-1px;text-shadow:0 2px 0 #e5f3d5}.timing{position:absolute;left:55%;top:50%;width:30%;max-width:340px;z-index:3;text-align:center}.timing-label{display:flex;justify-content:space-between;font-family:monospace;font-size:8px;letter-spacing:.7px;margin-bottom:10px}.timing-track{height:22px;background:#28555599;border:2px solid var(--ink);position:relative;border-radius:4px;margin-bottom:18px;box-shadow:0 2px 0 #eff9dd66}.good-zone{position:absolute;left:70%;width:29%;height:100%;background:#a3b967}.perfect-zone{position:absolute;left:82%;width:9%;height:100%;background:var(--yellow)}#timing-needle{position:absolute;left:0;top:-5px;width:4px;height:28px;background:var(--paper);border:1px solid var(--ink);box-shadow:0 0 0 1px #fff8;transform:translateX(-2px)}.timing .primary{width:100%;justify-content:center}.timing .key-hint{font-size:8px}.result{position:absolute;z-index:5;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--paper);border:2px solid var(--ink);border-radius:8px;padding:27px 35px 25px;text-align:center;box-shadow:7px 8px 0 #173e433d;width:360px;max-width:88%;}.result h2{font-size:38px;margin:13px 0 0}.result-distance{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:77px;line-height:1.15;color:#3d806a}.result-distance small{font-size:30px;margin-left:6px}.result p{font-size:12px;line-height:1.5;max-width:260px;margin:3px auto 16px}.result-details{border-top:1px solid var(--outline);border-bottom:1px solid var(--outline);display:flex;justify-content:space-between;gap:15px;padding:11px 0;margin-bottom:19px;font-family:monospace;font-size:8px;letter-spacing:.4px}.result-details b{display:block;font-size:11px;margin-top:5px}.result .primary{width:100%}.result .key-hint{margin-top:13px}dialog{background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:10px;width:440px;max-width:90vw;padding:34px;box-shadow:8px 8px 0 #173e4344}dialog::backdrop{background:#153c4399;backdrop-filter:blur(4px)}dialog h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:36px;margin:10px 0 22px}dialog p{font-size:14px;line-height:1.65}dialog #close-help{position:absolute;right:12px;top:8px;border:0;background:none;font-size:27px;color:var(--ink)}dialog .primary{margin-top:22px;width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1600px){.game{aspect-ratio:2.05}}@media(max-width:1000px){.page{padding:0 3%}.masthead{height:80px}.title-row{padding:24px 0 20px}.edition{display:none}.game{min-height:440px;aspect-ratio:1.8}.intro{left:51%;top:27%}.intro h2{font-size:43px}.intro p{font-size:12px}.scene-note{top:30%;left:5%;font-size:9px}.instructions{gap:3%}.footer-mark{display:none}.instructions>div{flex:1}.instructions p span{font-size:9px}.conditions{font-size:9px}.scores{gap:15px}.best{padding-left:15px}.timing{left:56%;width:34%}}
@media(max-width:600px){.page{padding:0 16px}.masthead{height:72px}.brand{font-size:8px;gap:7px}.brand-icon{transform:scale(.85);transform-origin:left center;width:40px}.local{font-size:8px;padding:8px 10px;letter-spacing:.7px}.eyebrow{font-size:8px;letter-spacing:1px}.title-row{padding:23px 0 19px}h1{font-size:43px;letter-spacing:-1.3px}h1 svg{display:none}.tagline{display:none}.game{min-height:580px;aspect-ratio:auto;border-radius:9px}.game-top{left:16px;right:16px;top:17px}.conditions{font-size:8px;letter-spacing:.5px;gap:5px}.condition-detail{font-size:7px;letter-spacing:0}.wind-arrow{font-size:24px}.scores{gap:11px}.scores>div{min-width:48px}.best{padding-left:11px}.score-label{font-size:7px;letter-spacing:.2px}.score-value{font-size:26px}.score-value small{font-size:12px}.intro{left:8%;top:13%;width:86%;text-align:center}.session-label{font-size:8px;letter-spacing:1px}.intro h2{font-size:43px;line-height:1; margin:13px 0}.intro h2 br{display:none}.intro h2 em{display:block}.intro p{font-size:12px;margin:11px 0 16px}.intro .primary{margin:auto;padding:12px 18px;min-width:190px}.intro .key-hint{margin-top:12px;font-size:8px}.scene-note{display:none}.game-bottom{left:15px;right:14px;bottom:13px;font-size:7px;letter-spacing:.3px}.game-tools{gap:5px}.game-tools button{width:29px;height:29px}.instructions{gap:13px;padding:22px 0;align-items:flex-start}.instructions>div{display:block}.step{margin-bottom:10px;width:24px;height:24px;font-size:9px}.instructions b{font-size:8px;line-height:1.5;letter-spacing:0}.instructions p span{font-size:9px;line-height:1.5;margin-top:4px}footer{font-size:7px;line-height:1.5;gap:30px;padding:15px 0}footer>span:last-child{text-align:right}.launch-message{top:23%;left:50%;width:95%;transform:translateX(-50%)}.launch-message strong{font-size:42px}.timing{left:15%;top:36%;width:70%;max-width:none}.timing .primary{padding:11px 18px}.timing .key-hint{margin-top:12px}.result{padding:25px;top:46%;width:310px}.result h2{font-size:34px}.result-distance{font-size:70px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.primary{transition:none}}
.game-tools .timing-help{width:auto;padding:0 11px;border-radius:18px;font-family:monospace;font-size:9px;font-weight:bold;letter-spacing:.4px;white-space:nowrap}
.game-tools .timing-help[aria-pressed="true"]{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
@media(max-width:600px){#stage-label{max-width:35%;line-height:1.5}.game-tools .timing-help{font-size:7px;padding:0 8px}}
