:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-page:#f4f2ee;--surface-card:#fdfcfa;--surface-sunken:#ece9e3;--border:#e0dcd4;--text-primary:#1d1c1a;--text-secondary:#57544e;--text-muted:#7a766e;--accent:#1f6f78;--accent-strong:#165a62;--accent-soft:#d7ecee;--on-accent:#fff;--focus:#eb6834;--focus-soft:#fbe3d7;--inset-panel:#f4f2ee;--shadow:0 1px 2px #1e190f0f, 0 4px 16px #1e190f0d;--radius:14px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-page:#151514;--surface-card:#1e1e1c;--surface-sunken:#262624;--border:#34332f;--text-primary:#f0efec;--text-secondary:#c3c2b7;--text-muted:#96948b;--accent:#4fb3bd;--accent-strong:#6cc7d0;--accent-soft:#1d3a3d;--on-accent:#0c1d1f;--focus:#ff7a45;--focus-soft:#3a2418;--inset-panel:#262624;--shadow:0 1px 2px #0000004d, 0 4px 16px #00000040}}*{box-sizing:border-box}body{background:var(--surface-page);color:var(--text-primary);margin:0;font:15px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:24px}h2{font-size:20px}h3{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:10px;font-size:13px}p{margin:0}.muted{color:var(--text-muted)}.small{margin-top:10px;font-size:12.5px}.app-header{border-bottom:1px solid var(--border);background:var(--surface-card)}.app-header-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1600px;margin:0 auto;padding:14px 20px;display:flex}.app-name{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:12px;font-weight:700}#shot-summary{margin-top:2px}.layout{grid-template-columns:210px minmax(0,1fr) 340px;align-items:start;gap:16px;max-width:1600px;margin:0 auto;padding:16px 20px 32px;display:grid}.shot-list{flex-direction:column;gap:6px;display:flex;position:sticky;top:16px}.shot-button{text-align:left;border:1px solid var(--border);background:var(--surface-card);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:12px;padding:10px 12px}.shot-button small{color:var(--text-muted);margin-top:2px;font-size:12px;display:block}.shot-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.shot-button.drill{border-style:dashed}.viewer{flex-direction:column;gap:10px;min-width:0;display:flex}.stage{aspect-ratio:16/10;border-radius:var(--radius);background:radial-gradient(ellipse at 50% 35%, var(--surface-card), var(--surface-sunken));width:100%;box-shadow:var(--shadow);position:relative;overflow:hidden}.stage-canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.stage-canvas:active{cursor:grabbing}.stage-loading{color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.stage-views,.stage-toggles{flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:10px}.stage-views{left:10px}.stage-toggles{justify-content:flex-end;max-width:55%;right:10px}.chip{border:1px solid var(--border);background:color-mix(in srgb, var(--surface-card) 88%, transparent);color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12.5px}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.belt-panel{background:color-mix(in srgb, var(--surface-card) 92%, transparent);border:1px solid var(--border);pointer-events:none;border-radius:12px;width:min(32%,290px);padding:8px 8px 4px;position:absolute;bottom:10px;right:10px}.belt-title{color:var(--text-primary);font-size:12px;font-weight:700}.belt-title span{color:var(--text-muted);font-size:11px;font-weight:400;display:block}.belt-diagram{aspect-ratio:1;width:100%;display:block}.belt-hips{fill:color-mix(in srgb, var(--focus) 12%, transparent);stroke:var(--focus);stroke-width:.006px}.belt-buckle{stroke:var(--focus);stroke-width:.008px}.belt-buckle-head,.belt-pocket-trail{fill:var(--focus)}.belt-pocket-lead{fill:var(--pocket-lead)}.belt-pelvis.address .belt-hips,.belt-pelvis.address .belt-pocket-trail,.belt-pelvis.address .belt-pocket-lead{fill:none;stroke:var(--text-muted);stroke-width:.004px;stroke-dasharray:.012 .01}.belt-pelvis.address .belt-buckle{stroke:var(--text-muted);stroke-width:.004px;stroke-dasharray:.012 .01}.belt-pelvis.address .belt-buckle-head{fill:var(--text-muted)}.belt-path{fill:none;stroke:var(--focus);stroke-width:.008px;stroke-linecap:round;stroke-linejoin:round}.belt-foot{fill:var(--surface-sunken);stroke:var(--border);stroke-width:.004px}.belt-wall{stroke:var(--text-secondary);stroke-width:.012px}.belt-direction{fill:none;stroke:var(--text-muted);stroke-width:.006px;stroke-linecap:round;stroke-linejoin:round}.belt-label{fill:var(--text-muted);font-family:inherit;font-size:.034px}.transport{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.transport-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.button,.icon-button{border:1px solid var(--border);background:var(--surface-card);color:var(--text-primary);font:inherit;cursor:pointer;border-radius:10px;min-height:36px}.icon-button{width:38px}.button{padding:6px 14px}.button-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.play{min-width:84px}.speeds{gap:4px;margin-left:8px;display:flex}.time{font-variant-numeric:tabular-nums;color:var(--text-muted);margin-left:auto;font-size:13px}.scrubber{margin-top:6px;padding-top:26px;position:relative}.scrubber input{width:100%;accent-color:var(--accent)}.ticks{height:24px;position:absolute;top:0;left:8px;right:8px}.tick{font:inherit;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:2px 4px;font-size:11.5px;font-weight:700;position:absolute;transform:translate(-50%)}.tick:after{content:"";background:var(--border);width:1px;height:8px;position:absolute;top:20px;left:50%}.tick[aria-current=true]{color:var(--on-accent);background:var(--accent)}.legend{color:var(--text-secondary);flex-wrap:wrap;gap:6px 14px;font-size:12.5px;display:flex}.swatch{background:var(--swatch);vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.info{flex-direction:column;gap:12px;display:flex}.card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--focus);margin-bottom:4px;font-size:12px;font-weight:700}.cue{margin-top:6px;font-size:16px;font-weight:600}.checkpoints,.setup{grid-template-columns:64px 1fr;gap:8px 10px;margin:12px 0 0;display:grid}.checkpoints dt,.setup dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding-top:2px;font-size:12px;font-weight:700}.checkpoints dd,.setup dd{color:var(--text-secondary);margin:0}.checkpoints dt.feel{color:var(--focus)}.checkpoints dd.feel{color:var(--text-primary);background:var(--focus-soft);border-radius:8px;margin-left:-8px;padding:4px 8px}.checkpoints dt.hips{color:var(--focus)}.pressure-bar{background:var(--surface-sunken);border-radius:999px;height:16px;display:flex;overflow:hidden}.pressure-trail{background:var(--pressure-trail);transition:width 80ms linear}.pressure-lead{background:var(--pressure-lead);transition:width 80ms linear}.pressure-labels{font-variant-numeric:tabular-nums;color:var(--text-secondary);justify-content:space-between;margin-top:6px;font-size:13px;display:flex}.measures{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13.5px}.measures td{border-top:1px solid var(--border);color:var(--text-secondary);padding:5px 4px}.measures td:first-child{color:var(--text-primary)}.measures tr.key-row td{background:var(--focus-soft);color:var(--text-primary);font-weight:700}.switch{cursor:pointer;color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:inline-flex}.switch.compact{margin-left:8px;font-size:13px}.switch input{accent-color:var(--accent);width:16px;height:16px}@media (width<=1180px){.layout{grid-template-columns:minmax(0,1fr);padding:12px 16px 28px}.shot-list{flex-flow:wrap;position:static}.shot-button small{display:none}}@media (width<=640px){.stage{aspect-ratio:4/5}.stage-toggles{justify-content:flex-start;max-width:60%;inset:auto auto 10px 10px}.belt-panel{width:42%}.time{width:100%;margin-left:0}}.explainer.single-shot .layout{grid-template-columns:minmax(0,1fr) 340px}.explainer.single-shot .shot-list{display:none}@media (width<=1180px){.explainer.single-shot .layout{grid-template-columns:minmax(0,1fr)}}.contact-sheet{background:var(--surface-page);color:var(--text-primary);padding:16px 20px 32px}.contact-sheet h2{margin-bottom:12px}.contact-sheet-stage{position:fixed;top:0;left:-10000px}.contact-sheet-row{margin-bottom:16px}.contact-sheet-row h3{margin-bottom:8px}.contact-sheet-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.contact-sheet-grid figure{background:radial-gradient(ellipse at 50% 35%, var(--surface-card), var(--surface-sunken));border:1px solid var(--border);border-radius:10px;margin:0;overflow:hidden}.contact-sheet-grid canvas{width:100%;height:auto;display:block}.contact-sheet-grid figcaption{border-top:1px solid var(--border);padding:6px 10px;font-size:13px;font-weight:600}.club-showcase{background:radial-gradient(ellipse at 50% 35%, var(--surface-card), var(--surface-sunken));width:100%;height:100vh}.club-showcase canvas{width:100%;height:100%;display:block}
