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;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)}.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-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:disabled{opacity:.45;cursor:not-allowed;color:var(--ff7-disabled);filter:none}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}.club-chip.selected:before{content:"";filter:drop-shadow(1px 1px #000);border:.35rem solid #0000;border-left:.55rem solid #fff;border-right-width:0;flex-shrink:0;width:0;height:0;margin-right:.35rem;display:inline-block}.app{min-height:100vh;padding:1rem}.app-start{padding:0}.app.play{max-width:1280px;padding:.75rem 1rem 1.25rem;padding-top:max(.75rem, env(safe-area-inset-top));padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(1.25rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) minmax(260px,320px);align-items:start;gap:.85rem;margin:0 auto;display:grid}.play-rail{flex-direction:column;gap:.75rem;min-width:0;display:flex}@media (width<=860px){.app.play{grid-template-columns:1fr}}.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:center;margin:0;display:grid;position:relative;overflow-x:hidden}.start-stage{flex-direction:column;align-items:center;gap:.75rem;width:min(1100px,100%);display:flex}.start-main{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}.start-visual{pointer-events:none;order:2;place-items:center;width:100%;line-height:0;display:grid}.start-club{object-fit:contain;object-position:center;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:min(92vw,520px);height:auto;max-height:min(38vh,280px);display:block}.start-side{z-index:1;flex-direction:column;order:1;gap:1rem;width:min(420px,100%);display:flex;position:relative}.start-brand{text-align:center}.start-logo{letter-spacing:.12em;color:#fff;text-transform:uppercase;font-synthesis:none;-webkit-font-smoothing:none;-moz-osx-font-smoothing:unset;margin:0;font-family:FinalF,Final Fantasy,serif;font-size:clamp(3.6rem,20vw,6.5rem);font-weight:400;line-height:1.05}.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%;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}@media (width>=860px){.start-screen{place-items:stretch center;padding:1.5rem 1.5rem 2rem}.start-stage{justify-content:center;gap:clamp(.75rem,2vh,1.5rem);min-height:min(100dvh,900px);padding-block:1rem}.start-main{grid-template-columns:minmax(0,1.15fr) minmax(340px,420px);align-items:center;gap:clamp(1rem,3vw,2.5rem);display:grid}.start-visual{order:0;place-items:center}.start-club{object-position:center;width:min(100%,720px);max-height:min(68vh,560px)}.start-side{order:0;justify-self:end;width:100%}.start-logo{text-align:center;font-size:clamp(4rem,7vw,6rem)}.start-brand{text-align:center;width:100%}}@media (width<=859px){.start-stage{gap:.35rem}.start-brand{width:min(420px,100%)}.start-side{order:1}.start-visual{order:2;margin-top:.25rem}.start-panel,.favorites{width:100%}}.start-panel{flex-direction:column;gap:.5rem;padding:.7rem .8rem .75rem;display:flex}.start-row{grid-template-columns:1fr auto;align-items:end;gap:.75rem;display:grid}.start-field{flex-direction:column;gap:.3rem;display:flex}.start-panel input,.start-panel select{text-transform:none;letter-spacing:0;padding:.55rem .65rem;font-size:.95rem;font-weight:500}.start-toggle{min-width:5.5rem}.start-wind-btn{width:100%;padding:.55rem .75rem;font-weight:700}.start-wind-btn.on{background:linear-gradient(#3d6cff 0%,#1020a0 100%)}.start-actions{flex-wrap:wrap;gap:.5rem;margin-top:.25rem;display:flex}.start-play{width:100%;padding:.75rem 1rem;font-size:1.05rem}.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}.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{padding:.65rem;position:relative}.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{max-height:min(78vh,820px);overflow:hidden}.board{width:100%;height:auto;max-height:min(78vh,820px);display:block}.board-controls{border-top:1px solid #c8d0dc4d;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;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:.45s ease-out both shot-appear}.aim-pads{pointer-events:auto}.shot-line-appear line,.shot-line-appear circle{animation:.5s ease-out both shot-seg}@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}.course-name{color:var(--ff7-text);margin:0;font-size:1rem;font-weight:700}.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{margin:0;padding:0;font-size:.8rem;list-style:none}.player-list li{padding:.2rem 0;border-left:3px solid #0000;align-items:center;gap:.4rem;padding-left:.35rem;display:flex}.player-list li.active{background:#40f06026}.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:1.75rem;display:block}.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 .compass-hex{flex-shrink:0;display:block}.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{max-width:440px;margin:2rem auto;padding:1rem}.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:40;background:#000010b8;place-items:center;padding:1.25rem;animation:.1s linear 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:360px;padding:1rem 1.15rem .9rem;animation:.1s linear panel-in}.hole-overlay-name{letter-spacing:0;color:var(--ff7-label);margin:0;font-size:.9rem;font-weight:400}.hole-overlay-score{letter-spacing:0;color:var(--ff7-text);margin:.25rem 0 .1rem;font-size:2rem;font-weight:800}.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;min-width:min(320px,92vw)}.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-scorecard-card table{border-collapse:collapse;width:100%;margin:0 0 .75rem;font-size:.9rem}.hole-scorecard-card th,.hole-scorecard-card td{text-align:left;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 i.bounce-mark{background:0 0;width:auto;height:auto;font-style:normal}.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-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;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}.golfteria-slot:active{cursor:grabbing}.golfteria-slot.ready{outline:2px solid var(--ff7-label);outline-offset:1px}.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-confirm{width:100%}.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;background:#000000c7;place-items:center;padding:1rem;animation:.1s linear overlay-in;display:grid;position:fixed;inset:0}.tutorial-card{flex-direction:column;gap:.65rem;width:min(480px,100%);max-height:min(92vh,680px);padding:.85rem 1rem .9rem;display:flex;overflow:auto}.tutorial-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.tutorial-title{color:var(--ff7-text);margin:0;font-size:1.25rem}.tutorial-page{flex-shrink:0}.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-demo-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem .75rem;display:flex}.tutorial-demo-col{flex-direction:column;align-items:stretch;gap:.65rem;display:flex}.tutorial-aside{color:var(--ff7-label);text-align:center;margin:0;font-size:.78rem}.tutorial-phase-legend{gap:.75rem}.tutorial-phase{color:var(--ff7-label);font-size:.78rem}.tutorial-phase.air:before,.tutorial-phase.roll:before{content:"";vertical-align:-.05rem;border:1px solid #c8d0dc;width:.55rem;height:.55rem;margin-right:.35rem;display:inline-block}.tutorial-phase.air:before{background:#58f0ff}.tutorial-phase.roll:before{background:#a8b0c0}.tutorial-curve{justify-content:center;align-items:flex-end;gap:.35rem;min-height:4.5rem;padding:.25rem .15rem 0;display:flex}.tutorial-curve-step{flex-direction:column;align-items:center;gap:.2rem;width:1.6rem;display:flex}.tutorial-curve-bar-wrap{align-items:flex-end;width:100%;height:3.2rem;display:flex}.tutorial-curve-bar{border:1px solid #c8d0dc;width:100%;min-height:.35rem;box-shadow:inset 1px 1px #ffffff26}.tutorial-curve-bar.air{background:#58f0ff}.tutorial-curve-bar.roll{background:#a8b0c0;min-height:.45rem;height:.45rem!important}.tutorial-curve-label{color:var(--ff7-label);font-size:.68rem}.tutorial-catalog{flex-direction:column;gap:.4rem;display:flex}.tutorial-catalog-row{align-items:flex-start;gap:.55rem;display:flex}.tutorial-catalog-row .terrain-swatch-hex{flex-shrink:0;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{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.tutorial-dots{flex:1;justify-content:center;gap:.3rem;display:flex}.tutorial-dot{background:#c8d0dc59;border-radius:0;width:.4rem;height:.4rem}.tutorial-dot.on{background:var(--ff7-label)}.tutorial-dismiss{box-shadow:none;color:var(--ff7-mute);text-underline-offset:.2em;background:0 0;border:none;align-self:center;padding:.15rem 0;font-size:.8rem;text-decoration:underline}.tutorial-dismiss:hover:not(:disabled){filter:none;color:var(--ff7-label)}.start-howto{width:100%;box-shadow:none;color:var(--ff7-text);background:0 0;border:2px solid #a8b0c0;margin-top:.15rem}.start-howto:hover:not(:disabled){filter:brightness(1.08);color:var(--ff7-label)}@media (prefers-reduced-motion:reduce){.shot-line-appear,.shot-line-appear line,.shot-line-appear circle{animation:none}.hole-overlay,.tutorial-overlay,.golfteria-panel,.ff7-gauge-fill{transition:none;animation:none}}
