:root{--mute-toggle-width:6.5rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}html,body{overscroll-behavior:none;touch-action:none;background:#0d1a12;height:100%;margin:0;overflow:hidden}#renderCanvas{outline:none;width:100%;height:100%;display:block}.badge{top:calc(env(safe-area-inset-top,0px) + 8px);left:calc(env(safe-area-inset-left,0px) + 8px);color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#0000008c;border-radius:6px;padding:4px 8px;font-size:12px;position:fixed}.unsupported{box-sizing:border-box;touch-action:pan-y;max-width:40rem;height:100%;padding:calc(env(safe-area-inset-top,0px) + 2rem) 1.25rem 2rem;color:#f2f5f0;margin:0 auto;font-size:16px;line-height:1.5;overflow-y:auto}.unsupported h1{font-size:1.5rem;line-height:1.25}.mute-toggle{right:calc(env(safe-area-inset-right,0px) + 8px);bottom:calc(env(safe-area-inset-bottom,0px) + 8px);width:var(--mute-toggle-width);color:#fff;min-height:44px;font:inherit;white-space:nowrap;touch-action:manipulation;background:#0000008c;border:1px solid #fff6;border-radius:8px;padding:0 12px;font-size:16px;position:fixed}.mute-toggle[aria-pressed=true]{background:#8a1c1c}.mute-toggle__check{margin-right:6px;font-weight:700;display:none}.mute-toggle[aria-pressed=true] .mute-toggle__check{display:inline}.overlay{top:calc(env(safe-area-inset-top,0px) + 40px);left:calc(env(safe-area-inset-left,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + 8px);bottom:calc(env(safe-area-inset-bottom,0px) + 60px);pointer-events:none;grid-template:"views hud""debug hud"minmax(0,1fr)/minmax(0,1fr) auto;place-items:start;gap:8px;display:grid;position:fixed}body:has(>.pwa-notice:not([hidden])) .overlay{bottom:calc(env(safe-area-inset-bottom,0px) + 136px)}@media (width<=50rem){.overlay{grid-template:"views""debug"minmax(0,1fr)"hud"/minmax(0,1fr)}}.perf-hud{box-sizing:border-box;color:#e8f5e4;contain:layout paint;pointer-events:none;background:#000000a6;border-radius:6px;grid-area:hud;justify-self:end;width:max-content;max-width:27rem;padding:6px 8px;font-size:11px}.perf-hud pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 4px;font-family:ui-monospace,Consolas,monospace;font-size:11px;line-height:1.35}@media (width<=50rem){.perf-hud{justify-self:stretch;width:auto;max-width:none}}.perf-hud button{pointer-events:auto;font:inherit;touch-action:manipulation}.pwa-notice{left:calc(env(safe-area-inset-left,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + var(--mute-toggle-width) + 16px);bottom:calc(env(safe-area-inset-bottom,0px) + 8px);color:#fff;background:#0b2e13eb;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;width:fit-content;max-width:32rem;padding:8px 12px;font-size:16px;display:flex;position:fixed}.pwa-notice[hidden],.pwa-notice button[hidden]{display:none}.pwa-notice button{min-width:44px;min-height:44px;color:inherit;font:inherit;touch-action:manipulation;background:0 0;border:1px solid #ffffff80;border-radius:8px;padding:0 12px}.pwa-notice button[data-action=apply]{color:#0b2e13;background:#f2c230;border-color:#f2c230;font-weight:600}.camera-views{color:#fff;pointer-events:auto;flex-wrap:wrap;grid-area:views;align-items:center;gap:6px;max-width:100%;font-size:12px;display:flex}.camera-views button{min-width:44px;min-height:44px;color:inherit;font:inherit;touch-action:manipulation;background:#0000008c;border:1px solid #fff6;border-radius:8px;flex:none;padding:0 10px;font-size:14px}.camera-views__status{overflow-wrap:anywhere;pointer-events:none;background:#0000008c;border-radius:6px;min-width:0;padding:4px 8px}.camera-views__status:empty{display:none}.course-debug{overscroll-behavior:contain;color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;flex-direction:column;grid-area:debug;gap:4px;max-width:min(46rem,100%);max-height:100%;font-size:12px;display:flex;overflow:hidden auto}.course-debug__shots{flex-wrap:wrap;gap:6px;display:flex}.course-debug__shots button{min-height:44px;color:inherit;font:inherit;pointer-events:auto;touch-action:manipulation;background:#0000008c;border:1px solid #fff6;border-radius:8px;padding:0 10px;font-size:13px}.course-debug__line{overflow-wrap:anywhere;background:#0000008c;border-radius:6px;width:fit-content;padding:3px 8px}.course-debug--scroll .course-debug__line{pointer-events:auto}.course-debug__line:empty{display:none}.round-status{top:calc(env(safe-area-inset-top,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + 8px);color:#fff;font-variant-numeric:tabular-nums;text-align:right;pointer-events:none;flex-direction:column;align-items:flex-end;gap:4px;max-width:calc(50% - 16px);font-size:12px;display:flex;position:fixed}.round-status[hidden]{display:none}.round-status__line,.round-status__notice{overflow-wrap:anywhere;background:#0000008c;border-radius:6px;padding:4px 8px}.round-status__notice{background:#782800cc}.round-status__notice:empty{display:none}:root{--swing-zone-width:6.5rem;--swing-zone-height:7.5rem;--shot-band-height:44px;--swing-band-width:9rem;--shot-band-notice:72px}.shot-bar,.swing-zone{bottom:calc(env(safe-area-inset-bottom,0px) + 8px);position:fixed}.shot-bar{left:calc(env(safe-area-inset-left,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + var(--mute-toggle-width) + 24px + var(--swing-band-width));min-height:var(--shot-band-height);color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;align-items:center;gap:6px;font-size:13px;display:flex}.swing-zone{right:calc(env(safe-area-inset-right,0px) + var(--mute-toggle-width) + 16px)}body:has(>.pwa-notice:not([hidden])) .shot-bar,body:has(>.pwa-notice:not([hidden])) .swing-zone{bottom:calc(env(safe-area-inset-bottom,0px) + var(--shot-band-notice))}.shot-bar__texts{flex-direction:column;flex:1;order:2;gap:3px;min-width:0;display:flex}.shot-bar__texts .shot-bar__line{white-space:nowrap;text-overflow:ellipsis;padding:2px 6px;font-size:12px;line-height:1.3;overflow:hidden}.shot-bar__club{display:none}@media (height<=30rem){.overlay:has(>.shot-bar) .perf-hud pre{font-size:10px;line-height:1.2}}.shot-bar__line,.shot-bar__club,.shot-bar__end-text{box-sizing:border-box;overflow-wrap:anywhere;background:#0000008c;border-radius:6px;max-width:100%;padding:4px 8px}.shot-bar__line:empty,.shot-bar [hidden]{display:none}.shot-bar__controls,.shot-bar__end{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.shot-bar__club{text-align:center;min-width:4.5rem;line-height:36px}.shot-bar__button{min-width:44px;min-height:44px;color:inherit;font:inherit;pointer-events:auto;touch-action:manipulation;background:#0000008c;border:1px solid #fff6;border-radius:8px;padding:0 10px;font-size:15px}.shot-bar__button:disabled{opacity:.45}.shot-bar__button[data-action=primary]{color:#0b2e13;background:#f2c230;border-color:#f2c230;font-weight:600}.swing-zone{box-sizing:border-box;width:var(--swing-band-width);height:var(--shot-band-height);color:#fff;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;pointer-events:auto;background:#00000073;border:1px solid #fff6;border-radius:10px;align-items:center;gap:8px;padding:0 10px;font-size:13px;display:flex}.swing-zone--idle{opacity:.6}.swing-zone__track{pointer-events:none;background:#ffffff26;border-radius:6px;flex:1;align-self:stretch;margin:12px 0;position:relative;overflow:hidden}.swing-zone__fill,.swing-zone__band,.swing-zone__sweet,.swing-zone__needle,.swing-zone__full,.swing-zone__power{box-sizing:border-box;position:absolute;top:0;bottom:0}.swing-zone__fill{left:calc(var(--zero,0) * 100%);width:calc((1 - var(--zero,0)) * 100%);transform-origin:0;transform:scaleX(var(--fill,0));background:#f2c230}.swing-zone__band{left:calc(var(--band-lo,0) * 100%);width:calc(var(--band-size,0) * 100%);background:#ffffff40}.swing-zone__sweet{left:calc(var(--sweet-lo,0) * 100%);width:calc(var(--sweet-size,0) * 100%);background:#50dc78d9}.swing-zone__needle,.swing-zone__full,.swing-zone__power{width:100%;left:0}.swing-zone__needle{transform:translateX(calc(var(--needle,0) * 100%));border-left:3px solid #fff}.swing-zone__full{transform:translateX(calc(var(--full,1) * 100%));border-left:2px dashed #ff6e5a}.swing-zone__power{transform:translateX(calc(var(--power,0) * 100%));border-left:3px solid #f2c230}.swing-zone__label{pointer-events:none;font-weight:600}@media (width<=50rem){.overlay:has(>.shot-bar){grid-template:"status status""views views""debug debug"minmax(0,1fr)"hud hud""shot swing"/minmax(0,1fr) auto}.overlay:has(>.shot-bar)>.round-status{grid-area:status;justify-self:end;max-width:100%;position:static}.shot-bar,.swing-zone,body:has(>.pwa-notice:not([hidden])) .shot-bar,body:has(>.pwa-notice:not([hidden])) .swing-zone{position:static}.shot-bar{flex-direction:column;grid-area:shot;align-self:end;align-items:flex-start;max-width:100%;min-height:0}.shot-bar__texts{flex:none;order:0;max-width:100%}.shot-bar__texts .shot-bar__line{white-space:normal;padding:4px 8px;font-size:13px;line-height:normal}.shot-bar__club{display:inline-block}.swing-zone{width:var(--swing-zone-width);height:var(--swing-zone-height);border-radius:12px;flex-direction:column;grid-area:swing;place-self:end;gap:4px;padding:8px;font-size:14px}.swing-zone__track{align-self:center;width:28px;margin:0}.swing-zone__fill,.swing-zone__band,.swing-zone__sweet,.swing-zone__needle,.swing-zone__full,.swing-zone__power{width:auto;top:auto;left:0;right:0}.swing-zone__fill{bottom:calc(var(--zero,0) * 100%);height:calc((1 - var(--zero,0)) * 100%);transform-origin:bottom;transform:scaleY(var(--fill,0))}.swing-zone__band{bottom:calc(var(--band-lo,0) * 100%);height:calc(var(--band-size,0) * 100%)}.swing-zone__sweet{bottom:calc(var(--sweet-lo,0) * 100%);height:calc(var(--sweet-size,0) * 100%)}.swing-zone__needle,.swing-zone__full,.swing-zone__power{border-left:none;height:100%;bottom:0}.swing-zone__needle{transform:translateY(calc(var(--needle,0) * -100%));border-bottom:3px solid #fff}.swing-zone__full{transform:translateY(calc(var(--full,1) * -100%));border-bottom:2px dashed #ff6e5a}.swing-zone__power{transform:translateY(calc(var(--power,0) * -100%));border-bottom:3px solid #f2c230}}
