@font-face{font-family:Sora;src:url(../fonts/Sora-VF.subset.woff2)format("woff2");font-weight:100 800;font-display:swap}@font-face{font-family:Figtree;src:url(../fonts/Figtree-VF.subset.woff2)format("woff2");font-weight:300 900;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(../fonts/NotoSansSC-VF.subset.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--ink:#1f1a3d;--ink-2:#2d2758;--ink-soft:#1f1a3d8c;--cream:#fff8ea;--cream-2:#f4e6c8;--paper:#fffdf6;--sun:#ffd35c;--sun-2:#ffb42a;--grass:#7ee06a;--grass-2:#3fb85a;--sky:#5cc2ff;--coral:#ff6f61;--coral-2:#e2483f;--pink:#ff8cf2;--teal:#45d6c8;--good:#7ee06a;--bad:#ff7a6b;--gold:#ffd35c;--display:"Sora", "Noto Sans SC", system-ui, sans-serif;--body:"Figtree", "Noto Sans SC", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--edge:max(16px, var(--safe-l));--edge-r:max(16px, var(--safe-r));--line:3px;--drop:0 5px 0 var(--ink);--radius:18px}:lang(zh-CN){--display:"Noto Sans SC", "Sora", system-ui, sans-serif;--body:"Noto Sans SC", "Figtree", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;background:#8fd3ff;margin:0;overflow:hidden}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;font-size:16px;position:fixed;inset:0}button{font:inherit;color:inherit}.is-hidden{display:none!important}.stroke-text,.logo-text span,.modal-title,.toast b,.banner b,.card-score b,.results-total b,.hud-strokes b,.hud-hole-no b{font-family:var(--display);-webkit-text-stroke:.16em var(--ink);paint-order:stroke fill;text-shadow:0 .09em 0 var(--ink);letter-spacing:.01em;font-weight:800}.screen{opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s linear .25s;position:absolute;inset:0}.screen.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s,visibility}.screen-hud.is-active{pointer-events:none}.screen-modal{padding:max(14px, var(--safe-t)) var(--edge-r) max(14px, var(--safe-b)) var(--edge);-webkit-backdrop-filter:blur(3px);background:radial-gradient(#1f1a3d59,#1f1a3db3);place-items:center;display:grid}.panel,.modal{background:linear-gradient(180deg, var(--paper), var(--cream) 60%, var(--cream-2));border:var(--line) solid var(--ink);border-radius:var(--radius);box-shadow:var(--drop), inset 0 -4px 0 #1f1a3d14, inset 0 2px 0 #fff;color:var(--ink)}.modal{width:min(460px,100%);max-height:100%;box-shadow:0 8px 0 var(--ink), 0 22px 40px #14103259, inset 0 -5px 0 #1f1a3d14, inset 0 2px 0 #fff;scrollbar-width:thin;padding:26px 26px 22px;transition:transform .35s cubic-bezier(.2,1.5,.4,1);position:relative;overflow:auto;transform:translateY(18px)scale(.96)}.modal:before{content:"";border-radius:calc(var(--radius) - 7px);pointer-events:none;border:2px dashed #1f1a3d24;position:absolute;inset:7px}.screen.is-active .modal{transform:none}.modal-wide{width:min(820px,100%)}.modal-title{text-align:center;color:#fff;margin:-4px 0 16px;font-size:34px}.menu{flex-direction:column;gap:12px;display:flex}.menu-row{flex-flow:wrap;justify-content:center;margin-top:18px}.btn{border:var(--line) solid var(--ink);background:linear-gradient(180deg, #fff, var(--cream) 55%, var(--cream-2));min-height:52px;box-shadow:0 5px 0 var(--ink), inset 0 -4px 0 #1f1a3d1f, inset 0 2px 0 #fff;color:var(--ink);font-family:var(--display);letter-spacing:.02em;cursor:pointer;border-radius:14px;outline:none;justify-content:center;align-items:center;padding:10px 26px;font-size:18px;font-weight:800;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex;position:relative}.btn:hover,.btn:focus-visible{box-shadow:0 7px 0 var(--ink), inset 0 -4px 0 #1f1a3d1f, inset 0 2px 0 #fff;filter:brightness(1.04);transform:translateY(-2px)}.btn:active{box-shadow:0 1px 0 var(--ink), inset 0 -2px 0 #1f1a3d1f;transform:translateY(4px)}.btn:focus-visible:after,.btn:focus:after{content:"";border:3px solid var(--sun);box-shadow:0 0 0 2px var(--ink);pointer-events:none;border-radius:20px;animation:1.1s ease-in-out infinite focus-pulse;position:absolute;inset:-9px}@keyframes focus-pulse{50%{inset:-6px}}.btn-primary{background:linear-gradient(180deg, #fff1a8, var(--sun) 50%, var(--sun-2))}.btn-danger{background:linear-gradient(180deg, #ffc1b8, var(--coral) 55%, var(--coral-2));color:#fff;text-shadow:0 2px 0 var(--ink)}.btn-big{min-height:64px;font-size:24px}.btn-small{min-height:44px;padding:6px 18px;font-size:16px}kbd{border:2px solid var(--ink);min-width:1.75em;height:1.75em;box-shadow:0 3px 0 var(--ink);color:var(--ink);font:800 .78em/1 var(--display);vertical-align:.1em;background:linear-gradient(#fff,#ece0c6);border-radius:7px;place-items:center;margin:0 .12em;padding:0 .4em;display:inline-grid}kbd.wide{min-width:3.4em}kbd.round{border-radius:50%;width:1.8em;padding:0}kbd.round.a{background:#7ee06a}kbd.round.b{background:#ff7a6b}kbd.round.y{background:#ffd35c}kbd.pill{background:linear-gradient(#e8e3ff,#b9b0ee);border-radius:999px;min-width:2.4em}kbd.mouse{background:linear-gradient(#fff 45%,#d9cfb4 45%);border-radius:10px 10px 12px 12px;width:1.55em;min-width:1.55em;height:2.05em;padding:0;font-size:.72em;line-height:1}.screen-boot{background:radial-gradient(at 50% 30%,#bfe8ff,#6cc0f5 60%,#4a9ee0);place-content:center;justify-items:center;gap:22px;display:grid}.boot-logo{justify-items:center;gap:8px;display:grid}.boot-logo b{font:800 34px var(--display);color:#fff;-webkit-text-stroke:6px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink)}.boot-logo .logo-island{width:96px;animation:2.4s ease-in-out infinite bob}.boot-bar{border:var(--line) solid var(--ink);width:260px;height:20px;box-shadow:var(--drop);background:#fff;border-radius:999px;overflow:hidden}.boot-bar i{background:repeating-linear-gradient(-45deg, var(--grass) 0 12px, var(--grass-2) 12px 24px);transform-origin:0;height:100%;transition:transform .3s;display:block;transform:scaleX(.04)}.boot-label{font:700 15px var(--body);color:var(--ink)}@keyframes bob{50%{transform:translateY(-8px)rotate(-2deg)}}.screen-title{padding:max(20px, var(--safe-t)) var(--edge-r) max(20px, var(--safe-b)) calc(var(--edge) + 3vw);align-items:center;display:flex}.title-vignette{pointer-events:none;background:linear-gradient(90deg,#182c5c6b,#182c5c1a 45%,#0000 70%);position:absolute;inset:0}.title-block{flex-direction:column;align-items:flex-start;gap:18px;width:min(430px,100%);display:flex;position:relative}.logo{flex-direction:column;align-items:flex-start;display:flex;position:relative}.logo-island{filter:drop-shadow(0 4px #1f1a3d59);width:88px;animation:3s ease-in-out infinite bob;display:block}.logo-text{transform-origin:0 100%;flex-direction:column;margin:4px 0 0;line-height:.92;display:flex;transform:rotate(-3deg)}.logo-top{color:#fff;font-size:clamp(30px,4.4vw,46px)}.logo-main{color:var(--sun);font-size:clamp(64px,10vw,112px);text-shadow:0 .07em 0 var(--ink), 0 .13em 0 #1f1a3d59!important;-webkit-text-stroke:.13em var(--ink)!important}:lang(zh-CN) .logo-main{letter-spacing:.06em;font-size:clamp(70px,11vw,120px)}:lang(zh-CN) .logo-top{letter-spacing:.08em}.tagline{border:var(--line) solid var(--ink);background:var(--ink);color:#fff;font:700 15px var(--body);border-radius:12px;margin:0;padding:8px 16px;transform:rotate(-1.5deg);box-shadow:0 4px #1f1a3d66}.title-block .menu{width:min(300px,100%)}.title-block .menu .btn{justify-content:flex-start;padding-left:22px}.title-best{border:var(--line) solid var(--ink);box-shadow:0 4px 0 var(--ink);font:800 14px var(--display);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:7px 14px 7px 10px;display:inline-flex}.title-best svg{width:20px;color:var(--coral)}.bottom-bar{left:var(--edge);right:var(--edge-r);bottom:max(12px, var(--safe-b));font:700 13px var(--body);color:#fff;text-shadow:0 2px 0 var(--ink);pointer-events:none;justify-content:space-between;align-items:flex-end;gap:12px;display:flex;position:absolute}.bottom-bar small{opacity:.85;text-align:right;font-size:11px}.prompts{gap:16px;display:flex}.prompts span{align-items:center;gap:4px;display:inline-flex}.hud-top-left{top:max(14px, var(--safe-t));left:var(--edge);position:absolute}.hud-top-center{top:max(14px, var(--safe-t));flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hud-top-right{top:max(14px, var(--safe-t));right:var(--edge-r);gap:10px;display:flex;position:absolute}.hud-hole{align-items:stretch;padding:0;display:flex;overflow:hidden}.hud-hole-no{background:linear-gradient(180deg, #ff9d7e, var(--coral) 60%, var(--coral-2));border-right:var(--line) solid var(--ink);color:#fff;align-content:center;place-items:center;padding:6px 14px 8px;display:grid}.hud-hole-no small{font:800 11px var(--display);letter-spacing:.14em;text-shadow:0 2px 0 var(--ink)}.hud-hole-no b{color:#fff;font-size:34px;line-height:1}.hud-hole-info{flex-direction:column;justify-content:center;gap:2px;padding:8px 16px 8px 12px;display:flex}.hud-hole-info b{font:800 17px var(--display)}.hud-hole-info span{font:800 13px var(--body);color:var(--grass-2);letter-spacing:.04em;text-transform:uppercase}.hud-strokes{border-radius:999px;align-items:center;gap:10px;padding:6px 16px 8px;display:flex}.hud-strokes>span{font:800 13px var(--display);letter-spacing:.1em;text-transform:uppercase}.hud-strokes b{color:#fff;text-align:center;min-width:.7em;font-size:32px;line-height:1}.hud-strokes.bump b{animation:.35s cubic-bezier(.3,2,.5,1) bump}@keyframes bump{40%{transform:scale(1.5)rotate(-6deg)}}.hud-dots{gap:4px;display:flex}.hud-dots i{border:2px solid var(--ink);background:#fff;border-radius:50%;width:11px;height:11px}.hud-dots i.on{background:var(--grass)}.hud-dots i.over{border-style:dashed}.hud-dots i.on.over{background:var(--coral);border-style:solid}.hud-totals{color:#fff;font:700 13px var(--body);background:#1f1a3db8;border-radius:999px;align-items:center;gap:8px;padding:3px 12px;display:flex}.hud-rel{font:800 13px var(--display);color:var(--ink);background:#fff;border-radius:999px;padding:1px 8px}.hud-rel[data-tone=good]{background:var(--good)}.hud-rel[data-tone=bad]{background:var(--bad)}.hud-btn{pointer-events:auto;border:var(--line) solid var(--ink);background:linear-gradient(180deg, #fff, var(--cream-2));width:50px;height:50px;box-shadow:0 4px 0 var(--ink);color:var(--ink);cursor:pointer;border-radius:14px;place-items:center;transition:transform 80ms;display:grid}.hud-btn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.hud-btn svg{width:26px}.hud-overview{opacity:.4;pointer-events:none}#ui[data-phase=aim] .hud-overview,#ui[data-phase=overview] .hud-overview{opacity:1;pointer-events:auto}#ui[data-phase=overview] .hud-overview{background:var(--sun)}.hud-power.is-active~.hint,#ui:not([data-phase=aim]) .hint{opacity:0;animation:none}.hud-drag{opacity:0;width:100%;height:100%;transition:opacity .12s;position:absolute;inset:0;overflow:visible}.hud-drag.is-active{opacity:1}.hud-drag line{stroke:#fff;stroke-width:5px;stroke-linecap:round;stroke-dasharray:2 12;filter:drop-shadow(0 2px #1f1a3dbf)}.hud-drag circle.start{fill:#ffffff40;stroke:#fff;stroke-width:3px;filter:drop-shadow(0 2px #1f1a3dbf)}.hud-drag circle.end{fill:var(--grass);stroke:var(--ink);stroke-width:3px;transition:fill .1s}.hud-drag[data-level=high] circle.end{fill:var(--sun)}.hud-drag[data-level=max] circle.end{fill:var(--coral)}.hud-drag[data-level=dead] circle.end{fill:#fff}.hud-drag[data-level=dead] line{opacity:.4}.hud-ready{opacity:0;transition:opacity .2s;position:absolute;top:0;left:0}.hud-ready.is-active{opacity:1}.hud-ready i{width:0;height:0;filter:drop-shadow(0 2px 0 var(--ink));border:9px solid #0000;border-top:12px solid #fff;margin-left:-9px;animation:.9s ease-in-out infinite ready-bob;display:block}@keyframes ready-bob{50%{transform:translateY(-6px)}}.hud-power{left:50%;bottom:max(22px, var(--safe-b));opacity:0;width:min(360px,70vw);padding:10px 16px;transition:opacity .15s,transform .25s cubic-bezier(.2,1.6,.4,1);position:absolute;transform:translate(-50%,30px)}.hud-power.is-active{opacity:1;transform:translate(-50%)}.hud-power-label{font:800 13px var(--display);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;align-items:baseline;display:flex}.hud-power-label b{letter-spacing:0;font-size:24px}.hud-power-label small{font-size:13px}.hud-power-bar{border:var(--line) solid var(--ink);background:#e9ddc0;border-radius:999px;height:20px;margin:4px 0 6px;position:relative;overflow:hidden;box-shadow:inset 0 3px #1f1a3d26}.hud-power-fill{clip-path:inset(0 calc(100% - var(--p,0%)) 0 0 round 999px);background:linear-gradient(90deg,#62e06a,#d9f25a 45%,#ffd35c 65%,#ff9b45 82%,#ff5a5a);position:absolute;inset:0}.hud-power-fill:after{content:"";background:#ffffff8c;border-radius:99px;height:5px;position:absolute;inset:2px 4px auto}.hud-power-bar .tick{background:#1f1a3d59;width:2px;position:absolute;top:0;bottom:0}.tick.t1{left:25%}.tick.t2{left:50%}.tick.t3{left:75%}.hud-power[data-level=max] .hud-power-bar{animation:.12s linear infinite shake}@keyframes shake{25%{transform:translate(-1px)}75%{transform:translate(1px)}}.hud-power-help{text-align:center;font:700 12px var(--body);color:var(--ink-soft);display:block}.hud-power-help span{display:none}#ui:not([data-method=gamepad]):not([data-method=touch]) .hud-power-help .m-key,#ui[data-method=gamepad] .hud-power-help .m-pad,#ui[data-method=touch] .hud-power-help .m-touch{display:inline}.banner{background:linear-gradient(180deg, #fff, var(--cream));border:var(--line) solid var(--ink);box-shadow:0 7px 0 var(--ink);opacity:0;pointer-events:none;text-align:center;border-radius:20px;justify-items:center;gap:2px;padding:14px 44px 16px;display:grid;position:absolute;top:15%;left:50%;transform:translate(-50%,-30px)scale(.8)}.banner.show{animation:3.1s cubic-bezier(.2,1.4,.4,1) forwards banner}.banner small{background:var(--coral);border:2px solid var(--ink);color:#fff;font:800 13px var(--display);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:3px 14px}.banner b{color:#fff;font-size:clamp(30px,4.4vw,46px);line-height:1.15}.banner span{font:800 15px var(--display);color:var(--grass-2);letter-spacing:.08em;text-transform:uppercase}.banner em{font:600 14px var(--body);color:var(--ink-soft);max-width:36ch;font-style:normal}@keyframes banner{0%{opacity:0;transform:translate(-50%,-30px)scale(.8)}12%{opacity:1;transform:translate(-50%)scale(1)}82%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%,-16px)scale(.95)}}.toast{opacity:0;pointer-events:none;text-align:center;justify-items:center;display:grid;position:absolute;top:30%;left:50%;transform:translate(-50%)}.toast b{color:#fff;white-space:nowrap;font-size:clamp(44px,7.5vw,86px);line-height:1.05}.toast span{background:var(--ink);color:#fff;font:800 15px var(--display);border-radius:999px;margin-top:6px;padding:3px 14px}.toast span:empty{display:none}.toast[data-tone=gold] b{color:var(--sun)}.toast[data-tone=good] b{color:var(--good)}.toast[data-tone=bad] b{color:var(--bad)}.toast.show{animation:2.3s cubic-bezier(.2,1.8,.4,1) forwards toast}.toast[data-kind=lip].show,.toast[data-kind=ob].show{animation-duration:1.6s}@keyframes toast{0%{opacity:0;transform:translate(-50%,20px)scale(.3)rotate(-8deg)}14%{opacity:1;transform:translate(-50%)scale(1.08)rotate(-3deg)}24%{transform:translate(-50%)scale(1)rotate(-3deg)}80%{opacity:1;transform:translate(-50%,-6px)scale(1)rotate(-3deg)}to{opacity:0;transform:translate(-50%,-30px)scale(.9)rotate(-3deg)}}.hint{left:50%;bottom:max(118px, calc(var(--safe-b) + 108px));border:var(--line) solid var(--ink);max-width:min(620px,92vw);box-shadow:0 4px 0 var(--ink);opacity:0;font:700 15px/1.6 var(--body);text-align:center;background:#fffdf6f5;border-radius:14px;padding:10px 18px;transition:opacity .25s,transform .35s cubic-bezier(.2,1.5,.4,1);position:absolute;transform:translate(-50%,16px)}.hint.is-active{opacity:1;animation:2.6s ease-in-out .6s infinite hint-nudge;transform:translate(-50%)}.hint b{color:var(--coral-2)}@keyframes hint-nudge{50%{transform:translate(-50%,-4px)}}.touch{display:none}body.has-touch .touch{display:block}.touch-orbit{pointer-events:auto;left:calc(var(--edge) + 6px);bottom:max(18px, var(--safe-b));border:var(--line) solid var(--ink);touch-action:none;background:radial-gradient(circle,#ffffff8c,#fff8ea59);border-radius:50%;width:118px;height:118px;position:absolute;box-shadow:0 4px #1f1a3d99}.touch-orbit i{border:var(--line) solid var(--ink);background:linear-gradient(180deg, #fff, var(--cream-2));width:48px;height:48px;box-shadow:0 3px 0 var(--ink);border-radius:50%;margin:-24px 0 0 -24px;position:absolute;top:50%;left:50%}.touch-orbit-icon{z-index:1;pointer-events:none;width:26px;color:var(--ink);margin:-13px 0 0 -13px;position:absolute;top:50%;left:50%}.touch-orbit.is-active .touch-orbit-icon{opacity:0}.touch-cancel{pointer-events:auto;right:calc(var(--edge-r) + 6px);bottom:max(22px, var(--safe-b));border:var(--line) solid var(--ink);background:linear-gradient(180deg, #ffb3a9, var(--coral));width:64px;height:64px;box-shadow:0 4px 0 var(--ink);color:#fff;opacity:0;pointer-events:none;border-radius:50%;transition:opacity .15s,transform .2s;position:absolute;transform:scale(.6)}.touch-cancel svg{width:28px}.hud-power.is-active~.touch .touch-cancel{opacity:1;pointer-events:auto;transform:scale(1)}.touch-cancel.is-down{transform:scale(.92)}body.has-touch .hud-power{bottom:max(18px, var(--safe-b))}body.has-touch .hint{bottom:max(150px, calc(var(--safe-b) + 140px))}.screen-pause .modal{width:min(360px,100%)}.screen-pause .menu .btn{width:100%}.settings-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}fieldset{border:var(--line) solid var(--ink);background:#fff9;border-radius:14px;min-width:0;margin:0;padding:12px 14px 14px}legend{border:2px solid var(--ink);background:var(--sky);color:#fff;font:800 13px var(--display);letter-spacing:.08em;text-transform:uppercase;text-shadow:0 2px 0 var(--ink);border-radius:999px;padding:2px 12px}.row{font:800 14px var(--body);flex-direction:column;gap:6px;margin-top:10px;display:flex}.range-wrap{align-items:center;gap:8px;display:flex}.range-wrap output{text-align:right;min-width:2.8em;font:800 13px var(--display)}input[type=range]{appearance:none;border:var(--line) solid var(--ink);background:linear-gradient(90deg, var(--grass) var(--fill,50%), #eadfc4 var(--fill,50%));cursor:pointer;border-radius:999px;outline:none;flex:1;min-width:0;height:16px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:var(--line) solid var(--ink);background:linear-gradient(180deg, #fff, var(--cream-2));width:26px;height:26px;box-shadow:0 3px 0 var(--ink);border-radius:50%}input[type=range]::-moz-range-thumb{border:var(--line) solid var(--ink);width:22px;height:22px;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:50%}input[type=range]:focus-visible,input[type=range]:focus{box-shadow:0 0 0 3px var(--sun), 0 0 0 5px var(--ink)}.toggle{border:var(--line) solid var(--ink);box-shadow:0 3px 0 var(--ink);font:800 13px var(--display);cursor:pointer;background:#eadfc4;border-radius:999px;outline:none;align-self:flex-start;align-items:center;gap:8px;padding:4px 12px 4px 4px;display:inline-flex}.toggle i{border:2px solid var(--ink);background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s}.toggle[aria-pressed=true]{background:var(--grass)}.toggle[aria-pressed=true] i{background:var(--sun)}.toggle:focus-visible,.toggle:focus{box-shadow:0 3px 0 var(--ink), 0 0 0 3px var(--sun), 0 0 0 5px var(--ink)}.seg{border:var(--line) solid var(--ink);box-shadow:0 3px 0 var(--ink);border-radius:12px;display:flex;overflow:hidden}.seg button{border:0;border-right:2px solid var(--ink);font:800 13px var(--display);cursor:pointer;white-space:nowrap;background:#fff;outline:none;flex:1;padding:7px 4px}.seg button:last-child{border-right:0}.seg button[aria-pressed=true]{background:var(--sun)}.seg button:focus-visible,.seg button:focus{box-shadow:inset 0 0 0 3px var(--ink);background:#fff3c4}.seg button[aria-pressed=true]:focus{background:var(--sun)}.help-goal{text-align:center;max-width:60ch;font:700 14px/1.5 var(--body);margin:-6px auto 14px}.help-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.help-col{border:var(--line) solid var(--ink);background:#fff9;border-radius:14px;padding:10px 12px 12px}.help-col.is-current{box-shadow:0 0 0 3px var(--sun);background:#fff6cf}.help-col h3{font:800 15px var(--display);margin:0 0 8px}.help-row{font:700 13px/1.3 var(--body);border-top:2px dotted #1f1a3d26;grid-template-columns:5.6em 1fr;align-items:center;gap:8px;padding:4px 0;display:grid}.help-row .keys{flex-wrap:wrap;align-items:center;gap:2px;font-size:14px;display:flex}.help-row .ico{border:2px solid var(--ink);width:26px;height:26px;box-shadow:0 2px 0 var(--ink);background:#fff;border-radius:8px;place-items:center;display:inline-grid}.help-row .ico svg{width:18px}.screen-leaderboard .modal{width:min(560px,100%)}.board-sub{text-align:center;font:700 13px var(--body);color:var(--ink-soft);margin:-8px 0 12px}.board-head,.board li{grid-template-columns:2.2em 1fr 6.5em 4em 4.4em;align-items:center;gap:8px;display:grid}.board-head{font:800 11px var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:0 12px 6px}.board-head em{text-align:right;font-style:normal}.board{gap:6px;margin:0;padding:0;list-style:none;display:grid}.board li{border:2px solid var(--ink);font:700 14px var(--body);background:#fff;border-radius:12px;padding:7px 12px}.board li b{border:2px solid var(--ink);background:var(--cream-2);width:1.9em;height:1.9em;font:800 13px var(--display);border-radius:50%;place-items:center;display:grid}.board li.medal-1 b{background:var(--sun)}.board li.medal-2 b{background:#dfe6f0}.board li.medal-3 b{background:#f2b57e}.board li.is-me{box-shadow:0 0 0 3px var(--sun);background:#fff6cf}.board-name{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.board-holes,.board-time{color:var(--ink-soft);font-size:12px}.board li em{font:800 20px var(--display);text-align:right;justify-content:flex-end;align-items:baseline;gap:4px;font-style:normal;display:flex}.board li em small{border:1.5px solid var(--ink);background:#fff;border-radius:99px;padding:0 5px;font-size:11px}.board li em small[data-tone=good]{background:var(--good)}.board li em small[data-tone=bad]{background:var(--bad)}.board-empty{text-align:center;color:var(--ink-soft);padding:18px!important;display:block!important}.modal-card{text-align:center;width:min(480px,100%)}.card-hole{justify-items:center;display:grid}.card-hole small{background:var(--coral);border:2px solid var(--ink);color:#fff;font:800 12px var(--display);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;padding:2px 12px}.card-hole b{font:800 20px var(--display);margin-top:4px}.card-score{justify-items:center;margin:10px 0 12px;display:grid}.card-score b{color:#fff;font-size:46px;line-height:1.1}.card-score[data-tone=gold] b{color:var(--sun)}.card-score[data-tone=good] b{color:var(--good)}.card-score[data-tone=bad] b{color:var(--bad)}.card-score span{font:700 14px var(--body);color:var(--ink-soft)}.scorecard{border-collapse:separate;border-spacing:0;border:var(--line) solid var(--ink);width:100%;font:800 15px var(--display);background:#fff;border-radius:12px;overflow:hidden}.scorecard th,.scorecard td{text-align:center;border-bottom:2px solid #1f1a3d26;border-right:2px solid #1f1a3d26;padding:7px 6px}.scorecard tr>:last-child{border-right:0}.scorecard tbody tr:last-child>*{border-bottom:0}.scorecard thead th{background:var(--ink);color:#fff;letter-spacing:.06em;text-transform:uppercase;font-size:12px}.scorecard tbody th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);padding-left:12px;font-size:12px}.scorecard .is-cur{background:#fff6cf}.scorecard thead .is-cur{background:var(--coral)}.chip{border:2px solid #0000;border-radius:50%;place-items:center;min-width:1.9em;height:1.9em;display:inline-grid}.chip[data-tone=gold]{background:var(--sun);border-color:var(--ink)}.chip[data-tone=good]{background:var(--good);border-color:var(--ink)}.chip[data-tone=even]{border-color:var(--ink);background:#fff}.chip[data-tone=bad]{border-color:var(--ink);background:#ffd2cc;border-radius:6px}.strokes-row td b{font-size:18px}.modal-results{text-align:center;width:min(560px,100%)}.results-stars{justify-content:center;gap:6px;margin-top:-2px;display:flex}.results-stars .star{color:#e0d4b4;width:50px;filter:drop-shadow(0 3px 0 var(--ink))}.results-stars .star:nth-child(2){width:64px;transform:translateY(-10px)}.results-stars .star svg path{stroke:var(--ink);stroke-width:1.6px}.results-stars .star.is-on{color:var(--sun);animation:.5s cubic-bezier(.3,2,.5,1) both star-pop}@keyframes star-pop{0%{transform:scale(0)rotate(-40deg)}}.results-stars .star.is-on:nth-child(2){animation-name:star-pop2}@keyframes star-pop2{0%{transform:translateY(-10px)scale(0)rotate(-40deg)}to{transform:translateY(-10px)}}.modal-results .modal-title{margin:4px 0 2px}.r-verdict{font:700 14px var(--body);color:var(--ink-soft);margin:0 0 8px}.results-best{border:2px solid var(--ink);background:var(--sun);width:max-content;font:800 13px var(--display);border-radius:999px;margin:0 auto 8px;padding:3px 14px;animation:1s ease-in-out infinite best-glow;display:none}.results-best.is-active{display:block}@keyframes best-glow{50%{transform:scale(1.06)rotate(-2deg)}}.results-total{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.results-total>div{border:2px solid var(--ink);background:#fff;border-radius:12px;justify-items:center;padding:8px 4px;display:grid}.results-total small{font:800 11px var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}.results-total b{color:#fff;font-size:34px;line-height:1.15}.results-total .r-time{font-size:26px}.results-total b[data-tone=good]{color:var(--good)}.results-total b[data-tone=bad]{color:var(--bad)}.results-save{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.results-name{border:var(--line) solid var(--ink);width:180px;height:44px;font:800 16px var(--display);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:12px;outline:none;padding:0 14px;box-shadow:inset 0 3px #1f1a3d1a}.results-name:focus{box-shadow:0 0 0 3px var(--sun), 0 0 0 5px var(--ink)}.results-saved,.results-rank{font:800 15px var(--display);display:none}.results-save.is-saved .results-name,.results-save.is-saved .btn{display:none}.results-save.is-saved .results-saved,.results-save.is-saved .results-rank{display:inline-block}.results-saved{color:var(--grass-2)}.results-rank{border:2px solid var(--ink);background:var(--sun);border-radius:999px;padding:2px 12px}.fatal{background:var(--ink);color:#fff;font:700 16px var(--body);pointer-events:auto;place-items:center;padding:24px;display:grid;position:fixed;inset:0}@media (max-width:760px){.settings-grid,.help-grid{grid-template-columns:1fr 1fr}.help-col:first-child{display:none}body:not(.has-touch) .help-col:first-child{display:block}}@media (max-height:540px){#ui{font-size:14px}.modal{padding:16px 18px 14px}.modal-title{margin-bottom:10px;font-size:26px}.btn{min-height:42px;padding:6px 18px;font-size:16px}.btn-big{min-height:50px;font-size:20px}.menu{gap:9px}.menu-row{margin-top:10px}.logo-island{width:60px}.logo-top{font-size:28px}.logo-main,:lang(zh-CN) .logo-main{font-size:64px}.title-block{gap:10px}.tagline{padding:5px 12px;font-size:13px}.hud-hole-no b{font-size:26px}.hud-hole-info b{font-size:15px}.hud-strokes b{font-size:26px}.hud-btn{width:44px;height:44px}.banner{padding:10px 30px 12px;top:18%}.banner b{font-size:30px}.toast{top:24%}.toast b{font-size:50px}.hint{padding:7px 14px;font-size:13px}.settings-grid{grid-template-columns:repeat(3,1fr);gap:8px}fieldset{padding:6px 10px 10px}.row{margin-top:6px}.help-grid{grid-template-columns:repeat(3,1fr);gap:8px}.help-col{padding:6px 8px 8px}.help-row{padding:2px 0;font-size:12px}.help-goal{margin-bottom:8px;font-size:12px}.card-score b{font-size:36px}.results-stars .star{width:38px}.results-stars .star:nth-child(2){width:48px}.results-total b{font-size:26px}.results-total{margin-bottom:8px}.scorecard th,.scorecard td{padding:4px 6px}.touch-orbit{width:100px;height:100px}.board li{padding:4px 10px}.bottom-bar small{display:none}}@media (max-height:540px) and (max-width:900px){.modal-wide{width:100%}.modal-results{width:min(640px,100%)}.modal-results .results-total{grid-template-columns:repeat(3,1fr)}}body.has-touch .bottom-bar .prompts{display:none}@media (max-height:460px){.screen-title{padding-top:max(10px, var(--safe-t));padding-bottom:max(10px, var(--safe-b))}.title-block{gap:8px;width:min(470px,100%)}.logo{flex-direction:row;align-items:flex-end;gap:10px}.logo-island{width:46px}.logo-text{flex-direction:row;align-items:baseline;gap:10px}.logo-top{font-size:26px}.logo-main,:lang(zh-CN) .logo-main{font-size:56px}.title-block .menu{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.title-block .menu .btn{justify-content:center;padding:6px 10px;font-size:15px}.title-block .menu .btn-primary{grid-column:1/-1;font-size:20px}.hud-power{width:min(300px,60vw);padding:6px 12px}.hud-power-label b{font-size:18px}.hud-power-bar{height:16px;margin:2px 0 3px}.hud-power-help{font-size:11px}.hud-hole-no{padding:4px 10px 6px}.hud-hole-info{padding:5px 12px 5px 10px}.hud-strokes{padding:4px 12px 6px}body.has-touch .hint{bottom:max(128px, calc(var(--safe-b) + 118px))}.banner{top:20%}.banner em{display:none}.modal-title{margin-bottom:6px;font-size:22px}.help-goal{display:none}.help-col h3{margin-bottom:4px;font-size:13px}.help-row{grid-template-columns:4.6em 1fr;padding:1px 0;font-size:11px}.help-row .keys{font-size:12px}.help-row .ico{width:22px;height:22px}.modal .menu-row{margin-top:8px}.results-stars .star{width:28px}.results-stars .star:nth-child(2){width:34px;transform:translateY(-4px)}.r-verdict{display:none}.modal-results,.modal-card{padding:10px 16px}.modal-results .modal-title{margin:0}.results-best{margin-bottom:4px}.results-total{gap:6px;margin-bottom:6px}.results-total>div{flex-direction:row;padding:2px 4px}.results-total b{font-size:20px}.results-total .r-time{font-size:18px}.scorecard{font-size:13px}.scorecard th,.scorecard td{padding:3px 6px}.chip{min-width:1.6em;height:1.6em}.results-save{margin-top:6px}.results-name{height:36px}.modal-results .btn,.modal-card .btn{min-height:38px;font-size:15px}.card-score{margin:4px 0 6px}.card-score b{font-size:30px}}@media (prefers-reduced-motion:reduce){.hint.is-active,.results-best,.logo-island,.hud-ready i{animation:none}}
