body{margin:0}@font-face{font-family:Reactor7;src:url(./Reactor7-Dt-Pve92.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:FinalF;src:url(./FinalF-CIoqLC8u.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block;unicode-range:U+41-5A,U+61,U+65,U+66,U+6F,U+71-75}:root{--ff7-bg:#000;--ff7-grad-tl:#2040ff;--ff7-grad-br:#000008;--ff7-text:#fff;--ff7-label:#58f0ff;--ff7-mute:#8a9bb8;--ff7-silver:#d0d8e0;--ff7-bevel-hi:#f4f6fa;--ff7-bevel-lo:#303848;--ff7-bar:#40f060;--ff7-disabled:#5a6578;--ff7-danger:#ff7a9a;--paper:var(--ff7-bg);--ink:var(--ff7-text);--muted:var(--ff7-mute);--line:var(--ff7-bevel-lo);--panel:#0a1460;--accent-sky:#58f0ff;--accent-fair:#40f060;--accent-sand:#d4b86a;--accent-rose:#ff7a9a;--shot-wind:#2a6f97;--shot-wind-underlay:#bbedfa;color:var(--ff7-text);background:var(--ff7-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;font-family:Reactor7,monospace;font-size:19px;line-height:1.35}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--ff7-bg);color:var(--ff7-text)}body:has(.app.play){background:#0a1028}.ff7-window{background:linear-gradient(160deg, var(--ff7-grad-tl) 0%, #081878 38%, var(--ff7-grad-br) 100%);color:var(--ff7-text);border:2px solid #a8b0c0;border-radius:4px;box-shadow:inset 1px 1px #fff,inset -1px -1px #101820,0 0 0 1px #e8ecf4,0 0 0 3px #687088,0 0 0 4px #202830}.ff7-window-in{animation:.2s cubic-bezier(.34,1.35,.64,1) both ff7-window-in}@keyframes ff7-window-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.menu-cursor{object-fit:contain;width:1.35rem;height:.7rem;image-rendering:pixelated;vertical-align:middle;pointer-events:none;-webkit-user-select:none;user-select:none;flex-shrink:0;margin-right:.25rem;animation:.5s ease-in-out infinite alternate menu-cursor-bob;display:inline-block}@keyframes menu-cursor-bob{0%{transform:translate(0)}to{transform:translate(3px)}}.cmd-item.has-cursor,.start-option.has-cursor,.golfteria-slot.has-cursor,.start-story-btn.has-cursor,.start-howto.has-cursor,.start-panel button.has-cursor,.start-play.has-cursor,.tutorial-tryout.has-cursor,.tutorial-nav button.has-cursor,.hole-overlay-card>.primary.has-cursor,.play-skip button.has-cursor,.scorecard-actions button.has-cursor,.golfteria-confirm.has-cursor{position:relative}.cmd-item .menu-cursor{margin:0;animation:.5s ease-in-out infinite alternate menu-cursor-bob-abs;position:absolute;top:50%;left:.2rem;transform:translateY(-50%)}@keyframes menu-cursor-bob-abs{0%{transform:translateY(-50%)translate(0)}to{transform:translateY(-50%)translate(3px)}}.ff7-label{color:var(--ff7-label);letter-spacing:0;font-size:.95rem;font-weight:400}button,input,select{font:inherit;color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--ff7-label);outline-offset:2px}button{color:var(--ff7-text);cursor:pointer;background:linear-gradient(#1830b8 0%,#081050 100%);border:2px solid #a8b0c0;border-radius:3px;padding:.4rem .7rem;box-shadow:inset 1px 1px #ffffff59,inset -1px -1px #00000073}button:hover:not(:disabled){filter:brightness(1.08)}button:active:not(:disabled){filter:brightness(.92);transform:translateY(1px)}.ff7-command-bar .cmd-item:active:not(:disabled){filter:brightness(.9);transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;color:var(--ff7-disabled);filter:none}.theme-card,.theme-find-new,.start-howto,.start-play,.start-story-btn,.start-option,.start-kind-btn,.ff7-command-bar .cmd-item,.golfteria-slot,.scorecard-actions button,.play-skip button,.tutorial-nav button,[role=button]:not([aria-disabled=true]):not(:disabled),input[type=range]{cursor:pointer}button.primary{color:var(--ff7-text);background:linear-gradient(#3060ff 0%,#102090 100%)}button.primary:hover:not(:disabled){filter:brightness(1.1)}button.secondary{margin-top:.75rem}button.linkish{box-shadow:none;text-align:left;color:var(--ff7-text);background:0 0;border:none;flex-direction:column;gap:.15rem;padding:.25rem 0;display:flex}button.linkish:hover:not(:disabled){filter:none;color:var(--ff7-label)}button.danger-text{box-shadow:none;color:var(--ff7-danger);background:0 0;border:none;font-size:.85rem}button.danger-text:hover:not(:disabled){filter:none}input,select{color:var(--ff7-text);background:#000014;border:2px solid #a8b0c0;border-radius:3px;padding:.35rem .5rem;box-shadow:inset 1px 1px #000}input::placeholder{color:var(--ff7-mute)}select option{color:var(--ff7-text);background:#0a1460}.mono{font-variant-numeric:tabular-nums}.app{min-height:100vh;padding:1rem}.app-start{padding:0}.app.play{--play-gutter:.85rem;--cmd-h:clamp(2.1rem, 2rem + 1.2vw, 2.35rem);--cmd-dock-clearance:calc(var(--cmd-h) + var(--cmd-h) + 2.2rem + env(safe-area-inset-bottom,0px));--play-pad-top:max(var(--play-gutter), env(safe-area-inset-top));--play-pad-bottom:var(--cmd-dock-clearance);--play-col-h:calc(100dvh - var(--play-pad-top) - var(--play-pad-bottom));gap:var(--play-gutter);background:var(--theme-void,#0a1028);max-width:1280px;min-height:100dvh;padding:var(--play-gutter);padding-top:var(--play-pad-top);padding-right:max(var(--play-gutter), env(safe-area-inset-right));padding-bottom:var(--play-pad-bottom);padding-left:max(var(--play-gutter), env(safe-area-inset-left));grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:stretch;margin:0 auto;display:grid}.app.play>.board-wrap{min-height:0;height:var(--play-col-h);max-height:var(--play-col-h);box-sizing:border-box;flex-direction:column;grid-area:1/1;display:flex}.app.play>.play-rail{min-height:0;height:var(--play-col-h);max-height:var(--play-col-h);grid-area:1/2}.play-rail{gap:var(--play-gutter,.85rem);flex-direction:column;min-width:0;display:flex}.play-rail>.hud.ff7-window,.play-rail>.golfteria-card.ff7-window{box-sizing:border-box;flex:auto;height:100%;min-height:0}.play-rail .hud.ff7-window,.play-rail .golfteria-card.ff7-window{background:linear-gradient(145deg, color-mix(in srgb, var(--theme-fill,#469655) 72%, var(--theme-void,#0a1028) 28%) 0%, var(--theme-void,#0a1028) 100%);border-color:color-mix(in srgb, var(--theme-accent,#a8b0c0) 55%, #a8b0c0);color:#f0f4f8;text-shadow:0 1px 2px #00000073}.play-rail .hud .ff7-label,.play-rail .golfteria-card .ff7-label{color:color-mix(in srgb, var(--theme-accent,#58f0ff) 70%, #fff)}.play-rail .hud .course-name,.play-rail .golfteria-card{color:#f0f4f8}.play-skip{z-index:5;flex-direction:column;gap:.45rem;padding:.65rem .75rem;display:flex;position:relative}.play-skip-blurb{color:var(--ff7-text);margin:0;font-size:.9rem;line-height:1.35}.play-skip button{width:100%;padding-left:1.85rem;position:relative}@media (width<=860px){.app.play{--cmd-h:2.75rem;--play-pad-bottom:calc(var(--cmd-h) + var(--cmd-h) + 2.2rem + env(safe-area-inset-bottom,0px));--mobile-board-h:max(40dvh, min(50dvh, calc(100dvh - var(--play-pad-bottom) - 8rem)));grid-template-columns:1fr;grid-template-rows:var(--mobile-board-h) minmax(0, 1fr);align-items:stretch;gap:var(--play-gutter);height:100dvh;max-height:100dvh;padding-bottom:var(--play-pad-bottom);box-sizing:border-box;overflow:hidden}.app.play>.board-wrap{height:var(--mobile-board-h);max-height:var(--mobile-board-h);grid-area:1/1;min-height:0;overflow:hidden}.app.play>.play-rail{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;grid-area:2/1;height:auto;min-height:0;max-height:none;overflow-y:auto}.play-rail>.hud.ff7-window,.play-rail .golfteria-card.ff7-window{background:linear-gradient(160deg, var(--ff7-grad-tl) 0%, #081878 40%, var(--ff7-grad-br) 100%);border-color:var(--ff7-silver);height:auto;box-shadow:inset 1px 1px 0 var(--ff7-bevel-hi), inset -1px -1px 0 var(--ff7-bevel-lo), 0 0 0 1px color-mix(in srgb, var(--theme-accent,#58f0ff) 45%, transparent);text-shadow:none;flex:none}.play-rail .hud .ff7-label,.play-rail .golfteria-card .ff7-label{color:var(--ff7-label)}.play-rail .hud .course-name,.play-rail .golfteria-card{color:var(--ff7-text)}.play-skip{z-index:12;border:2px solid var(--ff7-silver);box-shadow:inset 1px 1px 0 var(--ff7-bevel-hi), inset -1px -1px 0 var(--ff7-bevel-lo);background:#000010eb;margin-bottom:.35rem;position:sticky;top:.35rem}}.start-screen{min-height:100dvh;padding:1rem 1rem 1.5rem;padding-top:max(1rem, env(safe-area-inset-top));padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(1.5rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));background:#000;place-items:start center;margin:0;display:grid;position:relative;overflow-x:hidden}.skip-link{z-index:100;color:#fff;border:2px solid var(--ff7-silver);background:#1830b8;padding:.5rem .75rem;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:max(1rem, env(safe-area-inset-left));top:max(1rem, env(safe-area-inset-top))}.start-stage{flex-direction:column;align-items:center;gap:.75rem;width:min(1100px,100%);min-width:0;display:flex}.start-main{flex-direction:column;align-items:stretch;gap:.75rem;width:100%;min-width:0;display:flex}.start-brand{text-align:center;order:1;width:100%;overflow:visible}.start-logo-img{object-fit:contain;object-position:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:min(100%,26rem);max-width:100%;height:auto;max-height:min(26vh,11rem);margin-inline:auto;display:block;position:relative}.start-brand-heading{max-width:100%;margin:0;line-height:0;display:inline-block;position:relative}.start-brand-heading:after{content:"";pointer-events:none;mix-blend-mode:soft-light;-webkit-mask-image:inherit;background:linear-gradient(115deg,#0000 35%,#ffffff38 48%,#c8f0ff59 52%,#0000 65%) 0 0/220% 100%;animation:4.2s ease-in-out infinite logo-shimmer;position:absolute;inset:0;mask-image:none}@keyframes logo-shimmer{0%,18%{opacity:0;background-position:120% 0}28%{opacity:1}55%{opacity:1;background-position:-20% 0}70%,to{opacity:0;background-position:-40% 0}}.start-side{z-index:1;flex-direction:column;order:2;gap:.75rem;width:100%;min-width:0;max-width:min(420px,100%);margin-inline:auto;padding-bottom:0;display:flex;position:relative}.start-side.has-overflow-top:before,.start-side.has-overflow-bottom:after{content:"";z-index:4;pointer-events:none;flex-shrink:0;height:1.1rem;margin-inline:0;display:block;position:sticky;left:0;right:0}.start-side.has-overflow-top:before{background:linear-gradient(#00000073 0%,#0000001f 55%,#0000 100%);margin-bottom:-1.1rem;top:0}.start-side.has-overflow-bottom:after{background:linear-gradient(#0000 0%,#0000001f 45%,#00000073 100%);margin-top:-1.1rem;bottom:0}.start-visual{pointer-events:none;order:3;place-items:center;width:100%;line-height:0;display:grid}.start-story-btn{color:#fff;letter-spacing:.04em;text-shadow:1px 1px #000;text-transform:none;cursor:pointer;background:linear-gradient(90deg,#c4388a 0%,#d44a9a 28%,#b82058 62%,#9a1230 100%);border:2px solid #d8dce8;border-radius:2px;flex-shrink:0;width:100%;min-height:2.65rem;margin:0;padding:.55rem 1rem .55rem 1.85rem;font-size:1.05rem;font-weight:700;position:relative;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #00000059,0 0 0 1px #1a0810}.start-story-btn:hover{filter:brightness(1.06)}.start-story-btn:active{filter:brightness(.96)}.start-club{object-fit:contain;object-position:center bottom;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:min(92vw,520px);height:auto;max-height:min(34vh,260px);display:block}.start-version{letter-spacing:.06em;color:var(--ff7-label);font-size:.85rem}.start-byline{color:var(--ff7-mute)}.start-byline a{color:var(--ff7-label);text-underline-offset:.15em;text-decoration:underline}.start-byline a:hover{color:var(--ff7-text)}.start-meta{width:100%;max-width:min(420px,100%);margin-inline:auto;padding-bottom:.5rem}.start-meta-inner{color:var(--ff7-mute);text-align:right;justify-content:flex-end;align-items:baseline;gap:.35rem;font-size:.85rem;display:flex}.start-panel input,.start-panel select,.start-panel button{min-height:2.5rem}.start-cpu-slider{gap:.35rem}.ff7-slider{grid-template-columns:auto 1fr auto;align-items:center;gap:.45rem;width:100%;display:grid}.ff7-slider-end{color:#fff;text-shadow:1px 1px #000;letter-spacing:.02em;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.85rem;font-weight:500}.ff7-slider-input{appearance:none;cursor:pointer;background:0 0;width:100%;height:1.35rem;margin:0;min-height:1.35rem!important;box-shadow:none!important;border:none!important;padding:0!important}.ff7-slider-input:focus{outline:none}.ff7-slider-input:focus-visible{outline:2px solid var(--ff7-label);outline-offset:3px}.ff7-slider-input::-webkit-slider-runnable-track{background:#000828b8;border:1px solid #788cb48c;border-radius:0;height:.72rem;box-shadow:inset 0 1px 2px #0000008c}.ff7-slider-input::-moz-range-track{background:#000828b8;border:1px solid #788cb48c;border-radius:0;height:.72rem;box-shadow:inset 0 1px 2px #0000008c}.ff7-slider-input::-webkit-slider-thumb{appearance:none;cursor:grab;background:linear-gradient(#f0f2f8 0%,#c8ccd8 45%,#9098a8 100%);border:none;border-radius:0;width:.55rem;height:1.2rem;margin-top:calc(-.24rem - 1px);box-shadow:inset 1px 1px #fff,inset -1px -1px #505868,1px 1px #00000073}.ff7-slider-input::-moz-range-thumb{cursor:grab;background:linear-gradient(#f0f2f8 0%,#c8ccd8 45%,#9098a8 100%);border:none;border-radius:0;width:.55rem;height:1.2rem;box-shadow:inset 1px 1px #fff,inset -1px -1px #505868,1px 1px #00000073}.ff7-slider-input:active::-webkit-slider-thumb{cursor:grabbing}.ff7-slider-input:active::-moz-range-thumb{cursor:grabbing}.start-quick-title{letter-spacing:.06em;color:var(--ff7-text);text-shadow:1px 1px #000;margin:0 0 .35rem;font-size:1.35rem;font-weight:700}.start-row-players{grid-template-columns:1fr}.start-field.start-mode{border:none;min-width:0;margin:0;padding:0}.start-field.start-mode legend{margin-bottom:.3rem;padding:0}@media (width>=860px){.start-screen{place-items:stretch center;height:100dvh;max-height:100dvh;padding:1.5rem 1.5rem 2rem;overflow:hidden}.start-stage{justify-content:center;gap:clamp(.75rem,2vh,1.5rem);min-height:min(100dvh,900px);padding-block:1rem}.start-main{grid-template:"brand side""visual side"1fr/minmax(0,1.15fr) minmax(340px,420px);align-items:stretch;gap:clamp(.5rem,1.5vh,1rem) clamp(1rem,3vw,2.5rem);height:80dvh;max-height:80dvh;display:grid}.start-brand{order:unset;grid-area:brand;align-self:start}.start-visual{order:unset;grid-area:visual;place-items:end center;min-height:0}.start-side{order:unset;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;grid-area:side;justify-self:end;gap:.75rem;width:100%;max-width:none;height:100%;max-height:80dvh;margin-inline:0;overflow:hidden auto}.start-club{object-position:center bottom;width:min(100%,720px);max-height:min(52dvh,480px)}.start-logo-img{width:min(100%,32rem);max-height:min(22vh,10.5rem)}.start-meta{margin-inline:0;grid-template-columns:minmax(0,1.15fr) minmax(340px,420px);column-gap:clamp(1rem,3vw,2.5rem);width:100%;max-width:none;margin-top:.4rem;padding-bottom:0;display:grid}.start-meta-inner{grid-column:2;justify-content:flex-end}}@media (width<=859px){.start-stage{gap:.5rem}.start-side{max-width:100%;max-height:none;overflow:visible}.start-side.has-overflow-top:before,.start-side.has-overflow-bottom:after{display:none}.start-panel,.favorites{width:100%;min-width:0}.start-logo-img{width:min(100%,18rem);max-height:min(16vh,6.5rem)}.start-club{max-height:min(36vh,280px)}}.start-panel{flex-direction:column;flex-shrink:0;gap:.5rem;min-width:0;min-height:0;padding:.7rem .8rem .85rem;display:flex}.start-panel.theme-chooser{flex-shrink:0;min-height:0}.start-panel.theme-chooser .theme-cards{margin-bottom:.5rem}.start-row{grid-template-columns:1fr auto;align-items:end;gap:.75rem;display:grid}.start-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.start-panel input,.start-panel select{text-transform:none;letter-spacing:0;box-sizing:border-box;max-width:100%;padding:.55rem .65rem;font-size:.95rem;font-weight:500}.start-actions{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.start-play{width:100%;padding:.75rem 1rem .75rem 1.85rem;font-size:1.05rem;position:relative}.start-save{width:100%;box-shadow:none;color:var(--ff7-mute);text-underline-offset:.2em;background:0 0;border:none;padding:.15rem 0;font-size:.8rem;text-decoration:underline}.start-save:hover:not(:disabled){filter:none;color:var(--ff7-label);transform:none}.hint{color:var(--ff7-mute);margin:0;font-size:.8rem}.error{color:var(--ff7-danger);margin:0;font-size:.85rem}.preview-seed{margin:0;font-size:.85rem}.theme-cards{flex-direction:column;gap:.28rem;margin:0 0 .55rem;padding:0;list-style:none;display:flex}.theme-card{text-align:left;border:2px solid color-mix(in srgb, var(--theme-accent) 55%, #a8b0c0);background:linear-gradient(145deg, color-mix(in srgb, var(--theme-fill) 72%, var(--theme-void) 28%) 0%, var(--theme-void) 100%);color:#f0f4f8;text-shadow:0 1px 2px #0000008c;cursor:pointer;flex-direction:column;align-items:stretch;gap:.22rem;width:100%;padding:.4rem .5rem;display:flex}.theme-card:hover{filter:brightness(1.12);cursor:pointer;border-color:#e8ecf4}.theme-card-top{justify-content:space-between;align-items:baseline;gap:.45rem;min-width:0;display:flex}.theme-card-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.88rem;font-weight:600;line-height:1.15;overflow:hidden}.theme-card-seed{opacity:.72;flex:none;font-size:.62rem;line-height:1}.theme-card-bottom{align-items:center;gap:.5rem;min-width:0;display:flex}.theme-card-label{color:color-mix(in srgb, var(--theme-accent) 70%, #fff);letter-spacing:.03em;opacity:.95;flex:none;font-size:.7rem;line-height:1}.theme-card-diff{font-variant-numeric:tabular-nums;color:#f0f4f8d9}.theme-card-diff-gauge{flex:auto;gap:.04rem;min-width:0;max-width:none;margin-top:0}.theme-card-diff-gauge .ff7-gauge-label{color:#f0f4f8;text-shadow:0 1px 2px #0000008c;font-size:.65rem;line-height:1}.theme-card-diff-gauge .ff7-gauge-track{background:#0000008c;border-color:#ffffff59;height:.26rem}.theme-diff-fill{background:linear-gradient(#70ff90 0%,#40f060 55%,#20a038 100%);box-shadow:inset 0 1px #ffffff59}.theme-card-diff-gauge.diff-mid .theme-diff-fill{background:linear-gradient(#ffe070 0%,#e0a020 55%,#a06810 100%)}.theme-card-diff-gauge.diff-hard .theme-diff-fill{background:linear-gradient(#ff9080 0%,#e04030 55%,#902018 100%)}.theme-find-new{border:2px solid var(--ff7-bevel-hi);background:color-mix(in srgb, var(--ff7-panel) 88%, #2040a0 12%);width:100%;color:var(--ff7-text);cursor:pointer;font:inherit;text-align:center;margin:0 0 .4rem;padding:.32rem .5rem;display:block}.theme-find-new:hover{filter:brightness(1.1);cursor:pointer}.start-player-row{align-items:flex-end;gap:.45rem;display:flex}.start-player-name{flex:1;min-width:0}.start-kind-btn{border:2px solid var(--ff7-silver);min-width:4.2rem;color:var(--ff7-mute);background:#0000208c;flex:none;margin-bottom:.05rem;padding:.35rem .5rem;font-size:.78rem}.start-kind-btn.human{color:var(--ff7-label)}.start-kind-btn.cpu{color:#f0d060;border-color:#c0a040}.start-mode-btns{gap:.35rem;display:flex}.start-mode-btns button{border:2px solid var(--ff7-silver);min-width:0;min-height:2.5rem;color:var(--ff7-mute);background:#0000208c;flex:1;padding:.45rem;font-size:.8rem}.start-mode-btns button.on{color:var(--ff7-label);border-color:var(--ff7-label)}.favorites{padding:.65rem .8rem .75rem}.favorites h2{margin:0 0 .5rem}.favorites ul{margin:0;padding:0;list-style:none}.favorites li{border-bottom:1px solid #c8d0dc40;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem 0;display:flex}.favorites .mono{color:var(--ff7-mute);font-size:.8rem}.board-wrap{background:var(--theme-void,#0a1028);padding:.65rem;position:relative}.board-wrap.ff7-window{background:var(--theme-void,#0a1028)}.battle-toast{z-index:5;text-align:center;max-width:min(92%,36rem);color:var(--ff7-text,#f0f4f8);pointer-events:none;border:2px solid var(--ff7-silver,#c8d0e8);box-shadow:inset 1px 1px 0 var(--ff7-bevel-hi,#6a80d8), inset -1px -1px 0 var(--ff7-bevel-lo,#081038), 0 4px 14px #00000059;background:linear-gradient(#1830a8 0%,#0c1860 100%);margin:0;padding:.55rem 1rem;font-size:clamp(.85rem,2.2vw,1.05rem);font-weight:600;line-height:1.35;animation:.18s ease-out battle-toast-in;position:absolute;top:.65rem;left:50%;transform:translate(-50%)}@keyframes battle-toast-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.board-view-controls{--board-view-mid:2.75rem;z-index:2;border:2px solid var(--ff7-silver);box-shadow:inset 1px 1px 0 var(--ff7-bevel-hi), inset -1px -1px 0 var(--ff7-bevel-lo);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0810488c;border-radius:3px;flex-direction:column;align-items:stretch;gap:.3rem;padding:.3rem;display:inline-flex;position:absolute;top:.75rem;left:.75rem}.board-view-row{grid-template-columns:1fr var(--board-view-mid) 1fr;align-items:center;gap:.2rem;width:100%;display:grid}.board-view-controls button{white-space:nowrap;box-sizing:border-box;border-radius:4px;justify-content:center;align-items:center;gap:.2rem;width:100%;min-width:0;height:1.75rem;padding:0 .35rem;font-size:.72rem;line-height:1;display:inline-flex}.board-view-controls button.is-active{color:var(--ff7-text);background:#c8d0dc47}.board-view-label{text-align:center;width:100%;min-width:0;color:var(--ff7-mute);justify-self:stretch;font-size:.8rem}.board-preview-toggle{background:#00001059;border:1px solid #a8b0c073;border-radius:4px;gap:0;overflow:hidden}.board-preview-toggle>button{height:1.85rem;box-shadow:none;border:none;border-radius:0}.board-preview-toggle>button:not(.board-preview-toggle-key){letter-spacing:.02em;color:var(--ff7-mute);padding:0 .45rem;font-size:.68rem;font-weight:600}.board-preview-toggle>button.is-active{color:var(--ff7-label);background:#58f0ff2e}.board-preview-toggle-key{background:#00000059;border-left:1px solid #a8b0c059;border-right:1px solid #a8b0c059;padding:0}.board-preview-toggle-key:hover{filter:brightness(1.12)}@media (width<=860px){.board-view-controls{--board-view-mid:2rem;background:#0810486b;grid-template-columns:repeat(3,minmax(0,1fr));gap:.2rem .35rem;max-width:calc(100% - .9rem);padding:.2rem;display:grid;top:.45rem;left:.45rem;right:.45rem}.board-view-row{gap:.15rem;min-width:0}.board-view-controls button{height:1.5rem;padding:0 .3rem;font-size:.65rem}.board-view-label{font-size:.7rem}.board-preview-toggle>button{height:1.5rem}.board-preview-toggle>button:not(.board-preview-toggle-key){padding:0 .2rem;font-size:.6rem}.board-preview-toggle-key{display:none!important}}.board-zoom{z-index:2;border:2px solid var(--ff7-silver);background:#000018bf;border-radius:3px;align-items:center;gap:.25rem;padding:.2rem;display:flex;position:absolute;top:.75rem;left:.75rem}.board-zoom button{border-radius:4px;width:1.75rem;height:1.75rem;padding:0;font-size:1rem;line-height:1}.board-zoom .zoom-label{text-align:center;min-width:2.5rem;color:var(--ff7-mute);font-size:.8rem}.board-scroll{touch-action:none;flex:auto;height:100%;min-height:0;max-height:none;position:relative;overflow:hidden}.board{width:100%;height:100%;max-height:none;display:block}.board-canvas-host{background:var(--theme-void,#0a1028);touch-action:none;flex:auto;width:100%;height:100%;min-height:0;position:relative}.board-canvas-host canvas{touch-action:none;display:block}@media (width<=860px){.board-scroll{flex:auto;height:100%;min-height:0;max-height:none}.board,.board-canvas-host{height:100%;min-height:0;max-height:none}}.board.board-pannable{cursor:grab}.board.board-pannable.is-panning{cursor:grabbing}.edge-markers{pointer-events:none;z-index:3;position:absolute;inset:0}.edge-marker{pointer-events:auto;border:2px solid var(--ff7-silver);width:2.25rem;height:2.25rem;box-shadow:inset 1px 1px 0 var(--ff7-bevel-hi), inset -1px -1px 0 var(--ff7-bevel-lo), 0 2px 8px #00000073;cursor:pointer;background:#000010d1;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.edge-marker:hover{filter:brightness(1.1)}.edge-marker-ball{width:auto;height:auto;box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.edge-marker-ball:hover{filter:brightness(1.08)}.edge-flag{display:block;overflow:visible}.edge-ball{color:#0a1020;border:2.2px solid #0a1020;border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;font-size:.72rem;font-weight:700;line-height:1;display:grid}.cmd-dock.ff7-command-bar{--cmd-h:clamp(2.1rem, 2rem + 1.2vw, 2.35rem);--cmd-dock-inner:min(100%, 760px);z-index:40;width:100%;max-width:none;padding:.35rem clamp(.35rem, 2vw, .65rem) calc(.4rem + env(safe-area-inset-bottom,0px));box-sizing:border-box;border-top:2px solid var(--ff7-silver);box-shadow:inset 0 1px 0 var(--ff7-bevel-hi), 0 -4px 18px #00000073;background:linear-gradient(#081048f7 0%,#000010fa 100%);flex-direction:column;align-items:center;gap:.3rem;margin:0;display:flex;position:fixed;bottom:0;left:0;right:0}.cmd-dock.ff7-command-bar>.cmd-status,.cmd-dock.ff7-command-bar>.cmd-submenu,.cmd-dock.ff7-command-bar>.cmd-strip{width:100%;max-width:var(--cmd-dock-inner)}.ff7-command-bar .cmd-item{box-sizing:border-box;min-height:var(--cmd-h);height:var(--cmd-h);border:2px solid var(--ff7-silver);color:var(--ff7-text);cursor:pointer;white-space:nowrap;text-shadow:1px 1px #0000008c;background:linear-gradient(#1830b8 0%,#081050 100%);border-radius:2px;justify-content:center;align-items:center;gap:.35rem;margin:0;padding:0 .65rem 0 1.7rem;font-family:inherit;font-size:.88rem;line-height:1;display:inline-flex;box-shadow:inset 1px 1px #ffffff59,inset -1px -1px #00000073}.ff7-command-bar .cmd-item:hover:not(:disabled){filter:brightness(1.1)}.ff7-command-bar .cmd-item:disabled{color:var(--ff7-disabled);cursor:not-allowed;opacity:.55;filter:none}.ff7-command-bar .cmd-item.primary:not(:disabled){outline:1px solid var(--ff7-label);color:var(--ff7-label);background:linear-gradient(#3060ff 0%,#102090 100%)}.ff7-command-bar .cmd-submenu{min-height:var(--cmd-h);border:2px solid var(--ff7-silver);background:linear-gradient(160deg, var(--ff7-grad-tl) 0%, #081878 40%, var(--ff7-grad-br) 100%);max-width:100%;box-shadow:inset 1px 1px 0 var(--ff7-bevel-hi), inset -1px -1px 0 var(--ff7-bevel-lo);-webkit-overflow-scrolling:touch;scrollbar-width:thin;border-radius:2px;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;gap:.3rem;padding:.25rem .35rem;animation:.18s ease-out both cmd-submenu-in;display:flex;overflow:auto hidden}@keyframes cmd-submenu-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.ff7-command-bar .cmd-item.club-flash{animation:.28s ease-out club-confirm-flash}@keyframes club-confirm-flash{0%{filter:brightness(1.45);box-shadow:inset 0 0 0 1px var(--ff7-label), inset 1px 1px 0 var(--ff7-bevel-hi), inset -1px -1px 0 var(--ff7-bevel-lo)}to{filter:none}}.ball-impact-flash{--hit-angle:0deg;transform-box:fill-box;transform-origin:50%;animation:.18s ease-out ball-flash}@keyframes ball-flash{0%{filter:brightness(3.2);transform:rotate(var(--hit-angle)) scale(1, 1) rotate(calc(-1 * var(--hit-angle)))}40%{filter:brightness(2.4);transform:rotate(var(--hit-angle)) scale(1.22, .78) rotate(calc(-1 * var(--hit-angle)))}to{filter:none;transform:rotate(var(--hit-angle)) scale(1, 1) rotate(calc(-1 * var(--hit-angle)))}}.ball-land-settle{transform-box:fill-box;transform-origin:50%;animation:.12s ease-out ball-land-settle}@keyframes ball-land-settle{0%{transform:scaleY(.94)}55%{transform:scale(1.03,.97)}to{transform:scale(1)}}.ball-ricochet{transform-origin:50%;animation:.12s ease-out ball-ricochet}@keyframes ball-ricochet{0%{filter:brightness(2.2);transform:scale(1.15,.78)}55%{filter:brightness(1.6);transform:scale(.85,1.2)}to{filter:none;transform:scale(1)}}.ball-hole-suck{transform-origin:50%;animation:.22s ease-in forwards hole-suck}@keyframes hole-suck{to{opacity:0;transform:scale(.08)}}.hex-impact-flash{pointer-events:none;animation:.22s ease-out forwards hex-impact}.hex-impact-flash.land{fill:#ffffff9e}.hex-impact-flash.sand{fill:#dcb450b3}.hex-impact-flash.water{fill:#3c8cffad}.hex-impact-flash.tree{fill:#ff78289e}@keyframes hex-impact{0%{opacity:.95}to{opacity:0}}.hex-sting-ring{fill:none;stroke:#ff6040;stroke-width:2.2px;pointer-events:none;animation:.24s ease-out forwards sting-ring}@keyframes sting-ring{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.42)}}.shot-line-locked .shot-loft-crawl{animation:1.4s linear infinite loft-crawl}.shot-line-locked .shot-loft-crawl-soft{animation:1.75s linear infinite loft-crawl-soft}.shot-alt-chip text{paint-order:stroke fill;font-family:Reactor7,monospace;font-weight:400}@keyframes loft-crawl{to{stroke-dashoffset:-48px}}@keyframes loft-crawl-soft{to{stroke-dashoffset:-27px}}.trail-fade{animation:1.6s ease-out forwards trail-fade}@keyframes trail-fade{0%{opacity:.35}to{opacity:0}}.board-camera-nudge{animation:.2s ease-out camera-nudge-mid}.board-camera-nudge.fx-soft{animation-name:camera-nudge-soft}.board-camera-nudge.fx-hard{animation-name:camera-nudge-hard}@keyframes camera-nudge-soft{0%{transform:translate(0)}40%{transform:translate(1px)}to{transform:translate(0)}}@keyframes camera-nudge-mid{0%{transform:translate(0)}40%{transform:translate(2px,-1px)}to{transform:translate(0)}}@keyframes camera-nudge-hard{0%{transform:translate(0)}40%{transform:translate(3px,-1px)}to{transform:translate(0)}}.ball-impact-flash.fx-soft{animation-name:ball-flash-soft;animation-duration:.12s}@keyframes ball-flash-soft{0%{filter:brightness(1.6);transform:rotate(var(--hit-angle)) scale(1, 1) rotate(calc(-1 * var(--hit-angle)))}40%{filter:brightness(1.35);transform:rotate(var(--hit-angle)) scale(1.08, .9) rotate(calc(-1 * var(--hit-angle)))}to{filter:none;transform:rotate(var(--hit-angle)) scale(1, 1) rotate(calc(-1 * var(--hit-angle)))}}.ball-impact-flash.fx-hard{animation-name:ball-flash-hard}@keyframes ball-flash-hard{0%{filter:brightness(3.4);transform:rotate(var(--hit-angle)) scale(1, 1) rotate(calc(-1 * var(--hit-angle)))}40%{filter:brightness(2.6);transform:rotate(var(--hit-angle)) scale(1.32, .7) rotate(calc(-1 * var(--hit-angle)))}to{filter:none;transform:rotate(var(--hit-angle)) scale(1, 1) rotate(calc(-1 * var(--hit-angle)))}}.hex-impact-flash.fx-soft,.hex-sting-ring.fx-soft{opacity:.45;animation-duration:.14s}.hex-impact-flash.fx-hard,.hex-sting-ring.fx-hard{opacity:1}.start-panel.ff7-window-in,.golfteria-card.ff7-window-in,.hud.ff7-window-in{animation:.2s cubic-bezier(.34,1.35,.64,1) both ff7-window-in}.cmd-item:focus-visible,.start-panel button:focus-visible,.golfteria-slot:focus-visible,.start-story-btn:focus-visible,.start-howto:focus-visible{outline:2px solid var(--ff7-label);outline-offset:2px}.golfteria-slot.has-cursor{position:relative;overflow:visible}.golfteria-slot .menu-cursor{z-index:3;pointer-events:none;width:1.1rem;height:.55rem;margin:0;animation:.5s ease-in-out infinite alternate menu-cursor-bob-abs;position:absolute;top:50%;left:auto;right:calc(100% + .1rem);transform:translateY(-50%)}.start-panel.story-hub>button{padding-left:1.85rem;position:relative}.start-panel button .menu-cursor,.start-story-btn .menu-cursor,.start-howto .menu-cursor,.start-play .menu-cursor,.tutorial-tryout .menu-cursor,.tutorial-nav button .menu-cursor,.hole-overlay-card>.primary .menu-cursor,.play-skip button .menu-cursor,.scorecard-actions button .menu-cursor,.golfteria-confirm .menu-cursor{margin:0;animation:.5s ease-in-out infinite alternate menu-cursor-bob-abs;position:absolute;top:50%;left:.35rem;transform:translateY(-50%)}.ff7-command-bar .cmd-submenu.club-row{flex-wrap:nowrap;justify-content:stretch;min-width:0;display:flex}.ff7-command-bar .cmd-submenu .cmd-item{flex:auto;width:auto;min-width:3.5rem;max-width:100%}.ff7-command-bar .cmd-submenu.club-row .cmd-item{flex:auto;width:auto;min-width:3.5rem}.ff7-command-bar .cmd-submenu.attack-menu .cmd-item,.ff7-command-bar .cmd-submenu.magic-menu .cmd-item{flex:auto;min-width:3.5rem}.ff7-command-bar .cmd-item-main{flex:auto;align-items:center;gap:.35rem;min-width:0;max-width:100%;display:inline-flex;overflow:hidden}.ff7-command-bar .cmd-item-label{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}.ff7-command-bar .cmd-badges{scrollbar-width:none;flex:auto;align-items:center;gap:.25rem;min-width:0;max-width:100%;display:inline-flex;overflow:auto hidden}.ff7-command-bar .cmd-badges::-webkit-scrollbar{display:none}.ff7-command-bar .cmd-badge{max-width:9rem;color:var(--ff7-text);border:1px solid color-mix(in srgb, var(--badge,var(--ff7-silver)) 55%, #a8b0c0);white-space:nowrap;text-overflow:ellipsis;background:#08105073;flex:none;align-items:center;gap:.2rem;padding:.05rem .28rem .05rem .15rem;font-size:.68rem;line-height:1;display:inline-flex;overflow:hidden}.ff7-command-bar .cmd-badge.is-inert{opacity:.4}.ff7-command-bar .cmd-badge-orb{border-radius:50%;flex:none;width:.55rem;height:.55rem;box-shadow:inset 0 0 0 1px #00000059}.ff7-command-bar .cmd-badge-text .cmd-badge-short{display:none}.ff7-command-bar .cmd-pair{max-width:6.5rem;color:var(--ff7-label);opacity:.9;white-space:nowrap;text-overflow:ellipsis;flex:none;align-items:center;gap:.18rem;font-size:.65rem;line-height:1;display:inline-flex;overflow:hidden}.ff7-command-bar .cmd-pair-text{text-overflow:ellipsis;overflow:hidden}.ff7-command-bar .club-slot-dot.is-inert{opacity:.35}.ff7-command-bar .cmd-hit-pair-inline{display:none}@media (width<=860px){.cmd-dock.ff7-command-bar{--cmd-h:2.75rem}.ff7-command-bar .cmd-submenu .cmd-item,.ff7-command-bar .cmd-submenu.club-row .cmd-item,.ff7-command-bar .cmd-submenu.attack-menu .cmd-item,.ff7-command-bar .cmd-submenu.magic-menu .cmd-item{flex:1 1 0;min-width:0}.ff7-command-bar .cmd-item{padding:0 .45rem 0 1.2rem;font-size:.82rem}.ff7-command-bar .cmd-item.primary{height:auto;min-height:var(--cmd-h);align-items:flex-start;padding-top:.35rem;padding-bottom:.35rem}.ff7-command-bar .cmd-item.primary .cmd-item-main{flex-wrap:wrap;align-items:center;row-gap:.3rem}.ff7-command-bar .cmd-item.primary .cmd-badges{flex-wrap:wrap;flex:100%;gap:.28rem;overflow-x:visible}.ff7-command-bar .cmd-item.primary .cmd-badge{max-width:none;min-height:1.55rem;padding:.2rem .4rem .2rem .28rem;font-size:.74rem}.ff7-command-bar .club-name{text-overflow:ellipsis;max-width:4.5rem;overflow:hidden}.hud{gap:.4rem}}@media (width<=520px){.ff7-command-bar .cmd-badge{max-width:5.5rem;padding-right:.2rem}.ff7-command-bar .cmd-badge-text .cmd-badge-full{display:none}.ff7-command-bar .cmd-badge-text .cmd-badge-short,.ff7-command-bar .cmd-item.primary .cmd-badge-text .cmd-badge-full{display:inline}.ff7-command-bar .cmd-item.primary .cmd-badge-text .cmd-badge-short{display:none}.ff7-command-bar .cmd-pair{gap:0;max-width:none}.ff7-command-bar .cmd-pair-text{display:none}.ff7-command-bar .cmd-item.primary .cmd-hit-pair-inline{display:inline}.ff7-command-bar .cmd-item.primary .cmd-pair{display:none}.ff7-command-bar .cmd-item-main{gap:.25rem}.ff7-command-bar .cmd-badges{gap:.18rem}}.ff7-command-bar .cmd-mp{color:var(--ff7-label);font-variant-numeric:tabular-nums;flex:none;font-size:.78rem;display:inline}.ff7-command-bar .cmd-mp:after{content:" MP";opacity:.85;font-size:.68rem}.ff7-command-bar .cmd-empty{color:var(--ff7-mute);min-height:var(--cmd-h);align-items:center;padding:0 .5rem;font-size:.85rem;display:inline-flex}.ff7-command-bar .cmd-status{flex-wrap:wrap;justify-content:center;gap:.25rem;min-height:0;display:flex}.ff7-command-bar .cmd-buff{color:var(--ff7-label);border:1px solid var(--ff7-silver);background:#0810508c;padding:.12rem .4rem;font-size:.72rem;line-height:1.2}.ff7-command-bar .cmd-strip{grid-template-columns:1fr 1fr 1fr;gap:.3rem;display:grid}.ff7-command-bar .cmd-slot{letter-spacing:.04em;text-transform:uppercase;width:100%;font-size:.9rem}.ff7-command-bar .cmd-slot.active{color:var(--ff7-label);outline:1px solid var(--ff7-label);background:linear-gradient(#3060ff 0%,#102090 100%)}.ff7-command-bar .club-chip.cmd-item{border:2px solid var(--ff7-silver);box-shadow:inset 1px 1px 0 #ffffff59, inset -1px -1px 0 #00000073, inset 0 -3px 0 var(--club,var(--ff7-bar));background:linear-gradient(#1830b8 0%,#081050 100%);flex-direction:row;justify-content:center;align-items:center;gap:.35rem;padding:0 .45rem 0 1.7rem}.ff7-command-bar .club-chip.selected{outline:1px solid var(--ff7-label);outline-offset:0;background:linear-gradient(#3060ff 0%,#102090 100%)}.ff7-command-bar .cmd-item.is-cpu-focus{outline-offset:1px;filter:brightness(1.18);outline:2px solid #fff;animation:.7s ease-in-out infinite alternate cpu-focus-pulse;overflow:visible}.ff7-command-bar .cmd-item.is-cpu-focus.has-cursor .menu-cursor{z-index:2}.scorecard-actions button{padding-left:1.85rem;position:relative}.ff7-command-bar.cmd-dock-cpu{opacity:.98}@keyframes cpu-focus-pulse{0%{box-shadow:inset 1px 1px #ffffff59,inset -1px -1px #00000073,0 0 #58f0ff59}to{box-shadow:inset 1px 1px #ffffff59,inset -1px -1px #00000073,0 0 10px 2px #58f0ff8c}}@media (prefers-reduced-motion:reduce){.ff7-command-bar .cmd-item.is-cpu-focus{animation:none}}.ff7-command-bar .club-name{color:var(--club,var(--ff7-label));font-size:.82rem;font-weight:700}.ff7-command-bar .club-dist{color:var(--ff7-text);font-size:.88rem;font-weight:700}.ff7-command-bar .club-slots{justify-content:center;gap:2px;margin-top:0;display:flex}.tutorial-cmd-demo{pointer-events:none;grid-template-columns:1fr 1fr 1fr;gap:.35rem;width:min(100%,16rem);margin:0 auto;display:grid}.tutorial-cmd-demo .cmd-item{min-height:2.35rem}.board-controls{box-sizing:border-box;border-top:1px solid #c8d0dc4d;flex-direction:column;align-items:stretch;gap:.35rem;width:100%;margin-top:.55rem;padding:.55rem .5rem .35rem;display:flex}.board-controls .club-row{flex:1;min-width:200px}.board-controls-actions{flex-wrap:wrap;gap:.35rem;margin-left:auto;display:flex}.board-controls-actions .hit-btn{min-width:4.5rem}.board-controls-actions .hit-btn:disabled{opacity:.35;color:var(--ff7-disabled);cursor:not-allowed;filter:none}.shot-line-appear{pointer-events:none;animation:.16s ease-out both shot-appear}.aim-pads,.aim-pads-layer{pointer-events:auto}.aim-pad.locked .aim-pad-hex{stroke:#f0f4f8;stroke-width:2.6px;stroke-dasharray:none}.aim-pad.hot:not(.locked) .aim-pad-hex{stroke:#dce4f0d9;stroke-width:2px;stroke-dasharray:3 2}.aim-pad.locked .aim-pad-arrow{opacity:.98}.aim-pad.hot:not(.locked) .aim-pad-arrow{opacity:.7}.shot-line,.shot-line-appear,.shot-ground-ribbon{pointer-events:none}.shot-line-hover{filter:none}.shot-line-appear line,.shot-line-appear circle{animation:.16s ease-out both shot-seg}.key-hint{box-sizing:border-box;letter-spacing:.02em;text-align:center;min-width:1.15rem;color:var(--ff7-label);vertical-align:middle;white-space:nowrap;background:#00000073;border-radius:2px;padding:.08rem .28rem;font-size:.72rem;font-weight:700;line-height:1.15;display:none}.board-view-controls .key-hint{min-width:1rem;margin:0;padding:.06rem .22rem;font-size:.65rem}.cmd-item .key-hint,.club-name .key-hint,.story-skip-btn .key-hint,.story-advance-hint .key-hint{margin-left:.35rem}@media (width>=861px){.key-hint{display:inline-block}}@media (width<=860px){.key-hint{display:none!important}}@keyframes shot-appear{0%{opacity:0}to{opacity:1}}@keyframes shot-seg{0%{stroke-dashoffset:24px;opacity:0}to{stroke-dashoffset:0;opacity:1}}.height-legend{display:none}.hud{flex-direction:column;gap:.55rem;padding:.7rem .75rem;display:flex}.hud-top{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.hud-tutorial-header{flex-direction:column;align-items:stretch;gap:.45rem;width:100%;display:flex}.hud-tutorial-body{color:var(--ff7-mute);margin:.2rem 0 0;font-size:.82rem;line-height:1.3}.hud-tutorial-nav{flex-wrap:wrap;gap:.35rem;margin-top:.15rem;display:flex}.hud-tutorial-nav .start-howto,.hud-tutorial-nav .primary{min-height:2.35rem;position:relative}.course-name{color:var(--ff7-text);margin:0;font-size:1rem;font-weight:700}.hud-course{flex-direction:column;gap:.1rem;min-width:0;display:flex}.course-diff{color:var(--ff7-mute);margin:0;font-size:.8rem}.course-diff .ff7-label{margin-right:.25rem}.seed-line{color:var(--ff7-mute);margin:.15rem 0 0;font-size:.8rem}.hud-actions-mini{flex-wrap:wrap;justify-content:flex-end;gap:.2rem;display:flex}.hud-actions-mini.quiet button,.hud-actions-mini .ghost{color:var(--ff7-mute);box-shadow:none;background:0 0;border:1px solid #0000;padding:.15rem .35rem;font-size:.8rem}.hud-actions-mini .ghost:hover{border-color:var(--ff7-silver);color:var(--ff7-text);background:#0003}.hud-actions-mini button{padding:.25rem .4rem;font-size:.8rem}.hud-stats{border-top:1px solid #c8d0dc4d;border-bottom:1px solid #c8d0dc4d;flex-direction:column;gap:.45rem;padding:.45rem 0;font-size:.8rem;display:flex}.hud-stats-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.65rem 1rem;display:flex}.hud-stats-row.gauges{align-items:flex-start}.hud-stats .ff7-label{margin-right:.25rem}.player-list{flex-direction:column;gap:.28rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.player-list li{border-left:3px solid #0000;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:.12rem .4rem;padding:.28rem .4rem;display:grid}.player-list li.active{background:#40f06026}.player-list li.is-ready{background:#ffdc501f}.player-list .player-row-main{grid-area:1/2;align-items:center;gap:.35rem;min-width:0;display:flex}.player-list .swatch{grid-area:1/1/span 2;align-self:center}.player-list .player-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-list .player-meta{color:var(--ff7-mute);flex-shrink:0;font-size:.72rem}.atb-track{border:1px solid var(--ff7-bevel-hi);background:#000;grid-area:2/2;width:100%;height:.42rem;overflow:hidden}.atb-fill{background:linear-gradient(#ffe080 0%,#e0a010 55%,#a06800 100%);width:0%;height:100%;transition:none;display:block;box-shadow:inset 0 1px #fff6}.atb-fill.is-ready{background:linear-gradient(#90ffb0 0%,#40f060 55%,#20a038 100%)}.atb-fill.is-tweening{transition:width .45s cubic-bezier(.22,.8,.28,1)}.swatch{border:1px solid var(--ff7-silver);border-radius:50%;width:.6rem;height:.6rem}.modifier-panel{border:2px solid var(--ff7-silver);background:#00001073;border-radius:4px;padding:.5rem .6rem;box-shadow:inset 1px 1px #00000073}.modifier-panel.compact{padding:.4rem .5rem}.modifier-panel .lie-row{align-items:center;gap:.55rem;display:flex}.modifier-panel .terrain-swatch-hex{flex-shrink:0;width:1.75rem;height:2.15rem;display:block;overflow:visible}.modifier-panel .terrain-swatch{border:1.5px solid var(--ff7-silver);border-radius:4px;flex-shrink:0;width:1.5rem;height:1.5rem}.modifier-panel .lie-main{flex:1;min-width:0}.modifier-panel h2{letter-spacing:0;color:var(--ff7-label);margin:0;font-size:.85rem;font-weight:400}.modifier-panel .lie-name{color:var(--ff7-text);align-items:center;gap:.4rem;margin:0;font-size:1rem;font-weight:700;display:flex}.modifier-panel .height-pill{letter-spacing:0;color:var(--ff7-label);background:#00000073;border-radius:2px;padding:.05rem .25rem;font-size:.8rem;font-weight:700}.modifier-panel .lie-status{color:var(--ff7-text);margin:.15rem 0 0;font-size:.85rem}.modifier-panel ul{margin:0;padding-left:1.1rem;font-size:.85rem}.modifier-panel .effective{font-weight:700}.modifier-panel .warn{color:var(--ff7-danger)}.modifier-panel .lie-hint{color:var(--ff7-mute);margin:.35rem 0 0;font-size:.8rem}.wind-indicator{border:2px solid var(--ff7-label);background:#00001073;border-radius:4px;flex-wrap:wrap;align-items:center;gap:.35rem .55rem;padding:.45rem;font-size:.85rem;display:flex}.wind-indicator .label{color:var(--ff7-label);font-weight:700}.wind-indicator .wind-copy{flex-direction:column;flex:8rem;gap:.12rem;min-width:0;display:flex}.wind-indicator .value{color:var(--ff7-text);line-height:1.25}.wind-indicator .wind-eta{color:var(--ff7-mute);font-size:.75rem;line-height:1.2}.wind-indicator .compass-hex{flex-shrink:0;display:block}.wind-indicator .compass-hex .wind-arrow{fill:var(--shot-wind);stroke:var(--shot-wind)}.wind-indicator.off{background:0 0;border-style:solid;border-color:#c8d0dc59;gap:.5rem;display:flex}.message{min-height:1.2em;margin:0;font-size:.9rem;font-style:italic}.club-row{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.club-chip{box-shadow:inset 1px 1px 0 #fff3, inset 0 -3px 0 var(--club,var(--ff7-bar));color:var(--ff7-text);background:#000014;border:2px solid #a8b0c0;border-radius:4px;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .3rem;display:flex}.club-chip:hover:not(:disabled){filter:brightness(1.08);background:#080820}.club-chip.locked{opacity:.35}.club-chip.selected{outline:1px solid var(--ff7-bevel-hi);outline-offset:1px;background:#1020a0}.club-name{color:var(--club,var(--ff7-label));align-items:center;font-size:.9rem;font-weight:700;display:flex}.club-dist{color:var(--ff7-text);font-size:1.1rem;font-weight:700}.controls{flex-wrap:wrap;gap:.4rem;display:flex}.hud-footer{border-top:1px solid #c8d0dc4d;gap:.4rem;padding-top:.5rem;display:flex}.scorecard-screen{box-sizing:border-box;place-items:center;width:100%;max-width:min(960px,100%);min-height:100dvh;margin:0 auto;padding:1rem;display:grid}.scorecard-results{box-sizing:border-box;width:100%;max-height:calc(100dvh - 2rem);padding:1rem 1.1rem;animation:.22s cubic-bezier(.34,1.35,.64,1) both ff7-window-in;overflow:auto}.scorecard-grid tbody tr{animation:.28s ease-out both score-row-in}.scorecard-grid tbody tr:first-child{animation-delay:40ms}.scorecard-grid tbody tr:nth-child(2){animation-delay:80ms}.scorecard-grid tbody tr:nth-child(3){animation-delay:.12s}.scorecard-grid tbody tr:nth-child(4){animation-delay:.16s}@keyframes score-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes winner-pulse{0%{color:inherit}to{color:#b8f8ff}}.scorecard-eyebrow,.hole-overlay-eyebrow{letter-spacing:.12em;margin:0 0 .25rem}.scorecard-title{color:var(--ff7-text);margin:0;font-size:clamp(1.4rem,4vw,2rem)}.scorecard-seed{color:var(--ff7-mute);margin:.25rem 0 .35rem;font-size:.85rem}.scorecard-meta{color:var(--ff7-mute);flex-wrap:wrap;gap:.35rem .65rem;margin:0 0 .75rem;font-size:.85rem;display:flex}.scorecard-kind{color:var(--ff7-mute);margin-left:.35rem;font-size:.7rem}.scorecard-match-lead{margin:0 0 .85rem;font-size:1.05rem}.hud-match{margin-left:auto}.hole-match-status{color:var(--ff7-label);margin:0 0 .75rem;font-size:1.1rem}.scorecard-winner{flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;margin:0 0 .85rem;font-size:1.05rem;animation:.35s cubic-bezier(.34,1.55,.64,1) both score-slam;display:flex}.scorecard-winner-score{color:var(--ff7-text);margin-left:auto}.scorecard-table-wrap{-webkit-overflow-scrolling:touch;width:100%;margin:.5rem 0 .85rem;overflow-x:auto}.scorecard-grid{border-collapse:collapse;width:100%;min-width:28rem}.scorecard-grid th,.scorecard-grid td{text-align:center;white-space:nowrap;border-bottom:1px solid #c8d0dc47;padding:.4rem .35rem;font-size:.88rem}.scorecard-grid th{color:var(--ff7-label);vertical-align:bottom;font-weight:400}.scorecard-player-col{min-width:6.5rem;text-align:left!important}.scorecard-hole-col{min-width:2.6rem}.scorecard-hole-num{color:var(--ff7-text);font-size:.95rem;display:block}.scorecard-hole-par{color:var(--ff7-mute);font-size:.68rem;line-height:1.2;display:block}.scorecard-total-col{min-width:4.5rem;text-align:right!important}.scorecard-place{min-width:1.1rem;color:var(--ff7-label);margin-right:.35rem;font-size:.8rem;display:inline-block}.scorecard-grid tr.is-winner td{background:0 0;font-weight:600;animation:1.6s ease-in-out infinite alternate winner-pulse}.scorecard-grid tr.is-winner .scorecard-player-col{background:0 0;font-weight:600}.scorecard-grid th,.scorecard-grid td,.scorecard-grid .scorecard-player-col,.scorecard-grid thead .scorecard-player-col,.scorecard-grid tr.is-winner .scorecard-player-col{background:0 0}.scorecard-actions{z-index:4;padding-top:.65rem;padding-bottom:max(.35rem, env(safe-area-inset-bottom));background:linear-gradient(#00082000 0%,#000820eb 28%,#000820 55%);flex-wrap:wrap;gap:.45rem;margin-top:.75rem;display:flex;position:sticky;bottom:0}.scorecard-screen table{border-collapse:collapse;width:100%;margin:.75rem 0}.scorecard-screen th,.scorecard-screen td{text-align:left;border-bottom:1px solid #c8d0dc4d;padding:.35rem .2rem}.scorecard-screen th{color:var(--ff7-label);font-weight:400}.hole-overlay{z-index:50;padding:var(--play-gutter,.85rem);padding-bottom:max(var(--play-gutter,.85rem), env(safe-area-inset-bottom,0px));background:#000010b8;place-items:center;animation:.18s ease-out overlay-in;display:grid;position:fixed;inset:0}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.hole-overlay-card{text-align:center;min-width:min(280px,92vw);max-width:min(720px,96vw);padding:1rem 1.15rem .9rem;animation:.22s cubic-bezier(.34,1.35,.64,1) both ff7-window-in}.hole-overlay-name{letter-spacing:0;margin:0;font-size:.95rem;font-weight:400}.hole-overlay-score{letter-spacing:0;color:var(--ff7-text);margin:.15rem 0;font-size:clamp(2.2rem,8vw,3rem);font-weight:800;line-height:1.05;animation:.35s cubic-bezier(.34,1.55,.64,1) both score-slam}@keyframes score-slam{0%{opacity:0;transform:scale(.55)}70%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.course-brief-title{letter-spacing:0;color:var(--ff7-text);margin:.15rem 0 .35rem;font-size:clamp(1.35rem,4.5vw,1.85rem);font-weight:800;line-height:1.15}.course-brief-holes{color:var(--ff7-text);margin:-.35rem 0 .75rem;font-size:1rem;font-weight:700}.hole-overlay-strokes{color:var(--ff7-mute);margin:0 0 .65rem;font-size:.9rem}.hole-overlay-chip{letter-spacing:0;color:var(--ff7-bar);margin:-.25rem 0 .7rem;font-size:.85rem;font-weight:700}.hole-scorecard-card{text-align:left;width:min(720px,96vw);min-width:min(420px,96vw)}.hole-scorecard-card h2{text-align:center;color:var(--ff7-text);margin:0 0 .55rem;font-size:1.15rem}.hole-card-par{color:var(--ff7-mute);font-size:.9em;font-weight:500}.hole-overlay-card>.primary{margin-top:.25rem;padding-left:1.85rem;position:relative}.play-skip button.primary{min-height:2.75rem}@media (width<=860px){.hole-overlay-card>.primary{width:100%;min-height:2.75rem}}.hole-scorecard-card th,.hole-scorecard-card td{text-align:left;background:0 0;border-bottom:1px solid #c8d0dc4d;padding:.35rem .2rem}.hole-scorecard-card th{color:var(--ff7-label);font-weight:400}.hole-scorecard-card .primary{width:100%}.hole-overlay-card>.primary{min-width:7rem}.shot-breakdown{animation:.1s linear panel-in}@keyframes panel-in{0%{opacity:0}to{opacity:1}}.tile-inspector,.shot-breakdown{border:2px solid var(--ff7-silver);background:#00001073;border-radius:4px;padding:.45rem .55rem;font-size:.85rem}.tile-inspector h2,.shot-breakdown h2{letter-spacing:0;color:var(--ff7-label);margin:0;font-size:.85rem;font-weight:400}.tile-inspector .lie-name{margin:.2rem 0 .35rem;font-weight:700}.tile-inspector ul,.shot-breakdown ul{margin:0;padding-left:1.1rem}.tile-inspector.empty,.shot-breakdown.empty{opacity:.75}.shot-breakdown.ok{border-color:var(--ff7-bar)}.shot-breakdown.bad{border-color:var(--accent-rose)}.shot-breakdown .warn{color:#8a4040;margin:.35rem 0}.shot-breakdown .effective{margin:.25rem 0 .4rem;font-weight:600}.shot-breakdown .shot-notes{color:var(--ff7-mute);margin:.35rem 0 0;font-size:.8rem}.alt-graph{background:#00001073;border:1px solid #c8d0dc59;border-radius:4px;margin-top:.35rem;display:block}.alt-legend{color:var(--muted);letter-spacing:0;flex-wrap:wrap;gap:.45rem .65rem;margin-top:.3rem;font-size:.8rem;display:flex}.alt-legend span{align-items:center;gap:.25rem;display:inline-flex}.alt-legend i{border-radius:1px;width:.55rem;height:.55rem;display:inline-block}.alt-legend .alt-swatch{flex-shrink:0;display:block}.alt-legend i.bounce-mark{background:0 0;border:1.5px solid;border-radius:50%;width:.7rem;height:.7rem;font-style:normal;position:relative;box-shadow:inset 0 0 0 1.5px #0000}.alt-legend i.bounce-mark:after{content:"";background:currentColor;border-radius:50%;position:absolute;inset:2px}.shot-bounce-mark,.shot-bounce-burst{pointer-events:none}.golfteria-panel{z-index:30;position:relative}.golfteria-card{text-align:left;padding:.75rem .85rem .8rem;overflow:visible}.golfteria-player{letter-spacing:0;color:var(--ff7-label);margin:0;font-size:.9rem;font-weight:700}.golfteria-cpu-status{color:var(--ff7-label);text-shadow:1px 1px #000;margin:-.15rem 0 .45rem;font-size:.9rem}.golfteria-slot.is-cpu-focus,.golfteria-inv-orb.is-cpu-focus{outline-offset:1px;filter:brightness(1.2);outline:2px solid #fff;animation:.7s ease-in-out infinite alternate cpu-focus-pulse}@media (prefers-reduced-motion:reduce){.golfteria-slot.is-cpu-focus,.golfteria-inv-orb.is-cpu-focus{animation:none}}.golfteria-title{text-align:center;color:var(--ff7-text);margin:.15rem 0 .55rem;font-size:1.35rem}.golfteria-clubs{flex-direction:column;gap:.55rem;margin-bottom:.75rem;display:flex;overflow:visible}.golfteria-club-row{align-items:center;gap:.55rem;display:flex;position:relative;overflow:visible}.golfteria-club-row:hover{z-index:20}.golfteria-club-badge{border:2px solid var(--ff7-silver);text-align:center;min-width:4.6rem;color:var(--ff7-text);background:#000018;border-radius:3px;padding:.3rem .45rem;font-size:.95rem;font-weight:700;display:inline-block}.golfteria-slot-groups{flex-wrap:wrap;flex:1;align-items:center;gap:.4rem;display:flex}.golfteria-pair-rail,.golfteria-solo-rail{background:#000014;border:2px solid #a8b0c0;border-radius:3px;align-items:center;gap:.2rem;padding:.2rem .3rem;display:flex;position:relative;overflow:visible;box-shadow:inset 1px 1px #000}.golfteria-pair-rail{gap:0}.golfteria-pair-link{background:var(--ff7-silver);z-index:0;flex-shrink:0;width:.55rem;height:2px}.golfteria-slot{border:2px solid var(--ff7-silver);z-index:1;cursor:grab;background:#0a1028;border-radius:50%;place-items:center;width:1.85rem;height:1.85rem;padding:0;display:grid;position:relative;box-shadow:inset 0 1px 3px #00000073}@media (width<=860px){.golfteria-slot-groups{gap:.55rem}.golfteria-pair-rail,.golfteria-solo-rail{gap:.28rem;padding:.28rem .38rem}.golfteria-slot{width:2.5rem;height:2.5rem}.golfteria-orb{width:1.55rem;height:1.55rem}.golfteria-inv-row{gap:.55rem}.golfteria-inv-orb{width:2.45rem;height:2.45rem}}.golfteria-slot:active{cursor:grabbing}.golfteria-slot.ready{outline:2px solid var(--ff7-label);outline-offset:1px}.golfteria-slot.solo.no-support{opacity:.45;cursor:not-allowed;outline:none}.golfteria-slot.filled{background:#121a40}.golfteria-slot.drag-over,.golfteria-inventory.drag-over{outline:2px solid var(--ff7-label);outline-offset:1px}.golfteria-orb{pointer-events:none;border-radius:50%;width:1.25rem;height:1.25rem;display:block;box-shadow:inset 0 -2px 4px #00000059,inset 0 2px 3px #ffffff59}.golfteria-inventory{border:1.5px dashed #0000;border-radius:0;margin-bottom:.6rem;padding:.35rem 0}.golfteria-inventory.drag-over{border-color:var(--ff7-label);background:#58f0ff14}.golfteria-inventory h3{letter-spacing:0;color:var(--ff7-label);margin:0 0 .35rem;font-size:.85rem;font-weight:400}.golfteria-empty{color:var(--ff7-mute);margin:0;font-size:.85rem}.golfteria-inv-row{flex-wrap:wrap;gap:.4rem;display:flex}.golfteria-inv-orb{border:2px solid var(--ff7-silver);cursor:grab;border-radius:50%;width:1.75rem;height:1.75rem;padding:0;box-shadow:inset 0 -2px 4px #00000059,inset 0 2px 3px #ffffff59}.golfteria-inv-orb:active{cursor:grabbing}.golfteria-inv-orb.selected{outline:2px solid var(--ff7-bevel-hi);outline-offset:2px}.golfteria-remove-all{width:100%;color:var(--ff7-mute);background:0 0;border:1px solid #c8d0dc59;margin-top:.55rem;font-size:.85rem}.golfteria-remove-all:disabled{opacity:.35;cursor:not-allowed}.golfteria-remove-all:not(:disabled):hover{color:var(--ff7-text);border-color:var(--ff7-silver)}.golfteria-confirm{width:100%;margin-top:.4rem;padding-left:1.85rem;position:relative}.ff7-gauge{flex-direction:column;flex:6.5rem;align-items:stretch;gap:.15rem;min-width:5.5rem;max-width:9rem;display:flex}.ff7-gauge-track{border:1px solid var(--ff7-bevel-hi);background:#000;border-radius:0;width:100%;min-width:0;height:.45rem;overflow:hidden}.ff7-gauge-fill{height:100%;transition:width .2s;display:block}.ff7-gauge-fill.hp{background:linear-gradient(#68a8ff 0%,#2060e0 55%,#1040a0 100%);box-shadow:inset 0 1px #ffffff73}.ff7-gauge-fill.mp{background:linear-gradient(#70ff90 0%,#40f060 55%,#20a038 100%);box-shadow:inset 0 1px #ffffff73}.ff7-gauge-label{font-variant-numeric:tabular-nums;color:var(--ff7-text);font-size:.85rem;line-height:1}.ff7-gauge.over .ff7-gauge-label{color:var(--ff7-danger)}.mp-bar{align-items:center;gap:.4rem;min-width:7rem;display:flex}.mp-bar-track{border:1px solid var(--ff7-bevel-hi);background:#0000008c;border-radius:0;flex:1;height:.35rem;overflow:hidden}.mp-bar-fill{background:var(--ff7-bar);height:100%;transition:width .2s;display:block}.mp-bar-label{font-variant-numeric:tabular-nums;min-width:2.4rem;color:var(--ff7-text);font-size:.8rem}.club-slots{justify-content:center;gap:2px;margin-top:.15rem;display:flex}.club-slot-dot{background:0 0;border:1px solid #ffffff73;border-radius:50%;width:.4rem;height:.4rem}.ability-row{flex-wrap:wrap;gap:.35rem;width:100%;margin-top:.35rem;display:flex}.ability-row button{padding:.35rem .55rem;font-size:.85rem}.tip{position:relative}.tip-layer{z-index:9999;background:linear-gradient(160deg, var(--ff7-grad-tl) 0%, #081878 38%, var(--ff7-grad-br) 100%);width:max-content;max-width:min(12rem,100vw - 1rem);color:var(--ff7-text);text-align:center;white-space:normal;pointer-events:none;border:2px solid #a8b0c0;border-radius:3px;padding:.35rem .5rem;font-size:.8rem;font-weight:400;line-height:1.3;position:fixed;top:0;left:0;box-shadow:inset 1px 1px #fff,inset -1px -1px #101820,0 0 0 1px #e8ecf4,0 0 0 2px #687088}.tutorial-overlay{z-index:50;padding:max(.65rem, env(safe-area-inset-top)) max(.65rem, env(safe-area-inset-right)) max(.65rem, env(safe-area-inset-bottom)) max(.65rem, env(safe-area-inset-left));background:#000000c7;place-items:center;animation:.1s linear overlay-in;display:grid;position:fixed;inset:0}.tutorial-card{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;gap:.65rem;width:min(480px,100%);max-height:min(92dvh,680px);padding:.85rem 1rem .9rem;display:flex;overflow:auto}.tutorial-header{align-items:baseline;gap:.75rem;display:flex}.tutorial-title{color:var(--ff7-text);margin:0;font-size:1.25rem}.tutorial-body{color:var(--ff7-text);margin:0;font-size:.9rem;line-height:1.4}.tutorial-demo{background:#000014;border:2px solid #a8b0c0;padding:.55rem .45rem;box-shadow:inset 1px 1px #000}.tutorial-aside{color:var(--ff7-label);text-align:center;margin:0;font-size:.78rem}.tutorial-catalog-row{align-items:center;gap:.55rem;display:flex}.tutorial-catalog-row .terrain-swatch-hex,.tutorial-catalog-row .golfteria-orb{flex-shrink:0}.tutorial-catalog-row .terrain-swatch-hex{width:1.75rem;height:1.75rem;display:block}.tutorial-catalog-text{flex-direction:column;gap:.1rem;min-width:0;display:flex}.tutorial-catalog-name{color:var(--ff7-text);font-size:.85rem}.tutorial-catalog-blurb{color:var(--ff7-mute);font-size:.75rem;line-height:1.25}.tutorial-slots-demo{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .55rem;display:flex}.tutorial-slots-demo .golfteria-pair-rail,.tutorial-slots-demo .golfteria-solo-rail{pointer-events:none}.tutorial-nav{flex-direction:column;align-items:stretch;gap:.35rem;margin-top:.15rem;display:flex}.tutorial-nav .start-howto,.tutorial-nav .primary{width:100%;margin:0;padding-left:1.85rem;position:relative}.tutorial-menu{flex-direction:column;gap:.35rem;min-height:0;display:flex}.tutorial-demo-menu{box-shadow:none;background:0 0;border:none;padding:0}.tutorial-menu-btn{text-align:left;width:100%;color:var(--ff7-text);cursor:pointer;background:#000014;border:2px solid #a8b0c0;align-items:center;gap:.55rem;padding:.45rem .55rem .45rem 1.85rem;display:flex;position:relative;box-shadow:inset 1px 1px #000}.tutorial-menu-btn .menu-cursor{margin:0;animation:.5s ease-in-out infinite alternate menu-cursor-bob-abs;position:absolute;top:50%;left:.35rem;transform:translateY(-50%)}.tutorial-menu-btn:hover{filter:brightness(1.06);background:#101828;border-color:#e8eef8}.tutorial-menu-leading{flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;display:flex}.tutorial-menu-btn-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.tutorial-menu-btn-label{color:var(--ff7-text);align-items:center;gap:.4rem;font-size:.95rem;display:inline-flex}.tutorial-check{color:#70f090;background:#102818;border:2px solid #a8b0c0;flex-shrink:0;justify-content:center;align-items:center;width:1.05rem;height:1.05rem;font-size:.72rem;line-height:1;display:inline-flex}.tutorial-menu-btn-hint{color:var(--ff7-label);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.25;overflow:hidden}.tutorial-objective{color:var(--ff7-label);margin:0;font-size:.85rem;line-height:1.35}.tutorial-objective.is-tip{color:#ffe8a0}.tutorial-tryout{letter-spacing:.04em;width:100%;min-height:2.4rem;margin:.35rem 0 0;padding-left:1.85rem;font-weight:700;display:block;position:relative}.tutorial-theme-caption{color:var(--ff7-mute);letter-spacing:.04em;margin-top:.2rem;font-size:.72rem;display:block}.tutorial-orb-lg{border-radius:50%;width:2.5rem;height:2.5rem;box-shadow:inset 1px 1px #ffffff59,inset -1px -1px #00000059}.tutorial-club-glyph{flex-shrink:0;display:block}.tutorial-aim-demo{flex-wrap:wrap;justify-content:center;gap:.35rem;padding:.35rem 0;display:flex}.tutorial-aim-key{border:2px solid var(--ff7-silver);min-width:1.75rem;height:1.75rem;color:var(--ff7-label);box-shadow:inset 1px 1px 0 var(--ff7-bevel-hi), inset -1px -1px 0 var(--ff7-bevel-lo);background:#081048a6;border-radius:3px;justify-content:center;align-items:center;padding:0 .35rem;font-size:.75rem;font-weight:700;display:inline-flex}.tutorial-shot-visual{text-align:center;width:100%;color:var(--ff7-label);border:2px solid var(--ff7-silver);box-shadow:inset 1px 1px 0 var(--ff7-bevel-hi), inset -1px -1px 0 var(--ff7-bevel-lo);background:#08104873;border-radius:3px;padding:.75rem .85rem;font-size:.82rem}.tutorial-visual{border:2px solid var(--ff7-silver);width:100%;box-shadow:inset 1px 1px 0 var(--ff7-bevel-hi), inset -1px -1px 0 var(--ff7-bevel-lo);box-sizing:border-box;background:#08104873;border-radius:3px;margin:0;padding:.45rem .35rem .35rem}.tutorial-visual-svg{width:100%;height:auto;max-height:9.5rem;display:block}.tutorial-visual-caption{text-align:center;color:var(--ff7-mute);letter-spacing:.02em;margin:.15rem 0 0;font-size:.72rem}.tutorial-visual-orb .tutorial-orb-row{justify-content:center;align-items:center;gap:.75rem;padding:.5rem .35rem .25rem;display:flex}.tutorial-kind-cue{flex-shrink:0}.tutorial-commands-visual{flex-direction:column;gap:.35rem;display:flex}.tutorial-cmd-captions{color:var(--ff7-mute);text-align:center;grid-template-columns:repeat(3,1fr);gap:.25rem;font-size:.68rem;display:grid}@keyframes tutorial-arc-dash{to{stroke-dashoffset:-18px}}@keyframes tutorial-wind-nudge{0%,to{transform:translate(0)}50%{transform:translate(3px)}}.tutorial-visual-arc{animation:2.8s linear infinite tutorial-arc-dash}.tutorial-visual-wind{animation:2.2s ease-in-out infinite tutorial-wind-nudge}@media (prefers-reduced-motion:reduce){.tutorial-visual-arc,.tutorial-visual-wind{animation:none}}.tutorial-play{max-width:1280px}.app.play.tutorial-play>.tutorial-equip-wrap{min-height:0;height:var(--play-col-h);max-height:var(--play-col-h);-webkit-overflow-scrolling:touch;box-sizing:border-box;grid-area:1/1;place-items:center;padding:.5rem;display:grid;overflow:auto}.tutorial-play .play-rail{-webkit-overflow-scrolling:touch;flex-direction:column;align-content:start;gap:.5rem;min-height:0;display:flex;overflow-y:auto}.tutorial-play .tutorial-coach{box-sizing:border-box;flex-direction:column;flex:none;gap:.45rem;width:100%;min-height:0;margin:0;padding:.65rem .85rem;display:flex}.tutorial-play .tutorial-status{box-sizing:border-box;flex-direction:column;flex:none;gap:.35rem;width:100%;margin:0;padding:.45rem .65rem;display:flex}.tutorial-play .tutorial-status .wind-indicator{transform-origin:0;transform:scale(.92)}.tutorial-play .tutorial-status-meta{opacity:.92;flex-wrap:wrap;gap:.35rem .75rem;font-size:.78rem;line-height:1.25;display:flex}.tutorial-equip-wrap .golfteria-panel{background:0 0;width:min(100%,420px);position:relative;inset:auto}@media (width<=860px){.app.play.tutorial-play{grid-template-rows:minmax(0, 1fr) var(--mobile-board-h)}.app.play.tutorial-play>.play-rail{order:-1;grid-row:1;max-height:none}.app.play.tutorial-play>.board-wrap,.app.play.tutorial-play>.tutorial-equip-wrap{height:var(--mobile-board-h);max-height:var(--mobile-board-h);order:1;grid-row:2;min-height:0;overflow:hidden}.tutorial-play .tutorial-coach{flex:none;gap:.3rem;max-height:none;padding:.5rem .65rem}.tutorial-play .tutorial-coach .tutorial-body{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.78rem;line-height:1.3;display:-webkit-box;overflow:hidden}.tutorial-play .tutorial-title{font-size:1rem}.tutorial-play .tutorial-objective{font-size:.8rem}.tutorial-play .tutorial-nav{margin-top:.15rem}.tutorial-play .tutorial-status{gap:.25rem;padding:.35rem .55rem}.tutorial-play .tutorial-status .wind-indicator{transform:scale(.85)}.tutorial-equip-wrap .golfteria-card{max-width:100%}}@media (width>=861px){.tutorial-play .tutorial-coach .tutorial-body{font-size:.85rem}}@media (width<=860px){.tutorial-card{max-height:calc(100dvh - 1.25rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));gap:.5rem;padding:.7rem .75rem .75rem}.tutorial-title{font-size:1.1rem}.tutorial-body{font-size:.85rem}.tutorial-menu-btn{padding:.4rem .5rem}}.start-howto{width:100%;box-shadow:none;color:var(--ff7-text);background:0 0;border:2px solid #a8b0c0;margin-top:.15rem}.start-story-btn,.start-howto-side,.start-play{letter-spacing:.04em;border-radius:2px;min-height:2.65rem;font-size:1.05rem;font-weight:700}.start-howto-side{flex-shrink:0;width:100%;margin:0;padding:.55rem 1rem .55rem 1.85rem;position:relative;box-shadow:inset 1px 1px #fff3,inset -1px -1px #00000059}.start-howto:hover:not(:disabled){filter:brightness(1.08)}.start-howto-side:hover:not(:disabled){filter:brightness(1.08);color:var(--ff7-text)}body:has(.app-story){height:100dvh;overflow:hidden}.app-story{background:var(--ff7-bg);place-items:stretch stretch;height:100dvh;max-height:100dvh;display:grid;overflow:hidden}.story-mode{place-items:stretch stretch;width:100%;height:100%;max-height:100dvh;display:grid;overflow:hidden}.story-hub{--ff7-grad-tl:#d44a9a;--ff7-grad-br:#9a1230;--ff7-label:#ffc8dc;--ff7-mute:#e8a0b8;background:linear-gradient(160deg,#c4388a 0%,#d44a9a 22%,#b82058 58%,#9a1230 100%);flex-direction:column;gap:.55rem;display:flex}.story-hub .start-quick-title{color:#fff}.story-hub button{background:linear-gradient(90deg,#c4388a 0%,#d44a9a 28%,#b82058 62%,#9a1230 100%);border-color:#d8dce8;width:100%;box-shadow:inset 0 1px #ffffff59,inset 0 -1px #00000059,0 0 0 1px #1a0810}.story-hub button.primary{filter:brightness(1.05);background:linear-gradient(90deg,#e05098 0%,#d44a9a 28%,#c02860 62%,#a81438 100%)}.story-hub-warn{color:var(--ff7-text);margin:0 0 .25rem;line-height:1.4}.start-howto-panel{flex-direction:column;gap:.65rem;display:flex}.start-howto-panel .tutorial-header{margin:0}.start-howto-panel .tutorial-nav{margin-top:.25rem}.story-frame-shell{--play-gutter:.85rem;width:100%;height:100%;max-height:100dvh;padding:max(var(--play-gutter), env(safe-area-inset-top)) max(var(--play-gutter), env(safe-area-inset-right)) max(var(--play-gutter), env(safe-area-inset-bottom)) max(var(--play-gutter), env(safe-area-inset-left));box-sizing:border-box;background:#000;place-items:center;display:grid;overflow:hidden}.story-frame{cursor:pointer;background:#000;border:2px solid #a8b0c0;width:70%;height:70%;max-height:70%;position:relative;overflow:hidden;box-shadow:inset 1px 1px #fff,inset -1px -1px #101820,0 0 0 1px #e8ecf4,0 0 0 3px #687088,0 0 0 4px #202830}@media (width<=640px),(aspect-ratio<=4/5){.story-frame{aspect-ratio:auto;width:100%;height:100%;max-height:none}}.story-frame-bg{object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.story-skip-btn{z-index:3;pointer-events:auto;position:absolute;top:.55rem;right:.55rem}.story-frame-content{z-index:1;pointer-events:none;flex-direction:column;display:flex;position:absolute;inset:0}.story-dialogue{flex-direction:column;flex:1;justify-content:flex-end;gap:0;min-height:0;padding:.85rem .85rem 1rem;display:flex;position:relative}.story-portraits{pointer-events:none;z-index:1;justify-content:space-between;align-items:flex-end;gap:.5rem;height:min(52dvh,26rem);display:flex;position:absolute;inset:auto .5rem 2.1rem;overflow:visible}.story-slot{flex:1 1 0;align-items:flex-end;min-width:0;height:100%;display:flex;overflow:visible}.story-slot-left{justify-content:flex-start}.story-slot-right{justify-content:flex-end}.story-portrait-wrap{transform-origin:bottom;align-items:flex-end;max-width:100%;height:100%;display:flex;overflow:visible}.story-portrait-wrap.is-talking{animation:.9s ease-in-out infinite story-talk}.story-portrait-scale{transform-origin:bottom;align-items:flex-end;max-width:100%;height:100%;display:flex;overflow:visible}.story-portrait{object-fit:contain;object-position:bottom center;transform-origin:bottom;opacity:1;filter:drop-shadow(0 4px 10px #0000008c);width:auto;max-width:min(42vw,18rem);height:min(48dvh,24rem);max-height:100%;animation:.38s cubic-bezier(.34,1.4,.64,1) both story-appear;display:block}.story-portrait.is-mirrored{animation-name:story-appear-mirrored;transform:scaleX(-1)}@keyframes story-appear{0%{opacity:0;transform:scaleX(.82)scaleY(1.18)}55%{opacity:1;transform:scaleX(1.06)scaleY(.94)}to{opacity:1;transform:scaleX(1)scaleY(1)}}@keyframes story-appear-mirrored{0%{opacity:0;transform:scaleX(-.82)scaleY(1.18)}55%{opacity:1;transform:scaleX(-1.06)scaleY(.94)}to{opacity:1;transform:scaleX(-1)scaleY(1)}}@keyframes story-talk{0%,to{transform:scale(1)}50%{transform:scale(.992,1.012)}}.story-textbox{pointer-events:none;text-align:left;z-index:3;flex-shrink:0;width:100%;min-height:6rem;margin:0;padding:.9rem 1.2rem 1.35rem;position:relative}.story-speaker{text-transform:none;margin:0 0 .3rem}.story-line{color:var(--ff7-text);white-space:pre-wrap;margin:0;font-size:1.15rem;line-height:1.45}.story-advance-hint{color:var(--ff7-label);font-size:.7rem;animation:1s steps(2,end) infinite story-hint-blink;position:absolute;bottom:.35rem;right:.75rem}@keyframes story-hint-blink{50%{opacity:.2}}.story-stage-card{cursor:pointer;background:#000;place-items:center;display:grid}.story-stage-card-inner{text-align:center;flex-direction:column;align-items:center;gap:.85rem;padding:1.5rem;display:flex}.story-stage-card-num{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:clamp(.95rem,2.4vw,1.15rem)}.story-stage-card-name{color:var(--ff7-text);letter-spacing:.04em;margin:0;font-size:clamp(1.55rem,4.5vw,2.35rem);font-weight:700;line-height:1.2}.story-stage-card.is-in .story-stage-card-inner{animation:.7s ease-out both story-stage-card-fade}.story-stage-card.is-hold .story-stage-card-inner{opacity:1}.story-stage-card.is-out{animation:.85s ease-in both story-stage-card-fade-out}@keyframes story-stage-card-fade{0%{opacity:0}to{opacity:1}}@keyframes story-stage-card-fade-out{0%{opacity:1}to{opacity:0}}.story-scroll{pointer-events:auto;background:linear-gradient(#00000080 0%,#00000040 45%,#0000008c 100%);flex:1;justify-content:center;align-items:stretch;display:flex;position:relative;overflow:hidden}.story-scroll-track{text-align:center;padding:0 1.25rem;animation-name:story-scroll-crawl;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;top:100%;left:0;right:0}.story-scroll-line{color:var(--ff7-text);text-shadow:1px 1px #000;letter-spacing:0;margin:0 0 .85rem;font-size:clamp(1.05rem,3.2vw,1.35rem);font-weight:400;line-height:1.45}.story-scroll-line.ff7-label{margin-bottom:1.1rem}.story-scroll-line.is-gap{margin-bottom:1.6rem}@keyframes story-scroll-crawl{0%{transform:translateY(0)}to{transform:translateY(-200%)}}.story-results-shell{box-sizing:border-box;background:var(--ff7-bg);place-items:center;width:100%;min-height:100dvh;padding:1rem;display:grid}.story-results{flex-direction:column;gap:.75rem;width:min(100%,28rem);display:flex}.story-results-title{color:var(--ff7-text);margin:0;font-size:1.15rem;font-weight:400}.story-results-table{border-collapse:collapse;width:100%;font-size:.95rem}.story-results-table th,.story-results-table td{text-align:left;border-bottom:1px solid #a8b0c059;padding:.35rem .4rem}.story-results-table th{color:var(--ff7-label);letter-spacing:0;text-transform:none;font-size:.85rem;font-weight:400}.story-results-total{color:var(--ff7-text);margin:0}.story-results button{width:100%}.story-await-play{text-align:center;background:#00000073;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.55rem;padding:1.5rem;display:flex}.story-await-play-copy{color:var(--ff7-text);letter-spacing:.04em;margin:0;font-size:clamp(1.15rem,3.2vw,1.55rem)}.story-defeat-panel{pointer-events:auto;background:#00000059;flex:1;place-items:center;padding:1rem;display:grid}.story-defeat-actions{text-align:left;flex-direction:column;gap:.55rem;width:min(100%,18rem);padding:.9rem 1rem 1rem;display:flex}.story-defeat-copy{color:var(--ff7-text);margin:0 0 .15rem}.story-defeat-actions button{width:100%}.is-story-hard{--ff7-grad-tl:#c4388a;--ff7-grad-br:#2a0410;--ff7-label:#ff9ec8;--ff7-mute:#c898a8}.is-story-hard .ff7-window{background:linear-gradient(160deg, var(--ff7-grad-tl) 0%, #7a1048 38%, var(--ff7-grad-br) 100%)}.is-story-hard button{background:linear-gradient(#b02868 0%,#501028 100%)}.is-story-hard button.primary{background:linear-gradient(#e05098 0%,#801040 100%)}@media (width<=640px){.story-dialogue{padding:.55rem .55rem .75rem}.story-portraits{height:min(48dvh,20rem);bottom:1.65rem}.story-portrait{max-width:min(46vw,12rem);height:min(42dvh,18rem)}.story-textbox{min-height:5.25rem;padding:.75rem .95rem 1.15rem}.story-line{font-size:1.05rem;line-height:1.45}.story-scroll-line{font-size:1.1rem}}@media (prefers-reduced-motion:reduce){button:active:not(:disabled),.ff7-command-bar .cmd-item:active:not(:disabled){transform:none}.story-portrait,.story-portrait.is-mirrored,.story-portrait-wrap.is-talking{animation:none}.story-scroll-track{animation:none;top:12%}.story-advance-hint,.story-stage-card.is-in .story-stage-card-inner,.story-stage-card.is-out{animation:none}.start-brand-heading:after{opacity:0!important;animation:none!important}.shot-line-appear,.shot-line-appear line,.shot-line-appear circle{animation:none}.hole-overlay,.tutorial-overlay,.golfteria-panel,.ff7-gauge-fill,.ff7-window-in,.hole-overlay-score,.menu-cursor,.cmd-item .menu-cursor,.golfteria-slot .menu-cursor,.start-panel button .menu-cursor,.atb-fill.is-tweening,.scorecard-results,.scorecard-grid tbody tr,.scorecard-winner,.scorecard-grid tr.is-winner td,.cmd-submenu-in,.ff7-command-bar .cmd-submenu,.ff7-command-bar .cmd-item.club-flash,.ball-impact-flash,.ball-land-settle,.ball-ricochet,.ball-hole-suck,.hex-impact-flash,.hex-sting-ring,.shot-line-locked .shot-loft-crawl,.shot-line-locked .shot-loft-crawl-soft,.trail-fade,.board-camera-nudge,.battle-toast{transition:none!important;animation:none!important}}
