:root{--stylebook-name:stylebook;--stylebook-version:.10;--stylebook-updated:2026-10-30;--color-primitive-white:#fff;--color-primitive-black:#000;--color-primitive-amber-100:#fdf3de;--color-primitive-amber-300:#dcb877;--color-primitive-amber-500:#995808;--color-primitive-amber-600:#7d4706;--color-primitive-amber-700:#5a3304;--color-primitive-blue-100:#dbe7fb;--color-primitive-blue-200:#b4ccf6;--color-primitive-blue-300:#7ea7ee;--color-primitive-blue-400:#4a80dc;--color-primitive-blue-50:#eef4fe;--color-primitive-blue-500:#144ea9;--color-primitive-blue-600:#0f3f88;--color-primitive-blue-700:#0a2f66;--color-primitive-blue-800:#062046;--color-primitive-cyan-100:#d6eff5;--color-primitive-cyan-300:#6bbcd4;--color-primitive-cyan-500:#0a6a86;--color-primitive-cyan-600:#08556c;--color-primitive-cyan-700:#063c4d;--color-primitive-green-100:#e3f1e8;--color-primitive-green-300:#79c198;--color-primitive-green-500:#0e7a44;--color-primitive-green-600:#0a5c33;--color-primitive-green-700:#074225;--color-primitive-orange-100:#fbe9d6;--color-primitive-orange-300:#e0ac74;--color-primitive-orange-500:#a85405;--color-primitive-orange-600:#8a4404;--color-primitive-orange-700:#663203;--color-primitive-pink-100:#fbe7f2;--color-primitive-pink-300:#e08bc0;--color-primitive-pink-500:#a62379;--color-primitive-pink-600:#851c61;--color-primitive-pink-700:#5f1446;--color-primitive-red-100:#fbe3e1;--color-primitive-red-300:#e79a94;--color-primitive-red-500:#a51c1c;--color-primitive-red-600:#851616;--color-primitive-red-700:#631111;--color-primitive-slate-100:#e5e8ef;--color-primitive-slate-200:#d2d7e0;--color-primitive-slate-25:#f8f9fb;--color-primitive-slate-300:#b2bac7;--color-primitive-slate-400:#8b94a4;--color-primitive-slate-50:#f1f3f7;--color-primitive-slate-500:#677182;--color-primitive-slate-600:#4a5364;--color-primitive-slate-700:#363e4c;--color-primitive-slate-800:#222934;--color-primitive-slate-900:#131821;--color-primitive-slate-950:#0b0f16;--color-primitive-violet-100:#e6ddf8;--color-primitive-violet-300:#a98fd6;--color-primitive-violet-500:#5e2ea0;--color-primitive-violet-600:#492380;--color-primitive-violet-700:#33185c;--color-action-on-primary:#fff;--color-action-on-primary-soft:#0a2f66;--color-action-primary:#144ea9;--color-action-primary-hover:#0f3f88;--color-action-primary-press:#0a2f66;--color-action-primary-soft:#dbe7fb;--color-action-primary-soft-hover:#b4ccf6;--color-action-primary-soft-press:#7ea7ee;--color-detect-draft:#4a80dc;--color-detect-draft-stroke:#7ea7ee;--color-detect-face:#0e7a44;--color-detect-face-manual:#a85405;--color-detect-face-manual-stroke:#e0ac74;--color-detect-face-stroke:#79c198;--color-detect-face-vl:#5e2ea0;--color-detect-face-vl-stroke:#a98fd6;--color-detect-handle:#f8f9fb;--color-detect-placement:#677182;--color-detect-placement-stroke:#b2bac7;--color-detect-price-tag:#a62379;--color-detect-price-tag-stroke:#e08bc0;--color-detect-stock:#0a6a86;--color-detect-stock-stroke:#6bbcd4;--color-ink-default:#131821;--color-ink-faint:#8b94a4;--color-ink-inverse:#fff;--color-ink-link:#0f3f88;--color-ink-link-visited:#492380;--color-ink-muted:#4a5364;--color-ink-on-disabled:#677182;--color-ink-subtle:#677182;--color-line-default:#d2d7e0;--color-line-emphatic:#677182;--color-line-focus:#144ea9;--color-line-focus-inverse:#b4ccf6;--color-line-inverse:#363e4c;--color-line-strong:#b2bac7;--color-role-competitor:#677182;--color-role-merch:#144ea9;--color-role-stock:#0a6a86;--color-role-supervisor:#5e2ea0;--color-stage-backdrop:#0b0f16;--color-stage-caption-bg:#131821;--color-stage-grid:#222934;--color-stage-ink:#fff;--color-stage-ink-muted:#b2bac7;--color-status-danger:#a51c1c;--color-status-danger-bg:#fbe3e1;--color-status-danger-hover:#851616;--color-status-danger-line:#e79a94;--color-status-danger-press:#631111;--color-status-info:#144ea9;--color-status-info-bg:#eef4fe;--color-status-info-line:#7ea7ee;--color-status-on-danger:#fff;--color-status-on-info:#fff;--color-status-on-success:#fff;--color-status-on-warning:#fff;--color-status-success:#0e7a44;--color-status-success-bg:#e3f1e8;--color-status-success-line:#79c198;--color-status-warning:#995808;--color-status-warning-bg:#fdf3de;--color-status-warning-line:#dcb877;--color-surface-canvas:#f1f3f7;--color-surface-disabled:#e5e8ef;--color-surface-inverse:#131821;--color-surface-overlay:#0b0f16;--color-surface-panel:#fff;--color-surface-subtle:#f8f9fb;--color-surface-sunken:#e5e8ef;--color-sync-failed:#a51c1c;--color-sync-offline:#995808;--color-sync-queued:#677182;--color-sync-uploaded:#0e7a44;--color-sync-uploading:#144ea9;--overlay-caption-bg:#131821d1;--overlay-draft-fill:#4a80dc38;--overlay-face-fill:#0e7a4429;--overlay-face-manual-fill:#a854052e;--overlay-face-vl-fill:#5e2ea02e;--overlay-halo-inner:#0b0f16c7;--overlay-halo-outer:#f8f9fbe6;--overlay-placement-fill:#4a536429;--overlay-scrim:#0b0f168c;--overlay-stock-fill:#0a6a862e;--overlay-tag-fill:#a623792e;--font-family-numeric:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-family-text:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--type-body-size:15px;--type-body-line:21px;--type-body-weight:400;--type-body-tracking:0px;--type-body-strong-size:15px;--type-body-strong-line:21px;--type-body-strong-weight:600;--type-body-strong-tracking:0px;--type-caption-size:12px;--type-caption-line:16px;--type-caption-weight:400;--type-caption-tracking:0px;--type-control-size:14px;--type-control-line:19px;--type-control-weight:500;--type-control-tracking:0px;--type-display-size:30px;--type-display-line:36px;--type-display-weight:700;--type-display-tracking:-.6px;--type-headline-size:24px;--type-headline-line:30px;--type-headline-weight:700;--type-headline-tracking:-.3px;--type-label-size:13px;--type-label-line:18px;--type-label-weight:600;--type-label-tracking:0px;--type-micro-size:11px;--type-micro-line:14px;--type-micro-weight:600;--type-micro-tracking:.4px;--type-numeric-size:15px;--type-numeric-line:20px;--type-numeric-weight:500;--type-numeric-tracking:0px;--type-subtitle-size:17px;--type-subtitle-line:23px;--type-subtitle-weight:600;--type-subtitle-tracking:0px;--type-title-size:20px;--type-title-line:26px;--type-title-weight:600;--type-title-tracking:0px;--space-0:0px;--space-1:2px;--space-2:4px;--space-3:8px;--space-4:12px;--space-5:16px;--space-6:20px;--space-7:24px;--space-8:32px;--space-9:48px;--radius-lg:14px;--radius-md:10px;--radius-none:0px;--radius-pill:999px;--radius-sm:6px;--radius-xl:20px;--radius-xs:4px;--border-bbox:2px;--border-bbox-selected:3px;--border-default:1px;--border-hairline:1px;--border-strong:2px;--size-bbox-handle:12px;--size-click-min:24px;--size-content-max-phone:480px;--size-control-lg:44px;--size-control-md:36px;--size-control-sm:30px;--size-icon-lg:24px;--size-icon-md:18px;--size-icon-sm:14px;--size-indicator-dot:8px;--size-nav-bottom:64px;--size-nav-top:56px;--size-row-comfortable:56px;--size-row-compact:32px;--size-row-default:44px;--size-sheet-handle:32px;--size-shutter:72px;--size-thumb:96px;--size-thumb-large:144px;--size-touch-min:48px;--size-zone-frames-min:420px;--size-zone-summary:380px;--size-zone-visits:320px;--focus-ring-offset:1px;--focus-ring-width:2px;--device-phone-height:844px;--device-phone-width:390px;--device-tablet-width:768px;--stage-caption-max-width:220px;--stage-caption-offset:2px;--stage-crop-min-ratio:.02;--stage-grid-opacity:.25;--stage-grid-size-px:32px;--stage-max-height-vh:78vh;--stage-scrim-min:.55;--stage-zoom-max:4;--stage-zoom-min:.5;--stage-zoom-step:.25;--shadow-1:0 1px 2px #0b0f1614;--elevation-1:1;--shadow-2:0 2px 8px #0b0f161f;--elevation-2:3;--shadow-3:0 8px 24px #0b0f162e;--elevation-3:6;--shadow-4:0 16px 40px #0b0f163d;--elevation-4:12;--shadow-none:none;--elevation-none:0;--duration-base:.2s;--duration-fast:.12s;--duration-input-debounce:.3s;--duration-instant:80ms;--duration-pulse:1.2s;--duration-sheet:.4s;--duration-slow:.32s;--ease-accelerate:cubic-bezier(.3, 0, 1, 1);--ease-decelerate:cubic-bezier(0, 0, 0, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--ease-standard:cubic-bezier(.2, 0, 0, 1);--layer-base:0;--layer-bbox:25;--layer-bbox-selected:30;--layer-drawer:20;--layer-overlay:40;--layer-sticky:10;--layer-toast:50;--breakpoint-compact:0px;--breakpoint-medium:600px;--breakpoint-ultrawide:1440px;--breakpoint-wide:1024px}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{--gap-page-y:var(--space-6);--gap-page-x:var(--space-5);--gap-block:var(--space-5);--gap-tight:var(--space-3);--gap-inline:var(--space-2);--row-height:var(--size-row-default);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--color-surface-canvas);color:var(--color-ink-default);font-family:var(--font-family-text);font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:var(--type-body-weight);letter-spacing:var(--type-body-tracking);min-height:100vh}h1,h2,h3,h4,h5,h6{font:inherit;color:inherit}h1{font-size:var(--type-headline-size);line-height:var(--type-headline-line);font-weight:var(--type-headline-weight);letter-spacing:var(--type-headline-tracking)}h2{font-size:var(--type-subtitle-size);line-height:var(--type-subtitle-line);font-weight:var(--type-subtitle-weight);letter-spacing:var(--type-subtitle-tracking)}h3{font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight);letter-spacing:var(--type-title-tracking)}p{font-size:var(--type-body-size);line-height:var(--type-body-line)}a{color:var(--color-ink-link);text-underline-offset:var(--space-1);text-decoration:underline}a:visited{color:var(--color-role-supervisor)}a:hover{color:var(--color-action-primary-press)}button,input,select,textarea{font:inherit;color:inherit;background-color:var(--color-surface-panel)}ul,ol{list-style:none}table{border-collapse:collapse;inline-size:100%}:focus-visible{outline:var(--focus-ring-width) solid var(--color-line-focus);outline-offset:var(--focus-ring-offset)}:focus:not(:focus-visible){outline:none}[hidden]{display:none}.t-display,.t-headline,.t-title,.t-subtitle,.t-body,.t-body-strong,.t-control,.t-label,.t-caption,.t-micro,.t-numeric{margin:0}.t-display{font-size:var(--type-display-size);line-height:var(--type-display-line);font-weight:var(--type-display-weight);letter-spacing:var(--type-display-tracking)}.t-headline{font-size:var(--type-headline-size);line-height:var(--type-headline-line);font-weight:var(--type-headline-weight);letter-spacing:var(--type-headline-tracking)}.t-title{font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight);letter-spacing:var(--type-title-tracking)}.t-subtitle{font-size:var(--type-subtitle-size);line-height:var(--type-subtitle-line);font-weight:var(--type-subtitle-weight);letter-spacing:var(--type-subtitle-tracking)}.t-body{font-size:var(--type-body-size);line-height:var(--type-body-line);font-weight:var(--type-body-weight);letter-spacing:var(--type-body-tracking)}.t-body-strong{font-size:var(--type-body-strong-size);line-height:var(--type-body-strong-line);font-weight:var(--type-body-strong-weight);letter-spacing:var(--type-body-strong-tracking)}.t-control{font-size:var(--type-control-size);line-height:var(--type-control-line);font-weight:var(--type-control-weight);letter-spacing:var(--type-control-tracking)}.t-label{font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking)}.t-caption{font-size:var(--type-caption-size);line-height:var(--type-caption-line);font-weight:var(--type-caption-weight);letter-spacing:var(--type-caption-tracking)}.t-micro{font-size:var(--type-micro-size);line-height:var(--type-micro-line);font-weight:var(--type-micro-weight);letter-spacing:var(--type-micro-tracking)}.t-numeric{font-family:var(--font-family-numeric);font-size:var(--type-numeric-size);line-height:var(--type-numeric-line);font-weight:var(--type-numeric-weight);letter-spacing:var(--type-numeric-tracking);font-variant-numeric:tabular-nums}.ink-muted{color:var(--color-ink-muted)}.ink-subtle{color:var(--color-ink-subtle)}.ink-danger{color:var(--color-status-danger)}.ink-success{color:var(--color-status-success)}.visually-hidden{width:var(--border-hairline);height:var(--border-hairline);margin:calc(var(--space-1) * -1);clip-path:inset(50%);white-space:nowrap;padding:0;position:absolute;overflow:hidden}.stack{gap:var(--gap-block);flex-direction:column;display:flex}.stack-tight{gap:var(--gap-tight)}.cluster{align-items:center;gap:var(--gap-inline);flex-wrap:wrap;display:flex}.density-default{--gap-block:var(--space-5);--gap-tight:var(--space-3);--gap-inline:var(--space-2);--row-height:var(--size-row-default)}.density-compact{--gap-block:var(--space-3);--gap-tight:var(--space-2);--gap-inline:var(--space-2);--row-height:var(--size-row-compact)}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell.is-dense{--gap-page-y:var(--space-4);--gap-page-x:var(--space-4);--gap-block:var(--space-3);--gap-tight:var(--space-2);--gap-inline:var(--space-2);--row-height:var(--size-row-compact)}.app-shell.motion-off{--duration-instant:0s;--duration-fast:0s;--duration-base:0s;--duration-slow:0s;--duration-sheet:0s;--duration-pulse:0s}@media (prefers-reduced-motion:reduce){html{--duration-instant:0s;--duration-fast:0s;--duration-base:0s;--duration-slow:0s;--duration-sheet:0s;--duration-pulse:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}.motion-off{animation:none}}@media (forced-colors:active){.btn,.chip,.badge,.bbox{outline:var(--border-hairline) solid CanvasText}}.btn{background-color:var(--color-action-primary);block-size:var(--size-control-lg);border:var(--border-hairline) solid var(--color-action-primary);border-radius:var(--radius-sm);color:var(--color-action-on-primary);cursor:pointer;font-family:var(--font-family-text);font-size:var(--type-control-size);align-items:center;gap:var(--space-2);inline-size:auto;letter-spacing:var(--type-control-tracking);line-height:var(--type-control-line);min-inline-size:var(--size-click-min);padding:var(--space-2) var(--space-5);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);justify-content:center;text-decoration:none;display:inline-flex;position:relative}.btn:hover{background-color:var(--color-action-primary-hover);border-color:var(--color-action-primary-hover)}.btn:active,.btn.is-pressed{background-color:var(--color-action-primary-press);border-color:var(--color-action-primary-press)}.btn:disabled,.btn[aria-disabled=true]{background-color:var(--color-surface-disabled);border-color:var(--color-line-default);color:var(--color-ink-on-disabled);cursor:not-allowed}.btn-primary{background-color:var(--color-action-primary);border-color:var(--color-action-primary);color:var(--color-action-on-primary)}.btn-secondary{background-color:var(--color-action-primary-soft);border-color:var(--color-action-primary-soft);color:var(--color-action-on-primary-soft)}.btn-secondary:hover{background-color:var(--color-action-primary-soft-hover);border-color:var(--color-action-primary)}.btn-secondary:active,.btn-secondary.is-pressed{background-color:var(--color-action-primary-soft-press);border-color:var(--color-action-primary);color:var(--color-action-primary-press)}.btn-secondary:disabled{background-color:var(--color-surface-disabled);border-color:var(--color-line-default);color:var(--color-ink-on-disabled)}.btn-ghost{color:var(--color-action-primary);background-color:#0000;border-color:#0000}.btn-ghost:hover{background-color:var(--color-action-primary-soft);border-color:var(--color-action-primary-soft);color:var(--color-action-on-primary-soft)}.btn-ghost:active,.btn-ghost.is-pressed{background-color:var(--color-surface-sunken);border-color:var(--color-surface-sunken);color:var(--color-action-primary-press)}.btn-ghost:disabled{color:var(--color-ink-on-disabled);background-color:#0000;border-color:#0000}.btn-danger{background-color:var(--color-status-danger);border-color:var(--color-status-danger);color:var(--color-status-on-danger)}.btn-danger:hover{background-color:var(--color-status-danger-hover);border-color:var(--color-status-danger-hover);box-shadow:var(--shadow-2)}.btn-danger:active,.btn-danger.is-pressed{background-color:var(--color-status-danger-press);border-color:var(--color-status-danger-press)}.btn-danger:hover:after,.btn-danger.is-pressed:after{background-color:var(--overlay-scrim);border-radius:inherit;content:"";position:absolute;inset:0}.btn-danger:disabled{background-color:var(--color-surface-disabled);border-color:var(--color-line-default);color:var(--color-ink-on-disabled);box-shadow:none}.btn-sm{block-size:var(--size-control-sm);font-size:var(--type-label-size);padding:var(--space-1) var(--space-4)}.btn-block{inline-size:100%}.btn-label{align-items:center;gap:var(--space-2);display:inline-flex}.btn.is-loading .btn-label{visibility:hidden}.btn.is-loading{cursor:progress}.btn-spinner{animation:linear infinite spin;animation-duration:var(--duration-pulse);block-size:var(--size-icon-md);border:var(--border-strong) solid currentColor;border-radius:var(--radius-pill);inline-size:var(--size-icon-md);border-block-start-color:#0000;margin:auto;position:absolute;inset-block-start:0;inset-inline-start:0}.icon-btn{appearance:none;block-size:var(--size-click-min);border:var(--border-hairline) solid transparent;border-radius:var(--radius-sm);color:var(--color-ink-muted);cursor:pointer;inline-size:var(--size-click-min);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background-color:#0000;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{background-color:var(--color-surface-sunken);color:var(--color-ink-default)}.icon-btn.is-active{background-color:var(--color-action-primary-soft);border-color:var(--color-action-primary);color:var(--color-action-on-primary-soft)}.icon-btn:disabled{color:var(--color-ink-on-disabled);cursor:not-allowed}.icon-btn-ghost{border-color:#0000}.icon-btn-lg{block-size:var(--size-control-md);inline-size:var(--size-control-md)}.link{color:var(--color-ink-link);font-size:var(--type-body-size);line-height:var(--type-body-line);text-underline-offset:var(--space-1);text-decoration:underline}.link:visited{color:var(--color-ink-link-visited)}.link:hover{color:var(--color-action-primary-press)}.field{gap:var(--space-2);flex-direction:column;inline-size:100%;display:flex}.field-label{color:var(--color-ink-muted);font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking)}.field-control{background-color:var(--color-surface-panel);block-size:var(--size-control-md);border:var(--border-hairline) solid var(--color-line-strong);border-radius:var(--radius-sm);color:var(--color-ink-default);font-size:var(--type-body-size);line-height:var(--type-body-line);min-inline-size:0;padding:var(--space-2) var(--space-4);transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}.field-control:hover{border-color:var(--color-action-primary)}.field-control:focus-visible{border-color:var(--color-action-primary);box-shadow:var(--shadow-1)}.field-number{font-family:var(--font-family-numeric);font-variant-numeric:tabular-nums}.field-select{appearance:none;background-image:linear-gradient(var(--color-surface-panel), var(--color-surface-panel)), linear-gradient(var(--color-line-emphatic), var(--color-line-emphatic));background-position:right var(--space-4) center;background-repeat:no-repeat;background-size:var(--space-1) var(--space-1);padding-inline-end:var(--space-7)}.field-textarea{block-size:auto;min-block-size:var(--size-control-lg);resize:vertical}.field.is-disabled .field-label,.field.is-disabled .field-hint{color:var(--color-ink-on-disabled)}.field-control:disabled{background-color:var(--color-surface-disabled);border-color:var(--color-line-default);color:var(--color-ink-on-disabled);cursor:not-allowed}.field-control.is-readonly{background-color:var(--color-surface-subtle);border-color:var(--color-line-default);color:var(--color-ink-muted);border-style:dashed}.field.is-invalid .field-control{border-color:var(--color-status-danger);border-width:var(--border-strong)}.field-hint{color:var(--color-ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.field-error{color:var(--color-status-danger);font-size:var(--type-caption-size);align-items:center;gap:var(--space-2);line-height:var(--type-caption-line);display:flex}.field-error-mark{block-size:var(--size-icon-sm);border:var(--border-strong) solid var(--color-status-danger);border-radius:var(--radius-pill);color:var(--color-status-on-danger);font-size:var(--type-micro-size);inline-size:var(--size-icon-sm);line-height:var(--type-micro-line);justify-content:center;align-items:center;display:inline-flex}.field-required{color:var(--color-status-danger)}.switch{border:var(--border-hairline) solid transparent;border-radius:var(--radius-pill);cursor:pointer;align-items:center;gap:var(--space-3);padding:var(--space-1);background-color:#0000;display:inline-flex}.switch-label{color:var(--color-ink-default);font-size:var(--type-body-size);line-height:var(--type-body-line)}.switch-track{background-color:var(--color-line-strong);block-size:var(--space-7);border-radius:var(--radius-pill);inline-size:var(--size-control-lg);transition:background-color var(--duration-fast) var(--ease-standard);position:relative}.switch-thumb{background-color:var(--color-surface-panel);block-size:var(--space-6);border-radius:var(--radius-pill);inline-size:var(--space-6);transition:transform var(--duration-fast) var(--ease-standard);position:absolute;inset-block-start:var(--space-1);inset-inline-start:var(--space-1)}.switch[aria-checked=true] .switch-track{background-color:var(--color-action-primary)}.switch[aria-checked=true] .switch-thumb{transform:translateX(var(--space-5))}.switch:disabled{cursor:not-allowed}.switch:disabled .switch-label{color:var(--color-ink-on-disabled)}.switch:disabled .switch-track{background-color:var(--color-surface-disabled)}.switch-block{inline-size:100%;min-block-size:var(--size-touch-min);justify-content:space-between}.segment{background-color:var(--color-surface-sunken);border:var(--border-hairline) solid var(--color-line-default);border-radius:var(--radius-pill);gap:var(--space-1);padding:var(--space-1);display:inline-flex}.segment-item{border:var(--border-hairline) solid transparent;border-radius:var(--radius-pill);color:var(--color-ink-muted);cursor:pointer;font-size:var(--type-control-size);letter-spacing:var(--type-control-tracking);line-height:var(--type-control-line);min-block-size:var(--size-control-sm);padding:var(--space-1) var(--space-4);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background-color:#0000}.segment-item:hover{color:var(--color-ink-default)}.segment-item[aria-checked=true]{background-color:var(--color-action-primary-soft);border-color:var(--color-action-primary);color:var(--color-action-on-primary-soft)}.segment-sm .segment-item{block-size:var(--size-control-sm);font-size:var(--type-caption-size);line-height:var(--type-caption-line);padding:var(--space-1) var(--space-3)}.chip{background-color:var(--color-surface-panel);border:var(--border-hairline) solid var(--color-line-strong);border-radius:var(--radius-pill);color:var(--color-ink-default);font-size:var(--type-control-size);align-items:center;gap:var(--space-2);letter-spacing:var(--type-control-tracking);line-height:var(--type-control-line);min-block-size:var(--size-control-sm);padding:var(--space-1) var(--space-4);display:inline-flex}.chip-button{cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard)}.chip-button:hover{border-color:var(--color-action-primary)}.chip-neutral{background-color:var(--color-surface-subtle)}.chip-status{background-color:var(--color-surface-subtle);border-color:var(--color-line-strong)}.chip-status.tone-success{background-color:var(--color-status-success-bg);border-color:var(--color-status-success-line);color:var(--color-status-success)}.chip-status.tone-warning{background-color:var(--color-status-warning-bg);border-color:var(--color-status-warning-line);color:var(--color-status-warning)}.chip-status.tone-danger{background-color:var(--color-status-danger-bg);border-color:var(--color-status-danger-line);color:var(--color-status-danger)}.chip-status.tone-info{background-color:var(--color-status-info-bg);border-color:var(--color-status-info-line);color:var(--color-status-info)}.chip-source{background-color:var(--color-surface-panel);border-color:var(--color-detect-face);color:var(--color-detect-face)}.chip-source[data-source=vl]{border-color:var(--color-detect-face-vl);color:var(--color-detect-face-vl)}.chip-source[data-source=manual]{border-color:var(--color-detect-face-manual);color:var(--color-detect-face-manual)}.chip-source[data-source=stock]{border-color:var(--color-detect-stock);color:var(--color-detect-stock)}.chip-source[data-source=none]{border-color:var(--color-detect-placement);color:var(--color-detect-placement);border-style:dashed}.chip.is-selected{background-color:var(--color-action-primary-soft);border-color:var(--color-action-primary);border-width:var(--border-strong);color:var(--color-action-on-primary-soft)}.chip:disabled,.chip.is-disabled{background-color:var(--color-surface-disabled);border-color:var(--color-line-default);color:var(--color-ink-on-disabled);cursor:not-allowed}.chip-count{background-color:var(--color-surface-sunken);border-radius:var(--radius-pill);color:var(--color-ink-muted);font-size:var(--type-micro-size);letter-spacing:var(--type-micro-tracking);line-height:var(--type-micro-line);padding:0 var(--space-2)}.chip.is-selected .chip-count{background-color:var(--color-surface-panel);color:var(--color-action-primary-press)}.chip-remove{block-size:var(--size-click-min);border:var(--border-hairline) solid transparent;border-radius:var(--radius-pill);color:inherit;cursor:pointer;inline-size:var(--size-click-min);background-color:#0000;justify-content:center;align-items:center;margin-inline-end:calc(var(--space-4) * -1);padding:0;display:inline-flex;inset-inline-end:calc(var(--space-1) * -1)}.badge{border:var(--border-hairline) solid var(--color-line-strong);border-radius:var(--radius-xs);color:var(--color-ink-muted);font-size:var(--type-micro-size);align-items:center;gap:var(--space-2);letter-spacing:var(--type-micro-tracking);line-height:var(--type-micro-line);padding:0 var(--space-2);display:inline-flex}.badge-dot{block-size:var(--size-indicator-dot);border-radius:var(--radius-pill);inline-size:var(--size-indicator-dot);background-color:currentColor}.badge-detector{border-color:var(--color-detect-face);color:var(--color-detect-face)}.badge-vl{border-color:var(--color-detect-face-vl);color:var(--color-detect-face-vl)}.badge-manual{border-color:var(--color-detect-face-manual);color:var(--color-detect-face-manual)}.badge-stock{border-color:var(--color-detect-stock);color:var(--color-detect-stock)}.badge-none{border-color:var(--color-detect-placement);color:var(--color-detect-placement);border-style:dashed}.badge-none .badge-dot{border:var(--border-strong) solid currentColor;background-color:#0000}.card{background-color:var(--color-surface-panel);border:var(--border-hairline) solid var(--color-line-default);border-radius:var(--radius-md);box-shadow:var(--shadow-1);gap:var(--gap-tight);padding:var(--gap-block);flex-direction:column;display:flex}.card-title{color:var(--color-ink-default);font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight);letter-spacing:var(--type-title-tracking)}.card-head{align-items:flex-start;gap:var(--space-4);justify-content:space-between;display:flex}.card-body{gap:var(--gap-tight);flex-direction:column;display:flex}.card-foot{align-items:center;gap:var(--space-3);display:flex}.card-foot>.demo-column{flex-grow:1;min-inline-size:0}.card-tone-danger{border-color:var(--color-status-danger-line)}.card-tone-warning{border-color:var(--color-status-warning-line)}.section{gap:var(--space-4);padding-block:var(--space-4);flex-direction:column;display:flex}.section-head{gap:var(--space-2);flex-direction:column;display:flex}.section-title{color:var(--color-ink-default);font-size:var(--type-subtitle-size);letter-spacing:var(--type-subtitle-tracking);line-height:var(--type-subtitle-line);font-weight:var(--type-subtitle-weight)}.section-note{color:var(--color-ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.row{background-color:var(--color-surface-panel);block-size:var(--row-height);border:var(--border-hairline) solid transparent;border-radius:var(--radius-sm);color:var(--color-ink-default);font-size:var(--type-body-size);align-items:center;gap:var(--space-3);inline-size:100%;min-block-size:var(--row-height);padding:var(--space-2) var(--space-4);text-align:start;transition:background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);display:flex}.row-compact{block-size:var(--size-row-compact);min-block-size:var(--size-row-compact);font-size:var(--type-caption-size);line-height:var(--type-caption-line);padding:var(--space-1) var(--space-3)}.row-comfortable{block-size:var(--size-row-comfortable);min-block-size:var(--size-row-comfortable)}.row-selectable{cursor:pointer;border-color:var(--color-line-default)}.row-selectable:hover{box-shadow:var(--shadow-2)}.row-selectable.is-selected{border-color:var(--color-action-primary);border-width:var(--border-strong)}.row-rail{border-radius:var(--radius-pill);block-size:100%;inline-size:var(--space-1);background-color:#0000;position:absolute;inset-inline-start:0}.row-shell{gap:var(--space-2);flex-direction:column;display:flex;position:relative}.row.is-selected .row-rail{background-color:var(--color-action-primary)}.row-title{font-size:var(--type-body-size);line-height:var(--type-body-line)}.row-meta{color:var(--color-ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.table-wrap{background-color:var(--color-surface-panel);border:var(--border-hairline) solid var(--color-line-default);border-radius:var(--radius-md);max-block-size:calc(var(--space-9) * 10);overflow:auto}.table{border-collapse:collapse;text-align:start;inline-size:100%}.table caption{color:var(--color-ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line);padding:var(--space-3) var(--space-4);text-align:start}.table thead th{background-color:var(--color-surface-subtle);border-block-end:var(--border-hairline) solid var(--color-line-default);color:var(--color-ink-muted);font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);line-height:var(--type-label-line);padding:var(--space-2) var(--space-4);z-index:var(--layer-sticky);position:sticky;inset-block-start:0}.table tbody td{border-block-end:var(--border-hairline) solid var(--color-line-default);padding:var(--space-2) var(--space-4);vertical-align:middle}.table tbody tr:nth-child(2n) td{background-color:var(--color-surface-subtle)}.table tbody tr:hover td{background-color:var(--color-action-primary-soft);box-shadow:var(--shadow-2)}.table tbody tr.is-selected td{border-inline-start:var(--border-strong) solid var(--color-action-primary)}.table tbody tr:last-child td{border-block-end:var(--border-hairline) solid transparent}.table-numeric{font-family:var(--font-family-numeric);font-size:var(--type-numeric-size);font-variant-numeric:tabular-nums;line-height:var(--type-numeric-line);font-weight:var(--type-numeric-weight);text-align:end}.table-sort{border:var(--border-hairline) solid transparent;color:inherit;cursor:pointer;font:inherit;align-items:center;gap:var(--space-2);background-color:#0000;padding:0;display:inline-flex}.table-sort[aria-sort]{color:var(--color-action-on-primary-soft)}.table-empty{color:var(--color-ink-muted);padding:var(--space-5);text-align:center}.sheet{background-color:var(--color-surface-panel);gap:var(--space-4);padding:var(--space-5);flex-direction:column;display:flex}.sheet-bottom{border-end-end-radius:0;border-end-start-radius:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-3);animation:sheet-up var(--duration-sheet) var(--ease-decelerate);z-index:var(--layer-drawer);position:absolute;inset-block-end:0;inset-inline:0}.sheet-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-3);inline-size:100%;max-inline-size:calc(var(--space-9) * 8)}.sheet-handle{background-color:var(--color-line-strong);block-size:var(--space-1);border-radius:var(--radius-pill);inline-size:var(--size-sheet-handle);margin-inline:auto}.sheet-title{font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight)}.sheet-actions{align-items:center;gap:var(--space-3);justify-content:flex-end;display:flex}.scrim{background-color:var(--overlay-scrim);z-index:var(--layer-overlay);position:fixed;inset:0}.dialog{background-color:var(--color-surface-panel);border:var(--border-hairline) solid var(--color-line-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-4);inline-size:calc(100% - var(--space-7));max-inline-size:calc(var(--space-9) * 8);padding:var(--space-6)}.dialog-layer{z-index:var(--layer-overlay);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-title{color:var(--color-ink-default);font-size:var(--type-title-size);line-height:var(--type-title-line);font-weight:var(--type-title-weight);letter-spacing:var(--type-title-tracking)}.dialog-text{color:var(--color-ink-muted);font-size:var(--type-body-size);line-height:var(--type-body-line)}.dialog-actions{align-items:center;gap:var(--space-3);justify-content:flex-end;display:flex}.tooltip{position:relative}.tooltip-body{background-color:var(--color-surface-inverse);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);color:var(--color-ink-inverse);font-size:var(--type-caption-size);gap:var(--space-1);line-height:var(--type-caption-line);padding:var(--space-2) var(--space-3);max-inline-size:var(--stage-caption-max-width);z-index:var(--layer-drawer);flex-direction:column;display:flex;position:absolute;inset-block-end:calc(100% + var(--space-2));inset-inline-start:0}.tooltip-body[hidden]{display:none}.divider{background-color:var(--color-line-default);block-size:var(--border-hairline);border:none;inline-size:100%}.divider-strong{background-color:var(--color-line-strong);block-size:var(--border-hairline)}.banner{border:var(--border-hairline) solid var(--color-line-default);border-radius:var(--radius-md);align-items:flex-start;gap:var(--space-3);grid-template-columns:var(--size-icon-lg) minmax(0, 1fr) auto;padding:var(--space-4) var(--space-5);transition:background-color var(--duration-base) var(--ease-standard);display:grid}.banner-icon{border:var(--border-strong) solid currentColor;border-radius:var(--radius-pill);color:currentColor;font-size:var(--type-micro-size);font-weight:var(--type-micro-weight);block-size:var(--size-icon-md);inline-size:var(--size-icon-md);line-height:var(--type-micro-line);justify-content:center;align-items:center;display:inline-flex}.banner-title{color:currentColor;font-size:var(--type-body-strong-size);font-weight:var(--type-body-strong-weight);line-height:var(--type-body-strong-line)}.banner-text{color:var(--color-ink-default);font-size:var(--type-body-size);line-height:var(--type-body-line)}.banner-error{background-color:var(--color-status-danger-bg);border-color:var(--color-status-danger-line);color:var(--color-status-danger)}.banner-warning{background-color:var(--color-status-warning-bg);border-color:var(--color-status-warning-line);color:var(--color-status-warning)}.banner-success{background-color:var(--color-status-success-bg);border-color:var(--color-status-success-line);color:var(--color-status-success)}.banner-info{background-color:var(--color-status-info-bg);border-color:var(--color-status-info-line);color:var(--color-status-info)}.banner-content{gap:var(--space-2);flex-direction:column;display:flex}.banner-actions{align-items:center;gap:var(--space-3);display:flex}.bar{background-color:var(--color-surface-sunken);block-size:var(--size-indicator-dot);border:var(--border-hairline) solid var(--color-line-default);border-radius:var(--radius-pill);inline-size:100%;position:relative;overflow:hidden}.bar-fill{background-color:var(--color-action-primary);block-size:100%;inline-size:calc(var(--progress-value) * 1%);transition:inline-size var(--duration-base) var(--ease-standard)}.progress{gap:var(--space-2);flex-direction:column;inline-size:100%;display:flex}.progress-caption{color:var(--color-ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line);justify-content:space-between;display:flex}.progress-tone-uploading .bar-fill{background-color:var(--color-sync-uploading)}.progress-tone-uploaded .bar-fill{background-color:var(--color-sync-uploaded)}.progress-tone-failed .bar-fill{background-color:var(--color-sync-failed)}.progress-tone-warning .bar-fill{background-color:var(--color-status-warning)}.progress-indeterminate .bar-fill{animation:bar-slide var(--duration-pulse) var(--ease-standard) infinite;inline-size:var(--size-thumb);position:absolute;inset-inline-start:0}.stepper{align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.stepper-item{align-items:center;gap:var(--space-2);display:flex}.stepper-marker{background-color:var(--color-surface-sunken);border:var(--border-hairline) solid var(--color-line-strong);border-radius:var(--radius-pill);block-size:var(--size-icon-md);color:var(--color-ink-muted);font-size:var(--type-micro-size);inline-size:var(--size-icon-md);line-height:var(--type-micro-line);justify-content:center;align-items:center;display:inline-flex}.stepper-label{color:var(--color-ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.stepper-item.is-done .stepper-marker{background-color:var(--color-status-success-bg);border-color:var(--color-status-success);color:var(--color-status-success)}.stepper-item.is-done .stepper-label{color:var(--color-ink-default)}.stepper-item.is-current .stepper-marker{background-color:var(--color-action-primary-soft);border-color:var(--color-action-primary);color:var(--color-action-on-primary-soft)}.stepper-item.is-current .stepper-label{color:var(--color-action-on-primary-soft);font-weight:var(--type-body-strong-weight)}.stepper-item.is-failed .stepper-marker{background-color:var(--color-status-danger-bg);border-color:var(--color-sync-failed);color:var(--color-sync-failed)}.stepper-item.is-failed .stepper-label{color:var(--color-status-danger)}.stepper-rule{background-color:var(--color-line-default);block-size:var(--border-hairline);inline-size:var(--space-5);position:relative;inset-block-start:calc(var(--size-icon-md) / 2)}.sync-item{background-color:var(--color-surface-panel);border:var(--border-hairline) solid var(--color-line-default);border-radius:var(--radius-md);align-items:center;gap:var(--space-4);grid-template-columns:var(--size-thumb) minmax(0, 1fr) auto;padding:var(--space-3);transition:box-shadow var(--duration-fast) var(--ease-standard);display:grid}.sync-item:hover{box-shadow:var(--shadow-2)}.sync-thumb{background-color:var(--color-surface-sunken);block-size:var(--size-thumb);border:var(--border-hairline) solid var(--color-line-default);border-radius:var(--radius-sm);inline-size:var(--size-thumb);overflow:hidden}.sync-thumb-lg{block-size:var(--size-thumb-large);inline-size:var(--size-thumb-large)}.sync-name{color:var(--color-ink-default);font-size:var(--type-body-size);line-height:var(--type-body-line)}.sync-meta{color:var(--color-ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.sync-status{font-size:var(--type-label-size);font-weight:var(--type-label-weight);align-items:center;gap:var(--space-2);line-height:var(--type-label-line);display:inline-flex}.sync-status:before{block-size:var(--size-indicator-dot);border-radius:var(--radius-pill);content:"";inline-size:var(--size-indicator-dot);background-color:currentColor}.sync-queued{color:var(--color-sync-queued)}.sync-uploading{color:var(--color-sync-uploading)}.sync-uploaded{color:var(--color-sync-uploaded)}.sync-failed{color:var(--color-sync-failed)}.sync-offline{color:var(--color-sync-offline)}.sync-error{color:var(--color-status-danger);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.skeleton{animation:pulse var(--duration-pulse) var(--ease-standard) infinite alternate;background-color:var(--color-surface-sunken);border-radius:var(--radius-xs);display:block}.skeleton-text{block-size:var(--space-4);inline-size:100%}.skeleton-title{block-size:var(--space-5);inline-size:100%}.skeleton-row{block-size:var(--size-row-compact);inline-size:100%}.skeleton-thumb{block-size:var(--size-thumb);inline-size:var(--size-thumb)}.skeleton-card{block-size:var(--size-row-comfortable);inline-size:100%}.skeleton-column{block-size:var(--size-control-lg);inline-size:100%}.empty{background-color:var(--color-surface-sunken);border:var(--border-default) dashed var(--color-line-emphatic);border-radius:var(--radius-md);color:var(--color-ink-muted);align-items:center;gap:var(--space-4);padding:var(--space-8);text-align:center;flex-direction:column;justify-content:center;display:flex}.empty-title{color:var(--color-ink-default);font-size:var(--type-subtitle-size);font-weight:var(--type-subtitle-weight);line-height:var(--type-subtitle-line)}.empty-text{font-size:var(--type-body-size);line-height:var(--type-body-line);max-inline-size:calc(var(--space-9) * 6)}.legend{gap:var(--space-4);flex-wrap:wrap;display:flex}.legend-item{color:var(--color-stage-ink-muted);font-size:var(--type-caption-size);align-items:center;gap:var(--space-2);line-height:var(--type-caption-line);display:inline-flex}.legend-swatch{block-size:var(--size-indicator-dot);border:var(--border-strong) solid currentColor;border-radius:var(--radius-xs);inline-size:var(--size-indicator-dot)}.legend-dashed{border-style:dashed}.legend-face{color:var(--color-detect-face)}.legend-vl{color:var(--color-detect-face-vl)}.legend-manual{color:var(--color-detect-face-manual)}.legend-stock{color:var(--color-detect-stock)}.legend-placement{color:var(--color-detect-placement)}.legend-draft{color:var(--color-detect-draft)}.legend-tag{color:var(--color-detect-price-tag)}.legend-competitor{color:var(--color-role-competitor)}.legend-on-light{color:var(--color-ink-muted)}.confidence{gap:var(--space-2);flex-direction:column;inline-size:100%;display:flex}.confidence-value{font-family:var(--font-family-numeric);font-variant-numeric:tabular-nums}.confidence-low{color:var(--color-status-warning);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.confidence .bar-fill{background-color:var(--color-detect-face)}.confidence.is-low .bar-fill{background-color:var(--color-status-warning)}.facing-count{align-items:baseline;gap:var(--space-2);display:flex}.facing-value{color:var(--color-ink-default);font-family:var(--font-family-numeric);font-size:var(--type-display-size);font-variant-numeric:tabular-nums;font-weight:var(--type-display-weight);letter-spacing:var(--type-display-tracking);line-height:var(--type-display-line)}.facing-label{color:var(--color-ink-muted);font-size:var(--type-label-size);line-height:var(--type-label-line);font-weight:var(--type-label-weight)}.facing-delta{font-family:var(--font-family-numeric);font-variant-numeric:tabular-nums;align-items:center;gap:var(--space-1);display:inline-flex}.facing-delta.is-mismatch{color:var(--color-status-danger);font-weight:var(--type-body-strong-weight)}.facing-delta.is-match{color:var(--color-status-success)}.bbox{background-color:var(--bbox-fill);border:var(--border-bbox) solid var(--bbox-stroke);border-radius:var(--radius-none);box-shadow:0 0 0 var(--border-hairline) var(--overlay-halo-inner), 0 0 0 calc(var(--border-hairline) * 2) var(--overlay-halo-outer);cursor:pointer;inline-size:calc(var(--box-w) * 1%);block-size:calc(var(--box-h) * 1%);z-index:var(--layer-bbox);transition:box-shadow var(--duration-fast) var(--ease-standard), border-width var(--duration-instant) var(--ease-standard);position:absolute;inset-block-start:calc(var(--box-y) * 1%);inset-inline-start:calc(var(--box-x) * 1%)}.bbox-face{--bbox-fill:var(--overlay-face-fill);--bbox-stroke:var(--color-detect-face-stroke)}.bbox-vl{--bbox-fill:var(--overlay-face-vl-fill);--bbox-stroke:var(--color-detect-face-vl-stroke)}.bbox-manual{--bbox-fill:var(--overlay-face-manual-fill);--bbox-stroke:var(--color-detect-face-manual-stroke)}.bbox-stock{--bbox-fill:var(--overlay-stock-fill);--bbox-stroke:var(--color-detect-stock-stroke)}.bbox-placement{--bbox-fill:var(--overlay-placement-fill);--bbox-stroke:var(--color-detect-placement-stroke);border-style:dashed}.bbox-draft{--bbox-fill:var(--overlay-draft-fill);--bbox-stroke:var(--color-detect-draft-stroke);z-index:var(--layer-bbox-selected);border-style:dashed}.bbox.is-suggested{--bbox-stroke:var(--color-status-warning-line);border-style:dashed}.bbox-tag{--bbox-fill:var(--overlay-tag-fill);--bbox-stroke:var(--color-detect-price-tag-stroke);pointer-events:none}.bbox.is-selected{border-width:var(--border-bbox-selected);box-shadow:0 0 0 var(--border-hairline) var(--overlay-halo-inner), 0 0 0 calc(var(--border-hairline) * 2) var(--overlay-halo-outer), var(--shadow-2);z-index:var(--layer-bbox-selected)}.bbox.is-drop-target{outline:var(--border-strong) dashed var(--color-line-emphatic);outline-offset:var(--focus-ring-offset);border-style:solid}.bbox-handle{background-color:var(--color-detect-handle);block-size:var(--size-bbox-handle);border:var(--border-hairline) solid var(--bbox-stroke);border-radius:var(--radius-none);inline-size:var(--size-bbox-handle);touch-action:none;padding:0;position:absolute}.bbox-handle:before{content:"";inset:calc(var(--space-3) * -1);position:absolute}.handle-nw{cursor:nwse-resize;inset-block-start:calc(var(--size-bbox-handle) / -2);inset-inline-start:calc(var(--size-bbox-handle) / -2)}.handle-n{cursor:ns-resize;inset-block-start:calc(var(--size-bbox-handle) / -2);inset-inline-start:calc(50% - var(--size-bbox-handle) / 2)}.handle-ne{cursor:nesw-resize;inset-block-start:calc(var(--size-bbox-handle) / -2);inset-inline-end:calc(var(--size-bbox-handle) / -2)}.handle-e{cursor:ew-resize;inset-block-start:calc(50% - var(--size-bbox-handle) / 2);inset-inline-end:calc(var(--size-bbox-handle) / -2)}.handle-se{cursor:nwse-resize;inset-block-end:calc(var(--size-bbox-handle) / -2);inset-inline-end:calc(var(--size-bbox-handle) / -2)}.handle-s{cursor:ns-resize;inset-block-end:calc(var(--size-bbox-handle) / -2);inset-inline-start:calc(50% - var(--size-bbox-handle) / 2)}.handle-sw{cursor:nesw-resize;inset-block-end:calc(var(--size-bbox-handle) / -2);inset-inline-start:calc(var(--size-bbox-handle) / -2)}.handle-w{cursor:ew-resize;inset-block-start:calc(50% - var(--size-bbox-handle) / 2);inset-inline-start:calc(var(--size-bbox-handle) / -2)}.bbox-caption{background-color:var(--overlay-caption-bg);border-radius:var(--radius-xs);color:var(--color-stage-ink);font-size:var(--type-micro-size);letter-spacing:var(--type-micro-tracking);line-height:var(--type-micro-line);max-inline-size:var(--stage-caption-max-width);padding:var(--space-1) var(--space-2);z-index:var(--layer-bbox-selected);flex-direction:column;display:flex;position:absolute;inset-block-end:calc(100% + var(--stage-caption-offset));inset-inline-start:0}.bbox-caption[hidden]{display:none}.bbox-caption-price{font-family:var(--font-family-numeric);font-variant-numeric:tabular-nums}.bbox-caption-status{color:var(--color-status-warning-line)}.bbox:hover .bbox-caption,.bbox:focus-visible .bbox-caption,.bbox.is-selected .bbox-caption{display:flex}.stage{background-color:var(--color-stage-backdrop);border:var(--border-hairline) solid var(--color-line-inverse);border-radius:var(--radius-md);max-block-size:var(--stage-max-height-vh);position:relative;overflow:hidden}.stage-surface{cursor:crosshair;inline-size:100%;max-block-size:var(--stage-max-height-vh);touch-action:none;position:relative;overflow:auto}.stage-zoom{inline-size:calc(var(--zoom) * 100%);position:relative}.stage-controls{background-color:var(--overlay-caption-bg);border-radius:var(--radius-sm);align-items:center;gap:var(--space-2);padding:var(--space-2);z-index:var(--layer-sticky);display:flex;position:absolute;inset-block-start:var(--space-3);inset-inline-end:var(--space-3)}.stage-readout{color:var(--color-stage-ink);font-family:var(--font-family-numeric);font-variant-numeric:tabular-nums;font-size:var(--type-caption-size);line-height:var(--type-caption-line);padding-inline:var(--space-2)}.stage-caption{background-color:var(--overlay-caption-bg);border-radius:var(--radius-sm);color:var(--color-stage-ink);font-size:var(--type-caption-size);gap:var(--space-1);line-height:var(--type-caption-line);max-inline-size:var(--stage-caption-max-width);padding:var(--space-2) var(--space-3);z-index:var(--layer-sticky);flex-direction:column;display:flex;position:absolute;inset-block-end:var(--space-3);inset-inline-start:var(--space-3)}.stage-caption .ink-muted{color:var(--color-stage-ink-muted)}.stage-grid{background-image:linear-gradient(var(--color-stage-grid) var(--border-hairline), transparent var(--border-hairline)), linear-gradient(to right, var(--color-stage-grid) var(--border-hairline), transparent var(--border-hairline));background-repeat:repeat;background-size:var(--stage-grid-size-px) var(--stage-grid-size-px);opacity:var(--stage-grid-opacity);pointer-events:none;z-index:var(--layer-base);position:absolute;inset:0}.stage :focus-visible{outline-color:var(--color-line-focus-inverse)}.stage-canvas{inline-size:100%;display:block}.visit-card{gap:var(--space-3)}.visit-store{font-size:var(--type-title-size);font-weight:var(--type-title-weight);line-height:var(--type-title-line)}.visit-meta{color:var(--color-ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.visit-counters{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.visit-merch{align-items:center;gap:var(--space-2);display:inline-flex}.role-dot{background-color:var(--color-role-merch);block-size:var(--size-indicator-dot);border-radius:var(--radius-pill);inline-size:var(--size-indicator-dot)}.role-dot-supervisor{background-color:var(--color-role-supervisor)}.role-dot-competitor{background-color:var(--color-role-competitor)}.role-dot-stock{background-color:var(--color-role-stock)}.status-queued{color:var(--color-sync-queued)}.status-uploading{color:var(--color-sync-uploading)}.status-uploaded{color:var(--color-sync-uploaded)}.status-failed{color:var(--color-sync-failed)}.status-processing{color:var(--color-action-primary)}.status-done{color:var(--color-status-success)}.status-partial{color:var(--color-status-warning)}.status-draft{color:var(--color-ink-subtle)}.status-sending{color:var(--color-sync-uploading)}.status-sent{color:var(--color-action-primary)}.status-analyzed{color:var(--color-status-success)}.status-needs-fix{color:var(--color-status-warning)}.status-error{color:var(--color-status-danger)}.source-detector{color:var(--color-detect-face)}.source-vl{color:var(--color-detect-face-vl)}.source-manual{color:var(--color-detect-face-manual)}.source-none{color:var(--color-detect-placement)}@keyframes spin{to{rotate:1turn}}@keyframes pulse{0%{background-color:var(--color-surface-sunken)}to{background-color:var(--color-surface-subtle)}}@keyframes bar-slide{0%{inset-inline-start:calc(var(--space-8) * -1)}50%{inset-inline-start:50%}to{inset-inline-start:100%}}@keyframes sheet-up{0%{inset-block-end:100%}to{inset-block-end:0}}.app-shell{background-color:var(--color-surface-canvas);inline-size:100%}.app-main{gap:var(--gap-block);padding:var(--gap-page-y) var(--gap-page-x);flex-direction:column;display:flex}.skip-link{background-color:var(--color-action-primary-soft);border-radius:var(--radius-sm);color:var(--color-action-on-primary-soft);padding:var(--space-2) var(--space-4);z-index:var(--layer-toast);position:fixed;inset-block-start:var(--space-2);inset-inline-start:var(--space-2)}.skip-link:not(:focus-visible){block-size:var(--border-hairline);clip-path:inset(50%);inline-size:var(--border-hairline);overflow:hidden}.topbar{background-color:var(--color-surface-panel);border-block-end:var(--border-hairline) solid var(--color-line-default);box-shadow:var(--shadow-1);align-items:center;gap:var(--space-4);inline-size:100%;min-block-size:var(--size-nav-top);padding:var(--space-3) var(--gap-page-x);z-index:var(--layer-sticky);justify-content:space-between;display:flex;position:sticky;inset-block-start:0}.topbar-title{font-size:var(--type-headline-size);font-weight:var(--type-headline-weight);letter-spacing:var(--type-headline-tracking);line-height:var(--type-headline-line)}.topbar-meta{color:var(--color-ink-muted);align-items:center;gap:var(--space-3);font-size:var(--type-caption-size);line-height:var(--type-caption-line);flex-wrap:wrap;display:flex}.stylebook{gap:var(--space-7);grid-template-columns:calc(var(--size-thumb-large) * 2) minmax(0, 1fr);padding:var(--gap-page-y) var(--gap-page-x);align-items:start;display:grid}.stylebook.is-stacked{grid-template-columns:minmax(0,1fr)}.stylebook-nav{gap:var(--space-2);flex-direction:column;display:flex;position:sticky;inset-block-start:calc(var(--size-nav-top) + var(--space-4))}.stylebook-nav-title{font-size:var(--type-label-size);font-weight:var(--type-label-weight);letter-spacing:var(--type-label-tracking);line-height:var(--type-label-line);color:var(--color-ink-muted)}.stylebook-nav-link{border:var(--border-hairline) solid transparent;border-radius:var(--radius-sm);color:var(--color-ink-link);padding:var(--space-2) var(--space-4);transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);text-decoration:none;display:block}.stylebook-nav-link:hover{background-color:var(--color-action-primary-soft)}.stylebook-nav-link.is-active{background-color:var(--color-action-primary-soft);border-color:var(--color-action-primary);border-width:var(--border-strong);color:var(--color-action-on-primary-soft);font-weight:var(--type-body-strong-weight)}.stylebook-content{gap:var(--space-8);flex-direction:column;min-inline-size:0;display:flex}.stylebook-head{gap:var(--space-2);flex-direction:column;display:flex}.demo-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit, minmax(min(calc(var(--space-9) * 6), 100%), 1fr));align-items:start;display:grid}.demo-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.demo-column{gap:var(--space-3);flex-direction:column;display:flex}.workspace{gap:var(--space-7);grid-template-columns:var(--size-zone-visits) minmax(var(--size-zone-frames-min), 1fr) var(--size-zone-summary);align-items:start;display:grid}.workspace.is-stacked{grid-template-columns:minmax(0,1fr)}.workspace-zone{gap:var(--space-4);flex-direction:column;min-inline-size:0;display:flex}.workspace-zone-frames{gap:var(--space-4);flex-direction:column;display:flex}.zone-title{color:var(--color-ink-muted);font-size:var(--type-label-size);font-weight:var(--type-label-weight);align-items:center;gap:var(--space-3);letter-spacing:var(--type-label-tracking);line-height:var(--type-label-line);justify-content:space-between;display:flex}.canvas-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit, minmax(min(calc(var(--size-thumb) * 4), 100%), 1fr));display:grid}.phone{background-color:var(--color-surface-overlay);border:var(--border-strong) solid var(--color-line-inverse);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);inline-size:var(--device-phone-width);block-size:var(--device-phone-height);padding:var(--space-3);overflow:hidden}.phone-screen{background-color:var(--color-surface-canvas);border-radius:var(--radius-lg);grid-template-rows:auto auto minmax(0,1fr) auto;block-size:100%;inline-size:100%;display:grid;position:relative;overflow:hidden}.phone-notch{background-color:var(--color-surface-overlay);block-size:var(--space-5);border-radius:var(--radius-pill);inline-size:calc(var(--space-9) * 2);margin-inline:auto;margin-block:var(--space-1)}.phone-topbar{background-color:var(--color-surface-panel);border-block-end:var(--border-hairline) solid var(--color-line-default);align-items:center;gap:var(--space-3);min-block-size:var(--size-nav-top);padding:var(--space-3) var(--space-5);z-index:var(--layer-sticky);justify-content:space-between;display:flex;position:sticky;inset-block-start:0}.phone-content{gap:var(--space-4);min-block-size:0;padding:var(--space-5);flex-direction:column;display:flex;overflow-y:auto}.phone-nav{background-color:var(--color-surface-panel);border-block-start:var(--border-hairline) solid var(--color-line-default);inline-size:100%;min-block-size:var(--size-nav-bottom);padding-block:var(--space-2);grid-template-columns:repeat(4,1fr);display:grid}.phone-nav-item{border:var(--border-hairline) solid transparent;border-radius:var(--radius-sm);color:var(--color-ink-muted);cursor:pointer;font-size:var(--type-caption-size);align-items:center;gap:var(--space-2);line-height:var(--type-caption-line);min-block-size:var(--size-touch-min);padding:var(--space-1);background-color:#0000;flex-direction:column;justify-content:center;display:flex}.phone-nav-item.is-active{color:var(--color-action-on-primary-soft)}.phone-nav-mark{block-size:var(--space-2);border-radius:var(--radius-pill);inline-size:var(--space-5);background-color:currentColor}.phone-nav-capture{color:var(--color-action-primary)}.phone-nav-capture .phone-nav-mark{background-color:var(--color-action-primary);block-size:var(--size-icon-lg);border-radius:var(--radius-pill);inline-size:var(--size-icon-lg)}.phone-caption{color:var(--color-ink-muted);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.phone .btn{block-size:var(--size-touch-min)}.phone .icon-btn{block-size:var(--size-touch-min);inline-size:var(--size-touch-min)}.phone .field-control{block-size:var(--size-control-lg)}.camera{background-color:var(--color-stage-backdrop);border-radius:var(--radius-md);gap:var(--space-4);min-block-size:0;padding:var(--space-4);flex-direction:column;display:flex;position:relative;overflow:hidden}.camera-preview{block-size:calc(var(--size-thumb) * 3);border:var(--border-hairline) solid var(--color-line-inverse);border-radius:var(--radius-sm);inline-size:100%;position:relative;overflow:hidden}.camera-footer{align-items:center;gap:var(--space-4);justify-content:space-between;display:flex}.shutter{block-size:var(--size-shutter);border:var(--border-strong) solid var(--color-stage-ink);border-radius:var(--radius-pill);cursor:pointer;inline-size:var(--size-shutter);transition:border-color var(--duration-instant) var(--ease-spring), background-color var(--duration-instant) var(--ease-spring);background-color:#0000;padding:0}.shutter:active{background-color:var(--overlay-placement-fill);border-color:var(--color-stage-ink-muted)}.shutter-inner{background-color:var(--color-stage-ink);border-radius:var(--radius-pill);block-size:100%;inline-size:100%;padding:var(--space-2)}.shutter-core{background-color:var(--color-surface-panel);border-radius:var(--radius-pill);block-size:100%;inline-size:100%}.camera-counter{color:var(--color-stage-ink);font-family:var(--font-family-numeric);font-size:var(--type-numeric-size);font-variant-numeric:tabular-nums;line-height:var(--type-numeric-line)}.camera-offline{color:var(--color-sync-offline);font-size:var(--type-micro-size);align-items:center;gap:var(--space-2);letter-spacing:var(--type-micro-tracking);line-height:var(--type-micro-line);display:inline-flex}.stage-host{gap:var(--space-4);flex-direction:column;display:flex}.manual-toolbar{background-color:var(--color-surface-panel);border:var(--border-hairline) solid var(--color-line-default);border-radius:var(--radius-md);box-shadow:var(--shadow-1);align-items:center;gap:var(--space-3);padding:var(--space-3);flex-wrap:wrap;display:flex}.manual-toolbar .field{inline-size:calc(var(--space-9) * 3)}.summary-panel{gap:var(--space-4);flex-direction:column;display:flex}.color-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit, minmax(min(calc(var(--space-9) * 4), 100%), 1fr));display:grid}.color-swatch{border:var(--border-hairline) solid var(--color-line-default);border-radius:var(--radius-md);gap:var(--space-2);flex-direction:column;padding:0;display:flex;overflow:hidden}.color-swatch-chip{background-color:var(--swatch-color);block-size:var(--space-9);inline-size:100%}.color-swatch-text{background-color:var(--swatch-text-bg);color:var(--swatch-text-color);font-size:var(--type-caption-size);line-height:var(--type-caption-line);padding:var(--space-2) var(--space-3)}.color-swatch-body{gap:var(--space-1);padding:var(--space-3);flex-direction:column;display:flex}.color-swatch-name{font-family:var(--font-family-numeric);font-size:var(--type-caption-size);line-height:var(--type-caption-line)}.color-swatch-value{color:var(--color-ink-subtle);font-family:var(--font-family-numeric);font-size:var(--type-caption-size);font-variant-numeric:tabular-nums;line-height:var(--type-caption-line)}.color-swatch-contrast{color:var(--color-ink-muted);font-size:var(--type-micro-size);letter-spacing:var(--type-micro-tracking);line-height:var(--type-micro-line)}.space-scale{align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.space-block{background-color:var(--color-action-primary-soft);border:var(--border-hairline) solid var(--color-action-primary);block-size:var(--space-step);inline-size:var(--space-step)}.radius-block{background-color:var(--color-surface-sunken);border:var(--border-strong) solid var(--color-ink-subtle);block-size:var(--space-9);inline-size:var(--space-9)}.size-block{background-color:var(--color-action-primary-soft);border:var(--border-hairline) solid var(--color-action-primary);block-size:var(--size-value);inline-size:var(--size-value)}.measure-table{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fit, minmax(min(calc(var(--space-9) * 4), 100%), 1fr));display:grid}.measure-cell{align-items:center;gap:var(--space-3);display:flex}.type-sample{gap:var(--space-2);padding-block:var(--space-3);flex-direction:column;display:flex}.type-sample-meta{color:var(--color-ink-subtle);font-family:var(--font-family-numeric);font-size:var(--type-caption-size);font-variant-numeric:tabular-nums;line-height:var(--type-caption-line)}.type-sample-rule{background-color:var(--color-line-default);block-size:var(--border-hairline);inline-size:100%}.cluster.column{flex-direction:column;align-items:stretch}.photo-strip{gap:var(--gap-inline);margin-bottom:var(--gap-block);flex-wrap:wrap;display:flex}.stage-photo{object-fit:contain;background:var(--color-surface-canvas);width:100%;height:100%;display:block}
