:root{--bg:#101418;--panel:#182028;--line:#2a3440;--text:#e4e9ee;--muted:#8b97a3;--accent:#3fb68b;--warn:#e8b04a;--err:#ef6a6a;--ball:#6aa9ff;--club:#c28cff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:14px/1.4 system-ui,-apple-system,Segoe UI,sans-serif}button,select,input{font:inherit;color:inherit}button{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:4px 10px}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#06130d;font-weight:600}button[aria-pressed=true],button[role=tab][aria-selected=true]{border-color:var(--accent);color:var(--accent)}select{background:var(--panel);border:1px solid var(--line);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:6px;padding:4px 6px}select option,select optgroup{color:var(--text);background-color:#121b23}h1{margin:0 8px 0 0;font-size:16px}@font-face{font-family:Orbitron;src:url(/fonts/orbitron.woff2)format("woff2");font-weight:400 900;font-display:swap}.brand{white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;margin:0 10px 0 2px;display:inline-flex}.brand-logo{filter:drop-shadow(0 0 6px #3ee07a59);width:30px;height:30px}.brand-name{gap:.5em;font-family:Orbitron,system-ui,sans-serif;font-size:16px;line-height:1;display:inline-flex}.brand-tele{letter-spacing:.16em;color:#fff;font-weight:600}.brand-golf{letter-spacing:.12em;color:#3ee07a;text-shadow:0 0 10px #3ee07a73;font-weight:900}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 8px 0 0;font-size:12px}code{background:#0006;border-radius:4px;padding:1px 4px;font-size:12px}.app{flex-direction:column;height:100vh;display:flex}.bar{z-index:20;white-space:nowrap;background:linear-gradient(#121a21 0%,#0c1217 100%);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;min-width:0;height:52px;padding:0 14px;display:grid;position:relative;box-shadow:0 6px 18px #00000059}.bar:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#3ee07a73 30% 70%,#0000 100%);height:1px;position:absolute;bottom:0;left:0;right:0}.bar-left,.bar-right{align-items:center;gap:10px;min-width:0;display:flex}.bar-right{justify-content:flex-end}.bar-left>*,.bar-right>*,.range-controls>*,.player-club>*{flex-shrink:0}.bar button,.bar select{color:#c9d3dc;background:0 0;border-color:#0000;transition:background-color .15s,color .15s,border-color .15s}.bar button:hover,.bar select:hover{color:#fff;background:#ffffff12}.bar button[aria-pressed=true],.bar button[aria-expanded=true]{color:#3ee07a;background:#3ee07a24;border-color:#0000}.bar .menu button{color:var(--text)}.bar .dialog-backdrop button,.bar .dialog-backdrop select{background:var(--panel);border-color:var(--line);color:var(--text);transition:none}.bar .dialog-backdrop button:hover,.bar .dialog-backdrop select:hover{background:#1f2a34}.bar .dialog-backdrop button.primary{background:var(--accent);border-color:var(--accent);color:#06130d}.bar .dialog-backdrop button[aria-pressed=true],.bar .dialog-backdrop button[role=tab][aria-selected=true]{background:var(--panel);border-color:var(--accent);color:var(--accent)}.bar .dialog-backdrop button.link,.bar .dialog-backdrop button.link-danger{background:0 0;border-color:#0000}.bar .dialog-backdrop button.link{color:var(--accent)}.bar .dialog-backdrop button.link-danger,.bar .dialog-backdrop button.danger{color:var(--err)}.bar .dialog-backdrop .plan-choice button.chosen{border-color:var(--accent);background:#3fb68b1f}.bar .dialog-backdrop .menu button{background:0 0;border-color:#0000}.toolset{background:#ffffff09;border:1px solid #ffffff12;border-radius:999px;padding:3px;gap:2px!important}.toolset .icon-btn{border-radius:999px;justify-content:center;width:34px;height:30px;padding:0}.toolset .fps{min-width:0;padding:0 8px 0 4px;font-size:11px}.bar .view-seg{background:#00000059;border:1px solid #ffffff12;border-radius:999px;gap:2px;padding:3px;box-shadow:inset 0 1px 3px #00000080}.bar .view-seg button{letter-spacing:.02em;color:var(--muted);border-radius:999px;padding:5px 16px;font-weight:500}.bar .view-seg button[aria-selected=true]{color:#04120a;background:linear-gradient(#4ee88a,#2fbf6a);border-color:#0000;font-weight:650;box-shadow:0 0 12px #3ee07a59,inset 0 1px #ffffff59}.bar-left .player-club{background:#ffffff09;border:1px solid #ffffff12;border-radius:999px;gap:0;margin-left:4px;padding:2px 4px 2px 2px}.bar-left .player-club .player-chip{border-radius:999px;padding:4px 10px}.bar-left .player-club select{border-left:1px solid #ffffff1a;border-radius:0 999px 999px 0;padding:4px 8px}.sessions-btn{align-items:center;gap:7px;padding:5px 12px;display:inline-flex;border-radius:999px!important}.sessions-btn .bar-icon{width:16px;height:16px}.bar .account .sync-badge{border-color:#0000;padding:2px 4px}.bar .account>button:not(.account-chip){color:#3ee07a;border-color:#3ee07a8c;border-radius:999px;padding:4px 14px}.bar .account>button:not(.account-chip):hover{background:#3ee07a1f}.bar .account-chip{background:#22313d;border:1px solid #ffffff1f}@media (width<=1600px){.bar .brand-name{display:none}}@media (width<=1350px){.bar{gap:8px;display:flex}.bar-left,.bar-right{flex:none}.bar .view-seg{margin:0 auto}.bar .view-seg button{padding:5px 11px}}.bar select{text-overflow:ellipsis;min-width:0;max-width:150px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bar-icon{width:18px;height:18px;display:block}.icon-btn{align-items:center;padding:5px 7px;display:inline-flex}.camera-menu{display:inline-flex;position:relative}.camera-menu .menu{min-width:170px}.bar .tip-host{align-items:center;display:inline-flex}.conn{align-items:center;gap:4px;height:30px;display:inline-flex;position:relative}.conn-btn{background:0 0;border-color:#0000;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}.conn-btn:hover,.conn-btn[aria-expanded=true]{background:var(--panel);border-color:var(--line)}.conn-dot{background:var(--err);width:12px;height:12px;box-shadow:0 0 0 3px color-mix(in srgb, var(--err) 25%, transparent);border-radius:50%}.conn-dot.dot-connected{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)}.conn-dot.dot-connecting{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb, var(--warn) 25%, transparent);animation:1s ease-in-out infinite alternate conn-pulse}@keyframes conn-pulse{to{opacity:.35}}.ball-status{justify-content:center;align-items:center;width:22px;height:26px;display:inline-flex}.ball-icon{width:15px;height:15px;display:block}.ball-icon circle{fill:#4a5562}.ball-icon .dimple{fill:#2e3740}.ball-status.is-waiting .ball-icon circle:first-child{fill:#f2c94c}.ball-status.is-waiting .ball-icon .dimple{fill:#b8912a}.ball-status.is-ready .ball-icon circle:first-child{fill:#3ddc84;filter:drop-shadow(0 0 4px #3ddc84)drop-shadow(0 0 8px #3ddc8488)}.ball-status.is-ready .ball-icon .dimple{fill:#1f9d57}.conn-pop{z-index:30;white-space:normal;border:1px solid var(--line);background:#121b23;border-radius:8px;flex-direction:column;gap:8px;width:340px;padding:10px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 30px #00000080}.conn-pop label{flex-direction:column;gap:3px;font-size:12px;display:flex}.conn-pop select{width:100%;max-width:none}.conn-actions{align-items:center;gap:6px;display:flex}.pill{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12px}.state-connected{color:var(--accent);border-color:var(--accent)}.state-connecting{color:var(--warn);border-color:var(--warn)}.state-error{color:var(--err);border-color:var(--err)}.ball-ready{color:var(--accent);border-color:var(--accent)}.ball-detected{color:var(--warn);border-color:var(--warn)}.ball-inFlight{color:var(--ball);border-color:var(--ball)}.error{color:var(--err);font-size:13px}.hint{border:1px solid var(--warn);color:var(--warn);border-radius:6px;margin:8px 16px 0;padding:8px 12px}.controls{flex-wrap:wrap;gap:12px;padding:10px 16px;display:flex}.box{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;display:flex}.seg{gap:2px;display:inline-flex}.inject{color:var(--muted);align-items:center;gap:4px;display:inline-flex}main{flex:1;grid-template-columns:1fr 320px;gap:12px;min-height:0;padding:0 16px 16px;display:grid}@media (width<=900px){main{grid-template-columns:1fr}}.shots,.log{background:var(--panel);border:1px solid var(--line);border-radius:8px;flex-direction:column;min-height:0;padding:8px 12px;display:flex}.shots-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.table-wrap{min-height:0;overflow:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%}th,td{text-align:right;border-bottom:1px solid var(--line);padding:4px 8px}th:nth-child(-n+3),td:nth-child(-n+3){text-align:left}th{background:var(--panel);color:var(--muted);font-size:12px;font-weight:500;position:sticky;top:0}th.g-ball{color:var(--ball)}th.g-club{color:var(--club)}th.g-sim{color:var(--accent)}.empty{color:var(--muted);text-align:center;padding:24px}.log ol{margin:6px 0 0;padding:0;font-size:12px;list-style:none;overflow:auto}.log li{border-bottom:1px solid var(--line);padding:2px 0}.log time{color:var(--muted);margin-right:6px}.lv-warn{color:var(--warn)}:root{--grp-distance:#ff6b6b;--grp-launch:#4cd98a;--grp-spin:#5aa8ff;--grp-club:#ffb547;--tracer:#ffd166;--glass:#060e14d6}.spacer{flex:1}.range-controls{align-items:center;gap:8px;display:inline-flex}.fps{color:var(--muted);font-variant-numeric:tabular-nums;min-width:48px;font-size:12px}button[role=tab][aria-selected=true]{border-color:var(--accent);color:var(--accent)}.range{flex:1;min-height:0;position:relative;overflow:hidden}.range-scene{position:absolute;inset:0}.range-waiting{color:#fff;text-shadow:0 2px 12px #000a;pointer-events:none;font-size:4.2vh;font-weight:600;position:absolute;top:38%;left:50%;transform:translate(-50%,-50%)}.col{width:var(--side,19vw);pointer-events:none;flex-direction:column;gap:1.1vh;min-width:230px;display:flex;position:absolute;top:1.2vh;bottom:1.2vh}.col-left{left:1.2vh}.col-right{right:1.2vh}.tile-grid{gap:1vh;display:grid}.tile{background:var(--glass);border-left:.6vh solid var(--g,#888);border-radius:1.2vh;min-width:0;padding:.9vh 1.4vh 1vh}.grp-distance{--g:var(--grp-distance)}.grp-launch{--g:var(--grp-launch)}.grp-spin{--g:var(--grp-spin)}.grp-club{--g:var(--grp-club)}.tile-label{color:var(--g);letter-spacing:.02em;align-items:baseline;gap:.8vh;font-size:2vh;font-weight:600;display:flex}.est{color:var(--muted);border:1px solid var(--line);border-radius:.6vh;padding:0 .5vh;font-size:.75em;font-weight:500}.tile-value{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:.6vh;line-height:1.05;display:flex}.tile-value .num{font-size:5.6vh;font-weight:700}.tile-value .unit{color:var(--muted);font-size:2.2vh;font-weight:600}.tile-hero .tile-value .num{font-size:9.5vh}.tile-hero .tile-value .unit{font-size:3vh}.tile-hero .tile-label{font-size:2.6vh}.tile-compact{padding:.7vh 1vh}.tile-compact .tile-label{font-size:1.6vh}.tile-compact .tile-value .num{font-size:3.6vh}.tile-compact .tile-value .unit{font-size:1.6vh}.card{background:linear-gradient(#0e1a24eb,#060e14e6);border:1px solid #ffffff14;border-radius:1.4vh;padding:1vh 1.1vh 1.1vh;box-shadow:0 .6vh 2vh #00000059}.card-title{letter-spacing:.14em;text-transform:uppercase;color:#9fb0bf;margin:0 0 .8vh;font-size:1.35vh;font-weight:700}.card-grid{gap:.8vh;display:grid}.cell{background:linear-gradient(180deg, color-mix(in srgb, var(--g) 16%, transparent), color-mix(in srgb, var(--g) 5%, transparent));border:1px solid color-mix(in srgb, var(--g) 30%, transparent);border-radius:1vh;min-width:0;padding:.8vh 1vh .7vh;position:relative}.cell-dir{align-items:stretch;gap:.7vh;padding-left:.5vh;display:flex}.cell-icon{width:4.6vh;color:var(--g);flex:none;justify-content:center;align-items:center;display:flex}.cell-icon .metric-icon{stroke-width:1.5px;width:100%;height:100%;max-height:8vh}.cell-body{flex:1;min-width:0}.cell-head{color:var(--g);align-items:center;gap:.6vh;min-width:0;display:flex}.metric-icon{flex:none;width:2.5vh;height:2.5vh}.cell-label{letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:1.45vh;font-weight:650;overflow:hidden}.cell .est{margin-left:auto;font-size:1.1vh}.cell-value{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:.4vh;margin-top:.3vh;line-height:1.1;display:flex}.cell-value .num{letter-spacing:-.01em;font-size:3.2vh;font-weight:700}.cell-value .unit{color:var(--muted);font-size:1.5vh;font-weight:600}.cell-note{color:#c9d4dd;white-space:nowrap;text-overflow:ellipsis;min-height:1.6vh;font-size:1.35vh;overflow:hidden}.card-hero .cell-value .num{font-size:4vh}.cell-lead{grid-column:1/-1}.cell-lead .cell-value .num{font-size:5.6vh}.cell-lead .cell-value .unit{font-size:2.4vh}.cell-lead .metric-icon{width:3vh;height:3vh}.cell-lead .cell-label{font-size:1.8vh}.bottom-strip{bottom:1.2vh;left:calc(var(--side,19vw) + 2.4vh);right:calc(var(--side,19vw) + 2.4vh);height:var(--bottom,25vh);pointer-events:none;gap:1vh;display:flex;position:absolute}.bottom-strip>*{flex:1 1 0}@media (width<=1300px){.col{min-width:210px}.bottom-strip{left:calc(max(var(--side,19vw), 210px) + 2.4vh);right:calc(max(var(--side,19vw), 210px) + 2.4vh)}}.panel{background:linear-gradient(#0e1a24eb,#060e14e6);border:1px solid #ffffff14;border-radius:1.4vh;flex-direction:column;min-width:0;min-height:0;margin:0;padding:1vh 1.2vh;display:flex;box-shadow:0 .6vh 2vh #00000059}.col .panel{flex-basis:0}.panel figcaption{letter-spacing:.14em;text-transform:uppercase;color:#9fb0bf;font-size:1.35vh;font-weight:700}.panel-club{color:#fff;letter-spacing:.04em;text-transform:none;font-weight:600}.panel-svg{flex:1;width:100%;min-height:0}.panel-svg .grid,.panel-svg .disp-grid{stroke:#fff2;stroke-width:1px}.panel-svg .axis{stroke:#fff6;stroke-width:1.5px}.panel-svg .target{stroke:#fffa;stroke-width:1.5px;stroke-dasharray:5 5}.panel-svg .fairway-band{fill:#3a7a4333}.panel-svg .tick{fill:#9fb0bf;font-variant-numeric:tabular-nums;font-size:13px}.panel-svg .tick.on-grass{fill:#e9f2ea;paint-order:stroke;stroke:#0a1e0ebf;stroke-width:3px;font-size:12px;font-weight:600}.panel-svg .disp-hit{fill:#0000;pointer-events:all;cursor:pointer}.panel-svg .dot.clicked-out{fill:none;stroke:#ff8a8a;stroke-width:1.6px;stroke-dasharray:2 2}.panel-dispersion figcaption{white-space:nowrap;align-items:center;gap:.3em;display:flex}.panel-dispersion figcaption .panel-count{text-overflow:ellipsis;overflow:hidden}.disp-level{pointer-events:auto;letter-spacing:0;text-transform:none;background:#00000059;border-color:#ffffff1f;margin-left:auto;padding:.1vh .4vh;font-size:1.25vh}.disp-reset{pointer-events:auto;letter-spacing:0;text-transform:none;padding:.1vh .6vh;font-size:1.2vh}.panel-svg .dot{fill:#f2f6f8;stroke:#0b151d;stroke-width:1.2px}.panel-svg .dot.latest{fill:var(--tracer);stroke:#0b151d;stroke-width:2px}.panel-svg .dot-label{fill:#fff;paint-order:stroke;stroke:#0b151d;stroke-width:3px;font-size:13px;font-weight:700}.panel-svg .spread{fill:#ffd1661a;stroke:#ffd166b3;stroke-width:1.5px;stroke-dasharray:4 3}.panel-svg .mean{stroke:#fff;stroke-width:2px}.panel-svg .ghost-path{fill:none;stroke:#e8f1f2;stroke-opacity:.22;stroke-width:2px}.panel-svg .latest-path{fill:none;stroke:var(--tracer);stroke-width:3.5px}.panel-svg .roll-path{stroke:var(--tracer);stroke-width:3px;stroke-dasharray:2 4;stroke-linecap:round}.panel-svg .apex-drop{stroke:#fff5;stroke-dasharray:3 3}.panel-svg .marker{fill:var(--tracer);stroke:#0b151d;stroke-width:1.5px}.panel-svg .marker.rest{fill:#fff}.panel-svg .face{fill:#2a333c;stroke:#8b97a3;stroke-width:2px}.panel-svg .groove{stroke:#1b2126;stroke-opacity:.55;stroke-width:1.6px}.panel-svg .sticker{fill:#ffffff1f;stroke:#ffffff8c;stroke-dasharray:2 2}.panel-svg .sweet-zone{fill:#ffffff0f;stroke:#ffffff2e;stroke-dasharray:3 3}.panel-svg .sweet{stroke:#fffa;stroke-width:1.5px}.panel-recent{overflow:hidden}.recent{table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:.4vh}.recent th:first-child{width:2.6em}.recent th:nth-child(2){width:5.2em}.recent th{color:var(--g,#9fb0bf);text-align:right;white-space:nowrap;text-overflow:ellipsis;background:0 0;border-bottom:1px solid #fff2;padding:.4vh .5vh;font-size:1.1vh;font-weight:650;position:static;overflow:hidden}.recent th .unit{color:var(--muted);font-weight:500}.recent td{text-align:right;white-space:nowrap;color:#dfe7ee;border-bottom:1px solid #ffffff12;padding:.3vh .5vh;font-size:1.35vh;overflow:hidden}.recent th:nth-child(-n+2),.recent td:nth-child(-n+2){text-align:left}.recent td.club{color:#9fb0bf}.recent tr.is-latest td{color:#fff;background:#ffd1661f;font-weight:700}.recent tr.is-latest td:first-child{box-shadow:inset 3px 0 0 var(--tracer)}.recent .empty{text-align:center;color:var(--muted)}.focus-strip{pointer-events:none;gap:1.4vh;display:flex;position:absolute;bottom:2vh;left:50%;transform:translate(-50%)}.col,.bottom-strip,.focus-strip{transition:transform .55s cubic-bezier(.22,1,.36,1),visibility linear}.mode-focus .col-left{transform:translate(calc(-100% - 3vh))}.mode-focus .col-right{transform:translate(calc(100% + 3vh))}.mode-focus .bottom-strip{transform:translateY(calc(100% + 3vh))}.mode-detail .focus-strip{transform:translate(-50%)translateY(calc(100% + 4vh))}.mode-focus .col,.mode-focus .bottom-strip,.mode-detail .focus-strip{visibility:hidden;transition-delay:0s,.55s}@media (prefers-reduced-motion:reduce){.col,.bottom-strip,.focus-strip{transition:none}}.tip-host{pointer-events:auto}.focus-pick{border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(3,1fr);gap:2px 12px;margin:6px 0 0;display:grid}.focus-pick legend{padding:0 4px;font-size:12px}.focus-strip.n-6 .tile-focus{min-width:13vw}.focus-strip.n-6 .tile-focus .tile-value .num{font-size:6.6vh}.tile-focus{text-align:left;min-width:15vw}.tile-focus .tile-value .num{font-size:8vh}.tile-focus .tile-value .unit{font-size:2.6vh}.tile-focus .tile-label{font-size:2.2vh}@media (width<=1500px){.fps{display:none}}@media (width<=1200px){.bar{gap:6px;padding:0 10px}}@media (width<=1150px){.bar .sessions-label,.bar .account .sync-badge{display:none}.bar .view-seg button{padding:5px 9px}}.panel-recent,.picked-chip{pointer-events:auto}.recent tbody tr{cursor:pointer}.recent tbody tr:hover td{background:#ffffff0f}.panel-count{color:var(--muted);letter-spacing:.04em;text-transform:none;font-weight:600}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#ffffff0d}.picked-chip{z-index:5;color:#1a1405;background:#ffd166f2;border-radius:999px;align-items:center;gap:1vh;padding:.6vh .8vh .6vh 1.4vh;font-size:1.7vh;font-weight:700;display:flex;position:absolute;top:1.2vh;left:50%;transform:translate(-50%);box-shadow:0 .6vh 2vh #0006}.panel-svg .apex-label{font-size:20px}.tour{z-index:80;position:fixed;inset:0}.tour-dim{background:#0009;position:absolute;inset:0}.tour-spot{pointer-events:none;border:2px solid #3ee07a;border-radius:10px;transition:all .25s;position:absolute;box-shadow:0 0 0 9999px #0009,0 0 18px #3ee07a99}.tour-tip{color:var(--text);white-space:normal;background:#121b23;border:1px solid #3ee07a80;border-radius:12px;padding:14px 16px;transition:left .25s,top .25s;position:absolute;box-shadow:0 16px 50px #0009}.tour-tip:before{content:"";top:-7px;left:calc(var(--arrow,50%) - 7px);background:#121b23;border-top:1px solid #3ee07a80;border-left:1px solid #3ee07a80;width:12px;height:12px;position:absolute;transform:rotate(45deg)}.tour-tip.tip-above:before{top:auto;bottom:-7px;transform:rotate(225deg)}.tour-tip.tip-right:before,.tour-tip.tip-left:before{top:calc(var(--arrow,50%) - 7px)}.tour-tip.tip-right:before{left:-7px;transform:rotate(-45deg)}.tour-tip.tip-left:before{left:auto;right:-7px;transform:rotate(135deg)}.tour-tip.tip-over:before{display:none}.tour-center{text-align:center;width:min(520px,100vw - 32px);padding:24px 26px;top:50%;left:50%;transform:translate(-50%,-50%)}.tour-center:before{display:none}.tour-tip h2{text-transform:none;letter-spacing:0;color:#fff;margin:0 0 6px;font-size:17px}.tour-center h2{letter-spacing:.04em;font-family:Orbitron,system-ui,sans-serif;font-size:20px}.tour-tip p{color:#c9d4dd;margin:0 0 12px;font-size:14px;line-height:1.45}.tour-logo{filter:drop-shadow(0 0 10px #3ee07a66);margin:0 auto 8px;display:block}.tour-actions{align-items:center;gap:8px;display:flex}.tour-count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.tour-skip{color:var(--muted);border-color:#0000}.connect-chip{color:#fff;background:#060e14e0;border:1px solid #ffd16699;border-radius:999px;align-items:center;gap:1.2vh;padding:.8vh 1.8vh;font-size:1.9vh;font-weight:700;display:flex;box-shadow:0 .6vh 2vh #0006}.connect-chip-hint{color:var(--muted);font-size:1.5vh;font-weight:500}.picked-chip button{color:#ffd166;background:#1a1405;border:none;border-radius:999px;padding:.4vh 1.2vh;font-size:1.5vh;font-weight:700}.aim-line{z-index:4;pointer-events:none;opacity:0;filter:drop-shadow(0 0 2px #000c);border-left:2px dashed #ffffff8c;width:0;transition:opacity .25s;position:absolute;top:0;bottom:0}.aim-line.is-visible{opacity:1}.dialog-backdrop{z-index:50;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--line);white-space:normal;background:#121b23;border-radius:12px;width:min(640px,100vw - 32px);max-height:calc(100vh - 32px);padding:20px 22px;overflow:auto;box-shadow:0 20px 60px #0009}.dialog h2{color:var(--text);text-transform:none;letter-spacing:0;margin:0 0 6px;font-size:18px}.dialog-intro{color:var(--muted);margin:0 0 14px}.rig-fields{gap:12px;display:grid}.rig-field{grid-template-rows:auto auto;grid-template-columns:200px 1fr;align-items:center;column-gap:12px;display:grid}.rig-label{font-weight:600}.rig-input{align-items:center;gap:6px;display:flex}.rig-input input{background:var(--panel);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:6px;width:90px;padding:4px 6px}.rig-input .unit{color:var(--muted)}.rig-ft{color:var(--muted);margin-left:6px;font-size:12px}.rig-help{color:var(--muted);grid-column:2;font-size:12px}.dialog-actions{gap:8px;margin-top:18px;display:flex}@media (width<=560px){.rig-field{grid-template-columns:1fr}.rig-help{grid-column:1}}.dialog h3{text-transform:uppercase;letter-spacing:.12em;color:#9fb0bf;margin:18px 0 6px;font-size:12px}.stage-table{border-collapse:collapse;width:100%;margin-bottom:8px}.stage-table th,.stage-table td{text-align:left;border-bottom:1px solid var(--line);background:0 0;padding:6px 8px;position:static}.stage-table th{color:var(--muted);font-size:12px;font-weight:500}.check-row{align-items:center;gap:8px;margin:6px 0;display:flex}.panel-svg .photo-tick{font-size:26px}.panel-svg .dot.photo{fill:#1d2b38;stroke:#fff;stroke-width:3.5px}.panel-svg .dot.latest.photo{fill:var(--tracer);stroke:#0b151d;stroke-width:4px}.panel-svg .sweet-zone.photo{fill:#ffd16614;stroke:#ffd166bf;stroke-width:2.5px;stroke-dasharray:8 6}.panel-svg .sweet.photo{stroke:#ffd166e6;stroke-width:3px}.panel-svg .sticker.photo{fill:#50c8ff2e;stroke:#50c8ffcc;stroke-width:2px;stroke-dasharray:5 4}.player-club{align-items:center;gap:6px;display:inline-flex;position:relative}.player-switch{position:relative}.player-chip{align-items:center;gap:6px;font-weight:600;display:inline-flex}.player-dot{vertical-align:middle;border-radius:50%;flex:none;width:10px;height:10px;margin-right:4px;display:inline-block;box-shadow:0 0 0 1px #0006}.menu{z-index:30;border:1px solid var(--line);background:#121b23;border-radius:8px;flex-direction:column;gap:2px;min-width:200px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #00000080}.menu-right{left:auto;right:0}.menu-check{width:1em;color:var(--accent);display:inline-block}.menu button{text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:6px 8px;display:flex}.menu button:hover{background:#ffffff12}.menu button[aria-checked=true]{color:var(--accent)}.menu hr{border:none;border-top:1px solid var(--line);width:100%;margin:4px 0}.menu-head{color:var(--muted);padding:6px 8px;font-size:12px}.account{align-items:center;gap:6px;display:inline-flex;position:relative}.account-chip{background:#2a3a48;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-weight:700;display:inline-flex}.account-chip .bar-icon{width:17px;height:17px}.sync-badge{align-items:center;gap:4px;display:inline-flex}.sync-badge .bar-icon{width:15px;height:15px}.sync-badge.icon-only{border-color:#0000;padding:2px 4px}.sync-badge{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:12px}.sync-badge.saved{color:var(--accent);border-color:var(--accent)}.sync-badge.pending{color:var(--warn);border-color:var(--warn)}.sync-badge.offline{color:var(--err);border-color:var(--err)}.dialog-narrow{width:min(460px,100vw - 32px)}.dialog-wide{width:min(900px,100vw - 32px)}.dialog input[type=email],.dialog input[type=number],.dialog input:not([type]),.dialog textarea,.dialog select{background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:5px 8px}.dialog textarea{resize:vertical;width:100%;font:inherit;color:inherit}.players-layout{grid-template-columns:220px 1fr;gap:16px;display:grid}@media (width<=700px){.players-layout{grid-template-columns:1fr}}.players-list{flex-direction:column;gap:4px;display:flex}.players-list>button{text-align:left;align-items:center;gap:4px;display:flex}.players-list>button.is-selected{border-color:var(--accent)}.add-guest{gap:6px;margin-top:8px;display:flex}.add-guest input{flex:1;min-width:0}.swatches{gap:6px;display:flex}.swatch{border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0}.swatch[aria-pressed=true]{border-color:#fff}.bag-table{border-collapse:collapse;width:100%}.bag-table th,.bag-table td{text-align:left;border-bottom:1px solid var(--line);background:0 0;padding:4px 6px;position:static}.bag-table input{width:100%}.bag-table input[type=number]{background:var(--panel);border:1px solid var(--line);border-radius:6px;width:70px;padding:4px 6px}button.danger{border-color:var(--err);color:var(--err)}.session-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.session-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;display:flex}.sessions-dialog .session-list{max-height:min(50vh,420px);padding-right:4px;overflow-y:auto}.session-name{flex-direction:column;min-width:0;display:flex}.session-name>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-date{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}.session-actions{flex-shrink:0;gap:6px;display:inline-flex}.session-filter{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 8px;display:flex}.session-filter label{align-items:center;gap:6px;display:inline-flex}.session-filter input{background:var(--panel);border:1px solid var(--line);color:inherit;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:6px;padding:3px 6px}.current-session{border-bottom:1px solid var(--line);margin-bottom:10px;padding-bottom:4px}.confirm-dialog{width:min(420px,100vw - 32px)}.tag-chips{z-index:4;max-width:calc(100vw - 2 * var(--side,19vw) - 6vh);flex-wrap:wrap;justify-content:center;gap:.5vh;display:flex;position:absolute;top:1.2vh;left:50%;transform:translate(-50%)}.range:has(.picked-chip) .tag-chips{top:6.5vh}.tag-chips button,.tag-chips input{background:#060e14d1;border:1px solid #ffffff2e;border-radius:999px;padding:.35vh 1vh;font-size:1.45vh}.tag-chips button[aria-pressed=true]{color:#1a1405;background:#ffd166eb;border-color:#0000;font-weight:700}.tag-chips button.exclude[aria-pressed=true]{color:#1a0505;background:#ef6a6aeb}.tag-chips kbd{font:inherit;opacity:.6;margin-right:.2vh}.tag-chips input{color:#fff;width:16vh}.toast{z-index:6;pointer-events:none;color:#1a1405;background:#e8b04af2;border-radius:1vh;padding:.9vh 1.8vh;font-size:1.8vh;font-weight:700;position:absolute;top:11vh;left:50%;transform:translate(-50%);box-shadow:0 .6vh 2vh #0006}.toast-hole{color:#04140a;background:#2ecc71f2;border-radius:999px;padding:1.2vh 3vh;font-size:3.6vh;top:30vh}.club-tabs{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}.club-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.bulk-bar{border:1px solid var(--line);background:#ffffff05;border-radius:8px;margin-bottom:8px;padding:6px 8px;transition:background .15s,border-color .15s}.bulk-bar.active{background:#ffd1661a;border-color:#ffd16666}.bulk-controls{border:0;flex-wrap:wrap;align-items:center;gap:8px;min-width:0;margin:0;padding:0;display:flex}.bulk-controls:disabled .bulk-count{color:var(--muted);font-weight:400}.bulk-count{min-width:12ch}.th-sort{font:inherit;color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:baseline;gap:3px;padding:0;display:inline-flex}.th-sort:hover{text-decoration:underline}.sort-mark{min-width:.9em;font-size:.75em}.session-table tr.pinned td{color:#fff;background:#1d2731;font-weight:600;position:sticky;top:28px}.session-table tr.pinned+tr.pinned td{color:var(--muted);top:56px}.session-table tr.is-excluded td{opacity:.45;-webkit-text-decoration:line-through #fff5;text-decoration:line-through #fff5}.session-table tr.is-excluded td:first-child,.session-table tr.is-excluded td:nth-child(2){text-decoration:none}.session-table tr.is-selected td{background:#ffd16614}.session-table th .unit{color:var(--muted);font-weight:400}.session-table .tags-cell{text-align:left;color:var(--warn);white-space:nowrap;text-overflow:ellipsis;max-width:220px;overflow:hidden}button.link{color:var(--accent);background:0 0;border:none;padding:0;text-decoration:underline}.hint{margin:8px 0;font-size:12px}.club-change{z-index:7;pointer-events:auto;border:2px solid var(--accent);background:#10202b;border-radius:1.2vh;flex-wrap:wrap;justify-content:center;align-items:center;gap:1vh;padding:1vh 1.6vh;font-size:1.8vh;display:flex;position:absolute;top:6vh;left:50%;transform:translate(-50%);box-shadow:0 1vh 3vh #00000080}.club-change select,.club-change button{font-size:1.7vh}main.summary-view{padding:12px 16px 24px;display:block;overflow:auto}.summary-toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.summary-toolbar .spacer{flex:1}.summary-status{color:var(--muted);font-size:12px}.summary-status[data-state=error]{color:var(--err)}.summary-sheet{background:var(--bg);padding:4px 0}.summary-heading{margin-bottom:10px;font-size:13px}.summary-note{text-transform:none;letter-spacing:0;color:var(--warn)}.summary-empty{color:var(--muted)}.summary-player{background:var(--panel);border:1px solid var(--line);border-radius:8px;margin-bottom:14px;padding:10px 14px 14px}.summary-player h3{align-items:center;gap:8px;margin:0 0 8px;font-size:15px;display:flex}.player-dot{background:var(--accent);border-radius:50%;width:10px;height:10px;display:inline-block}.muted{color:var(--muted)}.conf{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px}.conf-high{color:var(--accent);border-color:var(--accent)}.conf-medium{color:var(--warn);border-color:var(--warn)}.insights{margin:0 0 10px;padding-left:18px}.insights li{margin:2px 0}.gapping{min-width:0;font-size:13px}.gapping table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.gapping th{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:2px 6px 4px 0;font-size:11px;font-weight:600}.gapping td{border-top:1px solid var(--line);white-space:nowrap;padding:3px 6px 3px 0}.gap-chip{border:1px solid #0000;border-radius:999px;padding:0 7px;font-size:12px;font-weight:700;display:inline-block}.gap-chip.gap-ok{color:var(--accent);border-color:var(--accent)}.gap-chip.gap-gap{color:#ffb347;border-color:#ffb347}.gap-chip.gap-overlap,.gap-chip.gap-inverted{color:var(--err);border-color:var(--err)}.gap-legend{flex-wrap:wrap;align-items:center;gap:4px;margin:8px 0 0;font-size:11px;display:flex}.analytics-signin{flex-direction:column;align-items:flex-start;gap:8px;max-width:420px;display:flex}.analytics-signin p{margin:0}.tag-filter{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;gap:4px 14px;padding:6px 10px;display:flex}.tag-filter legend{color:var(--muted);padding:0 4px;font-size:12px}.analytics-panel{z-index:6;background:linear-gradient(#0e1a24f2,#060e14ed);border:1px solid #ffffff1a;border-radius:1.4vh;width:min(46vw,640px);padding:1.2vh 1.6vh;font-size:1.7vh;position:absolute;top:6vh;left:50%;transform:translate(-50%);box-shadow:0 .8vh 3vh #00000073}.analytics-panel header{justify-content:space-between;align-items:center;margin-bottom:.8vh;display:flex}.analytics-panel h2{letter-spacing:.14em;color:#9fb0bf;font-size:1.4vh}.analytics-panel .close{color:#9fb0bf;background:0 0;border:none;padding:0 .4vh;font-size:2.4vh;line-height:1}.analytics-meta{align-items:center;gap:1vh;margin-bottom:.8vh;display:flex}.analytics-panel .insights{margin:0;font-size:1.6vh}.panel-svg .dot.left-out{fill:none;stroke:#f2f6f8;stroke-width:1.5px;stroke-dasharray:2 2}.player-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.player-head h3{margin:0}.overview{grid-template-columns:minmax(420px,1fr) minmax(520px,1.15fr);gap:12px;margin-bottom:12px;display:grid}@media (width<=1100px){.overview{grid-template-columns:1fr}}.ov-all-cols{grid-template-columns:minmax(170px,.8fr) 1.2fr;gap:16px;display:grid}.ov-map-cols{grid-template-columns:minmax(240px,1.1fr) minmax(190px,.9fr);align-items:start;gap:14px;display:grid}@media (width<=700px){.ov-all-cols,.ov-map-cols{grid-template-columns:1fr}}.cov-club.pickable{cursor:pointer}.cov-club.pickable:hover path{stroke-width:3px}.club-jump{z-index:2;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;margin:4px 0 0;padding:8px 0;display:flex;position:sticky;top:-12px}.club-jump button{padding:2px 10px;font-size:13px}.club-jump .spacer{flex:1}.club-card{scroll-margin-top:52px}.legend-sep{width:14px;display:inline-block}.ov-card{border:1px solid var(--line);background:#0f161d;border-radius:8px;min-width:0;padding:10px 12px}.ov-big{margin-bottom:8px;font-size:15px}.ov-big b{font-variant-numeric:tabular-nums;margin-right:4px;font-size:34px;font-weight:800}h5{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:8px 0 6px;font-size:11px;font-weight:600}.ov-card h5:first-child{margin-top:0}.shape-chart{flex-direction:column;gap:6px;display:flex}.sc-cols{justify-content:center;align-items:flex-end;gap:16px;display:flex}.sc-col{flex-direction:column;align-items:center;gap:3px;width:60px;display:flex}.sc-pct{color:var(--muted);font-variant-numeric:tabular-nums;min-height:1.3em;font-size:12px}.sc-stack{border-bottom:1px solid var(--line);flex-direction:column;justify-content:flex-end;width:42px;display:flex}.sc-fill{flex-direction:column;gap:2px;display:flex}.sc-seg{color:#0b151d;flex-basis:0;justify-content:center;align-items:center;min-height:3px;font-size:11px;font-weight:700;display:flex;overflow:hidden}.sc-seg:first-child{border-radius:4px 4px 0 0}.sc-label{color:var(--muted);font-size:12px}.curve-hook{--c:#3f7fe6}.curve-draw{--c:#94c2ff}.curve-straight{--c:#5fcf97}.curve-fade{--c:#d6b8ff}.curve-slice{--c:#a464f0}.sc-seg,.sc-swatch{background:var(--c)}.sc-row{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:14px;display:flex}.sc-stacked{flex-direction:column;align-items:stretch;gap:10px}.sc-stacked .sc-cols{gap:22px}.sc-stacked .sc-col{width:70px}.sc-stacked .sc-stack{width:52px}.sc-stacked .landing{width:100%}.sc-target .sc-label{color:var(--text);font-weight:700}.landing-host{flex:none}.club-cols .flight{margin-bottom:10px}.club-cols .flight svg{max-height:90px}.landing{width:170px;height:auto;display:block}.landing .ls-field{fill:#1e3b25}.landing .ls-band{fill:#fff;fill-opacity:.09}.landing .ls-grid{stroke:#fff;stroke-opacity:.1}.landing .ls-line{stroke:#fff;stroke-opacity:.4;stroke-dasharray:3 3}.landing .ls-tick{fill:var(--muted);font-variant-numeric:tabular-nums;font-size:9px}.landing .ls-dot{fill:var(--c);stroke:#0b151d;stroke-width:1px}.sc-legend{white-space:nowrap;color:var(--muted);flex-wrap:wrap;justify-content:center;gap:2px 7px;margin:0;padding:0;font-size:10.5px;list-style:none;display:flex}.sc-legend li{align-items:center;gap:3px;display:inline-flex}.sc-swatch{border-radius:2px;width:9px;height:9px;display:inline-block}.sc-top{text-align:center;margin:0;font-size:12px}.tip{z-index:100;pointer-events:none;max-width:280px;color:var(--text);border:1px solid var(--line);letter-spacing:normal;text-transform:none;background:#0b1218f2;border-radius:6px;padding:6px 9px;font:400 12px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;animation:.12s ease-out tip-in;position:fixed;box-shadow:0 6px 20px #00000073}@keyframes tip-in{0%{opacity:0}}.tendencies{flex-direction:column;gap:8px;display:flex}.split-title{color:var(--muted);margin-bottom:3px;font-size:12px}.split-bar{background:#ffffff08;border-radius:6px;gap:2px;height:12px;display:flex;overflow:hidden}.split-bar>span{opacity:.6;min-width:4px}.split-bar>span.big{opacity:1}.tone-left{background:#6aa9ff}.tone-mid{background:#4fbf8a}.tone-right{background:#c28cff}.tone-warn{background:#ef8a5a}.split-labels{justify-content:space-between;gap:6px;margin-top:3px;font-size:12px;display:flex}.split-labels span:nth-child(2){text-align:center}.split-labels span:last-child{text-align:right}.split-labels .big{color:var(--text);font-weight:600}.split-labels span:not(.big){color:var(--muted)}.split-none{font-size:12px}.meter{grid-template-columns:5.5em 1fr 6em;align-items:center;gap:8px;font-size:12px;display:grid}.meter-label{color:var(--muted)}.meter-track{background:#ffffff10;border-radius:4px;height:8px;overflow:hidden}.meter-track span{background:var(--err);height:100%;display:block}.meter-value{text-align:right;font-variant-numeric:tabular-nums}.meter:not(.has) .meter-value b,.spread.grade-good{color:var(--accent)}.spread.grade-fair{color:var(--warn)}.spread.grade-poor{color:var(--err);font-weight:700}.spread.grade-none{color:var(--muted)}.grade-legend{color:var(--muted);margin:6px 0 10px;font-size:12px}.club-cards{grid-template-columns:repeat(auto-fill,minmax(460px,1fr));gap:12px;display:grid}.club-card{border:1px solid var(--line);background:#0f161d;border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;display:flex}.club-card header{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.club-card h4{margin:0;font-size:18px}.club-count{font-variant-numeric:tabular-nums}.club-card header .conf{margin-left:auto}.club-hero{gap:24px;margin:0;display:flex}.stat{margin:0}.stat dt{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.stat dd{font-variant-numeric:tabular-nums;margin:0}.stat.hero .mv-value{font-size:30px;font-weight:800}.stat.hero .spread{font-size:15px}.stat-grid{grid-template-columns:repeat(3,1fr);gap:6px 14px;margin:0;display:grid}.stat-grid .mv-value{font-size:17px;font-weight:700}.stat-grid .spread{font-size:12px}.mv .unit{color:var(--muted);font-size:11px}.club-cols{grid-template-columns:1fr 1.3fr;gap:14px;display:grid}@media (width<=500px){.club-cols{grid-template-columns:1fr}}.cc-top{grid-template-columns:minmax(0,1.25fr) minmax(150px,1fr);align-items:start;gap:12px;display:grid}.cc-top .stat-grid{grid-template-columns:repeat(2,1fr)}.gap-none{margin:6px 0 0;font-size:12px}.cc-top .stat.hero .mv-value{font-size:24px}.cc-top .stat.hero .mv{white-space:nowrap}.cc-top .stat.hero .spread{font-size:13px}.cc-top .club-hero{grid-template-columns:repeat(2,1fr);gap:6px 14px;display:grid}.cc-face{background:#0b1218;border-radius:8px;padding:4px 4px 2px}.cc-face svg{width:100%;height:auto;display:block}.cc-face-note{text-align:center;font-size:11px}@media (width<=520px){.club-cards,.cc-top{grid-template-columns:1fr}}.flight{margin:0}.flight svg{width:100%;height:auto;max-height:120px;display:block}.flight-label{fill:var(--muted);font-size:11px}.tour-notes{border-top:1px solid var(--line);grid-template-columns:max-content max-content 1fr max-content;align-items:baseline;gap:2px 10px;padding-top:6px;font-size:13px;display:grid}.tour-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);grid-column:1/-1;font-size:11px}.tour-row{display:contents}.tour-you{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.tour-avg{font-size:12px}.tour-diff{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}.tour-row.level-close .tour-diff{color:var(--accent)}.tour-row.level-near .tour-diff{color:var(--warn)}.tour-row.level-far .tour-diff{color:var(--err)}.coverage{width:100%;max-height:460px}.cov-tick{fill:var(--muted);font-size:11px}.cov-label{font-size:12px;font-weight:700}.analytics-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#091016f7;width:min(72vw,1080px);max-height:82vh;font-size:14px;overflow:auto}.analytics-panel header{gap:1vh}.club-chips{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.club-chips button{padding:2px 10px}.ap-body{grid-template-columns:1fr 1fr;gap:10px 22px;display:grid}.ap-body .ap-insights{grid-column:1/-1}.ap-club{font-size:18px}.ap-face{background:#0b1218;border-radius:8px;padding:4px}.ap-face svg{width:100%;height:auto;max-height:26vh}.analytics-panel .stat.hero .mv-value{font-size:34px}.compare-title{margin:0 8px 0 0;font-size:13px}.normalized-toggle{font-weight:600}.normalized-badge{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);vertical-align:middle;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px}.slots{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.slot-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.slot-num{text-align:center;width:1.4em;font-size:18px;font-weight:800}.add-slot{align-self:flex-start}.compare-main{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:12px;display:grid}@media (width<=1000px){.compare-main{grid-template-columns:1fr}}.compare-table-wrap{overflow-x:auto}.compare-table{width:100%;font-size:13px}.compare-table th,.compare-table td{text-align:right;white-space:nowrap;background:0 0;padding:6px 8px;position:static}.compare-table th[scope=row]{text-align:left;font-weight:600}.compare-table .mv-value{font-size:15px;font-weight:700}.compare-table .spread{font-size:11px}.delta-row td,.delta-row th{border-bottom-width:2px;font-size:12px}.delta{color:var(--text);font-variant-numeric:tabular-nums}.delta-better{color:var(--accent)}.delta-worse{color:var(--warn)}.compare-note{margin:8px 0 0;font-size:12px}.compare-map{width:100%;height:auto}.compare-map-num{paint-order:stroke;stroke:#0b151d;stroke-width:3px;font-size:15px;font-weight:800}.compare-left{flex-direction:column;gap:12px;min-width:0;display:flex}.compare-map-card{position:sticky;top:0}.compare-cols{gap:12px;display:grid}.compare-col{border-top:3px solid}.compare-col h4{margin:0 0 8px;font-size:14px}.ref-row th[scope=row]{font-style:italic}.ref-preview{margin-top:8px;font-size:13px}.ref-errors{color:var(--warn);margin:4px 0 0;padding-left:18px;font-size:12px}.trend-card{margin-top:12px}.trend-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trend-head h5{margin:0}.trend-clubs{flex-wrap:wrap;gap:4px;margin:8px 0;display:flex}.trend-clubs button{align-items:center;gap:5px;padding:2px 8px;font-size:12px;display:inline-flex}.trend-clubs button[aria-pressed=false]{opacity:.55}.trend-swatch{border-radius:2px;width:9px;height:9px;display:inline-block}.trend-chart{position:relative}.trend-chart .u-wrap,.trend-chart .uplot{font-family:inherit}.trend-readout{font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 14px;min-height:1.6em;margin-top:4px;font-size:12px;display:flex}.trend-readout>span{align-items:center;gap:4px;display:inline-flex}@page{size:A4;margin:10mm}@media print{*{-webkit-print-color-adjust:exact;print-color-adjust:exact}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#111;--muted:#555;--line:#ccc}html,body{color:#000;background:#fff}.bar,.hint,.summary-toolbar,.club-jump{display:none!important}.app{height:auto}main.summary-view{padding:0;overflow:visible}.summary-sheet,.summary-player{color:#000;background:#fff;border:none;padding:0}.ov-card,.club-card{color:#000;background:#fff;border-color:#ccc}.cc-face,.ap-face{background:#1a2530}.flight-label,.cov-tick{fill:#555}.overview{break-inside:avoid;grid-template-columns:1fr}.ov-all,.ov-map,.insights{break-inside:avoid}.summary-player+.summary-player,.grade-legend{break-before:page}.club-cards{zoom:.72;display:block}.club-card{break-inside:avoid;grid-template-columns:1.5fr 1fr;align-items:center;gap:8px 18px;margin-bottom:10px;display:grid}.club-card>header,.club-card>.club-cols,.club-card>.tour-notes,.club-card>p{grid-column:1/-1}.club-card>.cc-top{grid-template-columns:1.3fr 1fr}.club-card .cc-face svg{max-height:150px}.club-card>.club-cols{grid-template-columns:1fr 1.6fr}.club-card .tendencies{grid-template-columns:1fr 1fr;gap:6px 18px;display:grid}.club-card:nth-child(2n){break-after:page}.split-labels .big{color:#000}}.range-top{z-index:5;pointer-events:none;max-width:calc(100vw - 2 * var(--side,19vw) - 6vh);flex-direction:column;align-items:center;gap:.8vh;display:flex;position:absolute;top:1.2vh;left:50%;transform:translate(-50%)}.range-top>*{pointer-events:auto}.range-top>.picked-chip,.range-top>.tag-chips{max-width:none;position:static;transform:none}.shape-call{background:#060e14d1;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:.5vh;padding:.4vh;font-size:1.5vh;display:flex}.shape-call button{background:0 0;border:1px solid #0000;border-radius:999px;align-items:center;gap:.5vh;padding:.35vh 1.1vh;display:inline-flex}.shape-call button[aria-pressed=true]{border-color:var(--accent);color:var(--text);background:#3fb68b2e;font-weight:600}.shape-result{white-space:nowrap;border-left:1px solid #ffffff24;align-items:center;gap:.6vh;padding:0 1vh;display:inline-flex}.shape-swatch{border-radius:50%;width:1vh;height:1vh;display:inline-block}.shape-tally{color:var(--muted);font-variant-numeric:tabular-nums;padding:0 1vh 0 .4vh}.shape-hint{padding:0 1vh}.shape-practice{margin-top:12px}.sp-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.sp-head h5{margin:0}.sp-cols{grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:18px;margin-top:8px;display:grid}@media (width<=720px){.sp-cols{grid-template-columns:1fr}}.sp-rows{flex-direction:column;gap:8px;display:flex}.sp-row{grid-template-columns:96px minmax(0,1fr) 150px;align-items:center;gap:10px;display:grid}.sp-bar{height:14px}.sp-rate{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.sp-rate b{font-size:18px}.sp-strip{flex-wrap:wrap;gap:3px;margin-top:14px;display:flex}.sp-chip{color:#08110c;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:inline-flex}.sp-why h5{margin:0 0 4px}.sp-axis{fill:var(--muted);font-size:10px}.sp-readout{min-height:1.4em;font-size:12px}.sp-legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:10px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.sp-legend li{align-items:center;gap:5px;display:inline-flex}.mode-hud{white-space:nowrap;background:#060e14e0;border:1px solid #ffd16680;border-radius:999px;align-items:center;gap:1.4vh;padding:.5vh .6vh .5vh 1.6vh;font-size:1.6vh;display:flex}.mode-hud button{border-radius:999px;padding:.3vh 1.2vh;font-size:1.4vh}.mode-last{font-weight:700}.mode-last.ring-0,.run-chip.ring-0{color:#ffd166}.mode-last.ring-1,.run-chip.ring-1{color:#f4f1e8}.mode-last.ring-2,.run-chip.ring-2{color:#9fd6ff}.mode-last.ring-none,.run-chip.ring-none{color:var(--muted)}.mode-card{border:1px solid var(--line);border-radius:8px;margin-bottom:10px;padding:10px 12px}.mode-card h3{margin-top:0}.mode-card .rig-field{grid-template-columns:130px minmax(0,1fr)}.mode-card .rig-field input,.mode-card .rig-field select{width:100%;min-width:0}.mode-card .rig-field input[type=number]{width:90px}.mode-card .rig-help{grid-column:2}.run-round{align-items:center;gap:10px;margin:6px 0;display:flex}.run-round-label{width:64px;color:var(--muted);font-size:12px}.run-chips{flex-wrap:wrap;flex:1;gap:4px;display:flex}.run-chip{text-align:center;font-variant-numeric:tabular-nums;background:#ffffff0d;border-radius:5px;min-width:26px;padding:2px 4px;font-weight:700}.run-round-total{font-variant-numeric:tabular-nums}.run-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0;display:grid}.run-stats div{background:#ffffff08;border-radius:6px;padding:6px 8px}.run-stats dt{color:var(--muted);font-size:11px}.run-stats dd{margin:2px 0 0;font-weight:700}.run-stats.two{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=520px){.run-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.coach-view{flex-direction:column;gap:12px;max-width:1100px;margin:0 auto;padding:16px 20px 40px;display:flex}.coach-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.coach-head h2{margin:0}.focus-card{border-color:#ffd16680}.focus-card h3{margin:2px 0 4px}.focus-resolved{color:var(--accent);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.finding-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.finding-list li{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:10px;display:flex}.finding-list li.top{border-color:var(--accent)}.finding-list li>div:first-child{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.finding-list .conf{border:1px solid var(--line);border-radius:999px;align-self:flex-start;padding:0 6px;font-size:11px}.finding-actions{align-items:flex-start;gap:6px;display:flex}.coach-improved{color:var(--accent);margin:10px 0 0}.modes-dialog{width:min(560px,100vw - 32px)}.mode-picker{flex-wrap:wrap;gap:6px;margin:4px 0 12px;display:flex}.mode-picker button[aria-checked=true]{border-color:var(--accent);color:var(--accent);font-weight:600}.mode-players{flex-wrap:wrap;gap:6px;display:flex}.mode-players .check-row{white-space:nowrap;border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:6px;margin:0;padding:3px 11px 3px 8px;display:inline-flex}.mode-players .check-row:has(input:checked){border-color:var(--accent)}.mode-card .rig-field.wide{grid-template-columns:1fr;row-gap:6px}.mode-card .rig-field.wide .rig-help{grid-column:1}.mode-turn{white-space:nowrap}.mode-scores{gap:1.2vh;display:inline-flex}.mode-scores b{margin-left:.4vh}.leaderboard{white-space:normal;width:100%;margin:6px 0 10px}.leaderboard td{border-bottom:1px solid var(--line);text-align:left;padding:6px 8px}.leaderboard tr.first td{color:#ffd166;font-weight:700}.leaderboard .lb-place{text-align:center;width:28px}.leaderboard .lb-value{text-align:right;font-variant-numeric:tabular-nums}.run-winner{color:#ffd166;margin:4px 0;font-size:18px;font-weight:700}.bingo-card{background:#060e14e0;border:1px solid #ffffff24;border-radius:1.2vh;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:.5vh;width:min(54vh,100%);padding:.6vh;display:grid}.bingo-card>span{color:#e6edf2;text-align:center;white-space:normal;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:.8vh;justify-content:center;align-items:center;min-height:5.6vh;padding:.7vh 1vh;font-size:1.45vh;font-weight:600;line-height:1.25;display:flex;position:relative}.bingo-text{text-wrap:balance;-webkit-hyphens:manual;hyphens:manual;overflow-wrap:normal}.bingo-card>span.marked{background:var(--accent);color:#06130d;border-color:#0000}.bingo-tick{font-size:1.3vh;font-weight:800;position:absolute;top:.3vh;right:.6vh}.run-results:has(.gapping-results){width:min(900px,100vw - 32px)}.gapping-results h3{margin-top:14px}.bag-suggestions{flex-direction:column;gap:4px;margin:4px 0 8px;padding-left:18px;display:flex}.games-dialog{width:min(1040px,100vw - 32px)}.game-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:8px;display:grid}.game-card{text-align:left;border:1px solid var(--line);background:#0f161d;border-radius:12px;flex-direction:column;align-items:stretch;gap:4px;padding:0 0 12px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;overflow:hidden}.game-card:hover,.game-card:focus-visible{border-color:var(--accent);outline:none;transform:translateY(-3px);box-shadow:0 10px 24px #00000073}.game-card .game-art{aspect-ratio:16/9;width:100%;height:auto;display:block}.game-name{color:var(--text);padding:6px 12px 0;font-size:16px;font-weight:750}.game-tag{color:#b9c6d2;padding:0 12px;font-size:13px}.game-banner{grid-template-columns:200px 1fr;align-items:center;gap:14px;margin-bottom:10px;display:grid}.game-banner .game-art{border-radius:10px;width:100%;height:auto;display:block}.game-banner h2{margin:0 0 2px;font-size:20px}.game-banner .game-tag{margin:0;padding:0}@media (width<=560px){.game-banner{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.game-card{transition:none}.game-card:hover{transform:none}}.landing-typical{fill:#5fcf97}.landing-shallow,.landing-steep{fill:var(--warn)}.settings-tabs{border-bottom:1px solid var(--line);gap:6px;margin:4px 0 6px;padding-bottom:8px;display:flex}.settings-tabs button{border-radius:999px;padding:4px 16px;font-weight:600}.panel-slot{min-width:0;display:flex;position:relative}.panel-slot>figure{flex:auto;min-width:0}.shape-toggle-tip{z-index:2;pointer-events:auto;position:absolute;top:-4.2vh;right:0}.shape-toggle{background:#060e14d9;border-radius:999px;justify-content:center;align-items:center;width:3.4vh;height:3.4vh;padding:0;display:inline-flex}.shape-toggle[aria-pressed=true]{background:var(--accent);color:#06130d;border-color:#0000}.club-link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:650}.club-link:hover,.club-link:focus-visible{text-decoration:underline}.summary-section{text-transform:uppercase;letter-spacing:.12em;color:#9fb0bf;border-bottom:1px solid var(--line);margin:18px 0 8px;padding-bottom:6px;font:700 13px/1.2 system-ui,sans-serif}.ov-map-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.ov-map-head h5{margin:0}.conn-hint{white-space:normal;max-width:34ch;margin:8px 0 0;font-size:12px}.settings-dialog{width:min(760px,100vw - 32px)}.settings-section{border:1px solid var(--line);background:#ffffff05;border-radius:10px;gap:12px;padding:14px 16px 16px;display:grid}.settings-section+.settings-section{margin-top:14px}.settings-section>h3{margin:0}.settings-section>.dialog-intro{margin:-4px 0 0;font-size:13px}.settings-section .rig-field{grid-template-columns:180px minmax(0,1fr);row-gap:4px}.settings-section .rig-field select{width:100%;max-width:380px}.settings-section .rig-fields>.check-row{margin:0 0 0 192px}.settings-section .tag-filter{border:0;min-width:0;margin:0 0 0 192px;padding:0}.settings-section .tag-filter legend{padding:0 0 6px;font-weight:600}.settings-section .bay-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}.settings-section .bay-fields .rig-field{grid-template-columns:1fr}.settings-section .bay-fields .rig-help{grid-column:1}@media (width<=620px){.settings-section .rig-field{grid-template-columns:1fr}.settings-section .rig-help{grid-column:1}.settings-section .rig-fields>.check-row,.settings-section .tag-filter{margin-left:0}.settings-section .bay-fields{grid-template-columns:1fr}}.overlay-label{fill:#fff;paint-order:stroke;stroke:#0000008c;stroke-width:3px;font-size:11px;font-weight:700}.gapping-cue{text-align:center;background:#060e14e0;border:1px solid #ffffff2e;border-radius:1.2vh;padding:.8vh 2vh;font-size:2.4vh}.gapping-cue b{font-size:3vh}.gapping-cue.switch{color:#1a1405;background:#ffd166;border-color:#0000;box-shadow:0 .6vh 2vh #00000073}.club-badge-wrap{z-index:3;pointer-events:auto;position:absolute;top:-4.2vh;left:0}.club-badge{color:#fff;cursor:pointer;background:#060e14d9;border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;min-width:3.4vh;height:3.4vh;padding:0 .9vh;font-size:1.6vh;font-weight:800;line-height:1;display:inline-flex}.club-badge:hover,.club-badge[aria-expanded=true]{background:#1e2c38f2}.club-badge-menu{background:#0d1a24;border:1px solid #ffffff2e;border-radius:10px;grid-template-columns:repeat(2,minmax(9em,1fr));gap:4px;max-height:60vh;padding:8px;display:grid;position:absolute;bottom:calc(100% + .6vh);left:0;overflow:auto;box-shadow:0 1vh 3vh #00000080}.club-badge-menu button{text-align:left;border-radius:6px;align-items:baseline;gap:.6em;padding:6px 8px;display:flex}.club-badge-menu button b{min-width:2.2em;font-size:1.1em}.club-badge-menu button[aria-checked=true]{color:#1a1405;background:#ffd166}.club-badge-menu button[aria-checked=true] .muted{color:#1a1405aa}.ball-tip{white-space:nowrap;font-variant-numeric:tabular-nums;color:#fff;background:#060e14c7;border:1px solid #fff3;border-radius:.8vh;padding:.2vh .7vh;font-size:1.9vh;font-weight:700;transition:opacity .4s;transform:translate(14px,-50%)}.club-change button.primary{font-weight:700}.beta{letter-spacing:.14em;color:#0b1a10;background:#ffd166;border-radius:4px;align-self:center;margin-left:2px;padding:2px 6px;font:700 10px/1 Orbitron,system-ui,sans-serif}.field{flex-direction:column;gap:4px;margin:10px 0;font-size:13px;display:flex}.field textarea,.field input{background:var(--panel);border:1px solid var(--line);font:inherit;color:inherit;resize:vertical;border-radius:6px;padding:7px 9px}.report-details{margin:6px 0;font-size:12px}.report-details pre{white-space:pre-wrap;word-break:break-word;background:#0006;border-radius:6px;max-height:180px;padding:8px;overflow:auto}.select-all{-webkit-user-select:all;user-select:all;color:var(--text);font-weight:600}.friends-dialog{width:min(560px,100vw - 32px)}.friend-invite{gap:8px;margin:8px 0;display:flex}.friend-invite input{background:var(--panel);border:1px solid var(--line);border-radius:6px;flex:1;min-width:0;padding:6px 9px}.friend-list h3{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 6px;font-size:12px}.friend-list ul{margin:0;padding:0;list-style:none}.friend-list li{border-top:1px solid var(--line);align-items:center;gap:8px;padding:6px 0;display:flex}.friend-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}button.link,button.link-danger{color:var(--accent);background:0 0;border:none;padding:2px 4px;text-decoration:underline}button.link-danger{color:var(--err)}.plan-dialog{width:min(620px,100vw - 32px)}.plan-table{width:100%;margin:10px 0}.plan-table th,.plan-table td{text-align:center;padding:6px 8px}.plan-table th:first-child,.plan-table td:first-child{text-align:left}.plan-table th.current{color:var(--accent)}.plan-table td.plus{color:#fff;font-weight:600}.plan-choice{flex-wrap:wrap;gap:10px;margin:10px 0;display:flex}.plan-choice button{text-align:left;border-radius:10px;flex:1;min-width:160px;padding:10px 12px}.plan-choice button.chosen{border-color:var(--accent);background:#3fb68b1f}.plan-save{color:#0b1a10;background:var(--accent);border-radius:999px;margin-left:8px;padding:1px 7px;font-size:11px}.toast-plan{color:#04120a;background:#3fb68bf2;font-weight:600}
