@font-face{font-family:Barlow;src:url(/fonts/barlow-condensed-bold.ttf) format("truetype");font-style:normal;font-weight:700;font-display:swap}:root{font-family:Arial,Helvetica,sans-serif;color:#192735;background:#f5f0de;font-synthesis:none;--ink:#192735;--paper:#f5f0de;--coral:#ed7858;--sage:#b4cfaa;--muted:#62675f;--rule:#d2d0bc;accent-color:#d56b4f;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,a,input{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a,button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #ba503a;outline-offset:5px}canvas:focus-visible{outline-offset:-5px;outline-color:var(--sage)}::selection{background:var(--coral);color:var(--ink)}html{scrollbar-color:#969e8b var(--paper);scrollbar-width:thin}button{border:0;background:none}button,.primary-button{transition:background-color .15s ease-out,color .15s ease-out}p{margin:0}h1,h2,h3{margin:0;font-family:Barlow,Arial Narrow,sans-serif;font-weight:700}button svg{flex-shrink:0}[hidden]{display:none!important}.icon{width:21px;height:21px;vertical-align:middle;flex-shrink:0}.site-shell{max-width:1512px;padding:0 64px;margin:0 auto}.site-header{height:98px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:Barlow,sans-serif;font-size:31px;font-weight:700;letter-spacing:-.4px;white-space:nowrap}.brand>.icon{height:38px;width:38px;color:#d66b4f;stroke-width:1.4}.brand-period{color:#d66b4f}.club-caption{font-size:9px;letter-spacing:2px;color:#686e62;margin-left:16px}.site-header nav{display:flex;align-items:center;gap:28px}.text-button{display:inline-flex;align-items:center;gap:8px;padding:10px 0;font-size:12px;font-weight:500;min-height:44px}.text-button:hover{color:#b54f37}.site-header nav .icon{width:17px;height:17px}.about-button .icon{width:15px;height:15px;margin-left:5px}.intro{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:34px 0 33px}.intro h1{font-size:70px;line-height:.99;letter-spacing:-1px}.intro h1 span{color:#d5684d}.intro-copy{padding-top:9px;width:360px}.intro-copy>p{font-size:15px;line-height:1.7;color:#596255}.course-facts{display:flex;align-items:center;gap:13px;margin-top:20px;font-size:10px;color:#596255;white-space:nowrap}.course-facts span{display:flex;align-items:center;gap:7px}.course-facts .icon{width:15px;height:15px}.course-facts i{height:3px;width:3px;border-radius:50%;background:#969b89}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 286px;gap:26px;align-items:start}.game-panel{min-width:0}.course-header{height:82px;border-radius:12px 12px 0 0;background:#1b2937;color:var(--paper);display:flex;justify-content:space-between;align-items:center;padding:15px 25px;border-bottom:1px solid #3a4650}.hole-title{display:flex;align-items:center;gap:15px}.hole-number{font-family:Barlow,sans-serif;font-size:29px;color:var(--coral);width:44px;height:45px;border:1px solid #b36c5380;border-radius:5px;display:grid;place-items:center}.hole-count{font-size:8px;letter-spacing:1.7px;color:#b0b6b4}.hole-title h2{font-size:23px;letter-spacing:.4px;line-height:1.3}.hole-stats{display:flex;align-items:center;gap:26px}.hole-stats>div{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:27px}.hole-stats span{font-size:8px;letter-spacing:1.2px;color:#aeb8ba}.hole-stats strong{font-size:21px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1}.hole-stats>div:nth-child(2) strong{color:var(--coral)}.best-stat{border-left:1px solid #4c565d;padding-left:22px}.course-wrap{position:relative;background:#101b28;isolation:isolate}.course-wrap canvas{display:block;width:100%;aspect-ratio:1000/660;touch-action:none;cursor:crosshair}.game-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:64px;background:#1b2937;border-top:1px solid #34414c;border-radius:0 0 12px 12px;padding:10px 18px 10px 24px;color:var(--paper);gap:12px}.game-status{display:flex;align-items:center;gap:9px;min-width:0}.status-light{display:block;width:6px;height:6px;border-radius:50%;background:var(--sage);flex-shrink:0}.status-light.is-moving{background:var(--coral)}.game-status p{font-size:11px;line-height:1.6;color:#d0d7cf;max-width:300px}.toolbar-actions{display:flex;align-items:center;gap:14px;flex-shrink:0}.toolbar-button{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;padding:0 5px;min-height:44px;white-space:nowrap}.toolbar-button:hover{color:var(--coral)}.toolbar-button .icon{height:15px;width:15px}.toolbar-button kbd{margin-left:4px;color:#b1bcbe;border-color:#52616b}.toolbar-button[aria-expanded=true]{color:var(--coral)}kbd{display:inline-grid;place-items:center;font:10px Arial,sans-serif;min-width:18px;min-height:19px;padding:1px 4px;border:1px solid #b3b7a9;border-radius:3px}.course-note{display:flex;align-items:center;justify-content:space-between;padding:7px 2px 0;gap:16px}.course-note>span{display:flex;align-items:center;gap:8px;color:#676f61;font-size:10px;line-height:1.5}.course-note>span>.icon{width:17px;height:17px}.course-note>.text-button{flex-shrink:0;color:#757e6c}.course-note .text-button .icon{height:16px;width:16px}.scorecard{padding:20px 21px 16px;background:#eae7d5;border-radius:10px}.scorecard-heading{display:flex;align-items:center;justify-content:space-between}.scorecard-heading h2{font-size:27px;letter-spacing:.2px}.scorecard-heading .icon{height:21px;width:21px;color:#a85740}.scorecard-subtitle{font-size:10px;margin-top:8px;color:#59634f}.scorecard-columns{display:grid;grid-template-columns:1fr 29px 29px;margin-top:24px;padding:0 7px 10px;font-size:8px;letter-spacing:1.2px;color:#59634f;border-bottom:1px solid #c9cdb9;gap:8px}.scorecard-columns>span:not(:first-child){text-align:center}.hole-list{margin:3px -7px}.hole-row{display:grid;grid-template-columns:minmax(0,1fr) 29px 29px;align-items:center;gap:8px;min-height:39px;width:100%;text-align:left;padding:0 12px;border-bottom:1px solid #c7ccb750;border-radius:3px;font-size:11px;position:relative}.hole-row:hover{background:#dce0c9}.hole-row.is-current{background:var(--coral);color:#1c2b34}.row-hole{display:flex;align-items:center;gap:9px;min-width:0;white-space:nowrap}.row-number{font-size:9px;color:#59634f;font-variant-numeric:tabular-nums}.hole-row.is-current .row-number{color:#402a20}.hole-row>span:not(:first-child),.hole-row>strong{text-align:center;font-size:10px;font-variant-numeric:tabular-nums;font-weight:400}.hole-row>strong{color:#59634f}.hole-row.is-current>strong{color:#3c4031}.completed-icon{width:11px;height:11px;margin-left:auto;color:#536d49}.scorecard-total{display:grid;grid-template-columns:1fr 29px 29px;gap:8px;border-top:1px solid #adb79f;align-items:center;padding:14px 7px;margin-top:3px;font-size:9px;letter-spacing:.5px}.scorecard-total strong{text-align:center;font-size:12px;font-weight:500;font-variant-numeric:tabular-nums}.round-summary{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#dce1cd;margin:7px -3px 0;padding:14px 12px;border-radius:4px}.round-summary>div{display:flex;flex-direction:column;gap:8px}.round-summary>div>span{font-size:8px;letter-spacing:1px;color:#505f46}.round-summary strong{font-size:11px;font-weight:500}.round-summary>span{font-size:10px;color:#505f46;font-variant-numeric:tabular-nums}.new-round{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;font-size:10px;min-height:44px;margin-top:5px}.new-round .icon{width:13px;height:13px}.new-round:hover{color:#a64d38}.save-note{text-align:center;font-size:8px;line-height:1.6;color:#59634f}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:25px 0 0;padding:20px 0 28px;border-top:1px solid var(--rule)}.site-footer>span{font-size:8px;letter-spacing:1.6px;color:#626b5b}.site-footer p{font-family:Georgia,serif;font-style:italic;font-size:13px;color:#747965}.footer-star{display:flex;align-items:center;gap:8px}.footer-star .icon{width:12px;height:12px;color:#b46345}.primary-button{background:var(--coral);color:#152634;min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:5px;padding:12px 20px;font-size:12px;font-weight:600;white-space:nowrap}.primary-button:hover{background:#f09677}.primary-button:active{background:#d96d4e}.primary-button .icon{height:18px;width:18px}.aim-controls{padding:20px 24px 15px;background:#263644;color:var(--paper);display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:end;border-radius:0 0 10px 10px;margin-top:-8px;position:relative;z-index:1}.aim-controls>p{grid-column:1/-1;font-size:10px;color:#c3cbbf;margin-top:0}.aim-field label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:3px}.aim-field output{color:var(--coral);font-variant-numeric:tabular-nums}.aim-field input{width:100%;min-height:36px;margin:0;cursor:pointer;accent-color:var(--coral)}.power-display{position:absolute;left:25px;bottom:22px;color:var(--paper);width:160px;padding:11px 13px;background:#1b2937;border-radius:5px;pointer-events:none}.power-display>span{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1px}.power-display b{font-weight:500;color:var(--coral);font-variant-numeric:tabular-nums}.power-display>div{height:3px;background:#4c5e64;margin-top:10px}.power-display i{display:block;background:var(--coral);height:100%;width:50%}.result-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#101b28e8;padding:24px}.result-content{width:100%;max-width:375px;text-align:center;color:var(--paper);animation:arrival .4s cubic-bezier(.16,1,.3,1)}.result-content>.icon{color:var(--sage);height:42px;width:42px;margin-bottom:25px}.result-score{font-size:9px;letter-spacing:1.4px;color:#b4cfaa}.result-content h3{font-size:62px;line-height:1.2;margin:13px 0}.result-content>p:last-of-type{font-size:12px;line-height:1.7;color:#bdc8c7;max-width:290px;margin:0 auto}.result-actions{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:28px}.result-replay{color:#bdc8c7;font-size:11px;min-height:44px;text-decoration:underline;text-underline-offset:5px}.result-replay:hover{color:var(--paper)}@keyframes arrival{0%{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.canvas-fallback{padding:80px 35px;color:var(--paper);font-size:15px;line-height:1.8;min-height:320px}dialog{border:0;border-radius:12px;background:var(--paper);color:var(--ink);padding:30px;max-width:520px;width:calc(100% - 32px);max-height:85dvh;box-shadow:0 24px 70px #050b194d}dialog::backdrop{background:#0b1726bb}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:18px}.dialog-header h2{font-size:32px;line-height:1.05}.icon-button{height:44px;width:44px;display:grid;place-items:center;flex-shrink:0;border-radius:5px}.icon-button:hover{background:#e3dfca}.dialog-intro{font-size:12px;line-height:1.7;margin-top:8px;color:#626a5c}.help-steps{padding-left:21px;margin:25px 0;font-size:13px}.help-steps li{padding-left:8px;margin-top:20px}.help-steps strong{font-size:14px}.help-steps p{font-size:12px;line-height:1.8;color:#59634f;margin-top:7px}.keyboard-help{border-top:1px solid #c7ccba;padding-top:20px;font-size:12px;line-height:1.8;color:#59634f}.keyboard-help>strong{color:var(--ink);font-size:13px}.keyboard-help p{margin-top:8px}.keyboard-help kbd{margin:0 2px}.dialog-done{margin-top:26px;width:100%}.about-lines{display:flex;flex-direction:column;gap:20px;margin-top:25px;font-size:14px;line-height:1.8;color:#59634f}.confirm-actions{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-top:25px}#round-dialog>p{font-size:14px;line-height:1.8;margin-top:20px;color:#59634f}.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){.site-shell{max-width:1536px}.intro h1{font-size:78px}.intro{padding:42px 0}.hole-row{min-height:44px}}@media(max-width:1200px){.site-shell{padding:0 36px}.game-layout{grid-template-columns:minmax(0,1fr) 260px;gap:20px}.scorecard{padding:20px 16px 16px}.intro h1{font-size:64px}.intro-copy{width:320px}.club-caption{display:none}.game-status p{max-width:220px}.toolbar-actions{gap:7px}.course-header{padding:15px 20px}.hole-stats{gap:18px}.game-toolbar{padding:8px 15px}.hole-row{padding:0 9px;min-height:37px;font-size:10px}.row-hole{gap:7px}.course-note>span{font-size:9px}.site-footer{margin-top:24px}}@media(max-width:1000px){.site-shell{padding:0 30px;max-width:850px}.game-layout{grid-template-columns:1fr}.intro h1{font-size:62px}.intro-copy{width:280px}.intro-copy>p{font-size:13px}.course-facts{font-size:9px;gap:9px}.course-facts span:last-child{display:none}.scorecard{margin-top:5px;padding:24px}.hole-list{display:grid;grid-template-columns:1fr 1fr;column-gap:20px;margin:6px -7px}.hole-row{font-size:11px;min-height:44px}.scorecard-columns{grid-template-columns:1fr 29px 29px;margin-top:18px}.scorecard-columns>span:last-child,.scorecard-columns>span:nth-child(2){visibility:hidden}.scorecard-total{margin-left:auto;max-width:260px}.scorecard-subtitle{font-size:11px}.round-summary{margin-top:0}.scorecard-total strong{font-size:13px}.new-round{font-size:11px}.save-note{font-size:9px}.scorecard-heading h2{font-size:29px}.site-footer{margin-top:25px}.hole-title h2{font-size:25px}.game-status p{max-width:350px;font-size:11px}.toolbar-button{font-size:11px}.course-note>span{font-size:11px}.site-footer .footer-star{display:none}}@media(max-width:620px){.site-shell{padding:0 18px}.site-header{height:77px;gap:12px}.brand{font-size:27px;gap:8px}.brand>.icon{width:32px;height:32px}.site-header nav{gap:16px}.site-header .text-button{font-size:10px;gap:6px}.site-header .text-button .icon{width:16px;height:16px}.about-button .icon{display:none}.intro{padding:26px 0 25px;display:block}.intro h1{font-size:clamp(43px,12vw,62px);line-height:1;letter-spacing:-.6px}.intro-copy{padding-top:16px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px}.intro-copy>p{font-size:11px;line-height:1.65}.course-facts{margin-top:0;font-size:9px;max-width:86px;white-space:normal;line-height:1.5}.course-facts span{gap:7px}.course-facts .icon{flex-shrink:0}.course-facts i{display:none}.game-layout{gap:20px}.course-header{height:76px;padding:12px 14px;border-radius:9px 9px 0 0}.hole-title{gap:10px}.hole-number{width:34px;height:38px;font-size:24px}.hole-title h2{font-size:20px;letter-spacing:.2px}.hole-count{font-size:7px;letter-spacing:1.2px}.hole-stats{gap:17px}.hole-stats span{font-size:7px}.hole-stats strong{font-size:19px}.best-stat{display:none!important}.hole-stats>div{min-width:23px}.course-wrap canvas{aspect-ratio:660/1000}.game-toolbar{display:block;padding:8px 14px 2px;border-radius:0 0 9px 9px}.game-status{padding:7px 0 4px;min-height:29px}.game-status p{font-size:9px;max-width:none}.status-light{height:5px;width:5px}.toolbar-actions{justify-content:space-between;gap:12px}.toolbar-button{font-size:11px;padding:0;min-height:44px}.toolbar-button .icon{width:16px;height:16px}.course-note{padding-top:6px;gap:9px;min-height:48px}.course-note>span{font-size:10px;gap:7px}.course-note>span>.icon{width:17px;height:17px}.course-note>.text-button{padding:10px 2px}.scorecard{margin-top:0;padding:21px 19px 17px}.hole-list{display:block;margin-left:-6px;margin-right:-6px}.hole-row{font-size:12px;min-height:44px;padding:0 13px;grid-template-columns:1fr 35px 35px}.row-hole{gap:11px}.row-number{font-size:10px}.hole-row>strong,.hole-row>span:not(:first-child){font-size:12px}.scorecard-columns{grid-template-columns:1fr 35px 35px;gap:8px;padding:0 7px 11px}.scorecard-columns>span:last-child,.scorecard-columns>span:nth-child(2){visibility:visible}.scorecard-heading h2{font-size:29px}.scorecard-total{max-width:none;grid-template-columns:1fr 35px 35px;padding:16px 7px}.scorecard-subtitle{font-size:11px}.round-summary{padding:15px 13px}.round-summary strong{font-size:12px}.round-summary>span{font-size:11px}.save-note{font-size:9px}.site-footer{margin-top:23px;padding:20px 0 24px;gap:12px}.site-footer>span{font-size:7px;letter-spacing:1px}.site-footer p{font-size:11px}.aim-controls{grid-template-columns:1fr 1fr;gap:12px;padding:18px 15px}.aim-controls>.primary-button{grid-column:1/-1}.aim-controls>p{font-size:9px;text-align:center}.power-display{left:16px;bottom:16px}.result-content h3{font-size:51px}.result-content>.icon{height:34px;width:34px;margin-bottom:20px}.result-overlay{padding:18px}.result-score{font-size:8px}.result-content>p:last-of-type{font-size:12px}.result-actions{margin-top:22px}dialog{padding:23px}.dialog-header h2{font-size:29px}.about-lines{font-size:13px}.help-steps{padding-left:18px}.help-steps li{padding-left:4px}.confirm-actions{gap:15px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(pointer:coarse){.hole-row,.aim-field input{min-height:44px}}
