.camera-preview-wrap[data-v-b490b94f]{background:#0d1117;border:1px solid #ffffff29;border-radius:.6rem;min-height:220px;position:relative;overflow:hidden}.camera-preview[data-v-b490b94f]{object-fit:cover;width:100%;min-height:220px;max-height:65vh;display:block}.camera-overlay-text[data-v-b490b94f]{text-align:center;color:#f8f9fa;background:#00000080;place-items:center;padding:1rem;display:grid;position:absolute;inset:0}.marker[data-v-a1107f80]{stroke-width:2px;vector-effect:non-scaling-stroke;cursor:grab}.marker[data-v-a1107f80]:active{cursor:grabbing}.marker-calibration[data-v-a1107f80]{fill:#3ad8ff73;stroke:#3ad8ff}.calibration-cross[data-v-a1107f80]{stroke:#3ad8ff;stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.aim-cross[data-v-0ddd7d7e]{stroke:#ffd84d;stroke-width:2px;stroke-linecap:round;vector-effect:non-scaling-stroke}.aim-cross-outline[data-v-0ddd7d7e]{stroke:#000;stroke-width:4px;stroke-linecap:round}.shot-ring[data-v-6d961d1b]{fill:#ff501e40;stroke:#ff501e;stroke-width:2.5px;vector-effect:non-scaling-stroke}.shot-cross[data-v-6d961d1b]{stroke:#ff501e;stroke-width:2.5px;stroke-linecap:round;vector-effect:non-scaling-stroke}.shot-label[data-v-6d961d1b]{fill:#ff501e;dominant-baseline:auto;text-anchor:start;vector-effect:non-scaling-stroke;paint-order:stroke fill;stroke:#12161d;stroke-width:3px;stroke-linejoin:round;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:sans-serif;font-weight:700}.drag-loupe[data-v-8f9b259d]{z-index:13;pointer-events:none;background:color-mix(in srgb, var(--bb-overlay-bg) 88%, black 12%);border:1px solid color-mix(in srgb, var(--bb-overlay-border) 70%, var(--bb-overlay-strong) 30%);border-radius:.75rem;position:absolute;overflow:hidden;box-shadow:0 .4rem 1.2rem #00000073,inset 0 0 0 1px #ffffff0f}.drag-loupe-label[data-v-8f9b259d]{letter-spacing:.04em;text-transform:uppercase;width:100%;color:var(--bb-overlay-text);background:color-mix(in srgb, var(--bb-overlay-strong) 24%, transparent);border-bottom:1px solid color-mix(in srgb, var(--bb-overlay-border) 76%, transparent);justify-content:center;align-items:center;padding:.2rem .45rem;font-size:.68rem;display:flex}.drag-loupe-view[data-v-8f9b259d]{width:100%;height:calc(100% - 1.55rem);position:relative;overflow:hidden}.drag-loupe-image-stage[data-v-8f9b259d]{transform-origin:50%;position:absolute}.drag-loupe-marker[data-v-8f9b259d]{pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.drag-loupe-image[data-v-8f9b259d]{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.fullscreen-overlay-btn[data-v-df058c04]{z-index:11;background:color-mix(in srgb, var(--bb-overlay-bg) 80%, transparent);border-color:var(--bb-overlay-border);width:2.25rem;height:2.25rem;color:var(--bb-overlay-strong);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:0;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;top:.75rem;right:.75rem;box-shadow:0 1px 4px #0000004d}.fullscreen-overlay-btn[data-v-df058c04]:hover,.fullscreen-overlay-btn[data-v-df058c04]:focus-visible{background:color-mix(in srgb, var(--bb-overlay-bg) 95%, transparent);border-color:var(--bb-overlay-strong);color:var(--bb-overlay-strong)}.analysis-workspace[data-v-df058c04]{flex-direction:column;min-width:0;display:flex}.analysis-workspace--fullscreen[data-v-df058c04]{z-index:1400;width:100vw;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--bb-surface-flat);position:fixed;inset:0}.analysis-workspace--fullscreen .analysis-stage[data-v-df058c04]{aspect-ratio:auto;border-inline:0;flex:auto;min-height:0}.analysis-workspace--fullscreen .analysis-steps[data-v-df058c04],.analysis-workspace--fullscreen .analysis-step-panel[data-v-df058c04]{flex:none;padding-inline:16px}.analysis-workspace--fullscreen .analysis-step-panel[data-v-df058c04]{max-height:40dvh;padding-bottom:12px;overflow-y:auto}.analysis-embedded[data-v-df058c04]{min-width:0}.analysis-embedded .analysis-stage[data-v-df058c04]{aspect-ratio:auto;height:min(52vh,420px)}.analysis-stage[data-v-df058c04]{border:1px solid var(--bb-hairline-strong);aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:#12161d;border-radius:0;min-height:320px;position:relative;overflow:hidden}.analysis-stage[data-v-df058c04] *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.group-analysis-stage-expanded{overflow:hidden}.analysis-stage--empty[data-v-df058c04]{place-items:center;display:grid}.analysis-steps[data-v-df058c04]{border-bottom:1px solid var(--bb-hairline);scrollbar-width:none;align-items:stretch;display:flex;overflow-x:auto}.analysis-steps__tab[data-v-df058c04]{border:0;min-height:44px;font-family:var(--bb-font-mono);font-weight:500;font-size:var(--bb-micro-label-size);letter-spacing:var(--bb-micro-label-tracking);text-transform:uppercase;white-space:nowrap;color:var(--bb-panel-muted);background:0 0;border-bottom:2px solid #0000;flex:1 1 0;justify-content:center;align-items:center;gap:8px;margin-bottom:-1px;padding:10px 8px;display:inline-flex}.analysis-steps__number[data-v-df058c04]{font-variant-numeric:tabular-nums;opacity:.7}.analysis-steps__tab[data-v-df058c04]:hover,.analysis-steps__tab[data-v-df058c04]:focus-visible{color:var(--bb-panel-text-strong)}.analysis-steps__tab[data-v-df058c04]:focus-visible{outline:1px solid var(--bb-field-underline-active);outline-offset:-3px}.analysis-steps__tab--active[data-v-df058c04]{border-bottom-color:rgb(var(--bb-gold-rgb));color:var(--bb-panel-text-strong)}.analysis-steps__tab--active .analysis-steps__number[data-v-df058c04]{color:rgb(var(--bb-gold-rgb));opacity:1}.analysis-step-panel[data-v-df058c04]{gap:14px;padding-top:14px;display:grid}.analysis-step-panel__hint[data-v-df058c04]{color:var(--bb-panel-text);margin:0;font-size:.875rem;line-height:1.45}.stage-overlay-next[data-v-df058c04]{z-index:12;background:var(--bb-overlay-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-color:var(--bb-overlay-border);color:var(--bb-overlay-strong);position:absolute;bottom:.75rem;right:.75rem}@media (width<=480px){.stage-overlay-next[data-v-df058c04]{bottom:.5rem;right:.5rem}}.stage-overlay[data-v-df058c04]{z-index:12;border:1px solid var(--bb-overlay-border);color:var(--bb-overlay-text);pointer-events:all;gap:10px;padding:12px;display:grid;position:absolute;bottom:.75rem;left:.75rem;right:.75rem}.stage-overlay[data-v-df058c04]:before{content:"";background:var(--bb-overlay-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;position:absolute;inset:0}.stage-overlay[data-v-df058c04]>*{position:relative}.stage-overlay--top[data-v-df058c04]{top:.75rem;bottom:auto;right:3.5rem}.scale-overlay__row[data-v-df058c04]{align-items:flex-end;gap:12px;display:flex}.scale-overlay__field[data-v-df058c04]{flex:auto;min-width:0}.scale-overlay__field .form-label[data-v-df058c04]{margin-bottom:2px}.scale-overlay__next[data-v-df058c04]{flex:none}.straighten-overlay__warning[data-v-df058c04]{color:var(--bb-overlay-strong);gap:8px;margin:0;font-size:.8125rem;line-height:1.4;display:flex}.straighten-overlay__warning .bi[data-v-df058c04]{color:rgb(var(--bb-gold-rgb))}.straighten-overlay__preview[data-v-df058c04]{align-items:center;gap:6px;display:inline-flex}.straighten-overlay__reset.straighten-overlay__preview[aria-pressed=true][data-v-df058c04]{color:rgb(var(--bb-gold-rgb))}.straighten-overlay__footer[data-v-df058c04]{align-items:center;gap:12px;display:flex}.straighten-overlay__hint[data-v-df058c04],.scale-overlay__hint[data-v-df058c04]{min-width:0;color:var(--bb-overlay-text);flex:auto;margin:0;font-size:.8125rem;line-height:1.4}.straighten-overlay__reset[data-v-df058c04]{color:var(--bb-overlay-muted);background:0 0;border:0;padding:8px 4px;font-size:.875rem}.straighten-overlay__reset[data-v-df058c04]:hover,.straighten-overlay__reset[data-v-df058c04]:focus-visible{color:var(--bb-overlay-strong)}@media (width<=480px){.stage-overlay[data-v-df058c04]{gap:8px;padding:8px;bottom:.5rem;left:.5rem;right:.5rem}.stage-overlay--top[data-v-df058c04]{top:.5rem;bottom:auto;right:3.5rem}.straighten-overlay__hint[data-v-df058c04]{display:none}.straighten-overlay__footer[data-v-df058c04]{justify-content:space-between}.analysis-steps__tab[data-v-df058c04]{gap:5px;padding-inline:4px}}.zoom-overlay[data-v-df058c04]{z-index:10;background:var(--bb-overlay-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--bb-overlay-border);pointer-events:all;border-radius:0;flex-direction:column;align-items:center;gap:.25rem;padding:.38rem .32rem;display:flex;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.analysis-workspace--fullscreen .zoom-overlay[data-v-df058c04]{left:.75rem}.zoom-overlay-icon[data-v-df058c04]{color:var(--bb-overlay-muted);font-size:.8rem}.zoom-overlay-range[data-v-df058c04]{width:1.25rem;height:140px;accent-color:var(--bb-overlay-accent);writing-mode:vertical-lr;touch-action:none;appearance:none;cursor:pointer;direction:rtl;background:0 0!important}.zoom-overlay-range[data-v-df058c04]::-webkit-slider-runnable-track{-webkit-appearance:none;background:linear-gradient(var(--bb-range-track-bg), var(--bb-range-track-bg));border:1px solid color-mix(in srgb, var(--bb-overlay-accent) 45%, transparent);border-radius:999px;width:.4rem;height:100%}.zoom-overlay-range[data-v-df058c04]::-webkit-slider-thumb{appearance:none;background:linear-gradient(var(--bb-overlay-accent), var(--bb-overlay-accent));border:2px solid var(--bb-control-accent-contrast);width:1rem;height:1rem;box-shadow:0 .15rem .45rem var(--bb-range-thumb-shadow);border-radius:50%;margin-top:0;margin-left:-.25rem}.zoom-overlay-range[data-v-df058c04]::-moz-range-track{background:linear-gradient(var(--bb-range-track-bg), var(--bb-range-track-bg));border:1px solid color-mix(in srgb, var(--bb-overlay-accent) 45%, transparent);border-radius:999px;width:.4rem;height:100%}.zoom-overlay-range[data-v-df058c04]::-moz-range-thumb{background:linear-gradient(var(--bb-overlay-accent), var(--bb-overlay-accent));border:2px solid var(--bb-control-accent-contrast);width:1rem;height:1rem;box-shadow:0 .15rem .45rem var(--bb-range-thumb-shadow);border-radius:50%}.zoom-overlay-range[data-v-df058c04]:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px var(--bb-overlay-accent), 0 0 0 .25rem rgba(var(--bb-overlay-focus-shadow-rgb), .25)}.zoom-overlay-btn[data-v-df058c04]{border-color:var(--bb-overlay-border);color:var(--bb-overlay-text);padding:.2rem .55rem;line-height:1.4}.zoom-overlay-btn--compact[data-v-df058c04]{width:1.65rem;height:1.65rem;font-size:.95rem;line-height:1}.zoom-overlay-btn[data-v-df058c04]:hover,.zoom-overlay-btn[data-v-df058c04]:focus-visible{border-color:var(--bb-overlay-accent);color:var(--bb-overlay-strong);box-shadow:0 0 0 .18rem rgba(var(--bb-overlay-focus-shadow-rgb), .22)}.zoom-overlay-label[data-v-df058c04]{color:var(--bb-overlay-muted);text-align:center;-webkit-user-select:none;user-select:none;min-width:auto;font-size:.72rem}.group-size-overlay[data-v-df058c04]{z-index:10;background:var(--bb-overlay-bg);border:1px solid var(--bb-overlay-border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);max-width:min(72%,26rem);color:var(--bb-overlay-text);pointer-events:none;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem .7rem;display:inline-flex;position:absolute;bottom:.75rem;left:50%;transform:translate(-50%)}.group-size-overlay-label[data-v-df058c04]{letter-spacing:.05em;text-transform:uppercase;color:var(--bb-overlay-muted);font-size:.72rem;font-weight:700}.group-size-overlay-value[data-v-df058c04]{white-space:nowrap;text-overflow:ellipsis;font-size:.84rem;font-weight:600;overflow:hidden}:root[data-bb-theme=high-contrast-dark] .zoom-overlay[data-v-df058c04],:root[data-bb-theme=high-contrast-light] .zoom-overlay[data-v-df058c04],:root[data-bb-theme=high-contrast-dark] .stage-overlay[data-v-df058c04],:root[data-bb-theme=high-contrast-light] .stage-overlay[data-v-df058c04],:root[data-bb-theme=high-contrast-dark] .group-size-overlay[data-v-df058c04],:root[data-bb-theme=high-contrast-light] .group-size-overlay[data-v-df058c04]{background:var(--bb-overlay-bg)!important;border-color:var(--bb-panel-border)!important}:root[data-bb-theme=high-contrast-dark] .zoom-overlay-icon[data-v-df058c04],:root[data-bb-theme=high-contrast-dark] .zoom-overlay-label[data-v-df058c04],:root[data-bb-theme=high-contrast-dark] .group-size-overlay-label[data-v-df058c04],:root[data-bb-theme=high-contrast-dark] .group-size-overlay-value[data-v-df058c04],:root[data-bb-theme=high-contrast-light] .zoom-overlay-icon[data-v-df058c04],:root[data-bb-theme=high-contrast-light] .zoom-overlay-label[data-v-df058c04],:root[data-bb-theme=high-contrast-light] .group-size-overlay-label[data-v-df058c04],:root[data-bb-theme=high-contrast-light] .group-size-overlay-value[data-v-df058c04]{color:var(--bb-panel-text)!important}:root[data-bb-theme=high-contrast-dark] .zoom-overlay-btn[data-v-df058c04],:root[data-bb-theme=high-contrast-light] .zoom-overlay-btn[data-v-df058c04]{border-color:var(--bb-control-accent)!important;color:var(--bb-control-accent)!important;background:0 0!important}:root[data-bb-theme=high-contrast-dark] .zoom-overlay-btn[data-v-df058c04]:hover,:root[data-bb-theme=high-contrast-dark] .zoom-overlay-btn[data-v-df058c04]:focus-visible,:root[data-bb-theme=high-contrast-light] .zoom-overlay-btn[data-v-df058c04]:hover,:root[data-bb-theme=high-contrast-light] .zoom-overlay-btn[data-v-df058c04]:focus-visible{background:rgba(var(--bb-gold-rgb), .2)!important;border-color:var(--bb-control-accent)!important;color:var(--bb-control-accent)!important}.perspective-quad[data-v-df058c04]{fill:rgba(var(--bb-gold-rgb), .1);stroke:rgb(var(--bb-gold-rgb));stroke-width:2px;stroke-dasharray:8 6;vector-effect:non-scaling-stroke;pointer-events:none}.perspective-corner[data-v-df058c04]{cursor:grab;outline:none}.perspective-corner[data-v-df058c04]:active{cursor:grabbing}.perspective-corner__hit[data-v-df058c04]{fill:#0000}.perspective-corner__ring[data-v-df058c04]{fill:#00000059;stroke:rgb(var(--bb-gold-rgb));stroke-width:2.5px;vector-effect:non-scaling-stroke;pointer-events:none}.perspective-corner__dot[data-v-df058c04]{fill:rgb(var(--bb-gold-rgb));pointer-events:none}.perspective-corner:hover .perspective-corner__ring[data-v-df058c04],.perspective-corner:focus-visible .perspective-corner__ring[data-v-df058c04]{stroke:#fff;stroke-width:3.5px}.analysis-stage-empty[data-v-df058c04]{color:#ffffffa6;font-size:1rem}.analysis-stage-interactive[data-v-df058c04]{transform-origin:50%;touch-action:none;-webkit-user-drag:none;transition:transform 60ms linear;position:absolute;inset:0}.analysis-image[data-v-df058c04]{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.analysis-overlay[data-v-df058c04]{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;position:absolute;inset:0}.correction-grid-window[data-v-df058c04]{z-index:8;pointer-events:none;opacity:0;background-image:repeating-linear-gradient(90deg,#ffffff47 0 1px,#0000 1px 40px),repeating-linear-gradient(#ffffff47 0 1px,#0000 1px 40px);background-position:0 0;background-size:40px 40px;width:100%;height:100%;position:absolute;inset:0}.correction-grid-window--visible[data-v-df058c04]{opacity:1;transition:none}.correction-grid-window--fading[data-v-df058c04]{opacity:0;transition:opacity .22s ease-out}.calibration-line[data-v-df058c04]{stroke:#3ad8ff;stroke-width:3px;vector-effect:non-scaling-stroke;stroke-dasharray:8 6}.marker--active[data-v-df058c04]{filter:drop-shadow(0 0 6px #ffffff73)}.shot-group[data-v-df058c04]{filter:drop-shadow(0 0 6px #ffffff73);cursor:grab}.shot-group[data-v-df058c04]:active{cursor:grabbing}.marker--inactive[data-v-df058c04]{opacity:.35;filter:none;pointer-events:none;cursor:default}@media (width<=768px){.analysis-stage[data-v-df058c04]{min-height:280px}.zoom-overlay[data-v-df058c04]{display:none}.zoom-overlay-btn[data-v-df058c04]{width:2.15rem;height:2.15rem}}
