.report-summary--redesigned{display:grid;gap:20px;min-width:0;color:var(--text-2);font-size:14px}.report-summary--redesigned .report-context-bar{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;padding-bottom:20px;border-bottom:1px solid var(--border-subtle)}.report-context-bar__filters,.report-context-bar__actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.report-control{display:grid;gap:6px;min-width:180px}.report-control>span{color:var(--text-3);font-size:12px;font-weight:600}.report-control select{width:100%;max-width:340px;min-height:38px;padding:7px 30px 7px 11px;border:1px solid var(--border-control);border-radius:var(--radius-sm);color:var(--text-1);background:var(--bg-1);font-size:13px}.report-control--species{min-width:220px}.report-control__population{color:var(--text-1);font-weight:700}.report-context-bar__actions{gap:8px}.report-export-menu{position:relative}.report-export-menu summary{display:flex;align-items:center;gap:5px;min-height:34px;padding:0 7px;color:var(--text-3);font-size:12px;cursor:pointer;list-style:none}.report-export-menu summary::-webkit-details-marker{display:none}.report-export-menu summary:hover{color:var(--text-1)}.report-export-menu__options{position:absolute;z-index:8;top:calc(100% + 6px);right:0;display:grid;gap:4px;min-width:125px;padding:6px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-1);box-shadow:var(--shadow-sm)}.report-reading-context{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.report-summary--redesigned .report-reading-context h2{margin:0 0 6px;color:var(--text-1);font-size:20px;font-weight:650}.report-reading-context p{margin:0;color:var(--text-3);font-size:13px}.report-reading-context__freshness{display:grid;justify-items:end;gap:4px;flex-shrink:0}.report-reading-context__freshness small{color:var(--text-3);font-size:11px}.report-freshness{color:var(--info);font-size:12px}.report-sample-context{display:flex;align-items:baseline;gap:12px 24px;flex-wrap:wrap;margin-top:-4px;font-size:13px}.report-sample-context b{margin-right:3px;color:var(--text-1);font-size:17px}.report-sample-context small{color:var(--text-3);font-size:12px}.report-sample-context>small{flex-basis:100%}.report-results-list{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1)}.report-results-list__heading{display:flex;align-items:center;justify-content:space-between;padding:11px 58px 11px 22px;color:var(--text-3);font-size:11px;font-weight:650}.report-summary--redesigned .report-phase--row{border-top:1px solid var(--border-subtle)}.report-phase-toggle{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(105px,auto) 18px;align-items:center;gap:16px;width:100%;min-height:88px;padding:18px 22px;border:0;color:var(--text-1);background:transparent;text-align:left;cursor:pointer;transition:background .12s ease}.report-phase-toggle:hover{background:#81dded0b}.report-phase-toggle:focus-visible{outline-offset:-3px}.report-phase-toggle__icon{display:grid;place-items:center;color:var(--info)}.report-phase-toggle__title,.report-phase-toggle__value{display:grid;gap:5px;min-width:0}.report-phase-toggle__title strong{font-size:16px;font-weight:650}.report-phase-toggle__title small{color:var(--text-3);font-size:12px;line-height:1.5}.report-phase-toggle__value{text-align:right}.report-phase-toggle__value strong{color:var(--text-1);font-size:26px;line-height:1.15;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.report-phase-toggle__value small{color:var(--text-3);font-size:11px}.report-phase-toggle__chevron{color:var(--text-3);transition:transform .12s ease}.report-phase--row.is-open .report-phase-toggle__chevron{transform:rotate(180deg)}.report-phase--row.is-open .report-phase-toggle__title strong{color:var(--accent-strong)}.report-phase-body{padding:0 22px 24px 74px}.report-phase-body[hidden]{display:none}.report-phase-definition{margin-bottom:18px;color:var(--text-3);font-size:13px;line-height:1.65}.report-details-hint{margin:-9px 0 0;color:var(--text-3);font-size:12px}.report-summary--redesigned .report-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0}.report-summary--redesigned .report-metric-card{display:block;min-height:0;padding:0;border:0;border-radius:0;background:transparent}.report-summary--redesigned .report-metric-card__icon{display:none}.report-summary--redesigned .report-metric-card span{color:var(--text-3);font-size:12px}.report-summary--redesigned .report-metric-card strong{color:var(--text-1);font-size:20px;font-variant-numeric:tabular-nums}.report-summary--redesigned .report-metric-card small{font-size:11px}.report-summary--redesigned .report-count-list,.report-summary--redesigned .report-distribution-line,.report-summary--redesigned .report-error-block,.report-summary--redesigned .report-breakdown,.report-summary--redesigned .report-pair-list,.report-summary--redesigned .report-record-breakdown{padding:14px 0 0;margin-top:18px;border:0;border-top:1px solid var(--border-subtle);border-radius:0;background:transparent}.report-summary--redesigned .report-count-list{justify-content:flex-start;gap:14px 24px}.report-summary--redesigned .report-count-list span{text-align:left;font-size:12px}.report-summary--redesigned .report-count-list b{font-size:16px}.report-summary--redesigned .report-secondary-grid{gap:24px;margin-top:0}.report-summary--redesigned .report-error-grid{gap:24px}.report-summary--redesigned .report-error-block h4,.report-summary--redesigned .report-breakdown h4,.report-summary--redesigned .report-record-breakdown h4,.report-summary--redesigned .report-pair-list h4{color:var(--text-1);font-size:13px;font-weight:650}.report-summary--redesigned .report-error-block dl{font-size:12px}.report-summary--redesigned .report-breakdown span,.report-summary--redesigned .report-pair-list>span{padding:4px 12px 4px 0;border:0;border-radius:0;background:transparent;font-size:12px}.report-summary--redesigned .report-record-breakdown>div{gap:6px}.report-summary--redesigned .report-record-breakdown>div>span{padding:4px 0;border:0;border-radius:0;background:transparent}.report-summary--redesigned .report-distribution-line small{font-size:11px}.report-summary--redesigned .report-species-table,.report-summary--redesigned .confusion-matrix__toolbar p{font-size:12px}.report-summary--redesigned .confusion-matrix h3{font-size:15px}.report-summary--redesigned .confusion-matrix .report-empty{padding:18px 0;font-size:13px}.report-summary--redesigned .report-supporting-details{margin:0;border:0;border-top:1px solid var(--border-subtle);border-radius:0;background:transparent}.report-summary--redesigned .report-supporting-details>summary{padding:15px 0;font-size:13px;font-weight:600}.report-summary--redesigned .report-supporting-details>summary:hover{color:var(--text-1);background:transparent}.report-summary--redesigned .report-supporting-details__content{padding:0 0 20px;border:0}.report-summary--redesigned .report-supporting-details__content>p{font-size:12px;line-height:1.7}.report-summary--redesigned .report-supporting-details__content>small{color:var(--text-3);font-size:11px}.report-phase-body .report-supporting-details{margin-top:24px}.report-summary--redesigned .report-methodology{margin-top:-20px}.report-summary--redesigned .report-empty{min-height:240px;padding:40px 20px}.report-start-hint{display:flex;align-items:center;gap:14px;padding-block:4px;color:var(--text-3)}.report-start-hint strong{color:var(--text-1);font-size:14px;font-weight:600}.report-start-hint p{margin:4px 0 0;font-size:12px}.report-scope-note{margin:0;color:var(--text-3);font-size:12px}.report-notes{color:var(--warning-text);font-size:12px}.report-notes summary{display:flex;align-items:center;gap:7px;cursor:pointer}.report-notes li{margin-block:6px}.report-summary--redesigned>.badge{justify-self:start}@media (max-width: 900px){.report-summary--redesigned .report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-summary--redesigned .report-error-grid{grid-template-columns:1fr}.report-reading-context__freshness{justify-items:start}.report-reading-context{flex-wrap:wrap}}@media (max-width: 560px){.report-context-bar__filters{width:100%;gap:10px}.report-control,.report-control--species{flex:1;min-width:140px}.report-control select{max-width:none}.report-context-bar__actions{width:100%}.report-reading-context__freshness{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.report-phase-toggle{grid-template-columns:minmax(0,1fr) 100px 15px;gap:10px;padding:18px 14px}.report-phase-toggle__icon{display:none}.report-phase-toggle__title strong{font-size:15px}.report-phase-toggle__title small{font-size:11px}.report-phase-toggle__value strong{font-size:22px}.report-phase-body{padding:0 14px 20px}.report-results-list__heading{padding-inline:14px 38px}.report-summary--redesigned .report-secondary-grid{grid-template-columns:1fr;gap:0}.report-summary--redesigned .confusion-matrix__toolbar{flex-direction:column;align-items:stretch}.report-summary--redesigned .confusion-matrix__search{min-width:0}}.history-page--redesigned{display:grid;gap:18px;max-width:1440px;padding:14px 18px 28px;color:var(--text-2);font-size:13px}.history-page--redesigned .history-page__header{align-items:center;min-height:0;margin:0}.history-page--redesigned .history-page__header h1{margin:0;color:var(--text-1);font-size:24px;line-height:1.2}.history-page--redesigned .history-page__header p{margin:5px 0 0;color:var(--text-3);font-size:13px}.history-page--redesigned .history-tabs{width:100%;gap:24px;padding:0;border:0;border-bottom:1px solid var(--border-subtle);border-radius:0;background:transparent}.history-page--redesigned .history-tabs button{min-height:43px;gap:8px;margin-bottom:-1px;padding:8px 1px 12px;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--text-3);font-size:13px;font-weight:650;background:transparent;box-shadow:none}.history-page--redesigned .history-tabs button:hover{color:var(--text-1);background:transparent;box-shadow:none}.history-page--redesigned .history-tabs button.is-active{border-bottom-color:var(--accent);color:var(--text-1);background:transparent;box-shadow:none}.history-page--redesigned .history-report,.history-page--redesigned .history-activity{min-width:0}.history-page--redesigned .button--sm{min-height:34px;padding-inline:11px;font-size:12px}.history-page--redesigned .history-page__updates{display:inline-flex;align-items:center;gap:6px;color:var(--accent-strong);font-size:11px;font-weight:650}.history-page--redesigned .history-page__updates:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.history-activity{display:grid;gap:18px}.history-activity .history-activity__toolbar,.history-activity .history-activity__filter-actions,.history-activity .history-activity__actions,.history-activity .history-comparison__toolbar{display:flex;align-items:center;gap:10px}.history-activity .history-activity__toolbar,.history-activity .history-comparison__toolbar{justify-content:space-between}.history-activity .history-activity__filter-actions,.history-activity .history-activity__actions{flex-wrap:wrap}.history-activity .history-activity__hint{color:var(--text-3);font-size:12px}.history-activity .history-activity__filters{padding:16px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1)}.history-activity .history-filters{padding:0}.history-activity .history-filters__heading{align-items:center;gap:12px}.history-activity .history-filters__eyebrow{display:none}.history-activity .history-filters__heading h2{margin:0;font-size:14px}.history-activity .history-filters__advanced-toggle{min-height:32px;gap:6px;padding-inline:10px;font-size:11px}.history-activity .history-filters__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.history-activity .history-filters .field{min-width:0;gap:5px}.history-activity .history-filters .field>span{font-size:11px}.history-activity .history-filters select,.history-activity .history-filters input{width:100%;min-width:0;min-height:36px;padding:7px 9px;font-size:12px}.history-activity .history-layout,.history-activity .history-layout--comparing{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}.history-activity .history-timeline{min-width:0;padding:0}.history-activity .history-section-heading{align-items:center;gap:12px}.history-activity .history-section-heading h2{margin:0;color:var(--text-1);font-size:15px}.history-activity .history-timeline__count,.history-activity .history-timeline__loading{color:var(--text-3);font-size:12px}.history-activity .history-timeline__day{margin-top:23px}.history-activity .history-timeline__day-heading{margin:0 0 7px;padding-bottom:9px;border-bottom:1px solid var(--border-subtle);color:var(--text-3);font-size:11px;font-weight:650;letter-spacing:0;text-transform:capitalize}.history-activity .history-timeline__list{gap:0;margin:0}.history-activity .history-timeline__list:before{content:none}.history-activity .history-event{grid-template-columns:28px minmax(0,1fr);gap:10px;padding:13px 0;border-bottom:1px solid var(--border-subtle)}.history-activity .history-event:last-child{border-bottom:0}.history-activity .history-event__marker{width:28px;height:28px;border:0;border-radius:var(--radius-sm);background:var(--info-surface)}.history-activity .history-event__marker--validation{background:var(--success-surface)}.history-activity .history-event__marker--reopen{background:var(--warning-surface)}.history-activity .history-event__marker--human{background:var(--accent-soft)}.history-activity .history-event__marker svg{width:15px;height:15px}.history-activity .history-event__card{padding:0;border:0;border-radius:0;background:transparent}.history-activity .history-event__header{align-items:flex-start;gap:16px}.history-activity .history-event__header>div:first-child{min-width:0}.history-activity .history-event__title-row strong{color:var(--text-1);font-size:13px;font-weight:650;overflow-wrap:anywhere}.history-activity .history-event__meta{gap:7px;margin-top:4px;color:var(--text-3);font-size:11px}.history-activity .history-event__meta>span+span:before{margin-right:7px;content:"·"}.history-activity .history-event__actions{display:flex;flex-shrink:0;align-items:center;gap:14px}.history-activity .history-event__time{margin:0;color:var(--text-3);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.history-activity .history-event__actions .button{min-height:27px;padding:0 7px;color:var(--info);font-size:11px}.history-activity .history-event__details{margin-top:6px}.history-activity .history-event__details>summary{display:inline-flex;align-items:center;gap:6px;min-height:25px;padding:2px 0;color:var(--text-3);font-size:11px;cursor:pointer;list-style:none}.history-activity .history-event__details>summary::-webkit-details-marker{display:none}.history-activity .history-event__details>summary:hover,.history-activity .history-event__details[open]>summary{color:var(--info)}.history-activity summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.history-activity .history-event__details[open]>summary>svg{transform:rotate(180deg)}.history-activity .history-event__selection-status{margin-left:5px;color:var(--accent-strong);font-size:10px}.history-activity .history-event__details-content{margin-top:7px;padding:12px 14px;border-left:2px solid var(--border-strong);color:var(--text-2);background:var(--info-surface)}.history-activity .history-event__detail-badges{display:flex;align-items:center;gap:10px;font-size:11px}.history-activity .history-event__detail-badges .badge{font-size:10px}.history-activity .history-event__technical-meta{display:grid;gap:5px;margin:11px 0 0;font-size:11px}.history-activity .history-event__technical-meta>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px}.history-activity .history-event__technical-meta dt{color:var(--text-3)}.history-activity .history-event__technical-meta dd{margin:0;overflow-wrap:anywhere}.history-activity .history-event__note{margin-top:12px;padding:8px 10px;font-size:12px}.history-activity .history-event__compare-help{margin:14px 0 8px;color:var(--text-3);font-size:11px}.history-activity .history-event__revisions{gap:7px;margin:0}.history-activity .history-revision-chip{gap:8px;padding:5px 6px 5px 9px;border-radius:var(--radius-sm)}.history-activity .history-revision-chip>strong{font-size:11px;font-weight:600}.history-activity .history-revision-chip>code{color:var(--text-3);font-size:9px}.history-activity .history-revision-chip>button{min-height:28px;padding:4px 8px;border-radius:5px;font-size:11px}.history-activity .history-compare-panel{position:static;overflow:hidden;border-radius:var(--radius-md);background:var(--surface-1)}.history-activity .history-compare-panel>.panel__content{padding:16px}.history-activity .history-comparison__toolbar>p{margin:0;color:var(--text-3);font-size:12px}.history-activity .history-comparison__toolbar>.button{flex-shrink:0}.history-activity .history-comparison__selection{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px;padding:10px 0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.history-activity .history-comparison__selection>span{display:grid;gap:3px;color:var(--text-3);font-size:11px}.history-activity .history-comparison__selection b{color:var(--text-1);font-size:12px}.history-activity .revision-compare{padding:14px 0 0}.history-activity .revision-compare__identifiers{margin-bottom:12px;color:var(--text-3);font-size:11px}.history-activity .revision-compare__identifiers>summary{cursor:pointer}.history-activity .revision-compare__ids{margin:8px 0 0}.history-activity .revision-compare__ids>code{font-size:10px}.history-activity .history-empty{min-height:150px;padding:24px 14px;font-size:12px}.history-activity .history-empty>span{max-width:60ch}@media (max-width: 900px){.history-page--redesigned{padding:12px 10px 24px}.history-activity .history-activity__toolbar{flex-wrap:wrap}.history-activity .history-filters__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-activity .history-comparison__toolbar{align-items:flex-start}}@media (max-width: 620px){.history-page--redesigned{gap:15px;padding-inline:5px}.history-page--redesigned .history-page__header h1{font-size:21px}.history-page--redesigned .history-page__header p{font-size:12px}.history-activity .history-activity__toolbar,.history-activity .history-comparison__toolbar{align-items:flex-start;flex-direction:column}.history-activity .history-activity__actions{width:100%}.history-activity .history-filters__heading{align-items:flex-start;flex-wrap:wrap}.history-activity .history-filters__grid{grid-template-columns:minmax(0,1fr)}.history-activity .history-event__header{gap:6px;flex-direction:column}.history-activity .history-event__actions{width:100%;gap:10px}.history-activity .history-event__details-content{padding-inline:9px}.history-activity .history-revision-chip{width:100%}.history-activity .history-revision-chip>code{flex:1}.history-activity .history-comparison__selection,.history-activity .revision-compare-row{grid-template-columns:minmax(0,1fr)}.history-activity .revision-compare-row>svg{transform:rotate(90deg)}.history-activity .revision-metric-grid,.history-activity .revision-top5-compare,.history-activity .revision-midline-grid{grid-template-columns:minmax(0,1fr)}}:root{color-scheme:dark;--font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--palette-coral-orange: #FD4F00;--palette-living-coral: #FE7060;--palette-ocean-deep: #235C80;--palette-ocean-medium: #3290B8;--palette-ocean-light: #81DDED;--bg-0: #0E2A36;--bg-1: #123746;--bg-2: #19485D;--surface-1: rgba(20, 58, 74, .94);--surface-2: rgba(35, 92, 128, .7);--surface-3: rgba(50, 144, 184, .22);--surface-canvas: #071C25;--border-subtle: rgba(129, 221, 237, .16);--border-strong: rgba(129, 221, 237, .3);--border-control: rgba(129, 221, 237, .63);--text-1: #F6FBFC;--text-2: #C8E1E7;--text-3: #A7C9D1;--text-primary: var(--text-1);--text-secondary: var(--text-2);--text-muted: var(--text-3);--accent: var(--palette-living-coral);--accent-strong: #FF8272;--accent-active: #FF642E;--accent-hot: var(--palette-coral-orange);--accent-soft: rgba(254, 112, 96, .16);--primary-ink: #071C25;--info: var(--palette-ocean-light);--info-strong: var(--palette-ocean-medium);--info-surface: rgba(50, 144, 184, .18);--success: #67D7A5;--success-surface: rgba(103, 215, 165, .14);--warning: #F4C96B;--warning-text: #FFE4A8;--warning-surface: rgba(244, 201, 107, .14);--danger: #FF5C6C;--danger-text: #FFB8C0;--danger-surface: rgba(255, 92, 108, .14);--action-positive: #3CCF91;--action-positive-hover: #58E0A8;--action-positive-active: #27B77A;--action-positive-focus: #8CEFC2;--action-destructive: #F04B5D;--action-destructive-hover: #FF6575;--action-destructive-active: #EB4859;--action-destructive-focus: #FFA0AA;--action-ink: #071C25;--action-disabled-bg: #294957;--action-disabled-border: #456B78;--action-disabled-ink: #A7C9D1;--focus: var(--palette-ocean-light);--shadow-sm: 0 8px 24px rgba(0, 0, 0, .2);--shadow-lg: 0 24px 70px rgba(0, 0, 0, .38);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--sidebar-width: 248px;--topbar-height: 42px}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg-0)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;color:var(--text-1);font-family:var(--font-sans);font-size:15px;line-height:1.5;background:radial-gradient(circle at 90% 6%,rgba(129,221,237,.08),transparent 30rem),radial-gradient(circle at 8% 100%,rgba(254,112,96,.045),transparent 34rem),linear-gradient(145deg,var(--bg-1),var(--bg-0) 62%);text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid color-mix(in srgb,var(--focus) 70%,transparent);outline-offset:3px}button:disabled{cursor:not-allowed}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em}::selection{color:var(--bg-0);background:var(--accent-strong)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 15px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-1);font-weight:680;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.button--sm{min-height:34px;padding-inline:12px;font-size:13px}.button--lg{min-height:46px;padding-inline:20px}.button--icon-only{width:40px;min-width:40px;padding:0;gap:0;aspect-ratio:1}.button--sm.button--icon-only{width:34px;min-width:34px;padding:0}.button--lg.button--icon-only{width:46px;min-width:46px;padding:0}.button--primary{color:var(--primary-ink);background:var(--accent);border-color:var(--accent)}.button--primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong)}.button--primary:active:not(:disabled){background:var(--accent-active);border-color:var(--accent-active)}.button--secondary{background:var(--surface-3);border-color:var(--border-control)}.button--secondary:hover:not(:disabled),.button--ghost:hover:not(:disabled){background:var(--info-surface);border-color:var(--border-control)}.button--ghost{color:var(--text-2);background:transparent;border-color:transparent}.button--success{color:var(--action-ink);background:var(--action-positive);border-color:var(--action-positive)}.button--success:hover:not(:disabled){background:var(--action-positive-hover);border-color:var(--action-positive-hover)}.button--success:active:not(:disabled){background:var(--action-positive-active);border-color:var(--action-positive-active)}.button--danger{color:var(--action-ink);background:var(--action-destructive);border-color:var(--action-destructive)}.button--danger:hover:not(:disabled){background:var(--action-destructive-hover);border-color:var(--action-destructive-hover)}.button--danger:active:not(:disabled){background:var(--action-destructive-active);border-color:var(--action-destructive-active)}.button--success:focus-visible{outline-color:var(--action-positive-focus)}.button--danger:focus-visible{outline-color:var(--action-destructive-focus)}.button:disabled{color:var(--action-disabled-ink);border-color:var(--action-disabled-border);background:var(--action-disabled-bg);opacity:1}.button--ghost:disabled{background:transparent}.button--success:disabled,.button--danger:disabled{color:var(--action-disabled-ink);border-color:var(--action-disabled-border);background:var(--action-disabled-bg)}.button--full{width:100%}.button__icon{display:inline-flex;flex:0 0 auto}.badge{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:2px 8px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-2);font-size:12px;font-weight:700;white-space:nowrap;background:#ffffff09}.badge:before{width:6px;height:6px;border-radius:50%;background:currentColor;content:""}.badge--neutral{color:var(--text-2)}.badge--info{color:var(--info);background:var(--info-surface)}.badge--success{color:var(--success);background:var(--success-surface)}.badge--warning{color:var(--warning);background:var(--warning-surface)}.badge--danger{color:var(--danger-text);background:var(--danger-surface)}.panel{min-width:0;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(160deg,var(--surface-1),rgba(18,55,70,.94));box-shadow:var(--shadow-sm)}.panel__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-5) 0}.panel__title{margin:0;font-size:16px}.panel__description{max-width:64ch;margin:4px 0 0;color:var(--text-3);font-size:13px}.panel__content{padding:var(--space-5)}.panel--canvas{background:var(--surface-canvas)}.modal-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:var(--space-5);background:#071c25bd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{width:min(560px,100%);max-height:min(780px,calc(100vh - 40px));overflow:auto;border:1px solid var(--border-strong);border-radius:var(--radius-xl);background:var(--bg-1);box-shadow:var(--shadow-lg)}.modal__header,.modal__footer{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5)}.modal__header{justify-content:space-between;border-bottom:1px solid var(--border-subtle)}.modal__header h2{margin:0;font-size:20px}.modal__body{padding:var(--space-5);color:var(--text-2)}.modal__footer{justify-content:flex-end;border-top:1px solid var(--border-subtle)}.modal__close{display:grid;width:36px;height:36px;place-items:center;padding:0;border:0;border-radius:8px;color:var(--text-2);background:transparent;cursor:pointer}.modal__close:hover{color:var(--text-1);background:var(--surface-3)}.modal.geometry-save-dialog{width:min(380px,100%);border-radius:var(--radius-md);background:#123746fa}.geometry-save-dialog .modal__header,.geometry-save-dialog .modal__body,.geometry-save-dialog .modal__footer{padding:var(--space-3)}.geometry-save-dialog .modal__header h2{font-size:14px}.geometry-save-dialog .modal__close{width:28px;height:28px;border-radius:6px}.geometry-save-dialog .modal__body{display:grid;gap:10px}.geometry-save-dialog .modal__footer{gap:6px;padding-block:10px}.geometry-save-dialog__summary{display:flex;min-width:0;align-items:center;gap:6px;color:var(--text-3);font-size:10px}.geometry-save-dialog__summary strong{min-width:0;overflow:hidden;color:var(--text-1);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.geometry-save-dialog__choice{display:grid;gap:5px;color:var(--text-2);font-size:10px}.geometry-save-dialog__choice select{width:100%;min-height:34px;padding:6px 9px;border:1px solid var(--border-strong);border-radius:7px;color:var(--text-1);background:#0e2a36b8}.toast-viewport{position:fixed;z-index:1100;right:var(--space-5);bottom:var(--space-5);display:grid;width:min(390px,calc(100vw - 40px));gap:var(--space-3);pointer-events:none}.toast{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:start;padding:14px;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-1);background:#143a4af7;box-shadow:var(--shadow-lg);pointer-events:auto}.toast--success{border-left:3px solid var(--success)}.toast--warning{border-left:3px solid var(--warning)}.toast--error{border-left:3px solid var(--danger)}.toast--info{border-left:3px solid var(--info)}.toast__title{margin:0;font-size:14px}.toast__message{margin:3px 0 0;color:var(--text-2);font-size:13px}.toast__dismiss{min-width:30px;min-height:30px;padding:0}.spinner{display:inline-block;width:18px;height:18px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spinner-rotate .7s linear infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.skip-link{position:fixed;z-index:2000;top:10px;left:10px;padding:10px 14px;border:2px solid var(--focus);border-radius:var(--radius-sm);color:var(--bg-0);font-weight:780;text-decoration:none;background:var(--accent-strong);box-shadow:var(--shadow-lg);transform:translateY(calc(-100% - 20px))}.skip-link:focus{transform:translateY(0)}.app-shell{display:grid;height:100vh;height:100dvh;min-height:100vh;grid-template-columns:var(--sidebar-width) minmax(0,1fr);grid-template-rows:var(--topbar-height) minmax(0,1fr) auto;overflow:hidden}.app-sidebar{position:fixed;z-index:20;inset:0 auto 0 0;display:flex;width:var(--sidebar-width);flex-direction:column;padding:var(--space-5) var(--space-4);border-right:1px solid var(--border-subtle);background:linear-gradient(180deg,#143a4afa,#0e2a36f5);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:var(--space-3);min-height:44px;padding:0 8px}.brand__logo-link{display:block;flex:0 0 auto;border-radius:11px}.brand__logo-link:focus-visible,.brand__home:focus-visible,.mobile-brand__logo-link:focus-visible,.mobile-brand__home:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.brand__home{min-width:0;color:inherit;text-decoration:none}.brand__mark{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center}.brand__logo-image{display:block;width:100%;height:100%;object-fit:contain}.brand__name{display:block;font-weight:790;letter-spacing:-.025em}.brand__subtitle{display:block;color:var(--text-3);font-size:11px;text-transform:uppercase;letter-spacing:.09em}.app-nav{display:grid;gap:6px;margin-top:var(--space-8)}.app-nav__link{display:flex;align-items:center;gap:11px;min-height:42px;padding:0 12px;border-radius:10px;color:var(--text-2);font-weight:650;text-decoration:none}.app-nav__link:hover{color:var(--text-1);background:#3290b817}.app-nav__link.active{color:var(--text-1);background:var(--accent-soft)}.app-nav__link.active svg{color:var(--accent)}.app-sidebar__footer{display:grid;gap:var(--space-3);margin-top:auto;padding:var(--space-3) 8px;color:var(--text-3);font-size:12px}.app-topbar{position:sticky;z-index:15;top:0;grid-column:2;grid-row:1;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-3);border-bottom:1px solid var(--border-subtle);background:#123746e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.app-topbar__context{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.app-topbar__eyebrow{color:var(--text-3);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.app-topbar__value{max-width:260px;overflow:hidden;color:var(--text-2);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.app-main{min-width:0;min-height:0;grid-column:2;grid-row:2;padding:var(--space-6);overflow:auto}.page{width:100%;max-width:1680px;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-6)}.page-header__eyebrow{margin-bottom:6px;color:var(--accent-strong);font-size:11px;font-weight:780;text-transform:uppercase;letter-spacing:.12em}.page-header h1{margin-bottom:8px;font-size:clamp(28px,3vw,42px);line-height:1.06}.page-header p{max-width:72ch;margin-bottom:0;color:var(--text-2)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}.feature-card__icon{display:grid;width:42px;height:42px;place-items:center;margin-bottom:var(--space-4);border-radius:12px;color:var(--accent);background:var(--accent-soft)}.feature-card h2{margin-bottom:8px;font-size:17px}.feature-card p{margin-bottom:0;color:var(--text-2)}.settings-list{display:grid;gap:1px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--border-subtle)}.settings-row{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:var(--space-4);padding:14px 16px;background:var(--surface-1)}.settings-row dt{color:var(--text-2);font-weight:700}.settings-row dd{margin:0;color:var(--text-3)}.mobile-brand{display:none}.mobile-brand__logo-link{display:block;flex:0 0 auto;border-radius:8px}.mobile-brand__logo-image{display:block;width:30px;height:30px;object-fit:contain}.mobile-brand__home{color:inherit;text-decoration:none}.mobile-bottom-nav{display:none}@media (max-width: 1100px){:root{--sidebar-width: 82px}.brand__home,.brand__text,.app-nav__label,.app-sidebar__footer-copy{display:none}.brand{justify-content:center;padding:0}.app-nav__link{justify-content:center;padding-inline:0}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){:root{--topbar-height: 48px}.app-shell{display:block;height:auto;min-height:100vh;min-height:100dvh;padding:var(--topbar-height) 0 70px;overflow:visible}.app-sidebar{display:none}.app-topbar{position:fixed;inset:0 0 auto;height:var(--topbar-height);padding-inline:var(--space-4)}.mobile-brand{display:flex;align-items:center;gap:8px;font-weight:780}.mobile-bottom-nav{position:fixed;z-index:30;right:10px;bottom:10px;left:10px;display:grid;grid-template-columns:repeat(4,1fr);padding:6px;border:1px solid var(--border-strong);border-radius:16px;background:#143a4afa;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-bottom-nav__link{display:grid;min-width:0;min-height:48px;place-items:center;gap:2px;border-radius:10px;color:var(--text-3);font-size:10px;font-weight:700;text-decoration:none}.mobile-bottom-nav__link.active{color:var(--text-1);background:var(--accent-soft)}.mobile-bottom-nav__link.active svg{color:var(--accent)}.app-topbar__context{display:none}.app-main{padding:var(--space-4);overflow:visible}.page-header{display:block}.page-header__actions{margin-top:var(--space-4)}.feature-grid{grid-template-columns:1fr}.settings-row{grid-template-columns:1fr;gap:5px}}.workspace-page{max-width:1900px}.page-loading{display:flex;min-height:56vh;align-items:center;justify-content:center;gap:var(--space-3);color:var(--text-2)}.session-picker-grid{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:var(--space-5)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4)}.form-stack{display:grid;gap:var(--space-4)}.field,.compact-field{display:grid;gap:7px;min-width:0}.field__label,.compact-field>span{display:flex;align-items:center;gap:7px;color:var(--text-2);font-size:13px;font-weight:720}.field__optional{color:var(--text-3);font-size:11px;font-weight:550}.field input,.field select,.field textarea,.compact-field select{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-1);background:#0e2a36b8}.check-row{display:flex;align-items:flex-start;gap:9px;color:var(--text-2);font-size:13px;cursor:pointer}.check-row input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--accent)}.check-row--compact{align-items:center;font-size:12px}.workspace-topbar{position:sticky;z-index:11;top:calc(var(--topbar-height) + var(--space-2));display:grid;grid-template-columns:minmax(210px,.8fr) auto minmax(350px,1fr);align-items:center;gap:var(--space-4);min-height:64px;margin:calc(-1 * var(--space-2)) 0 var(--space-3);padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#143a4aed;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.workspace-topbar__identity{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.workspace-topbar__identity>div{min-width:0}.workspace-topbar__identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-topbar__eyebrow{display:block;color:var(--text-3);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.1em}.workspace-topbar__actions{display:flex;justify-content:flex-end;gap:6px;min-width:0}.segmented-control{display:inline-flex;gap:3px;padding:4px;border:1px solid var(--border-subtle);border-radius:11px;background:#071c2580}.segmented-control button{min-height:34px;padding:0 12px;border:0;border-radius:8px;color:var(--text-3);font-size:12px;font-weight:720;background:transparent;cursor:pointer}.segmented-control button:hover,.segmented-control button.is-active{color:var(--text-1);background:var(--surface-3)}.segmented-control button.is-active{color:var(--text-1);box-shadow:inset 0 0 0 1px #fe70602e}.workspace-session-switch{display:flex;align-items:center;justify-content:space-between;min-height:34px;margin-bottom:var(--space-3);color:var(--text-3);font-size:12px}.workspace-onboarding{display:grid;max-width:900px;min-height:580px;place-items:center;align-content:center;gap:var(--space-3);margin:var(--space-8) auto 0;padding:var(--space-8);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);text-align:center;background:linear-gradient(145deg,#143a4ad1,#0e2a36eb)}.workspace-onboarding>svg{color:var(--accent)}.workspace-onboarding h2,.workspace-onboarding p{margin-bottom:0}.workspace-onboarding p{color:var(--text-2)}.workspace-onboarding .upload-section{width:min(720px,100%);margin-top:var(--space-3);text-align:left}.workspace-layout{display:grid;grid-template-columns:minmax(245px,.76fr) minmax(500px,2.25fr) minmax(285px,.95fr);grid-template-rows:minmax(620px,calc(100vh - 255px)) auto;gap:var(--space-3);min-height:680px}.workspace-queue-column,.workspace-inspector-column,.workspace-canvas-column{min-width:0;min-height:0}.workspace-queue-column,.workspace-inspector-column{display:flex;flex-direction:column;gap:var(--space-3)}.workspace-queue-column{overflow:hidden;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#071c25d1}.workspace-canvas-column{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--space-2)}.workspace-canvas-panel{position:relative;min-height:0;overflow:hidden}.workspace-canvas-panel>.panel__content{height:100%;min-height:0;padding:0}.canvas-loading-overlay{position:absolute;z-index:10;top:14px;left:50%;display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-2);font-size:12px;background:#0e2a36e0;transform:translate(-50%)}.upload-section{display:grid;gap:10px}.upload-dropzone{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-4);min-height:140px;padding:var(--space-5);border:1px dashed rgba(129,221,237,.35);border-radius:var(--radius-lg);color:var(--accent);background:linear-gradient(rgba(129,221,237,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(129,221,237,.025) 1px,transparent 1px),#0e2a36a6;background-size:24px 24px;transition:border-color .12s ease,background-color .12s ease}.upload-dropzone.is-dragging{border-color:var(--accent-strong);background-color:#fe70601a}.upload-dropzone.is-disabled{opacity:.55}.upload-dropzone__copy{display:grid;gap:3px;min-width:0}.upload-dropzone__copy strong{color:var(--text-1)}.upload-dropzone__copy span{color:var(--text-3);font-size:12px}.upload-section--compact .upload-dropzone{grid-template-columns:auto minmax(0,1fr);min-height:78px;padding:12px}.upload-section--compact .upload-dropzone>.button{grid-column:1 / -1;width:100%}.upload-section--compact .upload-force{display:none}.upload-force{padding-inline:2px}.upload-results{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0e2a36c2}.text-button,.pipeline-inline-action{padding:0;border:0;color:var(--accent);font-size:12px;font-weight:700;background:transparent;cursor:pointer}.upload-results ul{max-height:220px;padding:0;margin:0;overflow:auto;list-style:none}.upload-results li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--border-subtle)}.upload-results li:last-child{border-bottom:0}.upload-result__file{display:flex;min-width:0;align-items:center;gap:6px;overflow:hidden;color:var(--text-2);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.upload-result__message{grid-column:1 / -1;color:var(--text-3);font-size:11px}.image-queue{display:flex;min-height:0;flex:1;flex-direction:column}.image-queue__toolbar{display:flex;align-items:center;justify-content:space-between;padding:3px 1px 9px}.image-queue__count{min-width:24px;padding:2px 7px;border-radius:999px;color:var(--text-3);font-size:11px;text-align:center;background:var(--surface-3)}.image-queue__list,.fish-list{min-height:0;padding:0;margin:0;overflow:auto;list-style:none}.image-queue__list{display:grid;gap:7px;align-content:start}.queue-card{position:relative;overflow:hidden;border:1px solid var(--border-subtle);border-radius:11px;background:#ffffff06}.queue-card.is-active{border-color:#fe70608c;box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-soft)}.queue-card__check{position:absolute;z-index:2;top:7px;left:7px;display:grid;width:23px;height:23px;place-items:center;border-radius:7px;background:#0e2a36d1}.queue-card__check input{width:15px;height:15px;margin:0;accent-color:var(--accent)}.queue-card__open{display:grid;width:100%;grid-template-columns:74px minmax(0,1fr);gap:10px;padding:7px;border:0;color:inherit;text-align:left;background:transparent;cursor:pointer}.queue-card__open:hover{background:#81dded0e}.queue-card__thumbnail{display:grid;width:74px;height:68px;place-items:center;overflow:hidden;border-radius:8px;color:var(--text-3);background:var(--surface-canvas)}.queue-card__thumbnail img{width:100%;height:100%;object-fit:cover}.queue-card__body{display:grid;min-width:0;gap:3px;align-content:start}.queue-card__name{overflow:hidden;font-size:12px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.queue-card__meta{display:flex;gap:10px;color:var(--text-3);font-size:10px}.queue-card__meta span{display:inline-flex;align-items:center;gap:4px}.queue-card__badge{width:fit-content;min-height:19px;padding:1px 6px;font-size:10px}.queue-card__error{overflow:hidden;color:var(--danger-text);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.queue-progress{display:block;height:3px;overflow:hidden;border-radius:999px;background:#ffffff17}.queue-empty,.fish-list-empty,.inspector-empty{display:grid;place-items:center;gap:6px;padding:var(--space-5);color:var(--text-3);text-align:center}.queue-empty strong,.fish-list-empty strong,.inspector-empty strong{color:var(--text-2)}.queue-empty span,.fish-list-empty span,.inspector-empty span{font-size:12px}.overlay-controls{display:grid;grid-template-columns:auto minmax(260px,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#143a4ae6}.overlay-controls__group{display:flex;min-width:0;align-items:center;gap:6px}.overlay-controls__group--view{gap:8px}.compact-field{gap:2px}.compact-field>span,.opacity-control>span{color:var(--text-3);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.compact-field select{min-height:31px;padding:4px 7px;font-size:11px}.opacity-control{display:grid;min-width:95px;gap:1px}.opacity-control input{width:100%;accent-color:var(--accent)}.overlay-toggle-group{flex-wrap:wrap;justify-content:center}.overlay-chip{display:inline-flex;align-items:center;min-height:29px;padding:0 8px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-3);font-size:10px;font-weight:700;cursor:pointer;background:#ffffff06}.overlay-chip input{position:absolute;opacity:0;pointer-events:none}.overlay-chip.is-active{border-color:#fe706047;color:var(--text-1);background:var(--accent-soft)}.canvas-actions{justify-content:flex-end}.canvas-actions .button{min-height:31px;padding-inline:8px;font-size:10px}.review-canvas{position:relative;width:100%;height:100%;min-height:520px;overflow:hidden;border-radius:inherit;background:linear-gradient(rgba(129,221,237,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(129,221,237,.025) 1px,transparent 1px),var(--surface-canvas);background-size:30px 30px;cursor:grab}.review-canvas:not([class*=review-canvas--tool-]):active{cursor:grabbing}.review-canvas:fullscreen{border-radius:0;background-color:var(--surface-canvas)}.review-canvas--empty{display:grid;place-items:center;align-content:center;gap:8px;padding:var(--space-8);color:var(--text-3);text-align:center;cursor:default}.review-canvas--empty strong{color:var(--text-2)}.review-canvas--error svg{color:var(--danger)}.review-canvas__loading,.canvas-notice,.canvas-zoom-indicator{position:absolute;z-index:8;display:flex;align-items:center;gap:7px;border:1px solid var(--border-strong);color:var(--text-2);font-size:11px;background:#0e2a36db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.review-canvas__loading{top:50%;left:50%;padding:9px 12px;border-radius:999px;transform:translate(-50%,-50%)}.canvas-notice{top:10px;left:10px;max-width:min(460px,calc(100% - 90px));padding:7px 10px;border-color:#f4c96b59;border-radius:8px;color:var(--warning)}.canvas-zoom-indicator{right:10px;bottom:10px;padding:5px 8px;border-radius:7px;font-family:var(--font-mono)}.workspace-inspector-column{overflow:hidden}.fish-panel,.inspector-panel{display:flex;min-height:0;flex-direction:column}.fish-panel{flex:0 1 42%}.inspector-panel{flex:1 1 58%}.fish-panel>.panel__content,.inspector-panel>.panel__content{min-height:0;overflow:auto}.fish-panel>.panel__content{padding:8px}.fish-list{display:grid;gap:6px;align-content:start}.fish-row{display:grid;width:100%;grid-template-columns:56px minmax(0,1fr);gap:9px;padding:7px;border:1px solid var(--border-subtle);border-radius:10px;color:inherit;text-align:left;background:#ffffff05;cursor:pointer}.fish-row:hover{border-color:var(--border-strong);background:var(--info-surface)}.fish-row.is-selected{border-color:#fe706061;background:var(--accent-soft)}.fish-row.is-selected{box-shadow:inset 3px 0 0 var(--accent)}.fish-row__thumb{display:grid;width:56px;height:56px;place-items:center;overflow:hidden;border-radius:8px;color:var(--text-3);background:#fff}.fish-row__thumb img{width:100%;height:100%;object-fit:contain}.fish-row__body{display:grid;min-width:0;gap:2px}.fish-row__topline{display:flex;align-items:center;justify-content:space-between;gap:7px;color:var(--text-2);font-size:12px}.fish-row__species,.fish-row__measurement{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fish-row__species{font-size:11px;font-style:italic}.fish-row__measurement{display:inline-flex;align-items:center;gap:4px;color:var(--text-3);font-size:10px}.fish-row__badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.fish-row__badges .badge{min-height:18px;padding:0 5px;font-size:9px}.inspector{display:grid;gap:var(--space-4)}.inspector__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.inspector__header h3{margin:0;font-size:20px}.inspector__eyebrow{display:block;color:var(--text-3);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.inspector-section{padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.inspector-section h4{display:flex;align-items:center;gap:7px;margin:0 0 10px;color:var(--text-2);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.inspector-primary-value{margin-bottom:10px;font-size:18px;font-weight:760}.inspector-list{display:grid;gap:1px;margin:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:8px;background:var(--border-subtle)}.inspector-row{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(0,1.3fr);gap:8px;padding:7px 8px;background:#123746eb}.inspector-row dt{color:var(--text-3);font-size:10px}.inspector-row dd{margin:0;overflow-wrap:anywhere;color:var(--text-2);font-size:10px;text-align:right}.inspector-warning,.fake-result-note{display:flex;gap:8px;padding:9px;border:1px solid rgba(244,201,107,.25);border-radius:9px;color:var(--warning);font-size:11px;background:#f4c96b12}.inspector-warning ul{padding-left:16px;margin:4px 0 0}.candidate-list{display:grid;gap:4px;padding:0;margin:10px 0 0;list-style:none}.candidate-list li{display:flex;justify-content:space-between;gap:10px;padding:5px 7px 5px 9px;border-radius:6px;color:var(--text-3);font-size:10px;background:#ffffff06}.pipeline-bar{grid-column:1 / -1;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-4);padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#143a4aeb}.pipeline-steps{display:flex;min-width:0;flex:1;align-items:stretch;overflow-x:auto}.pipeline-step{position:relative;display:grid;min-width:135px;grid-template-columns:26px minmax(0,1fr);gap:7px;align-items:start;padding:4px 14px 4px 4px}.pipeline-step:not(:last-child):after{position:absolute;top:17px;right:2px;width:10px;height:1px;background:var(--border-strong);content:""}.pipeline-step__number{display:grid;width:25px;height:25px;place-items:center;border:1px solid var(--border-strong);border-radius:50%;color:var(--text-3);font-family:var(--font-mono);font-size:10px;background:#0e2a36b3}.pipeline-step__body{display:grid;min-width:0;gap:3px}.pipeline-step__body strong{font-size:11px}.pipeline-step__body .badge{width:fit-content;min-height:18px;padding:0 5px;font-size:9px}.pipeline-step__body small{overflow:hidden;color:var(--text-3);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.pipeline-step__error{color:var(--danger-text)!important}.pipeline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.pipeline-actions .button{min-height:32px}.spin-icon{animation:spinner-rotate .9s linear infinite}@media (max-width: 1500px){.workspace-topbar{grid-template-columns:minmax(190px,.7fr) auto minmax(290px,1fr)}.workspace-topbar__actions .button:first-child span:last-child,.workspace-topbar__actions .button:nth-child(2) span:last-child{display:none}.workspace-layout{grid-template-columns:minmax(220px,.68fr) minmax(460px,2fr) minmax(260px,.82fr)}.overlay-controls{grid-template-columns:1fr auto}.overlay-toggle-group{grid-column:1 / -1;grid-row:2;justify-content:flex-start}}@media (max-width: 1200px){.workspace-topbar{position:static;grid-template-columns:1fr auto}.workspace-topbar__identity{grid-column:1}.segmented-control{grid-column:2}.workspace-topbar__actions{grid-column:1 / -1}.workspace-layout{grid-template-columns:230px minmax(440px,1fr);grid-template-rows:minmax(620px,calc(100vh - 320px)) auto auto}.workspace-inspector-column{grid-column:1 / -1;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(340px,1.2fr);overflow:visible}.fish-panel,.inspector-panel{max-height:440px}}@media (max-width: 820px){.session-picker-grid,.form-grid{grid-template-columns:1fr}.workspace-topbar{display:flex;flex-direction:column;align-items:stretch}.workspace-topbar__actions,.segmented-control{overflow-x:auto}.workspace-layout{display:flex;flex-direction:column}.workspace-queue-column{max-height:520px}.workspace-canvas-column{min-height:620px}.workspace-inspector-column{display:grid;grid-template-columns:1fr}.overlay-controls{display:flex;overflow-x:auto}.overlay-toggle-group{flex-wrap:nowrap}.review-canvas{min-height:540px}.pipeline-bar{align-items:stretch;flex-direction:column}.pipeline-actions{justify-content:flex-start}}.workspace-page--active{width:100%;min-height:calc(100vh - var(--topbar-height) - var(--space-6) * 2)}.workspace-topbar{position:relative;z-index:12;display:grid;grid-template-columns:minmax(300px,1fr) auto minmax(300px,1fr);align-items:center;gap:var(--space-4);min-height:58px;margin-bottom:var(--space-3);padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#123746eb;box-shadow:var(--shadow-sm)}.workspace-topbar__context,.workspace-topbar__actions{min-width:0}.workspace-topbar__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.workspace-modes{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid var(--border-subtle);border-radius:12px;background:#0e2a367a}.workspace-mode{display:inline-flex;min-height:34px;align-items:center;gap:7px;padding:0 11px;border:0;border-radius:9px;color:var(--text-3);font-size:12px;font-weight:720;background:transparent;cursor:pointer}.workspace-mode:hover{color:var(--text-1);background:#ffffff0b}.workspace-mode.is-active{color:var(--text-1);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #fe70602e}.workspace-layout{display:grid;grid-template-columns:minmax(210px,252px) minmax(460px,1fr) minmax(270px,330px);grid-template-rows:minmax(560px,calc(100vh - 252px)) auto;gap:var(--space-3);min-height:0}.workspace-layout__left,.workspace-layout__right{display:flex;min-width:0;min-height:0;flex-direction:column;gap:var(--space-3)}.workspace-layout__center{min-width:0;min-height:0}.workspace-layout__right .fish-list{flex:0 1 44%;min-height:210px}.workspace-layout__right .inspector{flex:1 1 56%;min-height:260px}.workspace-layout__pipeline{min-width:0;grid-column:1 / -1}.workspace-loading{display:grid;min-height:420px;place-items:center;align-content:center;gap:var(--space-3);color:var(--text-3);text-align:center}.workspace-loading strong{color:var(--text-1);font-size:18px}.workspace-loading--inside{min-height:300px}.workspace-error{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);padding:10px 13px;border:1px solid rgba(255,92,108,.28);border-radius:var(--radius-md);color:var(--danger-text);background:#5e121c52}.workspace-error>span{min-width:0;flex:1}.workspace-error__dismiss,.workspace-error>button:not(.button){border:0;color:var(--text-2);font-size:12px;background:transparent;cursor:pointer}.workspace-empty-session{display:grid;max-width:960px;min-height:610px;place-items:center;align-content:center;gap:var(--space-8);margin:0 auto}.workspace-empty-session__copy{max-width:650px;text-align:center}.workspace-empty-session__copy h1{margin-bottom:10px;font-size:clamp(28px,4vw,44px)}.workspace-empty-session__copy p{margin:0;color:var(--text-2)}.field{display:grid;gap:7px}.field__label{display:flex;align-items:center;gap:7px;color:var(--text-2);font-size:12px;font-weight:740}.field__optional{color:var(--text-3);font-weight:500}.field input,.field select,.field textarea,.compact-field select{width:100%;min-height:40px;padding:8px 11px;border:1px solid var(--border-strong);border-radius:9px;color:var(--text-1);background:#0e2a36b8}.field textarea{resize:vertical}.field input::placeholder,.field textarea::placeholder{color:var(--text-3)}.field--compact{gap:5px}.field--compact select{min-height:34px;font-size:12px}.workspace-onboarding{width:min(720px,100%);margin:0 auto}.session-picker--prominent{display:grid;gap:var(--space-5)}.session-picker--compact{position:relative;display:flex;min-width:0;align-items:center;gap:7px}.compact-field{min-width:0}.compact-field select{min-height:34px;max-width:160px;padding-block:4px;color:var(--text-2);font-size:12px}.compact-field--session{flex:1}.compact-field--session select{max-width:250px}.session-create-form{display:grid;gap:var(--space-4)}.session-create-form__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.session-picker__separator{display:flex;align-items:center;gap:10px;color:var(--text-3);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.session-picker__separator:before,.session-picker__separator:after{height:1px;flex:1;background:var(--border-subtle);content:""}.session-picker__popover{position:absolute;z-index:50;top:calc(100% + 10px);left:0;width:min(430px,calc(100vw - 60px));padding:var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-1);box-shadow:var(--shadow-lg)}.upload-area{width:min(760px,100%)}.upload-area--compact{width:100%}.upload-dropzone{display:grid;width:100%;min-height:245px;place-items:center;align-content:center;gap:7px;padding:var(--space-8);border:1px dashed rgba(129,221,237,.37);border-radius:var(--radius-xl);color:var(--text-2);text-align:center;background:radial-gradient(circle at 50% 0%,rgba(129,221,237,.08),transparent 60%),#143a4ac7;cursor:pointer;transition:border-color .12s ease,background-color .12s ease,transform .12s ease}.upload-dropzone:hover,.upload-dropzone.is-dragging{border-color:var(--accent);background-color:#fe706014}.upload-dropzone.is-dragging{transform:scale(1.01)}.upload-dropzone__icon{display:grid;width:62px;height:62px;place-items:center;margin-bottom:6px;border-radius:18px;color:var(--accent-strong);background:var(--accent-soft)}.upload-dropzone__title{color:var(--text-1);font-size:18px;font-weight:780}.upload-dropzone__copy{color:var(--text-3);font-size:13px}.upload-dropzone__action{display:inline-flex;align-items:center;gap:7px;margin-top:10px;color:var(--accent-strong);font-size:13px;font-weight:740}.upload-area--compact .upload-dropzone{min-height:108px;padding:13px;border-radius:var(--radius-md)}.upload-area--compact .upload-dropzone__icon{width:34px;height:34px;margin:0;border-radius:10px}.upload-area--compact .upload-dropzone__title{font-size:13px}.upload-area--compact .upload-dropzone__copy{font-size:11px}.upload-results{margin-top:var(--space-3);overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-1)}.upload-results__header{display:flex;align-items:center;justify-content:space-between;padding:9px 11px;border-bottom:1px solid var(--border-subtle);font-size:12px}.upload-results__list{display:grid;max-height:240px;overflow:auto}.upload-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:42px;padding:7px 10px;border-bottom:1px solid rgba(129,221,237,.07);color:var(--text-2);font-size:11px}.upload-result__message{grid-column:2 / -1;color:var(--danger-text)}.image-queue,.fish-list,.inspector{min-width:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#123746e6;box-shadow:var(--shadow-sm)}.image-queue{display:flex;min-height:0;flex:1 1 auto;flex-direction:column}.image-queue__header,.fish-list__header{display:flex;min-height:54px;align-items:center;justify-content:space-between;gap:var(--space-3);padding:10px 12px;border-bottom:1px solid var(--border-subtle)}.image-queue__header strong,.fish-list__header strong{font-size:13px}.image-queue__header-copy>span,.fish-list__header span{color:var(--text-3);font-size:10px}.queue-select-all{display:inline-flex;align-items:center;gap:6px;color:var(--text-3);font-size:10px;cursor:pointer}.queue-select-all input,.queue-item__check input,.toggle-row input{accent-color:var(--accent)}.image-queue__list{min-height:0;flex:1;overflow:auto;padding:7px}.queue-item{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);margin-bottom:6px;border:1px solid transparent;border-radius:11px;background:#ffffff05}.queue-item:hover{border-color:var(--border-subtle);background:#ffffff0a}.queue-item.is-current{border-color:#fe70606b;background:#fe706014}.queue-item__check{display:grid;place-items:start center;padding-top:12px;cursor:pointer}.queue-item__button{display:grid;min-width:0;grid-template-columns:52px minmax(0,1fr);gap:9px;padding:8px 8px 8px 0;border:0;color:inherit;text-align:left;background:transparent;cursor:pointer}.queue-item__thumbnail{display:grid;width:52px;height:52px;overflow:hidden;place-items:center;border-radius:8px;color:var(--text-3);background:var(--surface-canvas)}.queue-item__thumbnail img{width:100%;height:100%;object-fit:cover}.queue-item__body{display:grid;min-width:0;gap:4px}.queue-item__name{overflow:hidden;color:var(--text-1);font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.queue-item__meta,.queue-item__error,.queue-item__warning,.queue-item__success{display:inline-flex;align-items:center;gap:5px;color:var(--text-3);font-size:10px}.queue-item__badges{display:flex;flex-wrap:wrap;gap:4px}.queue-item__badges .badge{min-height:18px;padding:0 5px;font-size:9px}.queue-item__error{color:var(--danger-text)}.queue-item__warning{color:var(--warning)}.queue-item__success{color:var(--success)}.queue-progress{display:block;width:100%;height:3px;overflow:hidden;border-radius:999px;background:#ffffff14}.queue-progress>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.queue-empty,.fish-list__empty{display:grid;min-height:180px;place-items:center;align-content:center;gap:7px;padding:var(--space-5);color:var(--text-3);text-align:center}.queue-empty strong,.fish-list__empty strong{color:var(--text-2)}.queue-empty span,.fish-list__empty span{max-width:26ch;font-size:11px}.fish-list{display:flex;min-height:0;flex-direction:column}.fish-list__items{min-height:0;flex:1;overflow:auto;padding:7px}.fish-card{display:grid;width:100%;grid-template-columns:48px minmax(0,1fr);gap:9px;margin-bottom:6px;padding:7px;border:1px solid transparent;border-radius:10px;color:inherit;text-align:left;background:#ffffff05;cursor:pointer}.fish-card:hover{background:#ffffff0b}.fish-card.is-selected{border-color:#fe70606b;background:var(--accent-soft)}.fish-card__crop{display:grid;width:48px;height:48px;overflow:hidden;place-items:center;border-radius:9px;color:var(--text-3);background:#fff}.fish-card__crop img{width:100%;height:100%;object-fit:contain}.fish-card__content{display:grid;min-width:0;gap:3px}.fish-card__title{display:flex;align-items:center;justify-content:space-between;gap:6px}.fish-card__title strong{font-size:12px}.fish-card__title .badge{min-height:18px;padding:0 5px;font-size:9px}.fish-card__species{overflow:hidden;color:var(--text-2);font-size:11px;font-style:italic;text-overflow:ellipsis;white-space:nowrap}.fish-card__meta{display:flex;flex-wrap:wrap;gap:9px;color:var(--text-3);font-size:9px}.fish-card__meta>span{display:inline-flex;align-items:center;gap:4px}.fish-card__warning{color:var(--warning)}.inspector{min-height:0;overflow:auto}.inspector--empty{display:grid;place-items:center;align-content:center;gap:7px;padding:var(--space-5);color:var(--text-3);text-align:center}.inspector__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:13px 14px;border-bottom:1px solid var(--border-subtle)}.inspector__eyebrow{display:block;margin-bottom:2px;color:var(--text-3);font-size:9px;font-weight:750;text-transform:uppercase;letter-spacing:.09em}.inspector__header h2{margin:0;font-size:16px}.inspector-section{padding:13px 14px;border-bottom:1px solid var(--border-subtle)}.inspector-section:last-child{border-bottom:0}.inspector-section h3{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:var(--text-2);font-size:12px}.inspector-section dl{display:grid;gap:6px;margin:0}.inspector-definition{display:grid;grid-template-columns:minmax(80px,.7fr) minmax(0,1.3fr);gap:8px;font-size:10px}.inspector-definition dt{color:var(--text-3)}.inspector-definition dd{margin:0;overflow-wrap:anywhere;color:var(--text-2);text-align:right}.inspector-primary-value{margin:-2px 0 10px;overflow-wrap:anywhere;color:var(--accent-strong);font-size:17px;font-weight:780;font-style:italic}.inspector-code,.inspector-note,.inspector-warning,.inspector-success{display:flex;align-items:flex-start;gap:6px;margin:9px 0 0;padding:7px 8px;border-radius:8px;font-size:9px}.inspector-code{overflow-wrap:anywhere;color:var(--text-3);font-family:var(--font-mono);background:#0000002e}.inspector-note{color:var(--info);background:#3290b814}.inspector-warning{color:var(--warning);background:#f4c96b14}.inspector-success{margin:12px 14px;color:var(--success);background:#67d7a514}.candidate-list{display:grid;gap:4px;margin:10px 0 0;padding:0;list-style:none;counter-reset:candidates}.candidate-list li{display:flex;justify-content:space-between;gap:8px;padding:4px 6px;border-radius:6px;color:var(--text-3);font-size:9px;background:#ffffff06;counter-increment:candidates}.candidate-list li span:before{margin-right:5px;color:var(--text-3);content:counter(candidates) "."}.candidate-list strong{color:var(--text-2)}.review-canvas{position:relative;display:flex;width:100%;height:100%;min-height:560px;overflow:hidden;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-canvas);box-shadow:var(--shadow-sm)}.review-canvas.is-fullscreen{width:100vw;height:100vh;border:0;border-radius:0}.canvas-toolbar{position:relative;z-index:10;display:flex;min-height:47px;align-items:center;justify-content:space-between;gap:var(--space-3);padding:6px 8px;border-bottom:1px solid var(--border-subtle);background:#143a4af5}.canvas-toolbar__group{display:flex;align-items:center;gap:4px}.canvas-toolbar button,.overlay-menu-button{display:inline-flex;min-height:32px;align-items:center;gap:6px;padding:0 9px;border:1px solid transparent;border-radius:8px;color:var(--text-3);font-size:10px;font-weight:700;background:transparent;cursor:pointer}.canvas-toolbar button:hover:not(:disabled),.overlay-menu-button:hover,.overlay-menu-button.is-active{border-color:var(--border-subtle);color:var(--text-1);background:#ffffff0d}.canvas-toolbar button:disabled{opacity:.4}.canvas-zoom{min-width:45px;color:var(--text-3);font-family:var(--font-mono);font-size:9px;text-align:center}.canvas-stage-wrap{position:relative;min-height:0;flex:1;overflow:hidden;background:linear-gradient(rgba(129,221,237,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(129,221,237,.025) 1px,transparent 1px),var(--surface-canvas);background-size:28px 28px}.canvas-stage-wrap canvas{display:block}.canvas-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:8px;color:var(--text-3);text-align:center}.canvas-empty strong{color:var(--text-2)}.canvas-raster-status,.canvas-raster-error{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:8px;color:var(--text-2);font-size:10px;background:#071c25eb;box-shadow:var(--shadow-sm)}.canvas-raster-error{color:var(--danger-text)}.canvas-comparison-note{padding:6px 10px;border-top:1px solid var(--border-subtle);color:var(--warning);font-size:9px;background:#f4c96b0f}.overlay-controls{position:relative;display:flex;align-items:center;gap:5px}.comparison-switch{display:flex;gap:2px;padding:3px;border:1px solid var(--border-subtle);border-radius:9px;background:#0003}.comparison-switch button{min-height:25px;padding:0 7px;border-radius:6px;font-size:9px}.comparison-switch button.is-active{color:var(--text-1);background:var(--accent-soft)}.overlay-popover{position:absolute;z-index:80;top:calc(100% + 8px);right:0;width:255px;padding:12px;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-1);box-shadow:var(--shadow-lg)}.overlay-popover__title{display:flex;align-items:center;gap:7px;margin-bottom:10px;color:var(--text-2);font-size:11px;font-weight:750}.overlay-toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px 8px;margin-bottom:12px}.toggle-row{display:flex;align-items:center;gap:7px;min-height:27px;color:var(--text-3);font-size:10px;cursor:pointer}.range-field{display:grid;gap:5px;margin-top:10px;color:var(--text-3);font-size:10px}.range-field span{display:flex;justify-content:space-between}.range-field input{width:100%;accent-color:var(--accent)}.pipeline-bar{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:64px;padding:7px 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#123746eb;box-shadow:var(--shadow-sm)}.pipeline-bar__steps{display:flex;min-width:0;flex:1;align-items:stretch;gap:5px;overflow-x:auto}.pipeline-step{display:grid;min-width:116px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:6px;padding:7px 8px;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff05}.pipeline-step__icon{display:grid;width:24px;height:24px;place-items:center;border-radius:7px;color:var(--text-3);background:#ffffff0d}.pipeline-step__body{display:grid;gap:1px}.pipeline-step__body strong{color:var(--text-2);font-size:10px}.pipeline-step__body span{color:var(--text-3);font-size:9px}.pipeline-step .badge{min-height:17px;padding:0 4px;font-size:8px}.pipeline-step__action{display:inline-flex;align-items:center;gap:4px;padding:4px 5px;border:0;border-radius:6px;color:var(--danger-text);font-size:8px;background:#ff5c6c14;cursor:pointer}.pipeline-bar__actions{display:flex;flex:0 0 auto;align-items:center;gap:5px}@media (max-width: 1450px){.workspace-layout{grid-template-columns:220px minmax(420px,1fr) 285px}.workspace-topbar{grid-template-columns:minmax(250px,1fr) auto}.workspace-modes{grid-column:1 / -1;grid-row:2;justify-self:center}.workspace-topbar__actions{grid-column:2;grid-row:1}}@media (max-width: 1180px){.workspace-layout{grid-template-columns:210px minmax(390px,1fr);grid-template-rows:minmax(560px,calc(100vh - 260px)) auto auto}.workspace-layout__right{display:grid;grid-column:1 / -1;grid-row:2;grid-template-columns:1fr 1fr;min-height:330px}.workspace-layout__pipeline{grid-row:3}.workspace-layout__right .fish-list,.workspace-layout__right .inspector{min-height:320px}.pipeline-bar{align-items:stretch;flex-direction:column}.pipeline-bar__actions{justify-content:flex-end}}@media (max-width: 860px){.workspace-topbar{display:flex;align-items:stretch;flex-direction:column}.workspace-modes{order:2;align-self:stretch;overflow-x:auto}.workspace-topbar__actions{justify-content:stretch}.workspace-topbar__actions .button{flex:1}.workspace-layout{display:flex;min-height:0;flex-direction:column}.workspace-layout__left{max-height:390px}.workspace-layout__center{height:520px}.workspace-layout__right{display:flex;min-height:640px;flex-direction:column}.review-canvas{min-height:500px}.canvas-toolbar{align-items:flex-start;flex-direction:column}.canvas-toolbar__group{width:100%;overflow-x:auto}.comparison-switch{order:-1}}@media (max-width: 600px){.workspace-page--active{min-height:0}.workspace-mode span{white-space:nowrap}.session-picker--compact{align-items:stretch;flex-wrap:wrap}.compact-field,.compact-field select,.compact-field--session select{max-width:none;flex:1}.workspace-layout__center{height:440px}.review-canvas{min-height:430px}.canvas-toolbar button span:not(.sr-only){display:none}.comparison-switch button{padding-inline:5px}.pipeline-bar__actions{flex-wrap:wrap}}.workspace-page--picker{min-height:calc(100vh - var(--topbar-height) - var(--space-8))}.workspace-upload-strip .upload-area--compact .upload-results{max-height:180px;overflow:auto}.session-picker-card{width:min(720px,100%);text-align:left}.workspace-operator-select{margin-left:auto}.workspace-canvas-column{display:grid;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:var(--space-2)}.workspace-canvas-panel{position:relative;min-height:0}.canvas-loading-overlay{position:absolute;z-index:20;top:12px;left:50%;display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-2);font-size:11px;background:#0e2a36e6;transform:translate(-50%)}.workspace-bootstrap{display:grid;min-height:calc(100vh - var(--topbar-height) - 52px);place-items:center;padding:clamp(12px,3vw,42px)}.session-picker-panel{width:min(1080px,100%)}.session-picker-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);gap:var(--space-6)}.session-picker-existing,.session-create{min-width:0;padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#0e2a366b}.session-create{display:grid;gap:var(--space-4);align-content:start}.section-heading{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.section-heading>svg{flex:0 0 auto;margin-top:2px;color:var(--accent)}.section-heading h3{margin:0 0 4px;font-size:16px}.section-heading p{margin:0;color:var(--text-3);font-size:12px}.session-card-list{display:grid;max-height:455px;gap:8px;overflow:auto}.session-card{display:grid;width:100%;gap:3px;padding:13px 14px;border:1px solid var(--border-subtle);border-radius:11px;color:var(--text-2);text-align:left;background:#ffffff06;cursor:pointer}.session-card:hover{border-color:#fe70606b;color:var(--text-1);background:var(--accent-soft)}.session-card__title{overflow:hidden;color:var(--text-1);font-weight:760;text-overflow:ellipsis;white-space:nowrap}.session-card__meta,.session-card__date,.empty-list{color:var(--text-3);font-size:11px}.empty-list{padding:var(--space-6);border:1px dashed var(--border-strong);border-radius:10px;text-align:center}.inline-alert{padding:10px 12px;border:1px solid var(--border-strong);border-radius:9px;color:var(--text-2);font-size:13px;background:#ffffff09}.inline-alert--danger{border-color:#ff5c6c57;color:var(--danger-text);background:#70151f47}.workspace-page{position:relative;width:100%;max-width:none;min-height:calc(100vh - var(--topbar-height) - var(--space-6) * 2)}.workspace-alert{margin-bottom:var(--space-3)}.workspace-refreshing{position:fixed;z-index:60;right:var(--space-6);bottom:var(--space-6);display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-2);font-size:12px;background:#0e2a36f0;box-shadow:var(--shadow-lg)}.workspace-topbar{position:sticky;z-index:16;top:calc(var(--topbar-height) + 8px);display:grid;grid-template-columns:minmax(180px,.75fr) auto minmax(420px,1.25fr);align-items:center;gap:var(--space-3);min-height:60px;margin-bottom:var(--space-3);padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#143a4af0;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.workspace-topbar__identity{display:grid;min-width:0;grid-template-columns:auto 1fr;gap:0 9px;align-items:center}.workspace-topbar__identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-topbar__identity>span:last-child{grid-column:2;color:var(--text-3);font-size:10px}.workspace-topbar__eyebrow{grid-row:1 / span 2;writing-mode:vertical-rl;color:var(--text-3);font-size:8px;font-weight:760;text-transform:uppercase;letter-spacing:.08em}.workspace-topbar__actions{display:flex;min-width:0;justify-content:flex-end;gap:6px}.workspace-topbar__operator{min-width:150px}.workspace-modes{display:flex;gap:3px;padding:4px;border:1px solid var(--border-subtle);border-radius:11px;background:#071c257a}.workspace-mode{display:inline-flex;min-height:34px;align-items:center;gap:6px;padding:0 10px;border:0;border-radius:8px;color:var(--text-3);font-size:11px;font-weight:720;background:transparent;cursor:pointer}.workspace-mode:hover,.workspace-mode.is-active{color:var(--text-1);background:var(--accent-soft)}.workspace-upload-strip{margin-bottom:var(--space-3)}.workspace-empty-session>.panel__content{display:grid;min-height:540px;align-content:center}.workspace-grid{display:grid;min-height:0;grid-template-columns:minmax(220px,255px) minmax(520px,1fr) minmax(285px,340px);grid-template-rows:minmax(610px,calc(100vh - 290px));gap:var(--space-3)}.workspace-stage{display:grid;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr);gap:7px}.workspace-canvas-wrap{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-canvas);box-shadow:var(--shadow-sm)}.workspace-canvas-loading{position:absolute;z-index:12;top:12px;left:50%;display:grid;place-items:center;padding:8px 11px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-2);background:#0e2a36e6;transform:translate(-50%)}.workspace-inspection{display:grid;min-width:0;min-height:0;grid-template-rows:minmax(230px,.82fr) minmax(300px,1.18fr);gap:var(--space-3)}.workspace-selection-hint{position:fixed;z-index:40;right:var(--space-6);bottom:86px;display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-2);font-size:11px;background:#0e2a36eb;box-shadow:var(--shadow-lg)}.upload-section--compact .upload-dropzone{grid-template-columns:auto minmax(0,1fr) auto;min-height:64px;padding:9px 12px}.upload-section--compact .upload-dropzone>.button{grid-column:auto;width:auto}.upload-dropzone>div{display:grid;min-width:0;gap:2px}.upload-dropzone>div strong{color:var(--text-1);font-size:13px}.upload-dropzone>div span{overflow:hidden;color:var(--text-3);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.upload-results{display:grid;max-height:220px;overflow:auto}.upload-result{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:5px 8px;align-items:center;padding:7px 9px;border-bottom:1px solid var(--border-subtle);color:var(--text-2);font-size:11px}.upload-result:last-child{border-bottom:0}.upload-result__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-result__issue{grid-column:2 / -1;color:var(--text-3);font-size:10px}.image-queue,.fish-list,.inspector{min-width:0;min-height:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(160deg,#143a4af0,#123746f0);box-shadow:var(--shadow-sm)}.image-queue{display:grid;grid-template-rows:auto minmax(0,1fr)}.image-queue__header,.fish-list__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px;border-bottom:1px solid var(--border-subtle)}.image-queue__header>div,.fish-list__header>div{display:grid;gap:1px}.image-queue__eyebrow,.fish-list__eyebrow{color:var(--text-3);font-size:9px;font-weight:760;text-transform:uppercase;letter-spacing:.09em}.queue-select-all{display:inline-flex;align-items:center;gap:5px;color:var(--text-3);font-size:10px}.queue-select-all input,.image-card__selector input{accent-color:var(--accent)}.image-queue__list,.fish-list__items{display:grid;min-height:0;gap:7px;align-content:start;padding:8px;overflow:auto}.image-queue__empty,.fish-list__empty,.inspector--empty{display:grid;min-height:180px;place-items:center;align-content:center;gap:7px;padding:var(--space-5);color:var(--text-3);text-align:center}.fish-list__empty strong{color:var(--text-2)}.fish-list__empty span{font-size:11px}.image-card{position:relative;overflow:hidden;border:1px solid var(--border-subtle);border-radius:11px;background:#ffffff06}.image-card.is-active{border-color:#fe706085;box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-soft)}.image-card.is-selected:not(.is-active){border-color:#3290b857}.image-card__selector{position:absolute;z-index:3;top:7px;left:7px;display:grid;width:23px;height:23px;place-items:center;border-radius:7px;background:#0e2a36d6}.image-card__open{display:grid;width:100%;grid-template-columns:74px minmax(0,1fr);gap:9px;padding:7px;border:0;color:inherit;text-align:left;background:transparent;cursor:pointer}.image-card__open:hover{background:#81dded0e}.image-card__thumb{position:relative;display:grid;width:74px;height:70px;place-items:center;overflow:hidden;border-radius:8px;color:var(--text-3);background:var(--surface-canvas)}.image-card__thumb img{width:100%;height:100%;object-fit:cover}.image-card__loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--accent);background:#071c2594}.image-card__loading svg{animation:spinner-rotate .7s linear infinite}.image-card__body{display:grid;min-width:0;gap:3px;align-content:start}.image-card__body>strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.image-card__meta{color:var(--text-3);font-size:9px}.image-card__badges{display:flex;flex-wrap:wrap;gap:3px}.image-card__badges .badge{min-height:17px;padding:0 5px;font-size:8px}.image-card__progress{height:3px;background:#ffffff14}.image-card__progress>span{display:block;height:100%;background:var(--accent)}.image-card__error,.image-card__validated{display:flex;align-items:center;gap:5px;padding:5px 8px 7px;margin:0;font-size:9px}.image-card__error{color:var(--danger-text)}.image-card__validated{color:var(--success)}.overlay-controls{display:grid;gap:6px;padding:8px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#143a4aeb}.overlay-controls__row,.overlay-toggles,.canvas-command-group{display:flex;min-width:0;align-items:center;gap:7px}.overlay-controls__row{flex-wrap:wrap}.overlay-controls__row>label{display:grid;gap:2px;color:var(--text-3);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.overlay-controls select{min-height:29px;padding:3px 7px;border:1px solid var(--border-strong);border-radius:7px;color:var(--text-1);font-size:10px;background:#0e2a36b8}.opacity-control{min-width:120px}.opacity-control input{accent-color:var(--accent)}.canvas-command-group{margin-left:auto}.canvas-command-group .button{min-height:29px;padding-inline:8px;font-size:9px}.overlay-toggles{flex-wrap:wrap}.overlay-toggle{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0 7px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-3);font-size:9px;cursor:pointer}.overlay-toggle:has(input:checked){border-color:#fe706059;color:var(--text-1);background:var(--accent-soft)}.overlay-toggle input{width:12px;height:12px;margin:0;accent-color:var(--accent)}.overlay-controls__hint{margin-left:auto;color:var(--text-3);font-size:9px}.review-canvas{min-height:100%;border-radius:var(--radius-lg)}.workspace-inspection .fish-list,.workspace-inspection .inspector{height:100%}.fish-row{grid-template-columns:54px minmax(0,1fr)}.fish-row.is-active{border-color:#fe70607a;box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-soft)}.fish-row__title{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:5px}.fish-row__title .badge{min-height:16px;padding:0 4px;font-size:8px}.fish-row__species,.fish-row__length,.fish-row__warning{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fish-row__length,.fish-row__warning{display:flex;align-items:center;gap:4px;color:var(--text-3);font-size:9px}.fish-row__warning{color:var(--warning)}.inspector{display:block;padding:var(--space-4);overflow:auto}.inspector__header h2{margin:0;font-size:19px}.inspector-section h3{display:flex;align-items:center;gap:7px;margin:0 0 10px;color:var(--text-2);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.inspector dl{display:grid;grid-template-columns:minmax(85px,.7fr) minmax(0,1.3fr);gap:1px;margin:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:8px;background:var(--border-subtle)}.inspector dt,.inspector dd{padding:6px 7px;background:#123746f0;font-size:10px}.inspector dt{color:var(--text-3)}.inspector dd{margin:0;color:var(--text-2);text-align:right;overflow-wrap:anywhere}.inspector-code{padding:7px 8px;border-radius:7px;color:var(--text-3);font-family:var(--font-mono);font-size:9px;background:#071c258c}.inspector-note,.inspector-success{display:flex;align-items:center;gap:6px;color:var(--text-3);font-size:10px}.inspector-success{color:var(--success)}.pipeline-bar{position:sticky;z-index:14;bottom:8px;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);padding:9px 10px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#143a4af2;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.pipeline-bar__steps{display:flex;min-width:0;flex:1;gap:5px;overflow-x:auto}.pipeline-step{display:grid;min-width:124px;grid-template-columns:24px minmax(0,1fr) auto;gap:5px;align-items:center;padding:5px 7px;border:1px solid var(--border-subtle);border-radius:9px;background:#ffffff06}.pipeline-step:after{display:none}.pipeline-step__icon{display:grid;width:22px;height:22px;place-items:center;border-radius:50%;color:var(--text-3);background:#ffffff0d}.pipeline-step--success .pipeline-step__icon{color:var(--success)}.pipeline-step--warning .pipeline-step__icon{color:var(--warning)}.pipeline-step--danger .pipeline-step__icon{color:var(--danger)}.pipeline-step--info .pipeline-step__icon{color:var(--info)}.pipeline-step__body{display:grid;min-width:0;gap:1px;padding:0;border:0;color:inherit;text-align:left;background:transparent;cursor:pointer}.pipeline-step__body--static{cursor:default}.pipeline-step__body strong{font-size:10px}.pipeline-step__body span{color:var(--text-3);font-size:8px}.pipeline-step__action{display:inline-flex;align-items:center;gap:3px;padding:3px 5px;border:0;border-radius:5px;color:var(--danger-text);font-size:8px;background:#ff5c6c14;cursor:pointer}.pipeline-bar__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.pipeline-bar__actions .button{min-height:30px;padding-inline:8px;font-size:9px}@media (max-width: 1500px){.workspace-topbar{grid-template-columns:minmax(170px,.6fr) auto minmax(350px,1fr)}.workspace-grid{grid-template-columns:minmax(205px,235px) minmax(460px,1fr) minmax(260px,310px)}.workspace-topbar__actions .button>span:last-child:not(.button__icon){display:none}}@media (max-width: 1240px){.workspace-topbar{position:static;grid-template-columns:minmax(180px,1fr) auto}.workspace-topbar__actions{grid-column:1 / -1}.workspace-grid{grid-template-columns:225px minmax(440px,1fr);grid-template-rows:minmax(600px,calc(100vh - 330px)) auto}.workspace-inspection{grid-column:1 / -1;grid-template-columns:minmax(300px,.8fr) minmax(340px,1.2fr);grid-template-rows:minmax(300px,420px)}}@media (max-width: 860px){.session-picker-grid{grid-template-columns:1fr}.workspace-topbar{display:flex;flex-direction:column;align-items:stretch}.workspace-modes,.workspace-topbar__actions{overflow-x:auto}.workspace-grid{display:flex;flex-direction:column}.image-queue{max-height:460px}.workspace-stage{min-height:600px}.workspace-inspection{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto}.overlay-controls__row,.overlay-toggles{flex-wrap:nowrap;overflow-x:auto}.canvas-command-group{margin-left:0}.pipeline-bar{position:static;align-items:stretch;flex-direction:column}.pipeline-bar__actions{justify-content:flex-start}}.review-canvas--tool-brush_add,.review-canvas--tool-brush_erase,.review-canvas--tool-split{cursor:none}.review-canvas--tool-new_fish,.review-canvas--tool-new_apriltag,.review-canvas--tool-polygon_add,.review-canvas--tool-polygon_erase{cursor:crosshair}.review-canvas--apriltag-adjust{cursor:grab}.review-canvas--tool-move_mask{cursor:move}.review-canvas--tool-transform_box{cursor:default}.review-canvas--tool-merge{cursor:crosshair}.canvas-tool-hint{position:absolute;z-index:12;top:10px;left:50%;max-width:min(520px,calc(100% - 160px));padding:6px 10px;transform:translate(-50%);border:1px solid rgba(254,112,96,.27);border-radius:999px;color:var(--text-2);font-size:10px;text-align:center;pointer-events:none;background:#0e2a36e6;box-shadow:var(--shadow-sm)}.geometry-inspector{display:flex;min-height:0;flex-direction:column;gap:12px;padding:14px;overflow:auto;border-top:1px solid var(--border-subtle);background:linear-gradient(165deg,#143a4af5,#123746f7)}.geometry-inspector__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.geometry-inspector__header h2{margin:0;font-size:17px}.geometry-inspector__empty{display:grid;min-height:150px;place-items:center;align-content:center;gap:7px;padding:18px;border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-3);text-align:center}.geometry-inspector__facts,.geometry-dialog-summary{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr);gap:5px 12px;margin:0;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:11px;background:#ffffff06}.geometry-inspector__facts span,.geometry-dialog-summary dt{color:var(--text-3)}.geometry-inspector__facts strong,.geometry-inspector__facts code,.geometry-dialog-summary dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text-1)}.geometry-inspector__section{display:grid;gap:9px;min-width:0;padding:11px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05}fieldset.geometry-inspector__section{margin:0}.geometry-inspector__section legend,.geometry-inspector__section h3{padding:0 4px;margin:0;color:var(--text-2);font-size:11px;font-weight:760;letter-spacing:.025em;text-transform:uppercase}.geometry-inspector__section label,.modal__body label{display:grid;gap:5px;color:var(--text-2);font-size:11px}.geometry-inspector__section input[type=range]{width:100%;accent-color:var(--accent)}.geometry-inspector__section input[type=number],.geometry-inspector__section select,.geometry-inspector__section textarea,.modal__body select,.modal__body textarea{width:100%;min-height:36px;padding:7px 9px;border:1px solid var(--border-strong);border-radius:7px;color:var(--text-1);background:#0e2a36b8}.geometry-inspector__section textarea,.modal__body textarea{resize:vertical}.geometry-operation-list{display:grid;gap:5px;max-height:156px;padding:0;margin:0;overflow:auto;list-style:none}.geometry-operation-list li{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:7px;color:var(--text-2);font-size:10px;background:#67d7a50e}.geometry-operation-list svg{flex:0 0 auto;color:var(--success)}.geometry-inspector__quick{display:flex;flex-wrap:wrap;align-items:center}.geometry-inspector__quick h3{width:100%}.geometry-consequences,.geometry-dialog-copy{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid rgba(244,201,107,.27);border-radius:var(--radius-sm);color:var(--warning);background:#f4c96b12}.geometry-consequences svg,.geometry-dialog-copy>svg{flex:0 0 auto;margin-top:1px}.geometry-consequences div,.geometry-dialog-copy div{display:grid;gap:3px}.geometry-consequences span,.geometry-dialog-copy p{margin:0;color:var(--text-2);font-size:11px}.geometry-dialog-copy--danger{border-color:#ff5c6c52;color:var(--danger-text);background:#ff5c6c12}.geometry-inspector__actions{position:sticky;bottom:-14px;display:flex;justify-content:flex-end;gap:7px;padding:10px 0 2px;background:linear-gradient(180deg,transparent,rgba(18,55,70,.98) 35%)}.fish-card.is-merge-selected{border-color:#f4c96bcc;background:#f4c96b18;box-shadow:inset 3px 0 0 var(--warning)}.geometry-merge-preview{display:grid;gap:5px;margin-block:10px 14px;padding:10px 11px;border:1px solid rgba(244,201,107,.28);border-radius:var(--radius-sm);color:var(--text-2);background:#f4c96b0f}.geometry-merge-preview strong{color:var(--warning);font-size:10px;letter-spacing:.045em;text-transform:uppercase}.geometry-merge-preview span{color:var(--text-1);font-weight:760}.geometry-merge-preview code{width:fit-content;max-width:100%;color:var(--text-2);font-family:var(--font-mono);font-size:9px;overflow-wrap:anywhere}.geometry-merge-preview small{color:var(--text-3);font-size:9px}.toast__action{display:inline-flex;margin-top:7px;padding:4px 8px;border:1px solid currentColor;border-radius:6px;color:inherit;font-size:11px;font-weight:760;background:transparent;cursor:pointer}.toast__action:hover{background:#ffffff14}.geometry-dialog-copy+.geometry-dialog-summary,.modal__body>.geometry-dialog-summary{margin-top:12px}.modal__body>p{color:var(--text-2)}@media (max-width: 1240px){.geometry-inspector{border-top:0;border-left:1px solid var(--border-subtle)}}@media (max-width: 860px){.geometry-inspector{border-left:0;border-top:1px solid var(--border-subtle)}.canvas-tool-hint{top:44px;max-width:calc(100% - 24px);border-radius:8px}}.classification-inspector{display:flex;min-height:0;flex:1;flex-direction:column;gap:14px;overflow:auto;padding:13px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#143a4aeb}.classification-inspector--empty{min-height:260px;align-items:center;justify-content:center;color:var(--text-3);text-align:center}.classification-inspector--empty strong{color:var(--text-1)}.classification-inspector--empty span{max-width:300px;font-size:12px;line-height:1.5}.classification-inspector__header,.classification-section>header,.anchor-preview__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.classification-inspector__header h2,.classification-section h3,.anchor-preview__header h3{display:flex;align-items:center;gap:7px;margin:2px 0 0;color:var(--text-1)}.classification-inspector__header h2{font-size:17px}.classification-inspector__header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.classification-alert{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid var(--border-subtle);border-radius:10px;font-size:11px;line-height:1.45}.classification-alert svg{flex:0 0 auto}.classification-alert--warning{border-color:#f4c96b4d;color:var(--warning-text);background:#f4c96b14}.classification-alert--info{border-color:#3290b847;color:var(--info);background:#3290b813}.classification-alert--danger{border-color:#ff5c6c47;color:var(--danger-text);background:#ff5c6c12}.classification-overview{display:grid;grid-template-columns:minmax(118px,.72fr) minmax(0,1.28fr);gap:10px}.classification-crop{display:grid;min-width:0;align-content:start;gap:7px;padding:8px;margin:0;border:1px solid var(--border-subtle);border-radius:10px;color:var(--text-3);background:#fff}.classification-crop img{width:100%;max-height:185px;object-fit:contain}.classification-crop figcaption{padding:6px;border-radius:7px;color:#33444b;font-size:9px;line-height:1.4;background:#eef3f5;overflow-wrap:anywhere}.classification-revisions{display:grid;gap:8px}.classification-revision-card{min-width:0;padding:9px;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff06}.classification-revision-card>header{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:6px;color:var(--text-3);font-size:9px;text-transform:uppercase;letter-spacing:.06em}.classification-revision-card>strong{display:block;min-height:22px;overflow:hidden;color:var(--text-1);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.classification-revision-card dl,.classification-metadata dl{display:grid;gap:3px;margin:8px 0 0}.classification-fact{display:grid;grid-template-columns:minmax(70px,.85fr) minmax(0,1.15fr);gap:6px;font-size:9px}.classification-fact dt{color:var(--text-3)}.classification-fact dd{margin:0;overflow-wrap:anywhere;color:var(--text-2);text-align:right}.classification-metadata,.classification-section,.anchor-preview{padding-top:12px;border-top:1px solid var(--border-subtle)}.classification-metadata dl{grid-template-columns:1fr 1fr;gap:5px 10px}.classification-section h3,.anchor-preview__header h3{font-size:12px}.classification-shortcut-hint{display:inline-flex;align-items:center;gap:5px;color:var(--text-3);font-size:9px}.classification-candidates{display:grid;gap:5px;margin-top:9px}.classification-candidates--empty,.anchor-preview__empty,.species-search__empty{display:flex;align-items:center;gap:8px;padding:11px;border:1px dashed var(--border-subtle);border-radius:9px;color:var(--text-3);font-size:11px}.classification-candidate{position:relative;display:grid;width:100%;grid-template-columns:22px minmax(0,1fr) auto 14px;gap:7px;align-items:center;padding:7px;border:1px solid var(--border-subtle);border-radius:9px;color:var(--text-2);text-align:left;background:#ffffff06;cursor:pointer}.classification-candidate:hover{border-color:var(--border-strong);background:var(--info-surface)}.classification-candidate.is-selected{border-color:#fe70606b;background:var(--accent-soft)}.classification-candidate.is-selected{box-shadow:inset 3px 0 0 var(--accent)}.classification-candidate:disabled{cursor:not-allowed;opacity:.55}.classification-candidate__rank{display:grid;width:21px;height:21px;place-items:center;border-radius:6px;color:var(--text-3);font-family:var(--font-mono);font-size:9px;background:#0000003d}.classification-candidate__main{display:grid;min-width:0;gap:5px}.classification-candidate__title{display:flex;min-width:0;align-items:center;gap:5px}.classification-candidate__title em{overflow:hidden;color:var(--text-1);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.classification-candidate__title .badge{min-height:17px;padding:0 4px;font-size:8px}.classification-candidate__bar{height:3px;overflow:hidden;border-radius:999px;background:#ffffff14}.classification-candidate__bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.classification-candidate>strong{font-family:var(--font-mono);font-size:10px}.classification-candidate__apply-hint{color:var(--accent)}.classification-candidates__hint{margin:1px 0 0;color:var(--text-3);font-size:8px}.classification-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.classification-actions .button{justify-content:flex-start}.anchor-preview__header{align-items:center}.anchor-preview__groups{display:grid;gap:7px;margin-top:9px}.anchor-preview__group{overflow:hidden;border:1px solid var(--border-subtle);border-radius:9px;background:#ffffff05}.anchor-preview__group>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;cursor:pointer}.anchor-preview__group>summary>span:first-child{display:grid;gap:1px;min-width:0}.anchor-preview__group em{overflow:hidden;color:var(--text-1);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.anchor-preview__group small{color:var(--text-3);font-size:8px}.anchor-preview__counts{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.anchor-preview__counts .badge{min-height:17px;padding:0 4px;font-size:8px}.anchor-preview__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px;border-top:1px solid var(--border-subtle)}.anchor-card{min-width:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:8px;background:#00000029}.anchor-card__image{position:relative;display:grid;aspect-ratio:1;place-items:center;overflow:hidden;color:var(--text-3);background:#fff}.anchor-card__image img{width:100%;height:100%;object-fit:contain}.anchor-card__image>svg:last-child{position:absolute;right:4px;bottom:4px;padding:2px;border-radius:4px;color:#fff;background:#00000094}.anchor-card__meta{display:grid;gap:2px;padding:5px;color:var(--text-3);font-size:8px}.anchor-card__meta .badge{width:fit-content;min-height:16px;padding:0 4px;font-size:7px}.anchor-card__meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.classification-keyboard-help{display:flex;align-items:flex-start;gap:8px;padding:8px;border-radius:8px;color:var(--text-3);font-size:8px;line-height:1.55;background:#ffffff06}.classification-keyboard-help kbd{padding:1px 4px;border:1px solid var(--border-strong);border-radius:4px;color:var(--text-2);font-family:var(--font-mono);background:#0000003d}.classification-dialog-form{display:grid;gap:11px;min-width:min(620px,75vw)}.classification-dialog-form>label,.classification-anchor-options>label,.species-search>label:first-child{display:grid;gap:5px;color:var(--text-2);font-size:11px;font-weight:650}.classification-dialog-form input[type=text],.classification-dialog-form input[type=search],.classification-dialog-form input:not([type]),.classification-dialog-form select,.classification-dialog-form textarea,.species-search input[type=search]{width:100%;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-1);background:#0e2a36d6}.classification-dialog-form input,.classification-dialog-form select,.classification-dialog-form textarea{padding:9px}.classification-dialog-note,.classification-dialog-warning,.classification-dialog-success{display:flex;align-items:flex-start;gap:8px;padding:9px;border:1px solid var(--border-subtle);border-radius:9px;color:var(--text-2);font-size:10px;line-height:1.5;background:#ffffff06}.classification-dialog-warning{border-color:#f4c96b47;color:var(--warning);background:#f4c96b12}.classification-dialog-success{border-color:#67d7a542;color:var(--success);background:#67d7a512}.classification-dialog-comparison{display:grid;grid-template-columns:1fr 1fr;gap:8px}.classification-dialog-comparison .classification-dialog-warning{grid-column:1 / -1}.classification-check-row{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px!important;padding:9px;border:1px solid var(--border-subtle);border-radius:9px;background:#ffffff05}.classification-check-row input{width:16px!important;height:16px;margin-top:2px;padding:0!important;accent-color:var(--accent)}.classification-check-row span{display:grid;gap:2px}.classification-check-row strong{display:flex;align-items:center;gap:5px;color:var(--text-1);font-size:11px}.classification-check-row small{color:var(--text-3);font-size:9px;font-weight:400;line-height:1.45}.classification-check-row--important{border-color:#fe70603d}.classification-anchor-options{display:grid;gap:9px;padding-left:24px}.species-search{display:grid;gap:7px}.species-search__input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:7px;padding-left:9px;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-3);background:#0e2a36d6}.species-search__input:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #81dded2e}.species-search__input input{padding:9px 9px 9px 0!important;border:0!important;outline:0;background:transparent!important}.species-search__inactive-toggle{display:flex!important;grid-template-columns:none!important;align-items:center;gap:7px!important;color:var(--text-3)!important;font-size:9px!important;font-weight:500!important}.species-search__inactive-toggle input{width:14px!important;height:14px;padding:0!important;accent-color:var(--accent)}.species-search__results{display:grid;max-height:255px;gap:4px;overflow:auto}.species-search__result{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:8px;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-2);text-align:left;background:#ffffff05;cursor:pointer}.species-search__result:hover{border-color:var(--border-strong);background:var(--info-surface)}.species-search__result.is-selected{border-color:#fe706061;background:var(--accent-soft)}.species-search__result:disabled{cursor:not-allowed;opacity:.6}.species-search__identity,.species-search__meta{display:grid;gap:2px}.species-search__identity{min-width:0}.species-search__identity strong,.species-search__identity span,.species-search__identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.species-search__identity strong{color:var(--text-1);font-size:11px}.species-search__identity span{font-size:9px}.species-search__identity small,.species-search__meta small{color:var(--text-3);font-size:8px}.species-search__meta{flex:0 0 auto;justify-items:end}.anchor-dialog-preview{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center;padding:9px;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff06}.anchor-dialog-preview>img{width:112px;height:112px;object-fit:contain;border-radius:8px;background:#fff}.anchor-dialog-preview>div{display:grid;gap:4px}.anchor-dialog-preview strong{color:var(--text-1)}.anchor-dialog-preview span{color:var(--text-3);font-family:var(--font-mono);font-size:9px}@media (max-width: 1200px){.classification-inspector{max-height:700px}.classification-actions{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 760px){.classification-overview,.classification-dialog-comparison,.classification-metadata dl,.classification-actions{grid-template-columns:1fr}.anchor-preview__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.classification-dialog-form{min-width:min(88vw,560px)}}.classification-inspector__status{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px}.classification-readonly,.classification-warning,.inline-alert{display:flex;align-items:flex-start;gap:8px;margin:0;padding:9px 10px;border:1px solid var(--border-subtle);border-radius:9px;font-size:10px;line-height:1.45}.classification-readonly,.classification-warning{border-color:#f4c96b4d;color:var(--warning-text);background:#f4c96b13}.inline-alert--danger{border-color:#ff5c6c47;color:var(--danger-text);background:#ff5c6c12}.classification-crop-frame{display:grid;min-height:120px;place-items:center;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;color:#51636b;font-size:10px;background:#fff}.classification-crop-frame img{display:block;width:100%;max-height:190px;object-fit:contain}.classification-evidence,.classification-revision-card dl{display:grid;gap:5px;margin:0}.classification-evidence>div,.classification-revision-card dl>div{display:grid;grid-template-columns:minmax(62px,.8fr) minmax(0,1.2fr);align-items:start;gap:7px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.045);font-size:9px}.classification-revision-card.is-highlighted{border-color:#fe706052;box-shadow:inset 3px 0 0 var(--accent)}.classification-revision-card__species{display:block;overflow:hidden;color:var(--text-1);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.classification-review-fields{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px;padding-top:10px;border-top:1px solid var(--border-subtle)}.classification-review-fields .field__label{color:var(--text-2);font-size:9px;font-weight:650}.classification-review-fields .field__optional{color:var(--text-3);font-weight:400}.classification-species-picker{display:grid;gap:9px;padding:10px;border:1px solid rgba(254,112,96,.24);border-radius:10px;background:#fe70600a}.classification-species-picker__actions{display:flex;justify-content:flex-end;gap:6px}.classification-shortcuts{display:flex;flex-wrap:wrap;gap:5px 10px;padding:8px;border-radius:8px;color:var(--text-3);font-size:8px;line-height:1.5;background:#ffffff06}.classification-shortcuts kbd,.classification-candidate kbd{padding:1px 4px;border:1px solid var(--border-strong);border-radius:4px;color:var(--text-2);font-family:var(--font-mono);font-size:8px;background:#0000003d}.classification-form__checks{display:grid;gap:8px}.classification-dialog-note--warning{border-color:#f4c96b4d;color:var(--warning-text);background:#f4c96b13}.anchor-preview__header p,.anchor-dialog-preview p,.classification-dialog-note p{margin:3px 0 0;color:var(--text-3);font-size:9px;line-height:1.45}.anchor-dialog-preview>div.classification-candidates--empty{min-height:112px;justify-content:center}@media (max-width: 1240px){.classification-crop-block,.classification-revision-grid,.classification-review-fields{grid-template-columns:1fr}}.classification-inspector__status,.anchor-preview__counts,.classification-shortcuts,.classification-species-picker__actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.classification-readonly,.classification-warning{display:flex;align-items:flex-start;gap:8px;margin:0;padding:9px 10px;border:1px solid rgba(244,201,107,.3);border-radius:9px;color:var(--warning-text);font-size:10px;line-height:1.45;background:#f4c96b13}.classification-readonly svg,.classification-warning svg{flex:0 0 auto}.classification-crop-block{display:grid;grid-template-columns:minmax(112px,.72fr) minmax(0,1.28fr);gap:10px}.classification-crop-frame{display:grid;min-height:132px;place-items:center;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;color:#52646b;font-size:10px;background:#fff}.classification-crop-frame img{width:100%;max-height:190px;object-fit:contain}.classification-evidence{display:grid;align-content:start;gap:5px;margin:0}.classification-evidence>div,.classification-revision-card dl>div{display:grid;grid-template-columns:minmax(72px,.8fr) minmax(0,1.2fr);gap:8px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.045);font-size:9px}.classification-evidence dt,.classification-revision-card dt{color:var(--text-3)}.classification-evidence dd,.classification-revision-card dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--text-2);text-align:right}.classification-revision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.classification-revision-card.is-highlighted{border-color:#fe70604d;box-shadow:inset 3px 0 0 var(--accent)}.classification-revision-card__species{display:block;min-height:22px;overflow:hidden;color:var(--text-1);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.classification-review-fields{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px}.classification-review-fields .field{display:grid;gap:5px}.classification-review-fields select,.classification-review-fields textarea{width:100%;padding:8px;border:1px solid var(--border-strong);border-radius:8px;color:var(--text-1);background:#0e2a36d6}.classification-review-fields textarea{resize:vertical}.classification-review-fields .field__label{color:var(--text-2);font-size:10px;font-weight:650}.classification-review-fields .field__optional{color:var(--text-3);font-size:8px;font-weight:400}.classification-species-picker{display:grid;gap:9px;padding:10px;border:1px solid rgba(254,112,96,.25);border-radius:10px;background:#fe70600b}.classification-species-picker>header{display:flex;align-items:center;gap:7px;color:var(--text-1);font-size:11px}.classification-species-picker__actions{justify-content:flex-end}.classification-shortcuts{justify-content:space-between;padding:8px;border-radius:8px;color:var(--text-3);font-size:8px;line-height:1.5;background:#ffffff06}.classification-shortcuts kbd,.classification-candidate kbd{padding:1px 4px;border:1px solid var(--border-strong);border-radius:4px;color:var(--text-2);font-family:var(--font-mono);background:#0000003d}.classification-dialog-note--warning{border-color:#f4c96b47;color:var(--warning-text);background:#f4c96b12}.classification-dialog-note p,.classification-dialog-note span{margin:0}.classification-check-row{position:relative}.classification-check-row>svg{align-self:center;color:var(--success)}@media (max-width: 760px){.classification-crop-block,.classification-revision-grid,.classification-review-fields{grid-template-columns:1fr}}.measurement-inspector{gap:14px;overflow:auto;min-height:0}.measurement-inspector__header{position:sticky;top:0;z-index:3;padding-bottom:10px;background:linear-gradient(180deg,var(--surface-2) 82%,transparent)}.fish-stepper{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px}.calibration-card,.measurement-review-section{display:grid;gap:12px;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--surface-2) 92%,transparent);box-shadow:var(--shadow-sm)}.calibration-card__header,.measurement-review-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.calibration-card__header h3,.measurement-review-section__header h3{display:flex;align-items:center;gap:7px;margin:2px 0 0;font-size:.95rem}.status-icon--success{color:var(--success)}.status-icon--warning{color:var(--warning)}.calibration-summary-grid,.measurement-summary-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.calibration-summary,.measurement-revision-card{min-width:0;padding:11px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-3)}.calibration-summary--proposal,.measurement-revision-card:not(.is-highlighted){background:color-mix(in srgb,var(--info) 7%,var(--surface-3))}.measurement-revision-card.is-highlighted{border-color:color-mix(in srgb,var(--success) 40%,var(--border-subtle))}.calibration-summary>header,.measurement-revision-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:var(--text-muted);font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.calibration-summary>strong,.measurement-revision-card>strong{display:block;margin-bottom:9px;color:var(--text-primary);font-size:1rem;overflow-wrap:anywhere}.measurement-revision-card>strong{font-size:1.22rem}.calibration-summary dl,.measurement-revision-card dl,.midline-draft-panel dl{display:grid;gap:5px;margin:0}.calibration-summary dl>div,.measurement-revision-card dl>div,.midline-draft-panel dl>div{display:grid;grid-template-columns:minmax(78px,.8fr) minmax(0,1.2fr);gap:8px;align-items:baseline;font-size:.78rem}.calibration-summary dt,.measurement-revision-card dt,.midline-draft-panel dt{color:var(--text-muted)}.calibration-summary dd,.measurement-revision-card dd,.midline-draft-panel dd{min-width:0;margin:0;color:var(--text-primary);text-align:right;overflow-wrap:anywhere}.calibration-warning-list{display:grid;gap:5px;margin:10px 0 0;padding:8px 8px 8px 24px;border-radius:var(--radius-sm);color:var(--warning-text);background:var(--warning-surface);font-size:.77rem}.calibration-impact,.measurement-difference{display:flex;align-items:flex-start;gap:7px;margin:0;padding:8px 10px;border-radius:var(--radius-sm);color:var(--warning-text);background:var(--warning-surface);font-size:.79rem}.measurement-difference{color:var(--text-secondary);background:var(--surface-3)}.calibration-tag-list{display:grid;gap:6px;max-height:220px;overflow:auto;padding-right:2px}.calibration-tag-row{display:grid;grid-template-columns:minmax(62px,auto) minmax(68px,auto) 1fr;align-items:center;gap:7px;padding:7px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-1)}.calibration-tag-row.is-excluded{opacity:.78;border-style:dashed}.calibration-tag-row .button{justify-self:end}.calibration-tag-row__id{font-size:.8rem;font-weight:700}.empty-inline{margin:0;color:var(--text-muted);font-size:.8rem}.inspector-actions--wrap{flex-wrap:wrap}.measurement-review-section{margin-bottom:8px}.measurement-revision-card__reason{margin:8px 0 0;color:var(--danger-text);font-size:.78rem}.midline-draft-panel{display:grid;gap:10px;padding:12px;border:1px solid color-mix(in srgb,var(--warning) 48%,var(--border-subtle));border-radius:var(--radius-md);background:color-mix(in srgb,var(--warning) 7%,var(--surface-3))}.midline-draft-panel>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.midline-draft-panel>header>div{display:flex;align-items:center;gap:7px}.measurement-dialog-form,.calibration-dialog-form{display:grid;gap:14px}.form-grid{display:grid;gap:12px}.form-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.field-check{display:flex;align-items:flex-start;gap:10px;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-3)}.field-check input{margin-top:3px}.field-check>span{display:grid;gap:3px}.field-check small,.field small{color:var(--text-muted);line-height:1.35}.field-check.is-disabled{opacity:.65}.form-note{display:flex;align-items:flex-start;gap:7px;margin:0;color:var(--text-secondary);font-size:.82rem;line-height:1.45}.form-note--warning{padding:9px 10px;border-radius:var(--radius-sm);color:var(--warning-text);background:var(--warning-surface)}.form-error,.inspector-error{margin:0;padding:9px 10px;border-radius:var(--radius-sm);color:var(--danger-text);background:var(--danger-surface);font-size:.82rem}.tag-checkbox-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin:0;padding:12px;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.tag-checkbox-list legend{padding:0 6px;color:var(--text-secondary);font-size:.8rem;font-weight:700}.tag-checkbox-list label{display:flex;align-items:center;gap:7px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface-3);font-size:.8rem}.measurement-empty-fish{min-height:130px}.inspector-loading{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.82rem}@media (min-width: 1550px){.calibration-summary-grid,.measurement-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.form-grid--two{grid-template-columns:1fr}.calibration-tag-row{grid-template-columns:auto 1fr}.calibration-tag-row .button{grid-column:1 / -1;justify-self:stretch}}.calibration-card__status{display:inline-flex;align-items:center;gap:8px}.calibration-matrix{margin-top:10px;border-top:1px solid var(--border-subtle);padding-top:8px;color:var(--text-secondary);font-size:.76rem}.calibration-matrix summary{cursor:pointer;font-weight:700}.calibration-matrix code{display:block;margin-top:7px;padding:8px;border-radius:var(--radius-sm);overflow:auto;white-space:pre;color:var(--text-primary);background:var(--surface-1);line-height:1.45}.species-page{display:grid;gap:var(--space-5);min-width:0}.app-main--species{padding:8px}.species-page__header{align-items:flex-start}.species-page__header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-2)}.species-operator-select{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-2);background:var(--surface-2)}.species-operator-select select{max-width:190px;border:0;color:var(--text-1);background:transparent}.species-library-panel>.panel__content{padding:0}.library-status{display:grid;gap:var(--space-4);padding:var(--space-5)}.library-status__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.library-status__header h2{margin:2px 0 4px;font-size:21px}.library-status__header p{margin:0;color:var(--text-3)}.library-status__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3)}.library-status__grid article{display:grid;gap:5px;min-width:0;padding:14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff06}.library-status__grid article>span{display:flex;align-items:center;gap:7px;color:var(--text-3);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.library-status__grid strong{overflow:hidden;font-size:17px;text-overflow:ellipsis;white-space:nowrap}.library-status__grid small{overflow:hidden;color:var(--text-3);text-overflow:ellipsis;white-space:nowrap}.library-coverage-bar,.library-build-progress__bar{height:8px;overflow:hidden;border-radius:999px;background:#ffffff12}.library-coverage-bar>div,.library-build-progress__bar>div{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--success));transition:width .18s ease}.library-status__coverage-copy{display:flex;flex-wrap:wrap;gap:var(--space-3);color:var(--text-3);font-size:13px}.library-status__flags{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3)}.library-model-meta{display:inline-flex;align-items:center;gap:8px;color:var(--text-3);font-size:12px}.library-model-meta code{color:var(--text-2)}.library-build-progress{display:grid;grid-template-columns:minmax(190px,auto) minmax(180px,1fr) auto auto;gap:var(--space-3);align-items:center;padding:13px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#3290b80f}.library-build-progress>div:first-child{display:grid}.library-build-progress>div:first-child span{color:var(--text-3);font-size:12px}.library-build-progress--failed{border-color:#ff5c6c59;background:var(--danger-surface)}.library-post-build{display:grid;gap:var(--space-3);padding:14px;border:1px solid rgba(103,215,165,.25);border-radius:var(--radius-md);background:#67d7a50f}.library-post-build>div:first-child{display:flex;align-items:center;gap:10px}.library-post-build__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.library-rebuild-form,.species-create-form{display:grid;gap:var(--space-4)}.library-rebuild-form label,.species-create-form label,.species-edit-form label,.anchor-upload-options label{display:grid;gap:6px;color:var(--text-2);font-size:13px;font-weight:650}.library-rebuild-form input,.species-create-form input,.species-create-form textarea,.species-edit-form input,.species-edit-form textarea,.anchor-upload-options input,.anchor-upload-options select{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-1);background:#0e2a3685}.species-admin-layout{display:grid;grid-template-columns:minmax(600px,1.2fr) minmax(380px,.8fr);gap:var(--space-5);align-items:start;min-width:0}.species-table-panel,.species-detail-panel{min-width:0}.species-table-panel>.panel__content,.species-detail-panel>.panel__content{padding:var(--space-4)}.species-table-shell{display:grid;gap:var(--space-3);min-width:0}.species-table-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 190px;gap:var(--space-3)}.species-admin-search{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 11px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-3);background:#0e2a367a}.species-admin-search input{width:100%;border:0;color:var(--text-1);outline:0;background:transparent}.species-admin-search:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px #81dded2e}.species-filter-select{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:var(--text-3);font-size:12px}.species-filter-select select{min-height:40px;padding:0 9px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-1);background:var(--bg-2)}.species-table-summary{display:flex;justify-content:space-between;gap:var(--space-3);color:var(--text-3);font-size:12px}.species-table-summary span{display:inline-flex;align-items:center;gap:6px}.species-table-scroll{max-height:min(660px,calc(100vh - 290px));overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.species-table{width:100%;min-width:900px;border-collapse:collapse;font-size:13px}.species-table th{position:sticky;z-index:2;top:0;padding:10px 12px;color:var(--text-3);font-size:11px;text-align:left;text-transform:uppercase;letter-spacing:.05em;background:var(--bg-2)}.species-table td{padding:10px 12px;border-top:1px solid var(--border-subtle);vertical-align:middle}.species-table tbody tr{cursor:default;transition:background-color .1s ease}.species-table tbody tr:hover{background:var(--info-surface)}.species-table tbody tr.is-selected{background:#fe706013}.species-table tbody tr.is-selected{box-shadow:inset 3px 0 0 var(--accent)}.species-table__identity{display:grid;min-width:190px;padding:0;border:0;color:var(--text-1);text-align:left;background:transparent;cursor:pointer}.species-table__identity span,.species-table time{color:var(--text-3);font-size:12px}.species-anchor-counts{display:flex;gap:9px;align-items:center}.species-anchor-counts span{display:inline-flex;align-items:center;gap:3px}.species-anchor-counts .is-error{color:var(--danger-text)}.species-modified-mark{display:block;color:var(--warning)}.species-table-empty{padding:34px!important;color:var(--text-3);text-align:center}.species-details{display:grid;gap:var(--space-5)}.species-detail-empty,.anchor-gallery-empty,.library-version-empty{display:flex;align-items:center;justify-content:center;gap:var(--space-3);min-height:180px;color:var(--text-3);text-align:left}.species-detail-empty>div,.anchor-gallery-empty>div{display:grid}.species-details__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.species-details__title-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.species-details__title-row h2{margin:0;font-size:22px}.species-details__header p{margin:3px 0;color:var(--text-2)}.species-details__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.species-edit-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff06}.species-edit-form__wide,.species-edit-form__actions{grid-column:1 / -1}.species-edit-form label>span{display:inline-flex;align-items:center;gap:6px}.species-edit-form label small{color:var(--text-3);font-weight:400}.species-edit-form__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.species-anchor-section{display:grid;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.species-anchor-section>header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.species-anchor-section h3{margin:0;font-size:16px}.species-anchor-section p{margin:3px 0 0;color:var(--text-3);font-size:12px}.anchor-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);max-height:700px;overflow:auto;padding-right:3px}.anchor-admin-card{display:grid;align-content:start;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff06}.anchor-admin-card--invalid{border-color:#ff5c6c52}.anchor-admin-card__image{position:relative;display:grid;min-height:150px;place-items:center;overflow:hidden;background:#fff}.anchor-admin-card__image img{width:100%;height:180px;object-fit:contain}.anchor-admin-card__state{position:absolute;top:8px;right:8px}.anchor-admin-card__body{display:grid;gap:9px;padding:11px}.anchor-admin-card__source{display:flex;align-items:center;gap:7px}.anchor-admin-card__meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0;font-size:11px}.anchor-admin-card__meta div{min-width:0}.anchor-admin-card__meta dt{color:var(--text-3)}.anchor-admin-card__meta dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anchor-admin-card__note{margin:0;color:var(--text-2);font-size:12px}.anchor-admin-card__actions{display:flex;flex-wrap:wrap;gap:4px;padding:0 9px 10px}.anchor-upload{display:grid;gap:var(--space-3)}.anchor-upload-dropzone{display:flex;align-items:center;gap:var(--space-3);min-height:110px;padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-md);color:var(--text-3);background:#fe706006}.anchor-upload-dropzone.is-dragging{border-color:var(--accent);background:var(--accent-soft)}.anchor-upload-dropzone.is-disabled{opacity:.55}.anchor-upload-dropzone>div{display:grid;flex:1}.anchor-upload-pending{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.anchor-upload-pending>header{display:flex;justify-content:space-between;color:var(--text-3);font-size:12px}.anchor-upload-pending__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-2)}.anchor-upload-pending figure{min-width:0;margin:0}.anchor-upload-pending__preview{position:relative;display:grid;height:100px;place-items:center;overflow:hidden;border-radius:var(--radius-sm);background:#fff}.anchor-upload-pending__preview img{width:100%;height:100%;object-fit:contain}.anchor-upload-pending__preview button{position:absolute;top:4px;right:4px;display:grid;width:26px;height:26px;place-items:center;border:1px solid var(--action-destructive);border-radius:50%;color:var(--action-ink);background:var(--action-destructive);cursor:pointer}.anchor-upload-pending__preview button:hover{border-color:var(--action-destructive-hover);background:var(--action-destructive-hover)}.anchor-upload-pending__preview button:active{border-color:var(--action-destructive-active);background:var(--action-destructive-active)}.anchor-upload-pending__preview button:focus-visible{outline-color:var(--action-destructive-focus)}.anchor-upload-pending figcaption{overflow:hidden;margin-top:4px;color:var(--text-3);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.anchor-upload-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.anchor-upload-actions{display:flex;justify-content:flex-end}.anchor-upload-results{display:grid;gap:6px}.anchor-upload-results h4{margin:0}.anchor-upload-results>div{display:grid;grid-template-columns:minmax(120px,1fr) auto minmax(0,1fr);gap:8px;align-items:center;padding:7px 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.anchor-upload-results>div>span:first-child,.anchor-upload-results small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-versions-panel .panel__content{padding-top:var(--space-3)}.library-version-list{display:grid;gap:6px}.library-version-row{display:grid;grid-template-columns:auto minmax(220px,1fr) auto auto;gap:var(--space-3);align-items:center;width:100%;padding:10px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-1);text-align:left;background:#ffffff05;cursor:pointer}.library-version-row:hover{border-color:var(--border-strong);background:var(--info-surface)}.library-version-row.is-selected{border-color:#fe706052;background:#fe70600e}.library-version-row__icon{color:var(--text-3)}.library-version-row__identity{display:grid;min-width:0}.library-version-row__identity small,.library-version-row__counts,.library-version-row__error{color:var(--text-3);font-size:11px}.library-version-row__error{overflow:hidden;color:var(--danger-text);text-overflow:ellipsis;white-space:nowrap}.library-version-row__counts,.library-version-row__state{display:flex;flex-wrap:wrap;gap:var(--space-2)}.library-sync-dialog{display:grid;gap:var(--space-4)}.library-sync-paths{display:grid;gap:6px;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.library-sync-paths>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:var(--space-2)}.library-sync-paths span{color:var(--text-3);font-size:12px}.library-sync-paths code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-sync-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.library-sync-summary article{display:grid;padding:10px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);text-align:center}.library-sync-summary strong{font-size:21px}.library-sync-summary span{color:var(--text-3);font-size:11px}.library-sync-section{border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.library-sync-section summary{padding:10px 12px;font-weight:700;cursor:pointer}.library-sync-list,.library-sync-issues{display:grid;max-height:270px;overflow:auto;border-top:1px solid var(--border-subtle)}.library-sync-list>div,.library-sync-issues>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:8px 12px;border-top:1px solid rgba(129,221,237,.07)}.library-sync-list>div:first-child,.library-sync-issues>div:first-child{border-top:0}.library-sync-list>div>span,.library-sync-issues>div>span{display:grid;min-width:0}.library-sync-list small,.library-sync-issues small{overflow:hidden;color:var(--text-3);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.library-sync-list--files strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.library-sync-issues>div{justify-content:flex-start}.library-sync-empty,.species-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-5);color:var(--text-3)}.inline-alert--success{border-color:#67d7a540;color:var(--success);background:#67d7a512}.inline-alert--info{border-color:#3290b840;color:var(--info);background:#3290b812}@media (max-width: 1450px){.species-admin-layout{grid-template-columns:1fr}.species-table-scroll{max-height:520px}.anchor-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 980px){.library-status__grid{grid-template-columns:1fr 1fr}.library-build-progress{grid-template-columns:1fr auto}.library-build-progress__bar{grid-column:1 / -1;grid-row:2}.anchor-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 700px){.species-page__header-actions,.library-status__header,.species-details__header{flex-direction:column;align-items:stretch}.library-status__grid,.species-edit-form,.anchor-upload-options,.library-sync-summary{grid-template-columns:1fr 1fr}.species-table-toolbar,.anchor-admin-grid{grid-template-columns:1fr}.library-version-row{grid-template-columns:auto 1fr}.library-version-row__counts,.library-version-row__state{grid-column:2}}.species-page{max-width:none;gap:8px;color:var(--text-2);font-size:12px}.species-page__header{min-height:34px;align-items:center;gap:10px;margin:0}.species-page__header h1{margin:0;font-size:16px;line-height:1.2}.species-page__header p{margin:2px 0 0;font-size:11px;line-height:1.3}.species-page__header-actions{align-items:center;gap:5px}.species-page .button--sm{min-height:32px;padding-inline:9px;font-size:11px}.modal.species-catalog-modal{width:min(400px,100%);border-radius:12px}.species-catalog-modal .modal__header,.species-catalog-modal .modal__body,.species-catalog-modal .modal__footer{padding:12px}.species-catalog-modal .modal__header h2{font-size:14px}.species-catalog-modal .modal__close{width:28px;height:28px;border-radius:6px}.species-catalog-modal .modal__footer{gap:6px}.species-catalog-modal .modal__footer .button{min-height:32px;padding-inline:9px;font-size:11px}.species-catalog-modal .species-create-form{gap:8px}.species-version-save-status,.species-catalog-count{display:inline-flex;align-items:center;gap:5px;color:var(--text-3);font-size:10px;white-space:nowrap}.species-version-save-status--completed{color:var(--success)}.species-version-save-status--failed,.species-version-save-status--cancelled,.species-version-save-status--interrupted{color:var(--danger-text)}.species-version-save-status .spinner{width:12px;height:12px}.species-version-strip{display:flex;height:52px;min-width:0;align-items:center;gap:8px;padding:6px 8px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05}.species-version-strip--error{border-color:color-mix(in srgb,var(--danger) 28%,var(--border-subtle))}.species-version-strip__header{display:flex;height:100%;flex:0 0 auto;align-items:center;gap:7px;padding-right:8px;border-right:1px solid var(--border-subtle)}.species-version-strip__title,.species-version-strip__refresh-state,.species-version-strip__retry{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.species-version-strip__title{color:var(--text-2)}.species-version-strip__title h2{margin:0;color:var(--text-1);font-size:11px;line-height:1}.species-version-strip__count{padding:2px 5px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-3);font-size:9px;font-weight:700;line-height:1.2}.species-version-strip__refresh-state,.species-version-strip__retry{color:var(--text-3);font-size:9px}.species-version-strip__refresh-state .spinner{width:11px;height:11px;border-width:1.5px}.species-version-strip__retry{min-height:24px;padding:2px 5px;border:0;border-radius:var(--radius-sm);color:var(--danger-text);background:transparent;cursor:pointer}.species-version-strip__retry:hover{background:var(--danger-surface)}.species-version-strip__viewport{display:flex;height:100%;min-width:0;flex:1 1 auto;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.species-version-strip__list{display:flex;width:max-content;min-width:min-content;height:100%;align-items:center;gap:6px;padding:0 2px 1px 0;margin:0;list-style:none}.species-version-chip{display:flex;width:max-content;min-width:214px;max-width:310px;height:32px;flex:0 0 auto;align-items:center;gap:7px;padding:3px 6px 3px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff06}.species-version-chip.is-active{border-color:color-mix(in srgb,var(--success) 32%,var(--border-subtle));background:color-mix(in srgb,var(--success) 5%,transparent)}.species-version-chip--failed{border-color:color-mix(in srgb,var(--danger) 28%,var(--border-subtle))}.species-version-chip__identity{display:grid;min-width:0;flex:1 1 auto;line-height:1.15}.species-version-chip__identity strong{overflow:hidden;color:var(--text-1);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.species-version-chip__meta{display:flex;min-width:0;align-items:center;gap:3px;overflow:hidden;color:var(--text-3);font-size:8.5px;white-space:nowrap}.species-version-chip .badge{min-height:18px;padding:1px 5px;gap:3px;font-size:8px}.species-version-chip .badge:before{width:4px;height:4px}.species-version-strip__message{min-width:0;flex:1 1 auto;overflow:hidden;margin:0;color:var(--text-3);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.species-slot-picker{display:flex;height:54px;min-width:0;align-items:center;gap:7px;padding:6px 7px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05}.species-slot-picker--error{border-color:color-mix(in srgb,var(--danger) 30%,var(--border-subtle))}.species-slot-picker__header,.species-slot-picker__title,.species-slot-picker__loading,.species-slot-picker__retry,.species-slot-picker__actions{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;white-space:nowrap}.species-slot-picker__header{height:100%;padding-right:7px;border-right:1px solid var(--border-subtle)}.species-slot-picker__title{color:var(--text-2);font-size:10px}.species-slot-picker__title>strong{color:var(--text-1);font-size:11px}.species-slot-picker__title>span{min-width:18px;padding:2px 5px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-3);font-size:9px;font-weight:700;text-align:center}.species-slot-picker__loading,.species-slot-picker__retry{color:var(--text-3);font-size:9px}.species-slot-picker__loading .spinner{width:11px;height:11px;border-width:1.5px}.species-slot-picker__retry{min-height:24px;padding:2px 5px;border:0;border-radius:var(--radius-sm);color:var(--danger-text);background:transparent;cursor:pointer}.species-slot-picker__retry:hover{background:var(--danger-surface)}.species-slot-picker__viewport{display:flex;height:100%;min-width:80px;flex:1 1 auto;align-items:center;overflow-x:auto;overflow-y:hidden;scrollbar-color:var(--border-strong) transparent;scrollbar-width:thin}.species-slot-picker__list{display:flex;width:max-content;height:100%;align-items:center;gap:5px;padding:0 2px 1px 0;margin:0;list-style:none}.species-slot-chip{display:inline-flex;width:max-content;min-width:116px;max-width:260px;min-height:32px;align-items:center;gap:5px;padding:3px 6px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-2);background:#ffffff06;cursor:pointer}.species-slot-chip:hover:not(:disabled),.species-slot-chip.is-selected{border-color:var(--border-strong);background:#ffffff0e}.species-slot-chip.is-active{border-color:color-mix(in srgb,var(--success) 42%,var(--border-subtle));background:color-mix(in srgb,var(--success) 7%,transparent)}.species-slot-chip:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.species-slot-chip:disabled{cursor:default;opacity:.72}.species-slot-chip>strong{min-width:0;flex:1 1 auto;overflow:hidden;color:var(--text-1);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.species-slot-chip>.spinner{width:11px;height:11px}.species-slot-chip .badge{min-height:18px;padding:1px 5px;font-size:8px}.species-slot-picker__message{min-width:0;flex:1 1 auto;overflow:hidden;margin:0;color:var(--text-3);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.species-slot-picker__actions{padding-left:7px;border-left:1px solid var(--border-subtle)}.species-slot-picker__actions .button--sm{min-height:30px;padding-inline:7px}.species-slot-picker__state{max-width:116px;overflow:hidden;color:var(--text-3);font-size:9px;text-overflow:ellipsis}.species-slot-picker__state--dirty,.species-slot-picker__state--unbuilt{color:var(--warning)}.species-slot-picker__state--failed{color:var(--danger-text)}.species-slot-picker__state--building{color:var(--info)}.species-slot-picker__icon-action{display:inline-grid;width:30px;height:30px;flex:0 0 auto;place-items:center;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-2);background:transparent;cursor:pointer}.species-slot-picker__icon-action:hover:not(:disabled){border-color:var(--border-subtle);background:#ffffff0e}.species-slot-picker__icon-action--danger{color:var(--action-ink);border-color:var(--action-destructive);background:var(--action-destructive)}.species-slot-picker__icon-action--danger:hover:not(:disabled){color:var(--action-ink);border-color:var(--action-destructive-hover);background:var(--action-destructive-hover)}.species-slot-picker__icon-action--danger:active:not(:disabled){border-color:var(--action-destructive-active);background:var(--action-destructive-active)}.species-slot-picker__icon-action--danger:focus-visible{outline-color:var(--action-destructive-focus)}.species-slot-picker__icon-action:disabled{opacity:.35;cursor:not-allowed}.species-slot-picker__icon-action--danger:disabled{color:var(--action-disabled-ink);border-color:var(--action-disabled-border);background:var(--action-disabled-bg);opacity:1}.species-slot-dialog{display:grid;gap:10px}.species-slot-dialog p{margin:0;color:var(--text-2);font-size:12px;line-height:1.45}.species-slot-dialog label{display:grid;gap:5px}.species-slot-dialog label>span{color:var(--text-2);font-size:11px;font-weight:650}.species-slot-dialog input{width:100%;min-height:34px;padding:0 9px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-1);background:var(--surface-2)}.species-admin-layout{grid-template-columns:minmax(270px,320px) minmax(0,1fr);gap:8px;align-items:stretch}.species-table-panel,.species-detail-panel{display:flex;min-height:0;flex-direction:column;border-radius:var(--radius-md)}.species-table-panel>.panel__content,.species-detail-panel>.panel__content{min-height:0;flex:1 1 auto}.species-table-panel>.panel__header{align-items:center;padding:9px 10px 0}.species-catalog-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:8px}.species-table-panel .panel__title{font-size:13px}.species-table-panel>.panel__content,.species-detail-panel>.panel__content{padding:9px}.species-table-shell,.species-details{gap:8px}.species-table-toolbar{grid-template-columns:minmax(0,1fr) 116px;gap:6px}.species-admin-search,.species-filter-select select{min-height:32px;font-size:11px}.species-admin-search{padding-inline:8px}.species-filter-select{display:block}.species-filter-select>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.species-filter-select select{width:100%;padding:0 7px}.species-table-summary{min-height:14px;font-size:10px}.species-table-scroll{max-height:calc(100vh - 190px);border-radius:var(--radius-sm)}.species-table{min-width:0;font-size:11px}.species-table th{padding:7px 8px;font-size:9px}.species-table td{padding:7px 8px}.species-table__new-candidates-heading,.species-table__new-candidates{width:52px;text-align:center!important}.species-table__new-candidates>span{display:inline-flex;min-width:22px;min-height:20px;align-items:center;justify-content:center;border-radius:999px;color:var(--text-3);font-size:10px;font-variant-numeric:tabular-nums}.species-table__new-candidates>span.is-positive{color:var(--info);background:#3290b817}.species-table__identity{min-width:0}.species-table__identity strong{font-size:11.5px}.species-table__identity span,.species-table time{font-size:10px}.species-table .badge,.anchor-admin-card .badge{min-height:20px;padding:1px 6px;font-size:9px}.species-anchor-counts{flex-wrap:wrap;gap:5px;font-size:10px}.species-detail-empty,.anchor-gallery-empty{min-height:110px;font-size:11px}.species-details__header{gap:8px}.species-details__title-row{gap:5px}.species-details__title-row h2{font-size:15px}.species-details__header p{margin:1px 0 0;font-size:11px}.species-details__actions{gap:3px}.species-details__summary{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));min-width:0;margin:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-sm)}.species-details__summary-item{display:flex;min-width:0;align-items:center;gap:4px;padding:4px 6px}.species-details__summary-item+.species-details__summary-item{border-left:1px solid var(--border-subtle)}.species-details__summary-item--metric{justify-content:center}.species-details__summary-item--metadata{grid-column:span 2}.species-details__summary dt{min-width:0;overflow:hidden;color:var(--text-3);font-size:8.5px;font-weight:700;line-height:1.1;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.species-details__summary dd{min-width:0;overflow:hidden;margin:0;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.species-details__summary-item--metric dd{order:-1;flex:0 0 auto;font-size:11px;font-weight:750}.species-edit-form{gap:7px;padding:8px;border-radius:var(--radius-sm)}.species-edit-form label,.species-create-form label,.anchor-upload-options label{gap:4px;font-size:10px}.species-edit-form input,.species-edit-form textarea,.species-create-form input,.species-create-form textarea,.anchor-upload-options input{min-height:32px;padding:6px 8px;font-size:11px}.species-anchor-section{gap:8px;padding-top:9px}.species-anchor-section>header{align-items:center;gap:8px}.species-anchor-section__title{display:flex;align-items:center;gap:6px}.species-anchor-section h3{margin:0;font-size:13px}.species-anchor-section__count{display:inline-grid;min-width:20px;min-height:20px;padding:1px 5px;place-items:center;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-3);font-size:9px;font-weight:700}.anchor-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:430px}.anchor-admin-card{border-radius:var(--radius-sm)}.anchor-admin-card__image{height:112px;min-height:100px;max-height:112px;width:100%;padding:0;border:0;color:var(--text-2);cursor:pointer}.anchor-admin-card__image:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.anchor-admin-card__image>.anchor-admin-card__bitmap{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center center;transform:none}.anchor-admin-card__state{top:5px;right:5px}.anchor-admin-card__body{gap:5px;padding:7px}.anchor-admin-card__source,.anchor-admin-card__note{font-size:10px}.anchor-admin-card__actions{gap:2px;padding:0 6px 6px}.modal.anchor-image-modal{display:grid;width:min(960px,calc(100vw - 32px));height:clamp(0px,calc(100dvh - 32px),780px);max-height:clamp(0px,calc(100dvh - 32px),780px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:var(--radius-md)}.anchor-image-modal .modal__header,.anchor-image-modal .modal__body,.anchor-image-modal .modal__footer{padding:10px 12px}.anchor-image-modal .modal__header h2{font-size:14px}.anchor-image-modal .modal__close{width:30px;height:30px}.anchor-image-modal .modal__body{display:grid;min-height:0;overflow:hidden}.anchor-image-viewer{display:grid;height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:7px;margin:0}.anchor-image-viewer__canvas{display:grid;width:100%;height:100%;min-height:0;place-items:center;overflow:hidden;border-radius:var(--radius-sm);background:#03131a}.anchor-image-viewer__image{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center center;transform:none}.anchor-image-viewer__unavailable{display:grid;gap:8px;place-items:center;color:var(--text-3);font-size:11px}.anchor-image-viewer figcaption{display:flex;min-width:0;justify-content:space-between;gap:10px;color:var(--text-3);font-size:10px}.anchor-image-viewer figcaption span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anchor-image-viewer__footer{display:grid;width:100%;grid-template-columns:auto minmax(300px,1fr);align-items:center;gap:12px}.anchor-image-viewer__delete,.anchor-image-viewer__delete>div{display:flex;align-items:center;gap:6px}.anchor-image-viewer__delete>div>span{color:var(--text-2);font-size:10px;white-space:nowrap}.anchor-image-viewer__navigation{display:grid;width:100%;grid-template-columns:minmax(90px,1fr) auto minmax(90px,1fr);align-items:center;gap:10px}.anchor-image-viewer__navigation>span{min-width:58px;color:var(--text-3);font-size:10px;font-variant-numeric:tabular-nums;text-align:center}.anchor-image-viewer__navigation .button:first-child{justify-self:start}.anchor-image-viewer__navigation .button:last-child{justify-self:end}.anchor-upload{gap:7px}.anchor-upload-dropzone{min-height:44px;gap:7px;padding:6px 7px;border-radius:var(--radius-sm);font-size:10px}.anchor-upload-dropzone>div{line-height:1.2}.anchor-upload-dropzone>div span{color:var(--text-3)}.anchor-upload-pending{gap:7px;padding:8px;border-radius:var(--radius-sm)}.anchor-upload-pending__preview{height:82px}.anchor-upload-options{grid-template-columns:1fr;gap:6px}@media (max-width: 900px){.species-admin-layout{grid-template-columns:1fr}.species-table-scroll{max-height:320px}}@media (max-width: 700px){.species-page__header,.species-details__header{flex-direction:column;align-items:stretch}.species-page__header-actions{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start}.species-slot-picker{gap:5px;padding-inline:5px}.species-slot-picker__header{padding-right:5px}.species-slot-picker__title>span,.species-slot-picker__state{display:none}.species-slot-picker__actions{gap:3px;padding-left:5px}.species-slot-picker__actions .button--sm{width:30px;min-width:30px;padding:0}.species-slot-picker__actions .button--sm>span:last-child:not(.button__icon){display:none}.species-slot-chip{min-width:104px;max-width:190px}.species-edit-form,.anchor-admin-grid{grid-template-columns:1fr}.species-details__summary{grid-template-columns:repeat(4,minmax(0,1fr))}.species-details__summary-item{padding-inline:3px}.species-details__summary-item--alias,.species-details__summary-item--notes{border-top:1px solid var(--border-subtle)}.species-details__summary-item--alias{border-left:0!important}.modal.anchor-image-modal{width:calc(100vw - 16px);height:max(0px,calc(100dvh - 16px));max-height:max(0px,calc(100dvh - 16px))}.anchor-image-viewer__canvas{min-height:0}.anchor-image-viewer__footer{grid-template-columns:1fr}.anchor-image-viewer__delete{justify-content:center}}@media (min-width: 761px){.app-main--species{overflow-y:auto;overscroll-behavior-y:contain}.species-page{min-height:100%;grid-template-rows:auto auto auto auto}}@media (min-width: 1280px){.species-page{grid-template-columns:224px minmax(0,1fr);grid-template-rows:54px auto auto}.species-page__header{grid-column:1;grid-row:1;padding-inline:4px}.species-slot-picker{grid-column:2;grid-row:1}.species-admin-layout{grid-column:1 / -1;grid-row:2}.review-discovery-pools{grid-column:1 / -1;grid-row:3}}@media (max-width: 760px){.app-main--species,.species-page{height:auto;min-height:0;overflow:visible}.species-page{grid-template-rows:none}.species-admin-layout{overflow:visible}}.review-discovery-pools{display:grid;min-width:0;gap:5px}.review-discovery-pools__header{display:flex;min-width:0;align-items:end;justify-content:space-between;gap:8px;padding-inline:2px}.review-discovery-pools__header h2,.review-discovery-pools__header p{margin:0}.review-discovery-pools__header h2{color:var(--text-1);font-size:12px;line-height:1.25}.review-discovery-pools__header p{margin-top:1px;color:var(--text-3);font-size:9.5px;line-height:1.3}.review-discovery-pools__grid{display:grid;min-width:0;height:360px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.review-discovery-card{display:flex;min-width:0;min-height:0;flex-direction:column;gap:7px;padding:9px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(145deg,#ffffff06,#ffffff03)}.review-discovery-card--error{border-color:color-mix(in srgb,var(--danger) 34%,var(--border-subtle))}.review-discovery-card__header,.review-discovery-card__identity,.review-discovery-card__identity>div,.review-discovery-card__count,.review-discovery-card__actions,.review-discovery-card__error,.review-discovery-card__readonly,.review-discovery-card__empty{display:flex;min-width:0}.review-discovery-card__header{align-items:flex-start;justify-content:space-between;gap:8px}.review-discovery-card__identity{align-items:flex-start;gap:8px}.review-discovery-card__identity>svg{flex:0 0 auto;margin-top:1px;color:var(--accent)}.review-discovery-card__identity>div{align-items:flex-start;flex-direction:column;gap:1px}.review-discovery-card__identity h3,.review-discovery-card__identity p{margin:0}.review-discovery-card__identity h3{color:var(--text-1);font-size:12px;line-height:1.25}.review-discovery-card__identity p{color:var(--text-3);font-size:9.5px;line-height:1.35}.review-discovery-card__count{flex:0 0 auto;align-items:center;justify-content:flex-end}.review-discovery-card__count .badge{min-width:28px;justify-content:center}.review-discovery-card__count .spinner{width:15px;height:15px}.review-discovery-card__actions{min-height:30px;align-items:flex-end;justify-content:flex-end;gap:4px}.review-discovery-card__confirm{display:inline-flex;min-width:0;align-items:center;gap:4px;color:var(--text-2);font-size:9px}.review-discovery-card__error,.review-discovery-card__readonly,.review-discovery-card__empty{align-items:center;gap:6px;min-height:0;margin:0;color:var(--text-2);font-size:10px}.review-discovery-card__error{color:var(--danger)}.review-discovery-card__error>span,.review-discovery-card__readonly>span{min-width:0;flex:1 1 auto}.review-discovery-card__empty{flex:1 1 auto;justify-content:center;color:var(--text-3)}.review-discovery-fish{display:grid;min-width:0;min-height:0;flex:1 1 auto;align-content:start;gap:4px;margin:0;padding:0 2px 0 0;overflow-y:auto;overscroll-behavior:contain;list-style:none}.review-discovery-fish>li{display:grid;min-width:0;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:44px;padding:3px 5px 3px 3px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-2)}.review-discovery-fish__preview{display:grid;width:42px;height:36px;place-items:center;overflow:hidden;padding:0;border:0;border-radius:5px;color:#52646b;background:#fff;cursor:pointer}.review-discovery-fish__preview:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.review-discovery-fish__preview img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center}.review-discovery-fish__unavailable{display:grid;place-items:center}.review-discovery-fish__identity{display:grid;min-width:0;gap:1px}.review-discovery-fish__identity strong,.review-discovery-fish__identity i{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-discovery-fish__identity strong{color:var(--text-1);font-size:10px}.review-discovery-fish__identity i{color:var(--text-3);font-size:9px}.review-discovery-fish .button--sm{min-width:30px;min-height:30px;padding-inline:6px}.review-discovery-fish__actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:4px}.review-discovery-fish__actions .button--sm{width:30px;height:30px;min-width:30px;padding:0}.review-discovery-species{display:grid;min-width:0;min-height:0;flex:1 1 auto;align-content:start;gap:5px;margin:0;padding:0 2px 0 0;overflow-y:auto;overscroll-behavior:contain;list-style:none}.review-discovery-species__item{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-2)}.review-discovery-species__item.is-excluded{opacity:.82}.review-discovery-species__identity{min-width:0}.review-discovery-species__identity>div{display:flex;min-width:0;align-items:center;gap:5px}.review-discovery-species__identity strong,.review-discovery-species__identity>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-discovery-species__identity strong{color:var(--text-1);font-size:10.5px}.review-discovery-species__identity>span{margin-top:2px;color:var(--text-3);font-size:9px}.review-discovery-species__identity .badge{flex:0 0 auto;padding:1px 5px;font-size:8px}.review-discovery-species__anchors{display:grid;min-width:0;grid-column:1 / -1;grid-row:2;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0}.review-discovery-species__anchors>div{display:grid;min-width:0;justify-items:center;gap:1px}.review-discovery-species__anchors dt,.review-discovery-species__anchors dd{margin:0}.review-discovery-species__anchors dt{overflow:hidden;color:var(--text-3);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.review-discovery-species__anchors dd{color:var(--text-1);font-size:10px;font-variant-numeric:tabular-nums;font-weight:700}.review-discovery-species__summary{display:flex;min-width:0;grid-column:1;grid-row:2;align-items:center;gap:9px;color:var(--text-3);font-size:9px}.review-discovery-species__summary strong{color:var(--text-1);font-variant-numeric:tabular-nums}.review-discovery-species__actions{display:flex;min-width:0;grid-column:2;grid-row:1 / 3;align-items:center;justify-content:flex-end;gap:4px}.review-discovery-species__actions .button--sm.button--icon-only{width:30px;height:30px;min-width:30px;padding:0}.review-discovery-card__actions--species{flex:0 0 auto}@media (max-width: 900px){.review-discovery-pools__grid{height:auto;grid-template-columns:1fr}.review-discovery-card{min-height:280px;max-height:360px}}@media (max-width: 620px){.review-discovery-species__item{grid-template-columns:minmax(0,1fr) auto}.review-discovery-species__anchors{grid-column:1 / -1;grid-row:2}.review-discovery-species__actions{grid-column:2;grid-row:1}.review-discovery-card{max-height:none}.review-discovery-card .button--sm{min-height:44px}.review-discovery-fish__actions .button--sm{width:44px;height:44px;min-width:44px;padding:0}.review-discovery-species__actions .button--sm.button--icon-only{width:44px;height:44px;min-width:44px}}.validated-fish-rail{display:flex;width:100%;height:36px;min-width:0;align-items:center;gap:8px;padding:3px 5px 3px 8px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffff05}.validated-fish-rail--error{border-color:color-mix(in srgb,var(--danger) 30%,var(--border-subtle))}.validated-fish-rail__identity,.validated-fish-rail__status,.validated-fish-rail__actions{display:flex;min-width:0;align-items:center;gap:6px}.validated-fish-rail__identity{flex:1 1 auto;color:var(--text-2)}.validated-fish-rail__identity>svg{flex:0 0 auto;color:var(--accent)}.validated-fish-rail__identity>div{display:flex;min-width:0;align-items:baseline;gap:7px}.validated-fish-rail__identity strong{overflow:hidden;color:var(--text-1);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.validated-fish-rail__identity span,.validated-fish-rail__status{overflow:hidden;color:var(--text-3);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.validated-fish-rail__status{flex:0 1 auto}.validated-fish-rail__status .spinner{width:12px;height:12px;border-width:1.5px}.validated-fish-rail__status .badge{min-width:24px;min-height:20px;justify-content:center;padding:1px 6px;font-size:9px}.validated-fish-rail__actions{flex:0 0 auto;gap:2px}.species-page .validated-fish-rail .button--sm{min-height:28px;padding-inline:7px;font-size:10px}.modal-backdrop:has(>.validated-fish-drawer){place-items:center;padding:16px}.modal.validated-fish-drawer{display:grid;width:min(900px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:var(--radius-md)}.validated-fish-drawer .modal__header,.validated-fish-drawer .modal__body,.validated-fish-drawer .modal__footer{padding:10px 12px}.validated-fish-drawer .modal__header h2{font-size:14px}.validated-fish-drawer .modal__close{width:30px;height:30px}.validated-fish-drawer .modal__body{min-height:0;overflow:auto;overscroll-behavior:contain}.validated-fish-drawer .modal__footer{min-width:0}.validated-fish-drawer__content{display:grid;min-height:100%;align-content:start;gap:9px}.validated-fish-drawer__hint,.validated-fish-drawer__readonly{display:flex;align-items:flex-start;gap:7px;margin:0;padding:7px 8px;border-radius:var(--radius-sm);color:var(--text-2);font-size:10px;line-height:1.4;background:#3290b811}.validated-fish-drawer__readonly{color:var(--warning-text);background:#f4c96b13}.validated-fish-drawer__hint svg,.validated-fish-drawer__readonly svg{flex:0 0 auto}.validated-fish-drawer__toolbar{display:grid;grid-template-columns:minmax(180px,1fr) minmax(140px,auto);align-items:end;gap:8px;padding:7px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05}.validated-fish-drawer__toolbar>label:first-child{display:grid;min-width:0;gap:3px}.validated-fish-drawer__toolbar>label:first-child>span{color:var(--text-3);font-size:9px;font-weight:700;text-transform:uppercase}.validated-fish-drawer__toolbar select{width:100%;min-height:30px;padding:0 7px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-1);font-size:10px;background:var(--surface-2)}.validated-fish-drawer__counts{display:flex;min-height:30px;min-width:0;align-items:center;justify-content:flex-end;gap:4px;overflow:hidden;color:var(--text-3);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.validated-fish-drawer__counts strong{color:var(--text-1);font-size:12px}.validated-fish-drawer__error,.validated-fish-drawer__loading,.validated-fish-drawer__empty{display:flex;min-height:82px;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-3);font-size:10px;text-align:center}.validated-fish-drawer__error{min-height:54px;justify-content:space-between;border-color:color-mix(in srgb,var(--danger) 34%,var(--border-subtle));color:var(--danger-text)}.validated-fish-drawer__empty{flex-direction:column}.validated-fish-drawer__empty strong{color:var(--text-1);font-size:11px}.validated-fish-list{display:grid;gap:6px;padding:0;margin:0;list-style:none}.validated-fish-card{display:grid;min-width:0;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05}.validated-fish-card--already_added,.validated-fish-card--removed,.validated-fish-card--species_unavailable{background:#ffffff03}.validated-fish-card__preview{display:grid;width:82px;height:70px;place-items:center;overflow:hidden;padding:0;border:0;border-radius:6px;color:#52646b;background:#fff;cursor:pointer}.validated-fish-card__preview:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.validated-fish-card__preview img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center}.validated-fish-card__unavailable{display:grid;gap:3px;place-items:center;color:#52646b;font-size:8px}.validated-fish-card__body{display:grid;min-width:0;gap:3px}.validated-fish-card__title{display:flex;min-width:0;align-items:center;gap:6px}.validated-fish-card__title>strong,.validated-fish-card__body>span,.validated-fish-card__body>time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.validated-fish-card__title>strong{min-width:0;color:var(--text-1);font-size:11px}.validated-fish-card__title .badge{min-height:18px;flex:0 0 auto;padding:1px 5px;font-size:8px}.validated-fish-card__body>span{color:var(--text-2);font-size:10px}.validated-fish-card__body>time{color:var(--text-3);font-size:9px}.validated-fish-card__actions{display:flex;align-items:center;gap:2px}.validated-fish-card__actions .button--sm,.validated-fish-drawer .modal__footer .button--sm,.validated-fish-drawer__error .button--sm,.validated-fish-drawer__load-more .button--sm{min-height:30px;padding-inline:7px;font-size:10px}.validated-fish-drawer__load-more{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--text-3);font-size:9px}.validated-fish-drawer__slot{justify-self:end;color:var(--text-3);font-size:9px}.validated-fish-drawer__footer,.validated-fish-viewer__footer{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:10px}.validated-fish-drawer__footer>div:first-child{min-width:0;color:var(--text-3);font-size:9px;line-height:1.35}.validated-fish-drawer__footer>div:first-child strong{color:var(--text-1);font-size:10px}.validated-fish-drawer__confirm-actions{display:flex;flex:0 0 auto;gap:4px}.validated-fish-dismiss-confirmation{display:flex;width:100%;min-width:0;align-items:center;justify-content:space-between;gap:12px}.validated-fish-dismiss-confirmation>div:first-child{display:grid;min-width:0;gap:2px;color:var(--text-2);font-size:9px}.validated-fish-dismiss-confirmation strong{color:var(--text-1);font-size:10px}.validated-fish-dismiss-confirmation__actions,.validated-fish-viewer__candidate-actions{display:flex;flex:0 0 auto;align-items:center;gap:4px}.validated-fish-viewer{display:grid;height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:8px;margin:0}.validated-fish-viewer__canvas{display:grid;width:100%;min-height:0;place-items:center;overflow:hidden;border-radius:var(--radius-sm);background:#03131a}.validated-fish-viewer__canvas>img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center}.validated-fish-viewer__unavailable{display:grid;gap:8px;place-items:center;color:var(--text-3);font-size:10px}.validated-fish-viewer figcaption{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.validated-fish-viewer figcaption>div{display:flex;min-width:0;align-items:center;gap:7px}.validated-fish-viewer figcaption strong,.validated-fish-viewer figcaption span,.validated-fish-viewer figcaption time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.validated-fish-viewer figcaption strong{color:var(--text-1);font-size:11px}.validated-fish-viewer figcaption span,.validated-fish-viewer figcaption time{color:var(--text-3);font-size:9px}.validated-fish-viewer__navigation{display:grid;min-width:260px;grid-template-columns:minmax(78px,1fr) auto minmax(78px,1fr);align-items:center;gap:7px}.validated-fish-viewer__navigation>span{min-width:55px;color:var(--text-3);font-size:9px;font-variant-numeric:tabular-nums;text-align:center}.validated-fish-viewer__navigation .button:first-child{justify-self:start}.validated-fish-viewer__navigation .button:last-child{justify-self:end}.modal-backdrop:has(>.new-species-fish-drawer){place-items:center;padding:16px}.modal.new-species-fish-drawer{display:grid;width:min(900px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));max-height:calc(100dvh - 32px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:var(--radius-md)}.new-species-fish-drawer .modal__header,.new-species-fish-drawer .modal__body,.new-species-fish-drawer .modal__footer{padding:10px 12px}.new-species-fish-drawer .modal__header h2{font-size:14px}.new-species-fish-drawer .modal__close{width:30px;height:30px}.new-species-fish-drawer .modal__body{min-height:0;overflow:auto;overscroll-behavior:contain}.new-species-fish-drawer__content{display:grid;min-height:100%;align-content:start;gap:9px}.new-species-fish-drawer__intro,.new-species-fish-drawer__readonly{display:flex;align-items:flex-start;gap:7px;margin:0;padding:7px 8px;border-radius:var(--radius-sm);color:var(--text-2);font-size:10px;line-height:1.4;background:#3290b811}.new-species-fish-drawer__readonly{color:var(--warning-text);background:#f4c96b13}.new-species-fish-drawer__intro svg,.new-species-fish-drawer__readonly svg{flex:0 0 auto}.new-species-fish-drawer__error,.new-species-fish-drawer__loading,.new-species-fish-drawer__empty{display:flex;min-height:82px;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-3);font-size:10px;text-align:center}.new-species-fish-drawer__error{min-height:54px;justify-content:space-between;border-color:color-mix(in srgb,var(--danger) 34%,var(--border-subtle));color:var(--danger-text)}.new-species-fish-drawer__empty,.new-species-fish-drawer__loading{flex-direction:column}.new-species-fish-drawer__empty strong{color:var(--text-1);font-size:11px}.new-species-fish-accordion,.new-species-fish-grid{display:grid;min-width:0;gap:7px;margin:0;padding:0;list-style:none}.new-species-fish-accordion__item{min-width:0;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05}.new-species-fish-accordion__header{display:grid;min-width:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px}.new-species-fish-accordion__header h3{min-width:0;margin:0}.new-species-fish-accordion__trigger{display:flex;width:100%;min-width:0;min-height:34px;align-items:center;gap:7px;padding:3px 5px;border:0;border-radius:5px;color:var(--text-1);text-align:left;background:transparent;cursor:pointer}.new-species-fish-accordion__trigger:hover{background:#ffffff09}.new-species-fish-accordion__trigger:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.new-species-fish-accordion__trigger>svg{flex:0 0 auto;color:var(--accent)}.new-species-fish-accordion__trigger>span{display:grid;min-width:0;gap:2px}.new-species-fish-accordion__trigger i,.new-species-fish-accordion__trigger small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-species-fish-accordion__trigger i{font-size:11px;font-weight:700}.new-species-fish-accordion__trigger small{color:var(--text-3);font-size:9px}.new-species-fish-accordion__summary,.new-species-fish-accordion__panel-actions,.new-species-fish-card__actions,.new-species-fish-drawer__footer,.new-species-fish-drawer__pagination{display:flex;min-width:0;align-items:center;gap:5px}.new-species-fish-accordion__summary{justify-content:flex-end}.new-species-fish-accordion__summary .badge{min-height:20px;padding:1px 6px;font-size:8px}.new-species-fish-accordion__panel{padding:8px;border-top:1px solid var(--border-subtle);background:#00000014}.new-species-fish-accordion__panel-actions{flex-wrap:wrap;justify-content:space-between;margin-bottom:7px;color:var(--text-3);font-size:9px}.new-species-fish-accordion__panel-actions>span{min-width:140px;flex:1 1 180px}.new-species-fish-accordion__empty{display:flex;min-height:76px;align-items:center;justify-content:center;gap:7px;color:var(--text-3);font-size:10px}.new-species-fish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.new-species-fish-card{display:grid;min-width:0;grid-template-columns:82px minmax(0,1fr);align-items:center;gap:8px;padding:6px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--surface-2)}.new-species-fish-card--already_added,.new-species-fish-card--removed,.new-species-fish-card--dismissed,.new-species-fish-card--species_unavailable{background:#ffffff03}.new-species-fish-card__preview{display:grid;width:82px;height:70px;place-items:center;overflow:hidden;grid-row:1 / 3;margin:0;border-radius:6px;color:#52646b;background:#fff}.new-species-fish-card__preview img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center}.new-species-fish-card__preview-unavailable{display:grid;gap:3px;place-items:center;color:#52646b;font-size:8px}.new-species-fish-card__body{display:grid;min-width:0;gap:4px}.new-species-fish-card__title{display:flex;min-width:0;align-items:center;gap:5px}.new-species-fish-card__title strong,.new-species-fish-card__body time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.new-species-fish-card__title strong{color:var(--text-1);font-size:11px}.new-species-fish-card__title .badge{flex:0 0 auto;min-height:18px;padding:1px 5px;font-size:8px}.new-species-fish-card__body time{color:var(--text-3);font-size:9px}.new-species-fish-card__actions{grid-column:2;justify-content:flex-end;flex-wrap:wrap}.new-species-fish-drawer .button--sm,.new-species-fish-card__actions .button--sm{min-height:30px;padding-inline:7px;font-size:10px}.new-species-fish-drawer__footer{width:100%;justify-content:space-between}.new-species-fish-drawer__pagination{color:var(--text-3);font-size:9px}@media (max-width: 700px){.validated-fish-rail__identity span,.validated-fish-rail__status>span{display:none}.validated-fish-rail__actions .button:first-child:not(:last-child)>span:last-child:not(.button__icon){display:none}.modal-backdrop:has(>.validated-fish-drawer),.modal-backdrop:has(>.new-species-fish-drawer){padding:0}.modal.validated-fish-drawer,.modal.new-species-fish-drawer{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.validated-fish-drawer__toolbar{grid-template-columns:minmax(0,1fr) auto}.validated-fish-drawer__counts{grid-column:1 / -1;justify-content:flex-start}.validated-fish-card{grid-template-columns:72px minmax(0,1fr)}.validated-fish-card__preview{width:72px;height:68px}.validated-fish-card__actions{grid-column:1 / -1;justify-content:flex-end}.validated-fish-drawer__footer,.validated-fish-viewer__footer,.validated-fish-dismiss-confirmation{flex-wrap:wrap}.validated-fish-drawer__footer>div:first-child{width:100%}.validated-fish-viewer__navigation{order:3;width:100%;min-width:0}.validated-fish-dismiss-confirmation>div:first-child{width:100%}.validated-fish-dismiss-confirmation__actions,.validated-fish-viewer__candidate-actions{margin-left:auto}.validated-fish-drawer .button--sm,.validated-fish-card__actions .button--sm{min-height:44px}.validated-fish-viewer figcaption{align-items:flex-start;flex-direction:column}.new-species-fish-accordion__header{grid-template-columns:minmax(0,1fr)}.new-species-fish-accordion__summary{justify-content:flex-start;flex-wrap:wrap}.new-species-fish-accordion__panel-actions>span{flex-basis:100%}.new-species-fish-accordion__panel-actions .button{flex:1 1 140px}.new-species-fish-grid{grid-template-columns:minmax(0,1fr)}.new-species-fish-drawer__footer{align-items:stretch;flex-direction:column}.new-species-fish-drawer__pagination{justify-content:space-between}.new-species-fish-drawer .button--sm,.new-species-fish-card__actions .button--sm{min-height:44px}}.modal-backdrop:has(>.anchor-image-modal),.modal-backdrop:has(>.validated-fish-drawer),.modal-backdrop:has(>.new-species-fish-drawer){place-items:center;padding:16px}.modal.anchor-image-modal,.modal.validated-fish-drawer,.modal.new-species-fish-drawer{display:grid;width:min(900px,calc(100vw - 32px));height:clamp(0px,calc(100dvh - 32px),760px);max-height:clamp(0px,calc(100dvh - 32px),760px);grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border-radius:var(--radius-md)}.anchor-image-modal .modal__body:has(>.anchor-media-viewer),.validated-fish-drawer .modal__body:has(>.anchor-media-viewer),.new-species-fish-drawer .modal__body:has(>.anchor-media-viewer){display:grid;min-height:0;overflow:hidden}.anchor-media-viewer{display:grid;height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:8px;margin:0}.anchor-media-viewer__canvas{display:grid;width:100%;height:100%;min-height:0;place-items:center;overflow:hidden;border-radius:var(--radius-sm);background:#03131a}.anchor-media-card__image,.anchor-media-viewer__image,.anchor-media-viewer__canvas>img{display:block;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain;object-position:center center;transform:none}.anchor-media-viewer__caption{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}.anchor-media-viewer__caption>div{display:flex;min-width:0;align-items:center;gap:7px}.anchor-media-viewer__caption strong,.anchor-media-viewer__caption span,.anchor-media-viewer__caption time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anchor-media-viewer__caption strong{color:var(--text-1);font-size:11px}.anchor-media-viewer__caption span,.anchor-media-viewer__caption time{color:var(--text-3);font-size:9px}.anchor-media-viewer__footer{display:grid;width:100%;min-width:0;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:10px}.anchor-media-viewer__footer--with-leading{grid-template-columns:auto minmax(260px,1fr) auto}.anchor-media-viewer__leading,.anchor-media-viewer__actions,.anchor-media-viewer__actions>div{display:flex;min-width:0;align-items:center;gap:4px}.anchor-media-viewer__actions{justify-content:flex-end}.anchor-media-viewer__actions>div>span{color:var(--text-2);font-size:10px;white-space:nowrap}.anchor-media-viewer__navigation{display:grid;width:100%;min-width:260px;grid-template-columns:minmax(78px,1fr) auto minmax(78px,1fr);align-items:center;gap:7px}.anchor-media-viewer__navigation>span{min-width:55px;color:var(--text-3);font-size:9px;font-variant-numeric:tabular-nums;text-align:center}.anchor-media-viewer__navigation .button:first-child{justify-self:start}.anchor-media-viewer__navigation .button:last-child{justify-self:end}.anchor-media-card__preview{cursor:pointer}.anchor-media-card__preview:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.anchor-media-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.validated-fish-card{grid-template-columns:82px minmax(0,1fr)}.validated-fish-card__preview{grid-row:1 / 3}.validated-fish-card__actions{grid-column:2}.anchor-media-card__actions .button--sm,.anchor-media-viewer__footer .button--sm{min-height:30px;padding-inline:7px;font-size:10px}@media (max-width: 700px){.modal-backdrop:has(>.anchor-image-modal),.modal-backdrop:has(>.validated-fish-drawer),.modal-backdrop:has(>.new-species-fish-drawer){padding:0}.modal.anchor-image-modal,.modal.validated-fish-drawer,.modal.new-species-fish-drawer{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.anchor-media-viewer__footer,.anchor-media-viewer__footer--with-leading{grid-template-columns:minmax(0,1fr)}.anchor-media-viewer__navigation{width:100%;min-width:0}.anchor-media-viewer__leading{justify-content:flex-start}.anchor-media-viewer__actions{justify-content:flex-end;flex-wrap:wrap}.anchor-media-viewer__caption{align-items:flex-start;flex-direction:column}.validated-fish-card,.new-species-fish-card{grid-template-columns:72px minmax(0,1fr)}.validated-fish-card__actions,.new-species-fish-card__actions{grid-column:2}.anchor-media-card__actions .button--sm,.anchor-media-viewer__footer .button--sm{min-height:44px}}.history-page{display:grid;gap:18px}.history-page__header{align-items:flex-start}.history-page__header-actions,.history-report-actions,.report-summary__badges{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.history-operator-select select,.history-report-actions select{min-height:36px;padding:7px 32px 7px 10px;border:1px solid var(--border-subtle);border-radius:9px;color:var(--text-1);background:var(--surface-2)}.history-report-population{display:flex;align-items:center;gap:8px;color:var(--text-3);font-size:.78rem}.report-export-actions{display:grid;gap:6px}.report-export-actions__buttons{display:flex;flex-wrap:wrap;gap:6px}.report-export-actions p{margin:0;color:var(--text-3);font-size:.75rem}.history-tabs{display:inline-flex;width:fit-content;gap:4px;padding:4px;border:1px solid var(--border-subtle);border-radius:12px;background:#0e2a369e}.history-tabs button{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:0;border-radius:9px;color:var(--text-2);background:transparent;cursor:pointer}.history-tabs button:hover,.history-tabs button.is-active{color:var(--text-1);background:var(--accent-soft);box-shadow:inset 0 0 0 1px #fe70602e}.history-filter-panel .panel__content,.history-timeline-panel .panel__content,.history-compare-panel .panel__content{padding:0}.history-filters{padding:18px}.history-filters__heading,.history-section-heading,.confusion-matrix__toolbar,.report-summary__header,.report-section>header,.export-progress>header,.history-event__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.history-filters__heading h2,.history-section-heading h2,.confusion-matrix h3,.report-summary h2,.report-section h3{margin:2px 0 0}.history-filters__eyebrow,.history-section-heading__eyebrow{display:inline-flex;align-items:center;gap:6px;color:var(--accent-strong);font-size:.72rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.history-filters__grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin-top:16px}.history-filters__actions{display:flex;justify-content:flex-end;margin-top:14px}.history-layout{display:grid;grid-template-columns:minmax(520px,1.15fr) minmax(420px,.85fr);align-items:start;gap:16px}.history-compare-panel{position:sticky;top:18px}.history-timeline,.revision-compare{padding:18px}.history-timeline__list{position:relative;display:grid;gap:13px;margin:18px 0 0;padding:0;list-style:none}.history-timeline__list:before{content:"";position:absolute;top:10px;bottom:10px;left:18px;width:1px;background:var(--border-strong)}.history-event{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px}.history-event__marker{z-index:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border-strong);border-radius:50%;color:var(--text-2);background:var(--bg-1)}.history-event__marker--automatic,.history-event__marker--recalculation{color:var(--info)}.history-event__marker--validation{color:var(--success)}.history-event__marker--reopen{color:var(--warning)}.history-event__marker--human{color:var(--accent)}.history-event__card{min-width:0;padding:14px;border:1px solid var(--border-subtle);border-radius:13px;background:#143a4a94}.history-event__title-row,.history-event__meta,.history-event__revisions,.history-revision-chip,.mask-diff-viewer__legend,.report-count-list,.export-dialog__scope,.export-progress header>div,.export-progress__meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.history-event__title-row strong{font-size:.95rem}.history-event__time{display:block;margin-top:4px;color:var(--text-3);font-size:.75rem}.history-event__meta{margin-top:10px;color:var(--text-2);font-size:.78rem}.history-event__note{margin:10px 0 0;padding:9px 10px;border-left:2px solid var(--accent);color:var(--text-2);background:#fe70600d}.history-event__revisions{margin-top:11px}.history-revision-chip{padding:5px 6px 5px 9px;border:1px solid var(--border-subtle);border-radius:999px;background:#ffffff06}.history-revision-chip code{color:var(--text-2);font-size:.7rem}.history-revision-chip button{padding:3px 7px;border:0;border-radius:999px;color:var(--text-3);background:transparent;cursor:pointer;font-size:.68rem}.history-revision-chip button:hover{color:var(--text-1);background:var(--info-surface)}.history-revision-chip button.is-selected{color:var(--text-1);background:var(--accent-soft)}.history-timeline__more{display:flex;justify-content:center;margin-top:16px}.history-empty,.report-empty,.mask-diff-empty{display:grid;place-items:center;gap:7px;min-height:130px;padding:24px;color:var(--text-3);text-align:center}.history-empty strong,.report-empty strong{color:var(--text-1)}.report-empty--error{color:var(--danger-text)}.revision-compare__content{margin-top:16px}.revision-compare__ids{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;margin-bottom:13px}.revision-compare__ids code{overflow:hidden;padding:8px;border-radius:8px;color:var(--text-2);background:#0003;text-overflow:ellipsis}.revision-metric-grid,.report-metric-grid,.report-error-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.revision-metric-grid article{display:grid;gap:4px;padding:11px;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff06}.revision-metric-grid span{color:var(--text-3);font-size:.72rem}.revision-metric-grid strong{font-size:1.05rem}.revision-compare-table{display:grid;margin-top:12px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px}.revision-compare-row{display:grid;grid-template-columns:minmax(110px,.65fr) minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:9px 11px;border-bottom:1px solid var(--border-subtle)}.revision-compare-row:last-child{border-bottom:0}.revision-compare-row.is-changed{background:#f4c96b0b}.revision-compare-row__label{color:var(--text-3);font-size:.75rem}.revision-compare-row__value{overflow-wrap:anywhere;color:var(--text-2);font-size:.78rem}.revision-top5-compare,.revision-midline-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.revision-top5-compare section,.revision-midline-preview{padding:12px;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff05}.revision-top5-compare h4{margin:0 0 8px}.revision-top5-compare ol{display:grid;gap:5px;margin:0;padding-left:22px}.revision-top5-compare li{color:var(--text-2);font-size:.76rem}.revision-top5-compare li span{margin-right:8px}.revision-midline-preview{display:grid;gap:8px;margin:0}.revision-midline-preview svg{width:100%;height:150px;border-radius:8px;background:#081219}.revision-midline-preview polyline{stroke:var(--accent);stroke-width:2}.revision-midline-preview circle{fill:var(--warning);stroke:#071319;stroke-width:1}.revision-midline-preview figcaption,.revision-midline-preview--empty span{color:var(--text-3);font-size:.7rem}.revision-midline-preview--empty{place-items:center;min-height:170px}.mask-diff-viewer{margin:14px 0 0}.mask-diff-viewer__legend{margin-bottom:8px;color:var(--text-2);font-size:.72rem}.mask-diff-viewer__legend span{display:inline-flex;align-items:center;gap:4px}.mask-diff-viewer__swatch{width:10px;height:10px;border-radius:2px}.mask-diff-viewer__swatch--added{background:#31d27c}.mask-diff-viewer__swatch--removed{background:#ef5f67}.mask-diff-viewer__image-wrap{display:grid;place-items:center;min-height:180px;max-height:440px;overflow:auto;border:1px solid var(--border-subtle);border-radius:10px;background-color:#081219;background-image:linear-gradient(45deg,rgba(255,255,255,.035) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.035) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.035) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.035) 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}.mask-diff-viewer img{max-width:100%;image-rendering:pixelated}.mask-diff-viewer figcaption{margin-top:6px;color:var(--text-3);font-size:.7rem}.history-report-panel .panel__content{padding-top:14px}.report-summary{display:grid;gap:14px}.report-species-scope{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);align-items:center;gap:14px;padding:14px 18px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-1)}.report-species-scope .field{min-width:0;margin:0}.report-species-scope select{width:100%;min-width:0}.report-species-scope__detail{min-width:0;overflow-wrap:anywhere}.report-species-scope__detail strong{font-size:.9rem}.report-species-scope__detail p{margin:4px 0 0;color:var(--text-3);font-size:.75rem}.report-species-table-scroll{margin-top:12px;overflow-x:auto}.report-species-table{width:100%;border-collapse:collapse;font-size:.78rem}.report-species-table caption{padding-bottom:8px;color:var(--text-1);font-weight:700;text-align:left}.report-species-table th,.report-species-table td{padding:8px;border-bottom:1px solid var(--border-subtle);text-align:right}.report-species-table th:first-child,.report-species-table td:first-child{text-align:left}.report-species-table thead th{color:var(--text-3);font-weight:650}.report-phase-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.report-phase-overview a{display:grid;gap:4px;min-width:0;padding:13px;border:1px solid var(--border-subtle);border-radius:11px;color:var(--text-1);background:#ffffff06;text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}.report-phase-overview a:hover,.report-phase-overview a:focus-visible{border-color:color-mix(in srgb,var(--accent) 55%,var(--border-subtle));background:var(--accent-soft);transform:translateY(-1px)}.report-phase-overview a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.report-phase-overview span,.report-phase__eyebrow{color:var(--accent-strong);font-size:.7rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.report-phase-overview strong{font-size:.96rem}.report-phase-overview b{color:var(--text-2);font-size:.76rem;font-weight:650}.report-summary__header,.report-section{padding:18px;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-1)}.report-summary__header p,.report-section header p,.confusion-matrix__toolbar p{margin:4px 0 0;color:var(--text-3)}.report-warnings{display:grid;gap:6px}.report-warnings>div{display:flex;gap:8px;padding:9px 11px;border:1px solid rgba(244,201,107,.2);border-radius:9px;color:var(--warning-text);background:var(--warning-surface)}.report-section>header{justify-content:flex-start}.report-section>header>svg{margin-top:3px;color:var(--accent)}.report-phase{scroll-margin-top:16px}.report-phase__header{align-items:center!important}.report-phase__marker{position:relative;display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border-subtle));border-radius:11px;color:var(--accent);background:var(--accent-soft)}.report-phase__marker b{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:18px;height:18px;border:2px solid var(--surface-1);border-radius:50%;color:var(--bg-1);background:var(--accent);font-size:.65rem}.report-metric-grid{margin-top:14px}.report-metric-card{display:flex;align-items:flex-start;gap:10px;min-height:92px;padding:13px;border:1px solid var(--border-subtle);border-radius:11px;background:#ffffff06}.report-metric-card__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--accent);background:var(--accent-soft)}.report-metric-card div{display:grid;gap:2px;min-width:0}.report-metric-card span{color:var(--text-3);font-size:.75rem}.report-metric-card strong{font-size:1.28rem}.report-metric-card small{color:var(--text-2);font-size:.68rem}.report-secondary-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.report-distribution-line,.report-count-list,.report-error-block,.report-breakdown,.report-pair-list{padding:12px;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff05}.report-distribution-line{display:grid;grid-template-columns:1fr auto;gap:3px 10px}.report-distribution-line span{color:var(--text-3)}.report-distribution-line small{grid-column:1 / -1;color:var(--text-3)}.report-count-list{justify-content:space-around}.report-count-list span{display:grid;gap:2px;color:var(--text-3);font-size:.72rem;text-align:center}.report-count-list b{color:var(--text-1);font-size:1rem}.report-count-list--wide{margin-top:10px}.report-error-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:14px}.report-error-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}.report-error-block h4,.report-breakdown h4,.report-pair-list h4{margin:0 0 9px}.report-error-block dl{display:grid;gap:6px;margin:0}.report-error-block dl>div{display:flex;justify-content:space-between;gap:10px}.report-error-block dt{color:var(--text-3)}.report-error-block dd{margin:0;font-weight:700}.report-breakdown,.report-pair-list{margin-top:10px}.report-breakdown>div,.report-pair-list{display:flex;flex-wrap:wrap;gap:7px}.report-breakdown span,.report-pair-list>span{display:inline-flex;align-items:center;gap:8px;padding:6px 9px;border:1px solid var(--border-subtle);border-radius:999px;color:var(--text-2);background:#0000001f;font-size:.72rem}.report-breakdown em{font-style:normal}.report-supporting-details{margin-top:12px;overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff05}.report-supporting-details--standalone{margin-top:0;background:var(--surface-1)}.report-supporting-details summary{padding:11px 13px;color:var(--text-2);font-weight:700;cursor:pointer}.report-supporting-details summary:hover,.report-supporting-details summary:focus-visible{color:var(--text-1);background:var(--accent-soft)}.report-supporting-details summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.report-supporting-details__content{padding:0 13px 13px;border-top:1px solid var(--border-subtle)}.report-supporting-details__content>p{color:var(--text-3)}.report-supporting-details__content>h4{margin:13px 0 4px}.confusion-matrix{margin-top:14px}.confusion-matrix__toolbar{align-items:flex-end}.confusion-matrix__search{display:flex;align-items:center;gap:6px;min-width:220px;padding:7px 9px;border:1px solid var(--border-subtle);border-radius:9px;background:#00000029}.confusion-matrix__search input{width:100%;border:0;padding:0;background:transparent}.confusion-matrix__scroll{max-height:620px;margin-top:10px;overflow:auto;border:1px solid var(--border-subtle);border-radius:10px}.confusion-matrix table{border-collapse:separate;border-spacing:0;min-width:max-content;font-size:.8rem}.confusion-matrix th,.confusion-matrix td{min-width:46px;height:46px;padding:4px;border-right:1px solid rgba(129,221,237,.08);border-bottom:1px solid rgba(129,221,237,.08);text-align:center}.confusion-matrix thead th{position:sticky;top:0;z-index:3;background:var(--bg-2)}.confusion-matrix tbody th{position:sticky;left:0;z-index:2;max-width:190px;padding:5px 9px;background:var(--bg-2);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.confusion-matrix__corner{left:0;z-index:4!important;min-width:190px!important}.confusion-matrix thead th:not(.confusion-matrix__corner) span{display:block;max-width:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:rotate(-36deg);transform-origin:center}.confusion-matrix td{background:rgba(50,144,184,calc(var(--matrix-intensity) * .38))}.confusion-matrix td.is-diagonal{background:rgba(103,215,165,calc(.12 + var(--matrix-intensity) * .62));font-weight:800}.confusion-matrix td.is-error{color:var(--danger-text);background:rgba(255,92,108,calc(.09 + var(--matrix-intensity) * .52))}.export-dialog__fieldset{display:grid;gap:8px;margin:0;padding:12px;border:1px solid var(--border-subtle);border-radius:10px}.export-dialog,.export-dialog__mode{display:grid;gap:8px}.export-dialog__mode{margin:0;padding:12px;border:1px solid var(--border-subtle);border-radius:10px}.export-dialog__mode label{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.export-dialog__mode label>span{display:grid;gap:2px}.export-dialog__mode small{color:var(--text-3)}.export-dialog__options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.export-dialog__options label{display:flex;align-items:center;gap:9px;padding:8px;border:1px solid var(--border-subtle);border-radius:9px;cursor:pointer}.radio-card,.check-row{display:flex;align-items:flex-start;gap:9px;cursor:pointer}.radio-card span{display:grid;gap:2px}.radio-card small{color:var(--text-3)}.modal.validation-dialog-modal{width:min(410px,100%);border-radius:var(--radius-md);background:#123746fa}.validation-dialog-modal .modal__header,.validation-dialog-modal .modal__body,.validation-dialog-modal .modal__footer{padding:10px 12px}.validation-dialog-modal .modal__header h2{font-size:14px}.validation-dialog-modal .modal__close{width:28px;height:28px;border-radius:6px}.validation-dialog-modal .modal__footer{gap:6px;flex-wrap:wrap}.validation-dialog-modal .modal__footer .button{min-height:30px;padding-inline:9px;font-size:10px}.validation-dialog--compact{display:grid;gap:7px}.validation-dialog--compact .field{gap:5px}.validation-dialog--compact .field__label{gap:4px;font-size:11px;font-weight:680}.validation-dialog--compact .field__optional{font-size:10px;font-weight:500}.validation-dialog-modal .validation-dialog__comment textarea{min-height:74px;padding:8px 9px;border-radius:7px;font-size:12px;line-height:1.4}.validation-dialog__hint,.validation-dialog__error{margin:0;font-size:10.5px;line-height:1.4}.validation-dialog__hint{color:var(--text-3)}.validation-dialog__error{color:var(--danger-text)}.export-dialog__stack{display:grid;gap:14px}.export-dialog__scope{padding:12px;border:1px solid var(--border-subtle);border-radius:10px;background:#fe70600b}.export-dialog__scope>svg{color:var(--accent)}.export-dialog__scope div{display:grid;gap:3px}.export-dialog__scope span{color:var(--text-3);font-size:.73rem}.export-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.check-row{align-items:center;padding:8px;border:1px solid var(--border-subtle);border-radius:9px}.export-dialog__estimate{display:flex;justify-content:space-between;gap:12px;padding:10px;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.export-dialog__estimate span{color:var(--text-3)}.export-progress{display:grid;gap:9px;padding:12px;border:1px solid var(--border-subtle);border-radius:10px}.progress-track{height:7px;overflow:hidden;border-radius:99px;background:#ffffff14}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.export-progress__track{height:7px;overflow:hidden;border-radius:99px;background:#ffffff14}.export-progress__track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.export-progress__meta{justify-content:space-between}.export-progress code{overflow:hidden;color:var(--text-3);font-size:.67rem;text-overflow:ellipsis}@media (max-width: 1320px){.history-filters__grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.history-layout{grid-template-columns:1fr}.history-compare-panel{position:static}}@media (max-width: 900px){.history-filters__grid{grid-template-columns:repeat(2,minmax(140px,1fr))}.report-phase-overview,.report-metric-grid,.revision-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-error-grid,.report-secondary-grid,.revision-top5-compare,.revision-midline-grid{grid-template-columns:1fr}.history-page__header,.report-summary__header,.confusion-matrix__toolbar{flex-direction:column;align-items:stretch}}@media (max-width: 620px){.history-filters__grid,.export-options,.export-dialog__options,.report-phase-overview,.report-species-scope{grid-template-columns:1fr}.history-event__header{flex-direction:column}.revision-compare-row{grid-template-columns:1fr}.revision-compare-row>svg{transform:rotate(90deg)}.report-metric-grid,.revision-metric-grid{grid-template-columns:1fr}}.report-record-breakdown{margin-top:10px;padding:12px;border:1px solid var(--border-subtle);border-radius:10px;background:#ffffff05}.report-record-breakdown h4{margin:0 0 9px}.report-record-breakdown>div{display:grid;gap:7px}.report-record-breakdown span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:7px 9px;border-radius:8px;background:#ffffff06}.report-record-breakdown em{min-width:0;overflow:hidden;color:var(--text-2);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.report-record-breakdown small{grid-column:1;color:var(--text-3)}.report-record-breakdown b{grid-column:2;grid-row:1 / span 2}.export-progress__error{color:var(--danger-text);font-size:.82rem;line-height:1.4;overflow-wrap:anywhere}.history-page--compact{max-width:none;gap:8px;color:var(--text-2);font-size:12px}.app-main--history{padding:8px}.history-page--compact .history-page__header{min-height:34px;align-items:center;gap:10px;margin:0}.history-page--compact .history-page__header h1{margin:0;font-size:16px;line-height:1.2}.history-page--compact .history-page__header p{margin:2px 0 0;font-size:11px;line-height:1.3}.history-page--compact .history-page__header-actions,.history-page--compact .history-report-actions,.history-page--compact .report-summary__badges{gap:5px}.history-page--compact .history-page__updates{display:inline-flex;min-height:20px;align-items:center;gap:4px;padding:2px 6px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border-subtle));border-radius:999px;color:var(--text-1);font-size:8.5px;font-weight:700;background:color-mix(in srgb,var(--accent) 7%,transparent)}.history-page--compact .history-page__updates:before{width:5px;height:5px;border-radius:50%;background:currentColor;content:""}.history-page--compact .button--sm{min-height:30px;padding-inline:8px;font-size:10px}.history-page--compact .history-tabs{gap:2px;padding:2px;border-radius:8px}.history-page--compact .history-tabs button{gap:5px;min-height:28px;padding:5px 9px;border-radius:6px;font-size:10.5px;font-weight:650}.history-page--compact .history-filter-panel,.history-page--compact .history-timeline-panel,.history-page--compact .history-compare-panel,.history-page--compact .history-report-panel{border-radius:var(--radius-md)}.history-page--compact .history-filters,.history-page--compact .history-timeline,.history-page--compact .revision-compare{padding:9px}.history-page--compact .history-filters__heading,.history-page--compact .history-section-heading,.history-page--compact .report-summary__header,.history-page--compact .report-section>header,.history-page--compact .history-event__header{align-items:center;gap:8px}.history-filters__heading-actions,.history-filters__advanced-toggle{display:inline-flex;align-items:center}.history-filters__heading-actions{gap:4px}.history-filters__advanced-toggle{min-height:28px;gap:4px;padding:0 7px;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-2);font-size:9.5px;background:#ffffff06;cursor:pointer}.history-filters__advanced-toggle:hover,.history-filters__advanced-toggle[aria-expanded=true]{border-color:var(--border-strong);color:var(--text-1);background:var(--accent-soft)}.history-filters__advanced-toggle>span{padding:1px 4px;border-radius:999px;color:var(--text-1);font-size:8px;background:#fe70601c}.history-filters__advanced-toggle .is-open{transform:rotate(180deg)}.history-page--compact .history-filters__heading h2,.history-page--compact .history-section-heading h2,.history-page--compact .report-summary h2,.history-page--compact .report-section h3{margin:1px 0 0;font-size:13px;line-height:1.2}.history-page--compact .history-filters__eyebrow,.history-page--compact .history-section-heading__eyebrow{gap:4px;font-size:8.5px;letter-spacing:.06em}.history-page--compact .history-filters__grid{gap:6px;margin-top:8px}.history-page--compact .history-filters__grid--primary,.history-page--compact .history-filters__grid--advanced{grid-template-columns:repeat(4,minmax(120px,1fr))}.history-page--compact .history-filters__grid--advanced{padding-top:8px;border-top:1px solid var(--border-subtle)}.history-page--compact .history-filters .field{gap:3px;font-size:9px}.history-page--compact .history-filters .field>span{color:var(--text-3);font-weight:650}.history-page--compact .history-filters select,.history-page--compact .history-filters input{min-height:29px;padding:4px 7px;border-radius:6px;font-size:10px}.history-page--compact .history-filters__actions{margin-top:7px}.history-page--compact .history-filters__actions .button{min-height:30px;padding-inline:9px;font-size:10px}.history-page--compact .history-layout{grid-template-columns:minmax(0,1fr);gap:8px}.history-page--compact .history-layout--comparing{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.history-page--compact .history-compare-panel{top:8px}.history-page--compact .history-section-heading .badge,.history-page--compact .history-event .badge,.history-page--compact .report-summary__badges .badge{min-height:18px;padding:1px 5px;gap:3px;font-size:8px}.history-page--compact .history-section-heading .badge:before,.history-page--compact .history-event .badge:before,.history-page--compact .report-summary__badges .badge:before{width:4px;height:4px}.history-page--compact .history-timeline__list{gap:7px;margin-top:9px}.history-page--compact .history-timeline__list:before{left:13px}.history-page--compact .history-event{grid-template-columns:27px minmax(0,1fr);gap:7px}.history-page--compact .history-event__marker{width:27px;height:27px}.history-page--compact .history-event__marker svg{width:13px;height:13px}.history-page--compact .history-event__card{padding:8px;border-radius:8px}.history-page--compact .history-event__title-row,.history-page--compact .history-event__meta,.history-page--compact .history-event__revisions,.history-page--compact .history-revision-chip{gap:5px}.history-page--compact .history-event__title-row strong{font-size:11px}.history-page--compact .history-event__time{margin-top:2px;font-size:9px}.history-page--compact .history-event__meta{margin-top:6px;font-size:9.5px}.history-page--compact .history-event__note{margin-top:6px;padding:5px 7px;font-size:10px}.history-page--compact .history-event__revisions{margin-top:6px}.history-page--compact .history-revision-chip{padding:2px 3px 2px 6px}.history-page--compact .history-revision-chip code,.history-page--compact .history-revision-chip button{font-size:8.5px}.history-page--compact .history-revision-chip button{min-height:24px;padding:2px 5px}.history-page--compact .history-timeline__more{margin-top:8px}.history-page--compact .history-empty,.history-page--compact .report-empty,.history-page--compact .mask-diff-empty{gap:5px;min-height:90px;padding:12px;font-size:10px}.history-page--compact .revision-compare__content{margin-top:8px}.history-page--compact .revision-compare__ids{gap:5px;margin-bottom:7px}.history-page--compact .revision-compare__ids code{padding:5px;border-radius:6px;font-size:8.5px}.history-page--compact .revision-metric-grid,.history-page--compact .report-metric-grid,.history-page--compact .report-error-grid{gap:6px}.history-page--compact .revision-metric-grid article{gap:2px;padding:6px;border-radius:7px}.history-page--compact .revision-metric-grid span{font-size:9px}.history-page--compact .revision-metric-grid strong{font-size:12px}.history-page--compact .revision-compare-table,.history-page--compact .revision-top5-compare,.history-page--compact .revision-midline-grid{margin-top:7px}.history-page--compact .revision-compare-row{grid-template-columns:minmax(82px,.55fr) minmax(0,1fr) auto minmax(0,1fr);gap:5px;padding:5px 7px}.history-page--compact .revision-compare-row__label,.history-page--compact .revision-compare-row__value{font-size:9px}.history-page--compact .revision-top5-compare,.history-page--compact .revision-midline-grid{gap:6px}.history-page--compact .revision-top5-compare section,.history-page--compact .revision-midline-preview{padding:7px;border-radius:7px}.history-page--compact .revision-midline-preview svg{height:110px}.history-page--compact .mask-diff-viewer{margin-top:8px}.history-page--compact .mask-diff-viewer__image-wrap{min-height:120px;max-height:300px;border-radius:7px}.history-page--compact .history-report-panel>.panel__header{align-items:center;padding:9px 10px 0}.history-page--compact .history-report-panel .panel__title{font-size:13px}.history-page--compact .history-report-panel .panel__description,.history-page--compact .history-report-scope{font-size:9.5px}.history-page--compact .history-report-panel>.panel__content{padding:9px}.history-page--compact .report-summary{gap:8px}.history-page--compact .report-species-scope{padding:9px;gap:8px;border-radius:8px}.history-page--compact .report-species-scope__detail strong{font-size:12px}.history-page--compact .report-species-scope__detail p{font-size:9.5px}.history-page--compact .report-species-table{font-size:10px}.history-page--compact .report-species-table th,.history-page--compact .report-species-table td{padding:6px}.history-page--compact .report-phase-overview{gap:6px}.history-page--compact .report-phase-overview a{gap:2px;min-height:64px;padding:8px;border-radius:7px}.history-page--compact .report-phase-overview span,.history-page--compact .report-phase__eyebrow{font-size:9px}.history-page--compact .report-phase-overview strong{font-size:12px}.history-page--compact .report-phase-overview b{font-size:10px}.history-page--compact .report-summary__header,.history-page--compact .report-section{padding:9px;border-radius:8px}.history-page--compact .report-summary__header p,.history-page--compact .report-section header p,.history-page--compact .confusion-matrix__toolbar p{margin-top:2px;font-size:9.5px}.history-page--compact .report-warnings{gap:4px}.history-page--compact .report-warnings>div{gap:5px;padding:6px 7px;border-radius:6px;font-size:9.5px}.history-page--compact .report-section>header>svg{width:15px;height:15px;margin-top:0}.history-page--compact .report-phase__marker{width:34px;height:34px;border-radius:8px}.history-page--compact .report-phase__marker b{width:16px;height:16px;font-size:9px}.history-page--compact .report-metric-grid,.history-page--compact .report-error-grid{margin-top:8px}.history-page--compact .report-metric-card{min-height:58px;gap:6px;padding:7px;border-radius:7px}.history-page--compact .report-metric-card__icon{width:26px;height:26px;border-radius:6px}.history-page--compact .report-metric-card__icon svg{width:14px;height:14px}.history-page--compact .report-metric-card span{font-size:9px}.history-page--compact .report-metric-card strong{font-size:15px}.history-page--compact .report-metric-card small{font-size:8.5px}.history-page--compact .report-secondary-grid{gap:6px;margin-top:6px}.history-page--compact .report-distribution-line,.history-page--compact .report-count-list,.history-page--compact .report-error-block,.history-page--compact .report-breakdown,.history-page--compact .report-pair-list,.history-page--compact .report-record-breakdown{padding:7px;border-radius:7px}.history-page--compact .report-count-list span,.history-page--compact .report-error-block,.history-page--compact .report-distribution-line,.history-page--compact .report-record-breakdown{font-size:9px}.history-page--compact .report-count-list b{font-size:12px}.history-page--compact .report-count-list--wide,.history-page--compact .report-breakdown,.history-page--compact .report-pair-list,.history-page--compact .report-record-breakdown{margin-top:6px}.history-page--compact .report-breakdown span,.history-page--compact .report-pair-list>span{gap:5px;padding:3px 6px;font-size:9px}.history-page--compact .report-record-breakdown>div{gap:4px}.history-page--compact .report-record-breakdown span{gap:1px 6px;padding:4px 6px;border-radius:5px}.history-page--compact .report-supporting-details{margin-top:7px;border-radius:7px}.history-page--compact .report-supporting-details--standalone{margin-top:0}.history-page--compact .report-supporting-details summary{min-height:34px;padding:8px 9px;font-size:10px}.history-page--compact .report-supporting-details__content{padding:0 9px 9px}.history-page--compact .confusion-matrix{margin-top:8px}.history-page--compact .confusion-matrix__search{min-width:180px;padding:5px 7px;border-radius:6px}.history-page--compact .confusion-matrix__scroll{max-height:440px;margin-top:6px;border-radius:7px}.history-page--compact .confusion-matrix table{font-size:10px}.history-page--compact .confusion-matrix th,.history-page--compact .confusion-matrix td{min-width:38px;height:38px}.modal.history-export-dialog{width:min(480px,100%);border-radius:var(--radius-md)}.history-export-dialog .modal__header,.history-export-dialog .modal__body,.history-export-dialog .modal__footer{padding:10px 12px}.history-export-dialog .modal__header h2{font-size:14px}.history-export-dialog .modal__close{width:28px;height:28px}.history-export-dialog .modal__footer{gap:5px}.history-export-dialog .modal__footer .button{min-height:30px;padding-inline:9px;font-size:10px}.history-export-dialog .export-dialog{gap:7px;font-size:10px}.history-export-dialog .export-dialog__scope,.history-export-dialog .export-dialog__mode,.history-export-dialog .export-dialog__options label,.history-export-dialog .export-dialog__estimate,.history-export-dialog .export-progress{padding:7px;border-radius:7px}.history-export-dialog .export-dialog__scope>svg{width:17px;height:17px}@media (max-width: 1100px){.history-page--compact .history-layout--comparing{grid-template-columns:1fr}.history-page--compact .history-compare-panel{position:static}}@media (max-width: 760px){.history-page--compact .history-page__header,.history-page--compact .history-filters__heading,.history-page--compact .report-summary__header{flex-direction:column;align-items:stretch}.history-page--compact .history-page__header-actions,.history-filters__heading-actions{justify-content:flex-start}.history-page--compact .history-filters__grid--primary,.history-page--compact .history-filters__grid--advanced{grid-template-columns:repeat(2,minmax(120px,1fr))}}@media (max-width: 520px){.history-page--compact .history-tabs{width:100%}.history-page--compact .history-tabs button{flex:1 1 0;justify-content:center}.history-page--compact .history-filters__grid--primary,.history-page--compact .history-filters__grid--advanced,.history-page--compact .report-metric-grid,.history-page--compact .revision-metric-grid,.history-page--compact .revision-compare-row{grid-template-columns:1fr}.history-page--compact .revision-compare-row>svg{transform:rotate(90deg)}}.backend-gate{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:14px;padding:32px;text-align:center;background:radial-gradient(circle at top,rgba(129,221,237,.08),transparent 42%),var(--bg-0)}.backend-gate--error{max-width:760px;margin:0 auto}.backend-gate__icon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;color:var(--danger);background:var(--danger-surface)}.backend-gate__icon svg{width:36px;height:36px}.backend-gate h1{margin:4px 0 8px}.backend-gate p{max-width:640px;color:var(--text-2)}.backend-gate code{max-width:min(640px,90vw);overflow-wrap:anywhere;color:var(--text-3)}.backend-gate__detail{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(255,92,108,.22);border-radius:10px;color:var(--danger-text);background:var(--danger-surface)}.app-main--settings{padding:8px}.settings-page--compact{display:grid;max-width:none;gap:14px;color:var(--text-2);font-size:13px}.settings-page--compact .settings-page__header{min-height:42px;align-items:center;gap:14px;margin:0}.settings-page--compact .settings-page__header h1{margin:0;color:var(--text-1);font-size:20px;line-height:1.2}.settings-page--compact .settings-page__header p{margin:2px 0 0;color:var(--text-2);font-size:12px;line-height:1.4}.settings-header__actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:6px}.settings-system-state{display:inline-flex;align-items:center;gap:5px;color:var(--text-3);font-size:11px}.settings-page--compact .button--sm{min-height:36px;padding-inline:11px;font-size:11px}.settings-page--compact .badge{min-height:20px;gap:4px;padding:2px 7px;font-size:10.5px}.settings-page--compact .badge:before{width:5px;height:5px}.settings-section{display:grid;min-width:0;gap:9px}.settings-section__heading{display:flex;min-width:0;align-items:flex-end;justify-content:space-between;gap:14px;padding-inline:2px}.settings-section__heading>div{min-width:0}.settings-section__eyebrow{display:block;margin-bottom:2px;color:var(--accent-strong);font-size:9.5px;font-weight:780;text-transform:uppercase;letter-spacing:.11em}.settings-section__heading h2{margin:0;color:var(--text-1);font-size:14px;line-height:1.25}.settings-section__heading p{margin:2px 0 0;color:var(--text-3);font-size:11px;line-height:1.35}.settings-section__heading time{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;color:var(--text-3);font-size:10.5px;white-space:nowrap}.settings-section__heading time svg{width:14px;height:14px;color:var(--info)}.diagnostics-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.diagnostics-memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-page--compact .diagnostics-card,.settings-page--compact .settings-requirements-panel,.settings-page--compact .settings-failure-panel,.settings-page--compact .settings-loading-panel{border-radius:var(--radius-md)}.settings-page--compact .diagnostics-card .panel__content{display:grid;gap:7px;min-height:96px;padding:12px}.diagnostics-card__heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;color:var(--text-2);font-size:11.5px;font-weight:700}.diagnostics-card__heading>svg{width:17px;height:17px;color:var(--accent)}.diagnostics-card strong{min-width:0;color:var(--text-1);font-size:14px;line-height:1.25;overflow-wrap:anywhere}.diagnostics-card small{min-width:0;color:var(--text-3);font-size:11px;line-height:1.4;overflow-wrap:anywhere}.settings-page--compact .diagnostics-memory-card .panel__content{align-content:start;gap:9px;min-height:0}.diagnostics-memory-card.is-stale{border-color:color-mix(in srgb,var(--warning) 30%,var(--border-subtle))}.diagnostics-memory-card--unified{grid-column:1 / -1}.diagnostics-memory-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:0}.diagnostics-memory-metric{display:grid;min-width:0;gap:2px;padding:7px 8px;border:1px solid var(--border-subtle);border-radius:7px;background:color-mix(in srgb,var(--surface-2) 58%,transparent)}.diagnostics-memory-metric dt{color:var(--text-3);font-size:9.5px;font-weight:650;line-height:1.25}.diagnostics-memory-metric dd{min-width:0;margin:0;color:var(--text-1);font-size:11px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.diagnostics-memory-card .diagnostics-memory-allocator,.diagnostics-memory-card .diagnostics-memory-note,.diagnostics-memory-card .diagnostics-memory-source{display:block;margin:0}.diagnostics-memory-sources{display:grid;gap:3px;padding-top:7px;border-top:1px solid var(--border-subtle)}.diagnostics-memory-sources small{display:block;margin:0}.diagnostics-memory-sources small.is-stale{color:var(--warning-text)}.diagnostics-memory-card .diagnostics-memory-allocator code{color:var(--text-2);font-size:inherit}.diagnostics-memory-card .diagnostics-memory-note{color:var(--info-text)}.diagnostics-memory-card .diagnostics-memory-source{padding-top:7px;border-top:1px solid var(--border-subtle)}.diagnostics-memory-card.is-stale .diagnostics-memory-source{color:var(--warning-text)}.diagnostics-alert{display:flex;min-width:0;align-items:flex-start;gap:9px;margin:0;padding:11px 12px;border:1px solid color-mix(in srgb,var(--warning) 24%,transparent);border-radius:8px;color:var(--warning-text);font-size:11.5px;line-height:1.4;background:var(--warning-surface)}.diagnostics-alert>svg{width:17px;height:17px;flex:0 0 auto}.diagnostics-alert__list{display:grid;min-width:0;gap:8px}.diagnostics-alert__item{display:grid;gap:2px}.diagnostics-alert__item p{margin:0;overflow-wrap:anywhere}.diagnostics-alert__item small{color:color-mix(in srgb,var(--warning-text) 78%,var(--text-3));font-family:var(--font-mono);font-size:10px;overflow-wrap:anywhere}.diagnostics-alert--error{border-color:color-mix(in srgb,var(--danger) 28%,transparent);color:var(--danger-text);background:var(--danger-surface)}.settings-attention__content{display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:10px}.settings-attention__content>*{min-width:0}.settings-attention__content .diagnostics-alert{height:100%}.settings-page--compact .settings-requirements-panel>.panel__header,.settings-page--compact .settings-failure-panel>.panel__header{align-items:center;padding:11px 12px 0}.settings-page--compact .settings-requirements-panel .panel__title,.settings-page--compact .settings-failure-panel .panel__title{font-size:14px}.settings-page--compact .settings-requirements-panel .panel__description,.settings-page--compact .settings-failure-panel .panel__description{margin-top:2px;font-size:11px}.settings-page--compact .settings-requirements-panel>.panel__content,.settings-page--compact .settings-failure-panel>.panel__content{padding:10px 12px 12px}.diagnostics-requirements-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.diagnostics-requirement{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:42px;padding:9px 10px;border:1px solid var(--border-subtle);border-radius:7px;background:color-mix(in srgb,var(--surface-2) 72%,transparent)}.diagnostics-requirement>svg{width:17px;height:17px}.diagnostics-requirement.is-ready>svg{color:var(--success)}.diagnostics-requirement.needs-attention>svg{color:var(--danger)}.diagnostics-requirement strong{min-width:0;color:var(--text-1);font-size:11.5px;overflow-wrap:anywhere}.diagnostics-error-box{padding:10px;border:1px solid color-mix(in srgb,var(--danger) 24%,transparent);border-radius:7px;background:var(--danger-surface)}.diagnostics-error-box>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.diagnostics-error-box strong,.diagnostics-error-box code,.diagnostics-error-box p{overflow-wrap:anywhere}.diagnostics-error-box code{color:var(--text-3);font-size:10.5px}.diagnostics-error-box p{margin:4px 0 0;color:var(--danger-text);font-size:11.5px;line-height:1.4}.settings-technical{overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:linear-gradient(160deg,var(--surface-1),color-mix(in srgb,var(--bg-1) 94%,transparent));box-shadow:var(--shadow-sm)}.settings-technical>summary{display:grid;min-height:54px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 12px;color:var(--text-1);cursor:pointer;list-style:none}.settings-technical>summary::-webkit-details-marker{display:none}.settings-technical>summary:hover{background:var(--info-surface)}.settings-technical>summary:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.settings-technical__icon{display:grid;width:30px;height:30px;place-items:center;border-radius:8px;color:var(--info);background:var(--info-surface)}.settings-technical__icon svg{width:16px;height:16px}.settings-technical__summary-copy{display:grid;min-width:0;gap:2px}.settings-technical__summary-copy strong{color:var(--text-1);font-size:13px}.settings-technical__summary-copy small{color:var(--text-3);font-size:11px;line-height:1.35}.settings-technical>summary>svg{width:15px;height:15px;color:var(--text-3);transition:transform .15s ease}.settings-technical[open]>summary>svg{transform:rotate(180deg)}.settings-technical__content{display:grid;grid-template-columns:.82fr .92fr 1.26fr;gap:10px;padding:10px;border-top:1px solid var(--border-subtle)}.settings-technical__section{display:grid;min-width:0;align-content:start;gap:8px;padding:10px;border:1px solid var(--border-subtle);border-radius:9px;background:color-mix(in srgb,var(--surface-2) 42%,transparent)}.settings-technical__section-heading{display:flex;min-width:0;align-items:flex-start;gap:8px}.settings-technical__section-heading>svg{width:17px;height:17px;flex:0 0 auto;color:var(--accent-strong)}.settings-technical__section-heading>div{min-width:0}.settings-technical__section-heading h2{margin:0;color:var(--text-1);font-size:12px;line-height:1.2}.settings-technical__section-heading p{margin:2px 0 0;color:var(--text-3);font-size:10.5px;line-height:1.35}.settings-page--compact .settings-list{border-radius:7px}.settings-page--compact .settings-row{grid-template-columns:minmax(112px,.85fr) minmax(0,1.15fr);gap:8px;padding:7px 8px;font-size:11px}.settings-page--compact .settings-row dt{font-weight:650}.settings-page--compact .settings-row dd{min-width:0;overflow-wrap:anywhere}.diagnostics-file-list{display:grid;gap:6px}.diagnostics-file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:42px;padding:7px 8px;border:1px solid var(--border-subtle);border-radius:6px;background:color-mix(in srgb,var(--surface-2) 60%,transparent)}.diagnostics-file-row>svg{width:16px;height:16px;color:var(--text-3)}.diagnostics-file-row.needs-attention>svg{color:var(--danger)}.diagnostics-file-row.is-ready>svg{color:var(--success)}.diagnostics-file-row>div{display:grid;min-width:0;gap:1px}.diagnostics-file-row strong,.diagnostics-file-row span{min-width:0;overflow-wrap:anywhere}.diagnostics-file-row strong{color:var(--text-2);font-size:11px}.diagnostics-file-row span{color:var(--text-3);font-size:10.5px}.settings-technical__empty{margin:0;padding:9px;color:var(--text-3);font-size:11px}.settings-loading-panel .empty-state{min-height:160px;font-size:11px}@media (max-width: 1120px){.diagnostics-summary-grid,.diagnostics-memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostics-summary-grid .diagnostics-card:last-child{grid-column:1 / -1}.settings-technical__content{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-technical__section--files{grid-column:1 / -1}}@media (max-width: 760px){.settings-page--compact .settings-page__header{display:flex}.diagnostics-requirements-grid,.settings-attention__content,.settings-technical__content{grid-template-columns:1fr}.diagnostics-memory-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-page--compact .settings-row{grid-template-columns:1fr;gap:3px}.settings-technical__section--files{grid-column:auto}}@media (max-width: 520px){.settings-page--compact .settings-page__header{align-items:stretch;flex-direction:column}.settings-header__actions{justify-content:flex-start}.diagnostics-summary-grid,.diagnostics-memory-grid{grid-template-columns:1fr}.diagnostics-summary-grid .diagnostics-card:last-child{grid-column:auto}.settings-section__heading{align-items:flex-start;flex-direction:column;gap:6px}.settings-section__heading time{white-space:normal}.settings-technical>summary{align-items:start}.diagnostics-error-box>div{align-items:flex-start;flex-direction:column;gap:3px}}.login-page{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 50% -10%,rgba(129,221,237,.08),transparent 38%),radial-gradient(circle at 8% 100%,rgba(254,112,96,.045),transparent 34rem),linear-gradient(155deg,rgba(255,255,255,.018),transparent 45%),var(--bg-0)}.login-card{width:min(430px,100%);display:grid;gap:26px;padding:30px;border:1px solid var(--border-subtle);border-radius:20px;background:color-mix(in srgb,var(--bg-1) 94%,transparent);box-shadow:0 24px 70px #00000042}.login-brand{display:grid;place-items:center;width:100%}.login-brand__logo{display:block;width:100%;max-width:350px;height:auto;object-fit:contain}.login-form{display:grid;gap:17px}.login-form label{display:grid;gap:7px;color:var(--text-2);font-size:.82rem;font-weight:650}.login-form input{width:100%;min-height:45px;padding:0 13px;border:1px solid var(--border-control);border-radius:10px;color:var(--text-1);background:#071c25b8;outline:none}.login-form input:focus{border-color:var(--focus);box-shadow:0 0 0 3px #81dded2e}.login-form .button{width:100%;justify-content:center;margin-top:3px}.login-bootstrap-error{position:fixed;left:50%;bottom:22px;translate:-50% 0;max-width:min(560px,calc(100vw - 32px));padding:10px 13px;border:1px solid rgba(255,92,108,.24);border-radius:10px;color:var(--danger-text);background:var(--danger-surface)}.auth-loading{min-height:100vh}.app-topbar__account{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.app-user{display:flex;align-items:center;gap:8px;min-width:0;padding:5px 8px;border-radius:9px;color:var(--text-2);background:#ffffff06}.app-user>span{display:grid;min-width:0;line-height:1.15}.app-user strong,.app-user small{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-user strong{color:var(--text-1);font-size:.78rem}.app-user small{margin-top:3px;color:var(--text-3);font-size:.68rem}@media (max-width: 960px){.app-user small{display:none}.app-user strong{max-width:120px}}@media (max-width: 760px){.login-page{padding:18px}.login-card{padding:23px;border-radius:16px}.app-topbar__account .button span:not(.button__icon){display:none}.app-user{display:none}}.app-topbar__spacer{flex:1 1 auto}.workspace-topbar.workspace-topbar--modes-only{display:flex;min-height:48px;align-items:center;justify-content:center;padding:5px;grid-template-columns:none}.workspace-topbar--modes-only .workspace-modes{width:min(100%,620px);justify-content:center}.workspace-topbar--modes-only .workspace-mode{flex:1 1 0;justify-content:center}.workspace-grid{grid-template-columns:minmax(205px,238px) minmax(520px,1fr) minmax(260px,300px);grid-template-rows:minmax(640px,calc(100vh - 238px))}.workspace-inspection{display:block}.image-queue{position:relative;grid-template-rows:auto auto minmax(0,1fr);transition:border-color .14s ease,box-shadow .14s ease}.image-queue.is-dragging{border-color:#fe7060b8;box-shadow:inset 0 0 0 2px #fe70602e,var(--shadow-sm)}.image-queue__header{align-items:flex-start}.image-queue__header-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}.image-queue__header-actions .button{min-height:28px;padding-inline:7px;font-size:9px}.image-queue__upload-summary{display:flex;align-items:center;gap:6px;min-height:28px;padding:5px 10px;border-bottom:1px solid var(--border-subtle);color:var(--success);font-size:9px;background:#67d7a50e}.image-queue__upload-summary.has-issues{color:var(--warning);background:#ffca5c0f}.image-queue__drop-hint{position:absolute;z-index:8;top:54px;right:8px;bottom:8px;left:8px;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed rgba(254,112,96,.66);border-radius:10px;color:var(--accent-strong);font-size:11px;font-weight:700;text-align:center;background:#0e2a36f0;pointer-events:none}.image-queue__empty{display:grid;min-height:220px;place-items:center;align-content:center;gap:7px;padding:20px;color:var(--text-3);font-size:10px;text-align:center}.image-queue__empty strong{color:var(--text-2);font-size:12px}.selected-fish-panel{display:grid;height:100%;min-width:0;min-height:0;align-content:start;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(160deg,#143a4af5,#123746f5);box-shadow:var(--shadow-sm)}.selected-fish-panel--empty{place-items:center;align-content:center;gap:8px;padding:22px;color:var(--text-3);text-align:center}.selected-fish-panel--empty strong{color:var(--text-1);font-size:13px}.selected-fish-panel--empty span{max-width:190px;font-size:10px;line-height:1.45}.selected-fish-panel__header{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;align-items:center;gap:7px;padding:9px 10px;border-bottom:1px solid var(--border-subtle)}.selected-fish-panel__header>div{display:grid;gap:1px;text-align:center}.selected-fish-panel__header>div span{color:var(--text-3);font-size:8px;font-weight:750;text-transform:uppercase;letter-spacing:.09em}.selected-fish-panel__header>div strong{color:var(--text-1);font-size:17px}.selected-fish-panel__header .button{width:30px;min-height:30px;padding:0}.selected-fish-panel__header .button>span:last-child:not(.button__icon){display:none}.selected-fish-panel__section{display:grid;gap:9px;padding:12px;border-bottom:1px solid var(--border-subtle)}.selected-fish-panel__section:last-of-type{border-bottom:0}.selected-fish-panel__section-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.selected-fish-panel__section-header h3{display:flex;align-items:center;gap:6px;margin:0;color:var(--text-2);font-size:10px;text-transform:uppercase;letter-spacing:.065em}.selected-fish-panel__section-header .button{min-height:26px;padding-inline:6px;font-size:8px}.selected-fish-panel__primary{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}.selected-fish-panel__primary em{overflow:hidden;color:var(--text-1);font-size:14px;font-weight:720;text-overflow:ellipsis;white-space:nowrap}.selected-fish-candidates{display:grid;gap:3px;padding:0;margin:0;list-style:none}.selected-fish-candidates li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:28px;padding:4px 6px;border-radius:7px;color:var(--text-2);font-size:9px;background:#ffffff06}.selected-fish-candidates__rank{display:grid;width:18px;height:18px;place-items:center;border-radius:50%;color:var(--text-3);font-size:8px;background:#ffffff0e}.selected-fish-candidates__content{display:grid;min-width:0;gap:3px}.selected-fish-candidates__content>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-fish-candidates__bar{height:2px;overflow:hidden;border-radius:999px;background:#ffffff12}.selected-fish-candidates__bar>span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.selected-fish-candidates li>strong{color:var(--text-2);font-size:9px}.selected-fish-panel__length{color:var(--text-1);font-size:clamp(30px,3vw,42px);font-weight:760;line-height:1;letter-spacing:-.035em}.selected-fish-panel__muted{color:var(--text-3);font-size:9px}.selected-fish-panel__warning{display:flex;align-items:center;gap:5px;color:var(--warning);font-size:9px}.modal:has(.selected-fish-editor-modal){width:min(1080px,calc(100vw - 40px));max-height:calc(100vh - 40px)}.selected-fish-editor-modal{min-height:0}.selected-fish-editor-modal>.classification-inspector,.selected-fish-editor-modal>.measurement-inspector{max-height:calc(100vh - 150px);overflow:auto}.pipeline-bar{display:grid;grid-template-columns:minmax(145px,auto) minmax(0,1fr) minmax(190px,auto);align-items:center}.pipeline-bar__primary{display:flex;justify-content:flex-start}.pipeline-bar__primary .button{min-height:34px}.pipeline-bar__steps{justify-content:center;overflow:visible}.pipeline-step{min-width:108px;flex:1 1 108px}.pipeline-step__trailing{display:inline-flex;min-width:0;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:4px;align-self:center;white-space:nowrap}.pipeline-step__trailing .pipeline-step__action{flex:0 0 auto}.pipeline-step__action--cancel{color:var(--warning);background:#ffca5c14}.pipeline-bar__validation{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:7px}.pipeline-bar__validation-state{display:inline-flex;align-items:center;gap:5px;color:var(--text-3)}.pipeline-bar__validation .button{min-height:34px}@media (max-width: 1500px){.workspace-grid{grid-template-columns:minmax(190px,220px) minmax(450px,1fr) minmax(245px,280px)}.pipeline-bar{grid-template-columns:auto minmax(0,1fr) auto}.pipeline-bar__validation-state{display:none}}@media (max-width: 1240px){.workspace-grid{grid-template-columns:minmax(180px,210px) minmax(420px,1fr) minmax(230px,260px)}.pipeline-step{min-width:92px}.pipeline-step__body span{display:none}}@media (max-width: 1040px){.workspace-grid{grid-template-columns:minmax(180px,220px) minmax(0,1fr);grid-template-rows:minmax(520px,calc(100vh - 230px)) auto}.workspace-inspection{grid-column:1 / -1}.selected-fish-panel{grid-template-columns:minmax(160px,.65fr) minmax(260px,1.35fr) minmax(190px,.8fr);overflow:visible}.selected-fish-panel__header,.selected-fish-panel__section{border-right:1px solid var(--border-subtle);border-bottom:0}.pipeline-bar{grid-template-columns:1fr auto}.pipeline-bar__steps{grid-column:1 / -1;grid-row:1;order:-1}}.image-queue .queue-item{grid-template-columns:minmax(0,1fr)}.image-queue .queue-item__button{padding:8px}.workspace-page--toolbarless{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}.workspace-page--route-inactive,.workspace-page[data-workspace-active=false]{display:none!important}.workspace-page--toolbarless .workspace-grid{grid-template-columns:minmax(205px,238px) minmax(520px,1fr) minmax(250px,286px);grid-template-rows:minmax(650px,calc(100vh - 154px))}.workspace-page--toolbarless .image-queue{display:flex;min-height:0;flex-direction:column;overflow:hidden}.workspace-page--toolbarless .image-queue__header{flex:0 0 auto;padding:8px 9px}.workspace-page--toolbarless .image-queue__header>div{gap:1px}.workspace-page--toolbarless .image-queue__header strong{font-size:11px}.workspace-page--toolbarless .image-queue__header-copy>span{font-size:8px}.workspace-page--toolbarless .image-queue__header .button{min-height:27px;padding-inline:7px;font-size:8px}.workspace-page--toolbarless .image-queue__upload-summary{flex:0 0 auto;min-height:24px;padding:4px 8px;font-size:8px}.image-queue__list--pending{flex:1 1 auto;min-height:90px;overflow:auto}.image-queue__empty--compact{min-height:145px;padding:14px}.validated-images{flex:0 0 auto;border-top:1px solid var(--border-subtle);background:#071c2547}.validated-images__toggle{display:grid;width:100%;min-height:34px;grid-template-columns:16px minmax(0,1fr) auto;align-items:center;gap:6px;padding:6px 9px;border:0;color:var(--text-2);font-size:9px;text-align:left;background:transparent;cursor:pointer}.validated-images__toggle:hover,.validated-images.is-open .validated-images__toggle{color:var(--text-1);background:#ffffff09}.validated-images__toggle strong{display:grid;min-width:22px;height:20px;place-items:center;border-radius:999px;color:var(--text-3);font-size:8px;background:#ffffff0e}.validated-images__list{max-height:250px;overflow:auto;border-top:1px solid var(--border-subtle)}.validated-images__list>p{margin:0;padding:12px;color:var(--text-3);font-size:9px}.workspace-notice-feed{flex:0 0 auto;min-height:0;max-height:190px;overflow:hidden;border-top:1px solid var(--border-subtle);color:var(--text-2);background:var(--surface-canvas);font-family:var(--font-mono)}.workspace-notice-feed__header{display:grid;min-height:30px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:4px 7px 4px 9px;border-bottom:1px solid rgba(129,221,237,.13);color:var(--text-2);font-size:8px;background:#ffffff06}.workspace-notice-feed__title{display:inline-flex;align-items:center;gap:6px;color:var(--info)}.workspace-notice-feed__header strong{color:var(--text-1);font-size:9px;text-transform:uppercase;letter-spacing:.055em}.workspace-notice-feed__order,.workspace-notice-feed__count{color:var(--text-3)}.workspace-notice-feed__count{white-space:nowrap}.workspace-notice-feed__clear,.workspace-notice-feed__expand{display:inline-flex;min-height:22px;align-items:center;justify-content:center;gap:4px;padding:2px 6px;border:1px solid rgba(129,221,237,.15);border-radius:5px;color:var(--text-3);font-size:8px;background:transparent;cursor:pointer}.workspace-notice-feed__clear:hover:not(:disabled),.workspace-notice-feed__expand:hover{border-color:#81dded4d;color:var(--text-1);background:#ffffff0a}.workspace-notice-feed__clear:focus-visible,.workspace-notice-feed__expand:focus-visible,.workspace-notice-feed__items:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.workspace-notice-feed__clear:disabled{color:var(--action-disabled-ink);border-color:var(--action-disabled-border);background:var(--action-disabled-bg);cursor:not-allowed;opacity:1}.workspace-notice-feed__clear:not(:disabled){color:var(--action-ink);border-color:var(--action-destructive);background:var(--action-destructive)}.workspace-notice-feed__clear:hover:not(:disabled){color:var(--action-ink);border-color:var(--action-destructive-hover);background:var(--action-destructive-hover)}.workspace-notice-feed__clear:active:not(:disabled){border-color:var(--action-destructive-active);background:var(--action-destructive-active)}.workspace-notice-feed__clear:focus-visible{outline-color:var(--action-destructive-focus)}.workspace-notice-feed__items{min-height:0;max-height:158px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(50,144,184,.38) transparent}.workspace-notice-feed__list{padding:0;margin:0;list-style:none}.workspace-notice-feed__empty{margin:0;padding:10px;color:var(--text-3);font-size:8px;line-height:1.35}.workspace-notice{display:grid;min-height:25px;grid-template-columns:88px 45px 13px minmax(0,1fr);align-items:start;gap:5px;padding:4px 9px;border-bottom:1px solid rgba(129,221,237,.075);color:var(--text-2);font-size:8px;line-height:1.4;background:transparent}.workspace-notice:nth-child(2n){background:#ffffff03}.workspace-notice:hover{background:var(--info-surface)}.workspace-notice time{color:var(--text-3);white-space:nowrap}.workspace-notice__kind{font-weight:700;white-space:nowrap}.workspace-notice>svg{margin-top:0}.workspace-notice__content{display:flex;min-width:0;flex-wrap:wrap;gap:1px 6px}.workspace-notice strong{color:var(--text-1);font-size:inherit}.workspace-notice__content>span{color:var(--text-3);overflow-wrap:anywhere}.workspace-notice--success .workspace-notice__kind,.workspace-notice--success>svg{color:var(--success)}.workspace-notice--warning .workspace-notice__kind,.workspace-notice--warning>svg{color:var(--warning)}.workspace-notice--error .workspace-notice__kind{color:var(--danger-text)}.workspace-notice--error>svg{color:var(--danger)}.workspace-notice--info .workspace-notice__kind,.workspace-notice--info>svg{color:var(--info)}.workspace-notice__action{padding:0;border:0;color:var(--info);font-size:8px;font-weight:700;background:transparent;cursor:pointer}.overlay-controls.overlay-controls--compact{display:flex;min-height:36px;align-items:center;gap:6px;padding:4px 6px;overflow-x:auto;overflow-y:hidden;border-radius:9px}.overlay-controls__compact-selects,.overlay-controls__icon-strip{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px}.overlay-controls__image-navigation{display:inline-flex;min-width:0;flex:0 0 auto;align-items:center;gap:2px;padding:1px;border:1px solid rgba(254,112,96,.2);border-radius:8px;background:#235c800e}.overlay-controls__image-position{display:grid;min-width:34px;height:25px;place-items:center;padding-inline:3px;color:var(--text-2);font-size:8px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.overlay-controls__fullscreen-analysis,.overlay-controls__fullscreen-only{display:none}.overlay-controls__fullscreen-analysis{min-width:0;flex:0 0 auto;align-items:center;gap:5px;padding:1px;border:1px solid rgba(129,221,237,.14);border-radius:8px;background:#071c253d}.overlay-controls__fullscreen-analysis-label{padding-left:5px;color:var(--text-3);font-size:8px;font-weight:650}.overlay-controls__fullscreen-analysis .badge{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-controls__fullscreen-analysis .button{min-height:25px;padding-inline:7px;border-radius:6px;font-size:8px}.overlay-controls__compact-selects,.overlay-controls__display-group{padding:1px;border:1px solid rgba(129,221,237,.14);border-radius:8px;background:#071c253d}.overlay-controls__display-group{border-color:#3290b838;background:#235c800e}.overlay-compact-field{display:inline-flex;height:27px;align-items:center;padding:0 2px;border:1px solid var(--border-subtle);border-radius:7px;color:var(--text-3);background:#071c256b}.overlay-compact-field select{min-width:0;min-height:22px;height:22px;padding:0 14px 0 2px;border:0;color:var(--text-1);font-size:8px;background-color:transparent}.overlay-compact-field--result select{width:94px}.overlay-compact-field--colors select{width:54px}.overlay-opacity-compact{display:inline-grid;height:27px;grid-template-columns:30px 54px;align-items:center;gap:3px;padding:0 5px;border:1px solid var(--border-subtle);border-radius:7px;color:var(--text-3);font-size:8px;background:#071c256b}.overlay-opacity-compact input{width:54px;margin:0}.overlay-icon-button{display:grid;width:27px;height:27px;place-items:center;padding:0;border:1px solid var(--border-subtle);border-radius:7px;color:var(--text-3);background:#071c256b;cursor:pointer}.overlay-icon-button:hover:not(:disabled){color:var(--text-1);border-color:var(--border-strong)}.overlay-icon-button.is-active{color:var(--accent-strong);border-color:#fe706059;background:var(--accent-soft)}.overlay-icon-button:disabled{opacity:.35;cursor:not-allowed}.overlay-controls__separator{width:1px;height:19px;margin:0 2px;background:var(--border-subtle)}.selected-fish-panel__length{font-size:clamp(16px,1.35vw,21px);line-height:1.12;letter-spacing:-.02em}.inline-editor__row,.inline-length-editor{display:flex;min-width:0;align-items:center;gap:5px}.inline-species-editor{position:relative;display:grid;gap:7px}.inline-species-editor__field{position:relative;min-width:0;flex:1 1 auto}.inline-species-editor input,.inline-length-editor input{width:100%;min-width:0;height:31px;padding:0 8px;border:1px solid var(--border-strong);border-radius:7px;color:var(--text-1);font-size:10px;background:#071c25ad}.inline-length-editor input{width:88px;flex:0 0 88px;font-size:12px;font-weight:720}.inline-length-editor>span{color:var(--text-3);font-size:10px}.inline-editor__icon{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;padding:0;border:1px solid var(--border-subtle);border-radius:7px;color:var(--text-3);background:#ffffff06;cursor:pointer}.inline-editor__icon--confirm{color:var(--action-ink);border-color:var(--action-positive);background:var(--action-positive)}.inline-editor__icon--confirm:hover:not(:disabled){border-color:var(--action-positive-hover);background:var(--action-positive-hover)}.inline-editor__icon--confirm:active:not(:disabled){border-color:var(--action-positive-active);background:var(--action-positive-active)}.inline-editor__icon--confirm:focus-visible{outline-color:var(--action-positive-focus)}.inline-editor__icon:disabled{opacity:.45;cursor:not-allowed}.inline-editor__icon--confirm:disabled{color:var(--action-disabled-ink);border-color:var(--action-disabled-border);background:var(--action-disabled-bg);opacity:1}.inline-species-suggestions{position:absolute;z-index:50;top:calc(100% + 4px);right:0;left:0;display:grid;max-height:190px;overflow:auto;border:1px solid var(--border-strong);border-radius:8px;background:#0e2a36fc;box-shadow:var(--shadow-lg)}.inline-species-suggestions button{display:grid;gap:2px;padding:7px 8px;border:0;border-bottom:1px solid var(--border-subtle);color:var(--text-2);font-size:9px;text-align:left;background:transparent;cursor:pointer}.inline-species-suggestions button:last-child{border-bottom:0}.inline-species-suggestions button:hover{color:var(--text-1);background:var(--info-surface)}.inline-species-suggestions strong{color:inherit;font-size:9px}.inline-species-suggestions span{color:var(--text-3);font-size:8px}.inline-new-species-confirmation{display:grid;grid-template-columns:17px minmax(0,1fr);gap:7px;padding:8px;border:1px solid rgba(255,202,92,.25);border-radius:8px;color:var(--warning);background:#ffca5c0e}.inline-new-species-confirmation>div{display:grid;gap:4px}.inline-new-species-confirmation strong{color:var(--text-1);font-size:9px}.inline-new-species-confirmation>div>span{color:var(--text-3);font-size:8px;line-height:1.4}.inline-new-species-confirmation>div>div{display:flex;gap:5px;margin-top:3px}.inline-new-species-confirmation .button{min-height:26px;padding-inline:7px;font-size:8px}@media (max-width: 1240px){.workspace-page--toolbarless .workspace-grid{grid-template-columns:minmax(185px,215px) minmax(420px,1fr) minmax(225px,255px)}}@media (max-width: 1040px){.workspace-page--toolbarless .workspace-grid{grid-template-columns:minmax(180px,215px) minmax(0,1fr);grid-template-rows:minmax(520px,calc(100vh - 148px)) auto}}:root{--sidebar-collapsed-width: 68px}.app-shell,.app-sidebar{transition:grid-template-columns .16s ease,width .16s ease,padding .16s ease}.app-shell--sidebar-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.app-sidebar--collapsed{width:var(--sidebar-collapsed-width);padding-inline:10px}.app-sidebar--collapsed .brand{justify-content:center;padding-inline:0}.app-sidebar--collapsed .brand__text,.app-sidebar--collapsed .brand__home,.app-sidebar--collapsed .app-nav__label,.app-sidebar--collapsed .app-sidebar__collapse>span{display:none}.app-sidebar--collapsed .app-nav__link{justify-content:center;gap:0;padding-inline:0}.app-sidebar__collapse{display:flex;min-height:38px;align-items:center;justify-content:center;gap:9px;margin-top:auto;padding:0 10px;border:1px solid var(--border-subtle);border-radius:9px;color:var(--text-3);font:inherit;font-size:10px;font-weight:700;background:#ffffff06;cursor:pointer}.app-sidebar__collapse:hover{color:var(--text-1);border-color:var(--border-strong);background:#ffffff0d}.app-sidebar--collapsed .app-sidebar__collapse{width:40px;padding:0;align-self:center}.workspace-page--toolbarless{height:calc(100vh - var(--topbar-height) - 48px);min-height:620px;grid-template-rows:auto minmax(0,1fr)}.workspace-page--toolbarless .workspace-grid{min-height:0;grid-template-rows:minmax(0,1fr)}.workspace-stage{display:flex;min-height:0;flex-direction:column;gap:5px}.workspace-canvas-wrap{flex:1 1 auto}.pipeline-bar.pipeline-bar--top{min-height:42px;padding:4px 7px;border:1px solid var(--border-subtle);border-radius:10px;background:#143a4ae6;box-shadow:var(--shadow-sm)}.pipeline-bar--top .pipeline-bar__primary .button,.pipeline-bar--top .pipeline-bar__validation .button{min-height:30px;padding-inline:9px;font-size:9px}.pipeline-bar--top .pipeline-step{min-width:96px;min-height:30px;padding-block:3px}.workspace-notice-feed--footer{display:grid;height:52px;min-height:52px;max-height:52px;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-canvas);transition:height .14s ease,max-height .14s ease}.app-shell>.workspace-notice-feed--footer{width:auto;min-width:0;grid-column:2;grid-row:3;margin:0 8px 8px}.workspace-notice-feed--footer.is-expanded{height:150px;max-height:150px}.workspace-notice-feed--footer .workspace-notice-feed__header{min-height:24px;grid-template-columns:auto minmax(0,1fr) auto auto auto;gap:6px;padding:1px 5px 1px 7px}.workspace-notice-feed--footer .workspace-notice-feed__clear,.workspace-notice-feed--footer .workspace-notice-feed__expand{width:20px;min-height:20px;padding:0}.workspace-notice-feed--footer .workspace-notice-feed__clear>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.workspace-notice-feed--footer .workspace-notice-feed__items{max-height:none}.workspace-notice-feed--footer .workspace-notice-feed__empty{min-height:0;padding-block:6px}.image-queue .queue-item{position:relative;grid-template-columns:minmax(0,1fr) 27px}.image-queue .queue-item__button{min-width:0}.queue-item__actions{display:grid;align-content:center;gap:4px;padding:5px 4px 5px 0}.queue-item__action{display:grid;width:24px;height:24px;place-items:center;padding:0;border:1px solid transparent;border-radius:6px;color:var(--text-3);background:transparent;cursor:pointer}.queue-item__action:hover:not(:disabled){color:var(--text-1);border-color:var(--border-subtle);background:#ffffff0b}.queue-item__action--delete,.queue-item__action--confirm{color:var(--action-ink);border-color:var(--action-destructive);background:var(--action-destructive)}.queue-item__action--delete:hover:not(:disabled),.queue-item__action--confirm:hover:not(:disabled){color:var(--action-ink);border-color:var(--action-destructive-hover);background:var(--action-destructive-hover)}.queue-item__action--delete:active:not(:disabled),.queue-item__action--confirm:active:not(:disabled){border-color:var(--action-destructive-active);background:var(--action-destructive-active)}.queue-item__action--delete:focus-visible,.queue-item__action--confirm:focus-visible{outline-color:var(--action-destructive-focus)}.queue-item__action:disabled{opacity:.35;cursor:not-allowed}.queue-item__action--delete:disabled,.queue-item__action--confirm:disabled{color:var(--action-disabled-ink);border-color:var(--action-disabled-border);background:var(--action-disabled-bg);opacity:1}.queue-item.is-confirming-delete{border-color:#ff5c6c40}.image-queue__upload-summary{align-items:flex-start}.image-queue__upload-summary>span{display:grid;gap:2px}.image-queue__upload-summary small{color:currentColor;font-size:7.5px;opacity:.82}.overlay-controls__group-divider{width:1px;height:19px;flex:0 0 1px;margin-inline:2px;background:#81dded2e}.overlay-controls__group-divider--strong{height:24px;margin-inline:5px;background:#fe706047;box-shadow:1px 0 #00000040}.overlay-controls--compact .overlay-icon-button{width:25px;height:25px;border-radius:6px}@media (max-width: 1240px){.workspace-page--toolbarless{height:auto;min-height:calc(100vh - var(--topbar-height) - 32px)}.pipeline-bar--top .pipeline-step{min-width:80px}}@media (max-width: 760px){.app-shell>.workspace-notice-feed--footer{width:auto;margin:0 8px 8px}.workspace-page--toolbarless{min-height:0;height:auto}.workspace-notice-feed--footer{height:52px;max-height:52px}.workspace-notice-feed--footer.is-expanded{height:130px;max-height:130px}.workspace-notice-feed__order{display:none}.workspace-notice{grid-template-columns:82px 42px 13px minmax(0,1fr)}}.workspace-page--toolbarless .workspace-grid{grid-template-columns:minmax(205px,238px) minmax(0,1fr)}.workspace-inspection{display:none!important}.canvas-fish-label-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:7;overflow:hidden;pointer-events:none}.canvas-fish-label-layer.is-passive,.canvas-fish-label-layer.is-passive *{pointer-events:none!important}.canvas-apriltag-selection-action{position:absolute;z-index:10;width:24px;height:27px;pointer-events:none}.canvas-fish-label-connectors{position:absolute;top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none}.canvas-fish-label{position:absolute;display:block;min-width:38px;overflow:hidden;border:1.1px solid var(--border-strong);border-radius:6px;color:var(--text-1);background:#071c25f0;box-shadow:0 3px 10px #00000075;pointer-events:auto;transform:translateZ(0);transition:left 75ms linear,top 75ms linear,width 75ms linear,height 75ms linear,border-color 90ms ease,box-shadow 90ms ease}.canvas-fish-label.is-selected,.canvas-fish-label.is-editing{border-width:1.7px;box-shadow:0 0 0 1px #fe706052,0 4px 13px #0000008c}.canvas-fish-label.is-group-selected:not(.is-selected){border-width:1.5px;box-shadow:0 0 0 1px #81dded33,0 4px 12px #00000085}.canvas-fish-label.is-merge-selected{box-shadow:0 0 0 1px #ffca5c40,0 4px 13px #0000008c}.canvas-fish-label__select{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;width:100%;height:100%;place-items:center;min-width:0;padding:0 9px;overflow:hidden;border:0;color:inherit;font:inherit;font-weight:560;line-height:1;text-align:center;white-space:nowrap;text-overflow:ellipsis;background:transparent;cursor:pointer}.canvas-fish-label__select.has-actions{padding-inline:27px}.canvas-fish-label.is-selected .canvas-fish-label__select,.canvas-fish-label.is-editing .canvas-fish-label__select{font-weight:750}.canvas-fish-label__select>span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.canvas-fish-label__actions{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.canvas-fish-label__action{position:absolute;top:50%;display:grid;width:21px;height:21px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.12);border-radius:5px;color:var(--accent-strong);background:#123746f0;cursor:pointer;pointer-events:auto;transform:translateY(-50%)}.canvas-fish-label__action--edit{left:3px}.canvas-fish-label__action:hover{color:#fff;border-color:#fe70608c;background:#235c80d1}.canvas-fish-label__action:focus-visible{color:#fff;border-color:var(--focus);background:#235c80d1;outline:2px solid var(--focus);outline-offset:1px}.canvas-fish-label__action--delete{right:3px;color:var(--action-ink);border-color:var(--action-destructive);background:var(--action-destructive)}.canvas-fish-label__action--delete:hover,.canvas-fish-label__action--delete:focus-visible{color:var(--action-ink);border-color:var(--action-destructive-hover);background:var(--action-destructive-hover)}.canvas-fish-label__action--delete:active:not(:disabled){border-color:var(--action-destructive-active);background:var(--action-destructive-active)}.canvas-fish-label__action--delete:focus-visible{outline-color:var(--action-destructive-focus)}.canvas-fish-label__action:disabled{color:var(--text-3);border-color:#ffffff14;background:#123746b8;cursor:not-allowed}.canvas-fish-label__action--delete:disabled{color:var(--action-disabled-ink);border-color:var(--action-disabled-border);background:var(--action-disabled-bg)}.canvas-fish-editor{position:absolute;z-index:20;display:grid;gap:5px;max-height:calc(100% - 16px);padding:6px;overflow:auto;border:1px solid rgba(254,112,96,.42);border-radius:9px;color:var(--text-2);background:#071c25fb;box-shadow:0 12px 32px #0000009e;pointer-events:auto}.canvas-fish-editor__header{display:flex;min-height:21px;align-items:center;justify-content:space-between;gap:8px;padding:0 1px 3px;border-bottom:1px solid var(--border-subtle)}.canvas-fish-editor__header strong{color:var(--text-1);font-size:10px;letter-spacing:.04em}.canvas-fish-editor__header>button,.canvas-fish-editor__save{display:grid;width:24px;height:24px;flex:0 0 auto;place-items:center;padding:0;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-2);background:#ffffff09;cursor:pointer}.canvas-fish-editor__header>button:hover,.canvas-fish-editor__save:hover:not(:disabled){color:var(--accent-strong);border-color:#fe706052;background:var(--accent-soft)}.canvas-fish-editor__save{color:var(--action-ink);border-color:var(--action-positive);background:var(--action-positive)}.canvas-fish-editor__save:hover:not(:disabled){color:var(--action-ink);border-color:var(--action-positive-hover);background:var(--action-positive-hover)}.canvas-fish-editor__save:active:not(:disabled){border-color:var(--action-positive-active);background:var(--action-positive-active)}.canvas-fish-editor__save:focus-visible{outline-color:var(--action-positive-focus)}.canvas-fish-editor__save:disabled{color:var(--action-disabled-ink);border-color:var(--action-disabled-border);background:var(--action-disabled-bg);opacity:1;cursor:not-allowed}.canvas-fish-editor__section{display:grid;min-width:0;gap:3px}.canvas-fish-editor__edit-row{display:grid;grid-template-columns:minmax(0,1fr) 74px 24px;align-items:end;gap:6px}.canvas-fish-editor__section>label{display:flex;align-items:center;gap:5px;color:var(--text-3);font-size:8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.canvas-fish-editor__input-row{display:flex;align-items:center;gap:5px}.canvas-fish-editor__species-field{position:relative;min-width:0;flex:1 1 auto}.canvas-fish-editor input{width:100%;min-height:27px;padding:4px 6px;border:1px solid var(--border-strong);border-radius:6px;color:var(--text-1);font:inherit;font-size:10px;background:#0000003d}.canvas-fish-editor input:focus{border-color:var(--focus);outline:2px solid rgba(129,221,237,.2)}.canvas-fish-editor__suggestions{position:absolute;z-index:4;top:calc(100% + 3px);right:0;left:0;display:grid;max-height:156px;overflow-y:auto;border:1px solid var(--border-strong);border-radius:7px;background:#123746fe;box-shadow:var(--shadow-md)}.canvas-fish-editor__suggestions button{display:grid;gap:1px;padding:6px 8px;border:0;border-bottom:1px solid var(--border-subtle);color:var(--text-2);text-align:left;background:transparent;cursor:pointer}.canvas-fish-editor__suggestions button:last-child{border-bottom:0}.canvas-fish-editor__suggestions button:hover{color:var(--text-1);background:var(--info-surface)}.canvas-fish-editor__suggestions button:focus-visible{color:var(--text-1);background:var(--accent-soft);outline:2px solid var(--focus);outline-offset:-2px}.canvas-fish-editor__suggestions strong{font-size:9px}.canvas-fish-editor__suggestions span{color:var(--text-3);font-size:8px}.canvas-fish-editor__new-species{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;padding:6px;border:1px solid rgba(244,201,107,.28);border-radius:7px;color:var(--warning);background:#f4c96b11}.canvas-fish-editor__new-species>div{display:grid;gap:4px}.canvas-fish-editor__new-species strong{color:var(--text-1);font-size:9px}.canvas-fish-editor__new-species>div>span{color:var(--text-3);font-size:8px;line-height:1.35}.canvas-fish-editor__new-species>div>div{display:flex;gap:5px}.canvas-fish-editor__new-species .button{min-height:25px;padding-inline:7px;font-size:8px}.canvas-fish-editor__length-row input{min-width:0;max-width:none}.canvas-fish-editor__length-row>span{color:var(--text-3);font-size:9px}.canvas-fish-editor__actions{display:grid;place-items:end}@media (max-width: 1240px){.workspace-page--toolbarless .workspace-grid{grid-template-columns:minmax(185px,215px) minmax(0,1fr)}}@media (max-width: 760px){.workspace-page--toolbarless .workspace-grid{grid-template-columns:1fr}}.geometry-toolbar{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px}.geometry-toolbar__group{display:inline-flex;flex:0 0 auto;align-items:center;gap:3px;padding:1px;border:1px solid rgba(129,221,237,.16);border-radius:8px;background:#071c254d}.geometry-toolbar__group--create{border-color:#fe706052;background:#fe706012}.geometry-toolbar__group--history{border-color:#81dded3d;background:#235c8014}.geometry-toolbar__group--edit{border-color:#f4c96b40;background:#f4c96b0b}.geometry-toolbar__group--creation-flow{border-color:#67d7a547;background:#67d7a50e}.geometry-toolbar__group--apriltag{border-color:#ffca5c57;background:#ffca5c0f}.geometry-toolbar__group--apriltag .geometry-toolbar__draft-count{color:#ffca5c}.modal.apriltag-save-dialog{width:min(690px,calc(100vw - 24px));border-radius:var(--radius-md);background:#123746fa}.apriltag-save-dialog .modal__header,.apriltag-save-dialog .modal__body{padding:10px 12px}.apriltag-save-dialog .modal__footer{gap:6px;padding:10px 12px;flex-wrap:wrap}.apriltag-save-dialog .modal__header h2{font-size:14px}.apriltag-save-dialog .modal__close{width:28px;height:28px;border-radius:6px}.apriltag-save-dialog .modal__footer .button{min-height:30px;padding-inline:9px;font-size:10px}.apriltag-save-dialog__content{display:grid;gap:9px}.apriltag-save-dialog__content>.form-note,.apriltag-save-dialog__content>.form-error{margin:0;font-size:10.5px;line-height:1.4}.apriltag-orientation-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.apriltag-orientation-preview figure{display:grid;min-width:0;gap:5px;margin:0}.apriltag-orientation-preview figcaption{color:var(--text-2);font-size:10px;font-weight:680}.apriltag-photo-preview,.apriltag-orientation-preview__pattern,.apriltag-orientation-preview__placeholder{position:relative;display:grid;min-height:132px;place-items:center;overflow:hidden;border:1px solid rgba(129,221,237,.22);border-radius:7px;background:#071c2585}.apriltag-photo-preview canvas,.apriltag-orientation-preview__pattern .apriltag-pattern{width:min(132px,100%);height:132px;object-fit:contain}.apriltag-orientation-preview__pattern .apriltag-pattern{padding:5px}.apriltag-orientation-preview__placeholder,.apriltag-photo-preview__error{padding:10px;color:var(--text-3);font-size:10px;line-height:1.35;text-align:center}.apriltag-photo-preview__error{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#071c25c7}.apriltag-selector{min-width:0;margin:0;padding:8px;border:1px solid var(--border-subtle);border-radius:9px}.apriltag-selector legend{padding-inline:5px;color:var(--text-2);font-size:10px;font-weight:700}.apriltag-selector__grid{display:grid;grid-template-columns:repeat(7,minmax(48px,1fr));gap:6px}.apriltag-selector__option{position:relative;display:grid;min-width:0;place-items:center;gap:3px;padding:5px 4px 4px;border:1px solid rgba(129,221,237,.22);border-radius:7px;color:var(--text-2);font-size:10px;font-weight:750;background:#071c256b;cursor:pointer}.apriltag-selector__option:hover:not(.is-disabled),.apriltag-selector__option.is-selected{border-color:#ffca5cb8;color:#ffca5c;background:#ffca5c17}.apriltag-selector__option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.apriltag-selector__option.is-disabled{opacity:.38;cursor:not-allowed}.apriltag-selector__option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.apriltag-pattern{display:block;width:min(100%,48px);aspect-ratio:1;border-radius:2px;background:#fff}.apriltag-pattern__corner-zero{fill:#ff8c69;stroke:#3b100b;stroke-width:.12px}@media (max-width: 620px){.apriltag-orientation-preview{grid-template-columns:1fr 1fr}.apriltag-selector__grid{grid-template-columns:repeat(4,minmax(48px,1fr))}.apriltag-save-dialog .modal__footer .button{flex:1 1 auto}}.geometry-toolbar__draft-count{min-width:31px;padding-inline:5px;color:var(--accent-strong);font-size:8px;font-weight:750;line-height:24px;text-align:center;white-space:nowrap}.geometry-toolbar__button--create{color:var(--accent-strong);border-color:#fe706047}.geometry-toolbar__button--success{color:var(--action-ink);border-color:var(--action-positive);background:var(--action-positive)}.geometry-toolbar__button--danger{color:var(--action-ink);border-color:var(--action-destructive);background:var(--action-destructive)}.geometry-toolbar__button--success:hover:not(:disabled){color:var(--action-ink);border-color:var(--action-positive-hover);background:var(--action-positive-hover)}.geometry-toolbar__button--danger:hover:not(:disabled){color:var(--action-ink);border-color:var(--action-destructive-hover);background:var(--action-destructive-hover)}.geometry-toolbar__button--success:active:not(:disabled){border-color:var(--action-positive-active);background:var(--action-positive-active)}.geometry-toolbar__button--danger:active:not(:disabled){border-color:var(--action-destructive-active);background:var(--action-destructive-active)}.geometry-toolbar__button--success:focus-visible{outline-color:var(--action-positive-focus)}.geometry-toolbar__button--danger:focus-visible{outline-color:var(--action-destructive-focus)}.geometry-toolbar__button--success:disabled,.geometry-toolbar__button--danger:disabled{color:var(--action-disabled-ink);border-color:var(--action-disabled-border);background:var(--action-disabled-bg);opacity:1}.geometry-toolbar__button.is-active{color:var(--accent-strong)}@media (pointer: coarse){.geometry-toolbar .overlay-icon-button{width:40px;height:40px;min-width:40px}.geometry-toolbar__brush-size{height:40px}}.geometry-toolbar__divider{width:1px;height:17px;flex:0 0 1px;margin-inline:1px;background:#81dded2b}.geometry-toolbar__compound-icon{position:relative;display:grid;place-items:center}.geometry-toolbar__compound-icon>svg:last-child{position:absolute;right:-5px;bottom:-4px;padding:1px;border-radius:999px;color:currentColor;background:var(--bg-1)}.geometry-toolbar__brush-size{display:inline-grid;height:25px;grid-template-columns:27px 48px;flex:0 0 auto;align-items:center;gap:3px;padding-inline:4px;border:1px solid var(--border-subtle);border-radius:6px;color:var(--text-3);font-size:7.5px;background:#071c256b}.geometry-toolbar__brush-size input{width:48px;margin:0;accent-color:var(--accent)}.canvas-view-controls{position:absolute;z-index:10;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:3px;padding:3px;border:1px solid rgba(50,144,184,.3);border-radius:8px;background:#0e2a36e0;box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvas-view-controls .overlay-icon-button{width:25px;height:25px;border-radius:6px}.canvas-zoom-indicator{right:10px;bottom:48px}@media (max-width: 760px){.workspace-page--toolbarless .workspace-grid{grid-template-rows:auto minmax(480px,70vh)}}.image-queue{--queue-selection-column: 22px;--queue-action-column: 26px}.workspace-page--toolbarless .workspace-grid{grid-template-columns:minmax(180px,200px) minmax(0,1fr);transition:grid-template-columns .16s ease}.workspace-page--toolbarless .workspace-grid--images-collapsed{grid-template-columns:42px minmax(0,1fr)}.image-queue__content{display:flex;max-width:100%;min-height:0;min-width:0;flex:1 1 auto;flex-direction:column;overflow:hidden}.image-queue__batch-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);align-items:center;gap:3px;padding:5px 7px 5px 9px;border-bottom:1px solid var(--border-subtle);background:#ffffff05;overflow:hidden}.image-queue__batch-toolbar .queue-select-all{display:grid;grid-template-columns:var(--queue-selection-column) minmax(0,1fr);align-items:center;gap:0;min-width:0;overflow:hidden;font-size:8px;white-space:nowrap}.image-queue__batch-toolbar .queue-select-all>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.image-queue__batch-toolbar .queue-select-all>input{justify-self:center}.image-queue__batch-toolbar .queue-select-all input,.queue-item__check input{width:13px;height:13px;margin:0}.image-queue__header-actions{display:flex;flex:0 0 auto;align-items:center;gap:3px}.image-queue__header-actions .button{min-height:27px;gap:3px;padding-inline:4px;font-size:8px}.image-queue__add-button.button--primary:not(:disabled){color:var(--action-ink)}.image-queue__header-action{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;padding:0;border:1px solid var(--border-subtle);border-radius:7px;color:var(--text-3);background:#ffffff06;cursor:pointer}.image-queue__header-action:hover:not(:disabled),.image-queue__header-action:focus-visible{color:var(--text-1);border-color:var(--border-strong);background:#ffffff0f}.image-queue__header-action:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.image-queue__header-action--danger{color:var(--action-ink);border-color:var(--action-destructive);background:var(--action-destructive)}.image-queue__header-action--danger:hover:not(:disabled),.image-queue__header-action--danger:focus-visible{color:var(--action-ink);border-color:var(--action-destructive-hover);background:var(--action-destructive-hover)}.image-queue__header-action--danger:active:not(:disabled){border-color:var(--action-destructive-active);background:var(--action-destructive-active)}.image-queue__header-action--danger:focus-visible{outline-color:var(--action-destructive-focus)}.image-queue__header-action:disabled{cursor:not-allowed;opacity:.35}.image-queue__header-action--danger:disabled{color:var(--action-disabled-ink);border-color:var(--action-disabled-border);background:var(--action-disabled-bg);opacity:1}.workspace-page--toolbarless .image-queue__list,.workspace-page--toolbarless .validated-images,.workspace-page--toolbarless .validated-images__list{max-width:100%;min-width:0;box-sizing:border-box;overflow-x:hidden}.workspace-page--toolbarless .validated-images__toggle>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-page--toolbarless .image-queue__upload-summary,.workspace-page--toolbarless .image-queue__upload-summary>span{max-width:100%;min-width:0;overflow:hidden}.workspace-page--toolbarless .image-queue__upload-summary small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-page--toolbarless .image-queue__header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0;padding-inline:7px}.workspace-page--toolbarless .image-queue__header-copy{display:grid;min-width:0;gap:1px;overflow:hidden}.workspace-page--toolbarless .image-queue__header-copy>strong,.workspace-page--toolbarless .image-queue__header-copy>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-page--toolbarless .image-queue__header>.image-queue__header-actions{display:flex;flex-direction:row;align-items:center;gap:3px}.workspace-page--toolbarless .image-queue__header>.image-queue__header-actions .button{min-height:25px;gap:2px;padding-inline:3px}.workspace-page--toolbarless .image-queue__header>.image-queue__header-actions .image-queue__add-button.is-icon-only{width:25px;min-width:25px;padding:0}.workspace-page--toolbarless .image-queue__header>.image-queue__header-actions .image-queue__add-button.is-icon-only>span:not(.button__icon){display:none}.workspace-page--toolbarless .image-queue__header>.image-queue__header-actions .image-queue__header-action{width:25px;height:25px;flex-basis:25px}.image-queue__collapse{display:flex;min-height:34px;flex:0 0 auto;align-items:center;justify-content:center;gap:8px;margin:6px;padding:0 9px;border:1px solid var(--border-subtle);border-radius:8px;color:var(--text-3);font:inherit;font-size:9px;font-weight:700;background:#ffffff06;cursor:pointer}.image-queue__collapse:hover,.image-queue__collapse:focus-visible{border-color:var(--border-strong);color:var(--text-1);background:#ffffff0e}.image-queue__collapse:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.workspace-page--toolbarless .image-queue:not(.is-collapsed) .queue-item:not(.queue-item--compact) .queue-item__button{grid-template-columns:44px minmax(0,1fr);gap:7px;max-width:100%;padding-block:6px;overflow:hidden}.image-queue .queue-item.queue-item--with-check{max-width:100%;min-width:0;box-sizing:border-box;grid-template-columns:var(--queue-selection-column) minmax(0,1fr) var(--queue-action-column)}.image-queue .queue-item.queue-item--with-check.is-selected{border-color:#fe706057;background:#fe70600e}.image-queue .queue-item.queue-item--with-check.is-current.is-selected{border-color:#fe7060ad;background:#fe70601a;box-shadow:inset 0 0 0 1px #fe706029}.image-queue .queue-item--with-check .queue-item__check{display:grid;min-height:100%;place-items:center;padding:0;cursor:pointer}.image-queue .queue-item--with-check .queue-item__check:has(input:disabled){cursor:not-allowed;opacity:.32}.image-queue .queue-item__body,.image-queue .queue-item__body>*,.image-queue .queue-progress{max-width:100%;min-width:0}.image-queue .queue-item__body{overflow:hidden}.image-queue .queue-item__meta,.image-queue .queue-item__error,.image-queue .queue-item__warning,.image-queue .queue-item__success{width:100%;overflow:hidden;flex-wrap:nowrap}.image-queue .queue-item__meta>span,.image-queue .queue-item__line-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-queue .queue-item__meta svg,.image-queue .queue-item__error>svg,.image-queue .queue-item__warning>svg,.image-queue .queue-item__success>svg{flex:0 0 auto}.image-queue .queue-item__badges{overflow:hidden}.image-queue .queue-item__badges .badge{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-queue .queue-item__badges .queue-item__status-badge{box-sizing:border-box;flex:0 1 auto;text-overflow:clip}.image-queue .queue-item__status-badge:before{flex:0 0 6px}.image-status-stage--error,.image-status-badge--error,.queue-item--status-error,.image-status-stage--missing,.image-status-badge--missing,.queue-item--status-missing{--image-stage-color: var(--danger);--image-stage-text: var(--danger-text);--image-stage-bg: var(--danger-surface)}.image-status-stage--interrupted,.image-status-badge--interrupted,.queue-item--status-interrupted{--image-stage-color: var(--warning);--image-stage-text: var(--warning-text);--image-stage-bg: var(--warning-surface)}.image-status-stage--queued,.image-status-badge--queued,.queue-item--status-queued{--image-stage-color: var(--text-3);--image-stage-text: var(--text-2);--image-stage-bg: rgba(167, 201, 209, .12)}.image-status-stage--stale,.image-status-badge--stale,.queue-item--status-stale,.image-status-stage--loading,.image-status-badge--loading,.queue-item--status-loading{--image-stage-color: var(--warning);--image-stage-text: var(--warning-text);--image-stage-bg: var(--warning-surface)}.image-status-stage--running,.image-status-badge--running,.queue-item--status-running{--image-stage-color: var(--info);--image-stage-text: var(--info);--image-stage-bg: var(--info-surface)}.image-status-stage--review,.image-status-badge--review,.queue-item--status-review{--image-stage-color: var(--warning);--image-stage-text: var(--warning-text);--image-stage-bg: var(--warning-surface)}.image-status-stage--complete,.image-status-badge--complete,.queue-item--status-complete,.image-status-stage--excluded,.image-status-badge--excluded,.queue-item--status-excluded{--image-stage-color: var(--success);--image-stage-bg: var(--success-surface)}.image-status-badge,.pipeline-step.image-status-stage .pipeline-step__icon{color:var(--image-stage-text, var(--image-stage-color));border-color:var(--image-stage-color);background:var(--image-stage-bg)}.queue-item--status:after{position:absolute;z-index:1;top:8px;bottom:8px;left:0;width:3px;border-radius:0 999px 999px 0;background:var(--image-stage-color);content:"";pointer-events:none}.queue-item__status-marquee{display:block;min-width:0;flex:1 1 auto;overflow:hidden}.queue-item__status-marquee-track{display:flex;width:max-content;align-items:center;gap:12px;transform:translate(0)}.queue-item__status-marquee-text{display:block;width:max-content;flex:0 0 auto}@keyframes queue-status-marquee{0%,15%{transform:translate(0)}85%,to{transform:translate(calc(-50% - 6px))}}@media (min-width: 761px) and (prefers-reduced-motion: no-preference){.queue-item__status-badge.is-overflowing .queue-item__status-marquee-track{animation:queue-status-marquee 8s linear infinite;will-change:transform}.queue-item:is(:hover,:focus-within) .queue-item__status-marquee-track{animation-play-state:paused}}@media (max-width: 760px),(prefers-reduced-motion: reduce){.queue-item__status-marquee-text--duplicate{display:none}}.image-queue .queue-item__actions{position:relative;z-index:1;display:grid;width:100%;min-height:100%;min-width:0;box-sizing:border-box;place-items:center;padding:0;border:0;border-radius:0;background:transparent}.image-queue .queue-item__delete-confirm{position:static;display:grid;width:100%;max-width:100%;grid-auto-flow:row;grid-template-columns:minmax(0,1fr);justify-items:center;box-sizing:border-box;gap:2px;padding:2px;border:1px solid rgba(255,92,108,.3);border-radius:7px;background:#123746f7;box-shadow:none;transform:none}.image-queue .queue-item__action{width:20px;height:20px;border-radius:5px}.workspace-page--toolbarless .image-queue:not(.is-collapsed) .queue-item:not(.queue-item--compact) .queue-item__thumbnail{width:44px;height:44px}.image-queue.is-collapsed{min-width:42px}.image-queue.is-collapsed .image-queue__collapse{width:30px;min-height:38px;align-self:center;margin:auto auto 7px;padding:0}.image-queue.is-collapsed .image-queue__collapse>span{display:none}.validated-images__list{display:grid;gap:2px;padding:3px}.image-queue .queue-item--compact{max-width:100%;min-width:0;box-sizing:border-box;grid-template-columns:minmax(0,1fr);min-height:30px;margin:0;border-radius:6px;background:transparent}.image-queue .queue-item--compact.queue-item--with-check{grid-template-columns:var(--queue-selection-column) minmax(0,1fr) var(--queue-action-column)}.image-queue .queue-item--compact.queue-item--with-check .queue-item__check{min-height:29px;place-items:center;padding-top:0}.image-queue .queue-item--compact .queue-item__button{max-width:100%;min-width:0;min-height:29px;grid-template-columns:15px minmax(0,1fr);align-items:center;gap:5px;padding:4px 2px 4px 6px;overflow:hidden}.queue-item--compact .queue-item__body{gap:0}.queue-item--compact .queue-item__name{max-width:100%;font-size:9px;font-weight:620}.queue-item__compact-state{display:grid;width:15px;height:15px;place-items:center;color:var(--text-3)}.queue-item__compact-state--validated{color:var(--success)}.queue-item__compact-state--excluded{color:var(--warning)}.queue-item--compact .queue-item__actions{padding:0}@media (max-width: 1240px) and (min-width: 761px){.workspace-page--toolbarless .workspace-grid{grid-template-columns:minmax(174px,190px) minmax(0,1fr)}.workspace-page--toolbarless .workspace-grid--images-collapsed{grid-template-columns:42px minmax(0,1fr)}}@media (max-width: 760px){.workspace-page--toolbarless .workspace-grid,.workspace-page--toolbarless .workspace-grid--images-collapsed{grid-template-columns:1fr}.workspace-page--toolbarless .image-queue.is-collapsed{min-height:42px;height:42px;flex-direction:row;align-items:center;justify-content:flex-end}.image-queue.is-collapsed .image-queue__collapse{width:auto;min-width:92px;min-height:28px;align-self:auto;margin:6px 6px 6px auto;padding-inline:8px}.image-queue.is-collapsed .image-queue__collapse>span{display:inline}}@media (min-width: 761px){body.workspace-scroll-locked{height:100vh;height:100dvh;overflow:hidden}}.app-shell--workspace{height:100vh;height:100dvh;min-height:0;overflow:hidden}.app-topbar__account{gap:6px}.app-topbar__account .button{min-height:30px;padding-inline:8px;font-size:10px}.app-user{padding:2px 6px}.app-user small{margin-top:1px}.app-main--workspace{height:auto;min-height:0;padding:0 8px 8px;overflow:hidden}.workspace-page--toolbarless{height:100%;min-height:0}@media (max-width: 760px){.app-shell--workspace{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.app-main--workspace{height:auto;padding:0 8px 8px;overflow:visible}.workspace-page--toolbarless{height:auto;min-height:0}}.workspace-stage:fullscreen{box-sizing:border-box;display:flex;width:100vw;height:100vh;min-width:0;min-height:0;flex-direction:column;gap:5px;padding:6px;background:var(--surface-canvas)}.workspace-stage:fullscreen>.overlay-controls{box-sizing:border-box;width:fit-content;max-width:100%;align-self:center;flex:0 0 auto;flex-wrap:wrap;justify-content:center;align-content:center}.workspace-stage:fullscreen .overlay-controls__fullscreen-analysis{display:inline-flex}.workspace-stage:fullscreen .overlay-controls__fullscreen-only{display:block}.workspace-stage:fullscreen>.workspace-canvas-wrap{width:100%;min-height:0;flex:1 1 auto}.workspace-stage:fullscreen .review-canvas{min-height:0}input::placeholder,textarea::placeholder{color:var(--text-3);opacity:1}.geometry-save-dialog__choice select,.field input,.field select,.field textarea,.compact-field select,.overlay-controls select,.modal__body input,.modal__body select,.modal__body textarea,.classification-dialog-form select,.classification-dialog-form textarea,.classification-review-fields select,.classification-review-fields textarea,.species-search__input,.species-search input[type=search],.library-rebuild-form input,.species-create-form input,.species-create-form textarea,.species-edit-form input,.species-edit-form textarea,.anchor-upload-options input,.anchor-upload-options select,.species-admin-search,.species-filter-select select,.login-form input,.inline-species-editor input,.inline-length-editor input,.canvas-fish-editor input,.geometry-inspector__section input[type=number],.geometry-inspector__section select,.geometry-inspector__section textarea,.species-slot-dialog input,.validated-fish-drawer__toolbar select,.history-operator-select select,.history-report-actions select{border-color:var(--border-control)}:is(.species-page,.settings-page--compact,.history-page--redesigned,.login-page,.species-catalog-modal,.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer,.history-export-dialog){--content-font-body: 14px;--content-font-control: 13px;--content-font-caption: 12px;--content-font-micro: 11px;--content-font-page: 24px;--content-font-section: 18px;--content-font-subsection: 16px;--content-font-value: 24px;--content-line-body: 1.5;--content-line-heading: 1.25;--content-control-height: 36px;--content-page-gap: var(--space-6);--content-panel-padding: var(--space-4);font-family:var(--font-sans);font-size:var(--content-font-body);line-height:var(--content-line-body)}.app-main--species{padding:var(--space-2)}:is(.species-page,.settings-page--compact,.history-page--redesigned){gap:var(--content-page-gap);padding:var(--space-4) var(--space-4) var(--space-6)}:is(.species-page,.settings-page--compact,.history-page--redesigned) .page-header{min-height:0;gap:var(--space-4);margin:0;padding-inline:0}:is(.species-page,.settings-page--compact,.history-page--redesigned) .page-header h1{margin:0;color:var(--text-1);font-size:var(--content-font-page);line-height:var(--content-line-heading);font-weight:700}:is(.species-page,.settings-page--compact,.history-page--redesigned) .page-header p{margin:var(--space-1) 0 0;color:var(--text-3);font-size:var(--content-font-control);line-height:var(--content-line-body)}:is(.species-page,.settings-page--compact,.history-page--redesigned) :is(.species-page__header-actions,.settings-header__actions,.history-page__header-actions){gap:var(--space-2);flex-wrap:wrap}:is(.species-page,.settings-page--compact,.history-page--redesigned,.login-page,.species-catalog-modal,.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer,.history-export-dialog) .button{min-height:var(--content-control-height);gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--content-font-control);line-height:var(--content-line-heading)}.species-page .validated-fish-rail .button--sm{min-height:var(--content-control-height);padding:var(--space-2) var(--space-3);font-size:var(--content-font-control);line-height:var(--content-line-heading)}:is(.species-page,.settings-page--compact,.history-page--redesigned,.login-page,.species-catalog-modal,.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer,.history-export-dialog) .button--icon-only{width:var(--content-control-height);min-width:var(--content-control-height);padding:0}:is(.species-page,.settings-page--compact,.history-page--redesigned,.species-catalog-modal,.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer,.history-export-dialog) .badge{min-height:24px;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--content-font-micro);line-height:var(--content-line-heading)}:is(.species-page,.settings-page--compact,.history-page--redesigned) .panel__header{gap:var(--space-3);padding:var(--content-panel-padding) var(--content-panel-padding) 0}:is(.species-page,.settings-page--compact,.history-page--redesigned) .panel__title{font-size:var(--content-font-subsection);line-height:var(--content-line-heading)}:is(.species-page,.settings-page--compact,.history-page--redesigned) .panel__description{margin-top:var(--space-1);font-size:var(--content-font-caption);line-height:var(--content-line-body)}:is(.species-page,.settings-page--compact,.history-page--redesigned) .panel__content{padding:var(--content-panel-padding)}:is(.species-page,.settings-page--compact,.history-page--redesigned,.login-page,.species-catalog-modal,.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer,.history-export-dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){min-height:var(--content-input-height, var(--content-control-height));padding:var(--content-input-padding, var(--space-2) var(--space-3));font-family:var(--font-sans);font-size:var(--content-font-control);line-height:var(--content-line-heading)}:is(.species-page,.settings-page--compact,.history-page--redesigned,.history-export-dialog) .field{gap:var(--space-2)}:is(.species-page,.settings-page--compact,.history-page--redesigned,.history-export-dialog) :is(.field>span,.field small,.field-check small){font-size:var(--content-font-caption);line-height:var(--content-line-body)}:is(.species-catalog-modal,.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer,.history-export-dialog) :is(.modal__header,.modal__body,.modal__footer){padding:var(--content-panel-padding);gap:var(--space-3)}:is(.species-catalog-modal,.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer,.history-export-dialog) .modal__header h2{font-size:var(--content-font-section);line-height:var(--content-line-heading)}:is(.species-catalog-modal,.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer,.history-export-dialog) .modal__close{width:var(--content-control-height);height:var(--content-control-height)}:is(.species-catalog-modal,.history-export-dialog) .modal__footer{flex-wrap:wrap;gap:var(--space-2)}:is(.species-catalog-modal,.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer,.history-export-dialog) :is(.modal__footer .button,.anchor-media-card__actions .button,.anchor-media-viewer__footer .button){min-height:var(--content-control-height);padding:var(--space-2) var(--space-3);font-size:var(--content-font-control);line-height:var(--content-line-heading)}.history-export-dialog .export-dialog{gap:var(--space-4);font-size:var(--content-font-control)}.history-export-dialog :is(.export-dialog__scope,.export-dialog__mode,.export-dialog__options label,.export-dialog__estimate,.export-progress){padding:var(--space-3)}.history-page--redesigned :is(.history-activity,.history-layout,.report-summary--redesigned){gap:var(--content-page-gap)}.history-page--redesigned .history-tabs{gap:var(--space-6)}.history-page--redesigned .history-tabs button{gap:var(--space-2);padding:var(--space-2) 0 var(--space-3);font-size:var(--content-font-body);line-height:var(--content-line-heading)}.history-page--redesigned :is(.history-page__updates,.history-activity__hint,.history-timeline__count,.history-timeline__loading,.history-timeline__day-heading,.history-event__meta,.history-event__time,.history-event__selection-status,.history-event__detail-badges,.history-event__technical-meta,.history-event__compare-help,.history-comparison__selection>span,.revision-compare__identifiers,.report-reading-context__freshness small,.report-freshness,.report-phase-toggle__title small,.report-phase-toggle__value small,.report-results-list__heading,.report-metric-card span,.report-metric-card small,.report-count-list span,.report-error-block dl,.report-distribution-line small,.report-supporting-details__content>p,.report-supporting-details__content>small,.report-start-hint p,.report-scope-note,.report-notes,.report-sample-context small){font-size:var(--content-font-caption);line-height:var(--content-line-body)}.history-page--redesigned :is(.history-filters__heading h2,.history-section-heading h2,.report-reading-context h2,.confusion-matrix h3){font-size:var(--content-font-section);line-height:var(--content-line-heading)}.history-page--redesigned :is(.history-event__title-row strong,.report-start-hint strong){font-size:var(--content-font-body);line-height:var(--content-line-body)}.history-page--redesigned :is(.history-activity__toolbar,.history-activity__filter-actions,.history-activity__actions,.history-comparison__toolbar,.history-filters__heading,.history-filters__grid,.history-section-heading,.history-event,.history-event__actions,.history-event__detail-badges,.history-comparison__selection){gap:var(--space-3)}.history-page--redesigned .history-filters__advanced-toggle{min-height:var(--content-control-height);padding-inline:var(--space-3);font-size:var(--content-font-control)}.history-page--redesigned .history-filters .field{gap:var(--space-2)}.history-page--redesigned .history-filters .field>span{font-size:var(--content-font-caption)}.history-page--redesigned :is(.history-event__actions .button,.history-revision-chip>button,.report-export-menu summary){min-height:var(--content-control-height);padding:var(--space-2) var(--space-3);font-size:var(--content-font-control);line-height:var(--content-line-heading)}.history-page--redesigned .history-event{padding-block:var(--space-4)}.history-page--redesigned .history-timeline__day{margin-top:var(--space-6)}.history-page--redesigned .history-timeline__day-heading{margin-bottom:var(--space-2);padding-bottom:var(--space-2)}.history-page--redesigned .history-event__details{margin-top:var(--space-2)}.history-page--redesigned .history-event__details>summary{min-height:var(--content-control-height);gap:var(--space-2);font-size:var(--content-font-control)}.history-page--redesigned .history-event__details-content{margin-top:var(--space-2);padding:var(--space-3) var(--space-4)}.history-page--redesigned :is(.history-event__technical-meta,.history-event__revisions){gap:var(--space-2)}.history-page--redesigned :is(.history-revision-chip,.history-event__note){padding:var(--space-2) var(--space-3);font-size:var(--content-font-control)}.history-page--redesigned :is(.history-revision-chip>strong,.history-comparison__selection b,.history-comparison__toolbar>p,.history-empty,.report-reading-context p,.report-sample-context,.report-phase-definition,.report-details-hint,.report-error-block h4,.report-breakdown h4,.report-record-breakdown h4,.report-pair-list h4,.report-breakdown span,.report-pair-list>span,.report-species-table,.confusion-matrix__toolbar p){font-size:var(--content-font-control);line-height:var(--content-line-body)}.history-page--redesigned :is(.history-revision-chip>code,.revision-compare__ids>code){font-size:var(--content-font-micro);line-height:var(--content-line-body)}.history-page--redesigned .report-context-bar{gap:var(--space-4) var(--space-6);padding-bottom:var(--space-6)}.history-page--redesigned .report-control{gap:var(--space-2)}.history-page--redesigned .report-control select{--content-input-padding: var(--space-2) var(--space-8) var(--space-2) var(--space-3)}.history-page--redesigned .report-phase-toggle{gap:var(--space-4);padding:var(--space-4) var(--space-6)}.history-page--redesigned .report-phase-toggle__title strong{font-size:var(--content-font-subsection);line-height:var(--content-line-heading)}.history-page--redesigned .report-phase-toggle__value strong{font-size:var(--content-font-value);line-height:var(--content-line-heading)}.history-page--redesigned .report-phase-body{padding:0 var(--space-6) var(--space-6) 76px}.history-page--redesigned .report-results-list__heading{padding:var(--space-3) 58px var(--space-3) var(--space-6)}.history-page--redesigned :is(.report-phase-toggle__title,.report-phase-toggle__value){gap:var(--space-1)}.history-page--redesigned .report-supporting-details>summary{padding-block:var(--space-4);font-size:var(--content-font-control);line-height:var(--content-line-body)}.history-page--redesigned :is(.report-metric-grid,.report-error-grid,.report-secondary-grid){gap:var(--space-6)}.history-page--redesigned :is(.report-count-list,.report-distribution-line,.report-error-block,.report-breakdown,.report-pair-list,.report-record-breakdown){margin-top:var(--space-4);padding-top:var(--space-4)}.history-page--redesigned .report-methodology{margin-top:calc(-1 * var(--content-page-gap))}.settings-page--compact :is(.settings-section,.diagnostics-summary-grid,.diagnostics-memory-grid,.settings-attention__content,.settings-technical__content){gap:var(--space-4)}.settings-page--compact .settings-section__heading{gap:var(--space-4);padding-inline:0}.settings-page--compact :is(.settings-section__heading h2,.settings-technical__section-heading h2){font-size:var(--content-font-section);line-height:var(--content-line-heading)}.settings-page--compact .settings-technical__section-heading h2{font-size:var(--content-font-subsection)}.settings-page--compact .settings-section__eyebrow{margin-bottom:var(--space-1);font-size:var(--content-font-micro);line-height:var(--content-line-body);letter-spacing:.08em}.settings-page--compact :is(.settings-system-state,.settings-section__heading p,.settings-section__heading time,.diagnostics-card small,.diagnostics-memory-metric dt,.diagnostics-alert__item small,.diagnostics-error-box code,.settings-technical__summary-copy small,.settings-technical__section-heading p,.diagnostics-file-row span,.settings-technical__empty){font-size:var(--content-font-caption);line-height:var(--content-line-body)}.settings-page--compact :is(.settings-section__heading p,.settings-technical__section-heading p){margin-top:var(--space-1)}.settings-page--compact .diagnostics-card .panel__content{gap:var(--space-2);padding:var(--content-panel-padding)}.settings-page--compact .diagnostics-card__heading{gap:var(--space-2);font-size:var(--content-font-control);line-height:var(--content-line-body)}.settings-page--compact .diagnostics-card strong{font-size:var(--content-font-subsection);line-height:var(--content-line-heading)}.settings-page--compact .diagnostics-memory-card .panel__content{gap:var(--space-3)}.settings-page--compact :is(.diagnostics-memory-metrics,.diagnostics-file-list){gap:var(--space-2)}.settings-page--compact .diagnostics-memory-metric{gap:var(--space-1);padding:var(--space-2) var(--space-3)}.settings-page--compact :is(.diagnostics-memory-metric dd,.diagnostics-alert,.diagnostics-error-box p,.diagnostics-requirement strong,.settings-row,.diagnostics-file-row strong){font-size:var(--content-font-control);line-height:var(--content-line-body)}.settings-page--compact :is(.diagnostics-memory-sources,.diagnostics-memory-source){gap:var(--space-1);padding-top:var(--space-2)}.settings-page--compact .diagnostics-alert{gap:var(--space-3);padding:var(--content-panel-padding)}.settings-page--compact .diagnostics-alert__item{gap:var(--space-1)}.settings-page--compact :is(.settings-requirements-panel,.settings-failure-panel)>.panel__header{padding:var(--content-panel-padding) var(--content-panel-padding) 0}.settings-page--compact :is(.settings-requirements-panel,.settings-failure-panel)>.panel__content{padding:var(--content-panel-padding)}.settings-page--compact :is(.settings-requirements-panel,.settings-failure-panel) .panel__title{font-size:var(--content-font-subsection);line-height:var(--content-line-heading)}.settings-page--compact :is(.settings-requirements-panel,.settings-failure-panel) .panel__description{margin-top:var(--space-1);font-size:var(--content-font-caption);line-height:var(--content-line-body)}.settings-page--compact .diagnostics-requirement,.settings-page--compact .diagnostics-error-box{padding:var(--space-3)}.settings-page--compact .settings-technical>summary{gap:var(--space-3);padding:var(--content-panel-padding)}.settings-page--compact .settings-technical__summary-copy{gap:var(--space-1)}.settings-page--compact .settings-technical__summary-copy strong{font-size:var(--content-font-subsection);line-height:var(--content-line-heading)}.settings-page--compact .settings-technical__content{padding:var(--content-panel-padding)}.settings-page--compact .settings-technical__section{gap:var(--space-3);padding:var(--space-3)}.settings-page--compact .settings-row{gap:var(--space-2);padding:var(--space-2) var(--space-3)}.settings-page--compact .diagnostics-file-row{padding:var(--space-2) var(--space-3)}.login-page{padding:var(--space-6)}.login-page .login-card{gap:var(--space-6);padding:var(--space-6)}.login-page .login-form{gap:var(--space-4)}.login-page .login-form label{gap:var(--space-2);font-size:var(--content-font-caption);line-height:var(--content-line-body)}.login-page .login-form .button{margin-top:var(--space-1)}@media (max-width: 760px){:is(.species-page,.settings-page--compact,.history-page--redesigned,.login-page,.species-catalog-modal,.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer,.history-export-dialog){--content-font-page: 22px;--content-control-height: 40px}:is(.species-page,.settings-page--compact,.history-page--redesigned){padding-inline:var(--space-2)}.settings-page--compact .settings-row{gap:var(--space-1)}}@media (max-width: 560px){.history-page--redesigned .report-phase-toggle{gap:var(--space-2);padding:var(--space-4)}.history-page--redesigned .report-phase-body{padding:0 var(--space-4) var(--space-6)}.history-page--redesigned .report-results-list__heading{padding-inline:var(--space-4) 38px}.history-page--redesigned .report-secondary-grid{gap:0}.login-page .login-card{padding:var(--space-4)}}.species-page .species-slot-picker,.species-page .species-version-strip{height:auto;min-height:72px;gap:var(--space-2);padding:var(--space-3)}.species-page .species-slot-picker__header,.species-page .species-version-strip__header{padding-right:var(--space-3);gap:var(--space-2)}.species-page .species-slot-picker__title,.species-page .species-slot-picker__title>strong,.species-page .species-version-strip__title h2,.species-page .species-slot-chip>strong,.species-page .species-version-chip__identity strong{font-size:var(--content-font-control);line-height:var(--content-line-heading)}.species-page .species-slot-picker__title>span,.species-page .species-slot-picker__loading,.species-page .species-slot-picker__retry,.species-page .species-slot-picker__state,.species-page .species-slot-picker__message,.species-page .species-version-strip__count,.species-page .species-version-strip__refresh-state,.species-page .species-version-strip__retry,.species-page .species-version-strip__message,.species-page .species-version-chip__meta,.species-page .species-version-save-status,.species-page .species-catalog-count{font-size:var(--content-font-caption);line-height:var(--content-line-body)}.species-page .species-slot-picker__list,.species-page .species-version-strip__list{gap:var(--space-2)}.species-page .species-slot-chip,.species-page .species-version-chip{height:auto;min-height:var(--content-control-height);gap:var(--space-2);padding:var(--space-2)}.species-page .species-slot-picker__actions{gap:var(--space-2);padding-left:var(--space-3)}.species-page .species-slot-picker__icon-action{width:var(--content-control-height);height:var(--content-control-height)}.species-page .species-admin-layout,.species-page .species-table-shell,.species-page .species-details{gap:var(--space-4)}.species-page .species-table-toolbar{gap:var(--space-2)}.species-page .species-admin-search,.species-page .species-admin-search input,.species-page .species-filter-select select{font-size:var(--content-font-control);line-height:var(--content-line-body)}.species-page .species-admin-search,.species-page .species-filter-select select{min-height:var(--content-control-height);padding-inline:var(--space-2)}.species-page .species-admin-search input{--content-input-height: calc(var(--content-control-height) - 2px);--content-input-padding: 0}.species-page .species-table,.species-page .species-table__identity strong{font-size:var(--content-font-control);line-height:var(--content-line-body)}.species-page .species-table th,.species-page .species-table-summary,.species-page .species-table__identity span,.species-page .species-table time,.species-page .species-anchor-counts,.species-page .species-table__new-candidates>span{font-size:var(--content-font-caption);line-height:var(--content-line-body)}.species-page .species-table th,.species-page .species-table td{padding:var(--space-2);padding-inline:var(--space-1)}.species-page .species-anchor-counts{gap:var(--space-2)}.species-page .species-detail-empty,.species-page .anchor-gallery-empty,.species-page .species-table-empty,.species-page .species-loading{font-size:var(--content-font-body);line-height:var(--content-line-body)}.species-page .species-details__header{gap:var(--space-3)}.species-page .species-details__title-row{gap:var(--space-2)}.species-page .species-details__title-row h2,.species-page .review-discovery-pools__header h2{font-size:var(--content-font-section);line-height:var(--content-line-heading)}.species-page .species-details__header p,.species-page .species-anchor-section p,.species-page .review-discovery-pools__header p,.species-page .review-discovery-card__identity p{margin-top:var(--space-1);font-size:var(--content-font-caption);line-height:var(--content-line-body)}.species-page .species-details__actions{gap:var(--space-2)}.species-page .species-details__summary-item{gap:var(--space-2);padding:var(--space-2)}.species-page .species-details__summary dt{font-size:var(--content-font-caption);line-height:var(--content-line-body);text-transform:none}.species-page .species-details__summary dd{font-size:var(--content-font-control);line-height:var(--content-line-body)}.species-page .species-details__summary-item--metric dd{font-size:var(--content-font-body)}.species-page .species-details__summary-item--metric{flex-direction:column;gap:var(--space-1);padding-inline:var(--space-1)}.species-page .species-details__summary-item--metric dt{overflow:visible;text-align:center;white-space:normal}.species-page .species-edit-form{gap:var(--space-3);padding:var(--space-3)}.species-page .species-edit-form label,.species-page .anchor-upload-options label,.species-catalog-modal .species-create-form label,.species-catalog-modal .species-slot-dialog label{align-content:start;gap:var(--space-2);font-size:var(--content-font-caption);line-height:var(--content-line-body)}.species-page .species-edit-form label>span,.species-page .species-edit-form label small,.species-catalog-modal .species-slot-dialog label>span{font-size:var(--content-font-caption);line-height:var(--content-line-body)}.species-page .species-edit-form input,.species-page .species-edit-form textarea,.species-page .anchor-upload-options input,.species-page .anchor-upload-options select,.species-catalog-modal .species-create-form input,.species-catalog-modal .species-create-form textarea,.species-catalog-modal .species-slot-dialog input{min-height:var(--content-control-height);padding:var(--space-2) var(--space-3);font-size:var(--content-font-control);line-height:var(--content-line-body)}.species-catalog-modal .species-create-form,.species-catalog-modal .species-slot-dialog{gap:var(--space-4)}.species-catalog-modal .species-slot-dialog p{font-size:var(--content-font-body);line-height:var(--content-line-body)}.species-page .species-anchor-section{gap:var(--space-3);padding-top:var(--space-4)}.species-page .species-anchor-section>header,.species-page .species-anchor-section__title{gap:var(--space-2)}.species-page .species-anchor-section h3,.species-page .review-discovery-card__identity h3{font-size:var(--content-font-subsection);line-height:var(--content-line-heading)}.species-page .species-anchor-section__count{font-size:var(--content-font-caption);line-height:var(--content-line-body)}.species-page .anchor-admin-grid,.species-page .anchor-upload,.species-page .anchor-upload-options,.species-page .anchor-upload-pending{gap:var(--space-3)}.species-page .anchor-admin-card__body,.species-page .anchor-upload-pending{padding:var(--space-3)}.species-page .anchor-admin-card__source,.species-page .anchor-admin-card__note,.species-page .anchor-admin-card__meta,.species-page .anchor-upload-dropzone,.species-page .anchor-upload-pending figcaption,.species-page .anchor-upload-results{font-size:var(--content-font-caption);line-height:var(--content-line-body)}.species-page .anchor-admin-card__actions{gap:var(--space-2);padding:0 var(--space-3) var(--space-3)}.species-page .anchor-upload-dropzone{gap:var(--space-2);padding:var(--space-3)}.species-page .anchor-upload-dropzone>div{line-height:var(--content-line-body)}.species-page .review-discovery-pools{gap:var(--space-3)}.species-page .review-discovery-pools__grid{gap:var(--space-4)}.species-page .review-discovery-card{gap:var(--space-3);padding:var(--content-panel-padding)}.species-page .review-discovery-card__confirm,.species-page .review-discovery-card__error,.species-page .review-discovery-card__readonly,.species-page .review-discovery-card__empty,.species-page .review-discovery-fish__identity i,.species-page .review-discovery-species__identity>span,.species-page .review-discovery-species__summary,.species-page .review-discovery-species__anchors dt,.species-page .review-discovery-species__anchors dd{font-size:var(--content-font-caption);line-height:var(--content-line-body)}.species-page .review-discovery-fish__identity strong,.species-page .review-discovery-species__identity strong{font-size:var(--content-font-control);line-height:var(--content-line-body)}.species-page .review-discovery-fish,.species-page .review-discovery-species{gap:var(--space-2)}.species-page .review-discovery-fish>li,.species-page .review-discovery-species__item{gap:var(--space-2);padding:var(--space-2)}.species-page .review-discovery-fish__actions,.species-page .review-discovery-species__actions{gap:var(--space-2)}.species-page .validated-fish-rail{height:auto;min-height:52px;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.species-page .validated-fish-rail__identity strong{font-size:var(--content-font-control);line-height:var(--content-line-body)}.species-page .validated-fish-rail__identity span,.species-page .validated-fish-rail__status{font-size:var(--content-font-caption);line-height:var(--content-line-body)}:is(.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer) :is(.anchor-media-viewer__caption strong,.validated-fish-card__title>strong,.new-species-fish-card__title strong,.validated-fish-drawer__empty strong,.new-species-fish-drawer__empty strong,.validated-fish-dismiss-confirmation strong,.validated-fish-drawer__footer>div:first-child strong){font-size:var(--content-font-control);line-height:var(--content-line-body)}:is(.anchor-image-modal,.validated-fish-drawer,.new-species-fish-drawer) :is(.anchor-media-viewer__caption span,.anchor-media-viewer__caption time,.anchor-media-viewer__navigation>span,.anchor-media-viewer__actions>div>span,.validated-fish-card__body>span,.validated-fish-card__body>time,.new-species-fish-card__body time,.validated-fish-drawer__hint,.validated-fish-drawer__readonly,.validated-fish-drawer__counts,.validated-fish-drawer__error,.validated-fish-drawer__loading,.validated-fish-drawer__empty,.validated-fish-drawer__load-more,.validated-fish-drawer__slot,.validated-fish-drawer__footer>div:first-child,.validated-fish-dismiss-confirmation>div:first-child,.new-species-fish-drawer__intro,.new-species-fish-drawer__readonly,.new-species-fish-drawer__error,.new-species-fish-drawer__loading,.new-species-fish-drawer__empty,.new-species-fish-drawer__pagination,.new-species-fish-accordion__panel-actions,.new-species-fish-accordion__empty,.anchor-image-viewer__unavailable,.validated-fish-viewer__unavailable,.validated-fish-card__unavailable,.new-species-fish-card__preview-unavailable){font-size:var(--content-font-caption);line-height:var(--content-line-body)}.validated-fish-drawer .validated-fish-drawer__content,.new-species-fish-drawer .new-species-fish-drawer__content{gap:var(--space-4)}.validated-fish-drawer .validated-fish-drawer__toolbar{gap:var(--space-3);padding:var(--space-3)}.validated-fish-drawer .validated-fish-drawer__toolbar>label:first-child{gap:var(--space-2)}.validated-fish-drawer .validated-fish-drawer__toolbar>label:first-child>span{font-size:var(--content-font-caption);line-height:var(--content-line-body);text-transform:none}.validated-fish-drawer .validated-fish-drawer__toolbar select{min-height:var(--content-control-height);padding-inline:var(--space-3);font-size:var(--content-font-control);line-height:var(--content-line-body)}.validated-fish-drawer .validated-fish-drawer__counts strong{font-size:var(--content-font-body)}.new-species-fish-drawer .new-species-fish-accordion__trigger i{font-size:var(--content-font-subsection);line-height:var(--content-line-heading)}.new-species-fish-drawer .new-species-fish-accordion__trigger small{font-size:var(--content-font-caption);line-height:var(--content-line-body)}.new-species-fish-drawer .new-species-fish-accordion__header,.new-species-fish-drawer .new-species-fish-accordion__panel{padding:var(--space-3)}.validated-fish-drawer .validated-fish-card,.new-species-fish-drawer .new-species-fish-card{gap:var(--space-3);padding:var(--space-3)}@media (min-width: 1280px){.species-page{grid-template-rows:minmax(72px,auto) auto auto}}@media (max-width: 700px){.species-page .species-slot-picker,.species-page .species-version-strip{gap:var(--space-2);padding-inline:var(--space-2)}.species-page .species-slot-picker__header{grid-column:1;grid-row:1;padding-right:0;border-right:0}.species-page .species-slot-picker__actions{grid-column:2;grid-row:1;gap:var(--space-1);padding-left:0;border-left:0}.species-page .species-slot-picker{display:grid;grid-template-columns:minmax(0,1fr) auto}.species-page .species-slot-picker__viewport,.species-page .species-slot-picker__message{grid-column:1 / -1;grid-row:2;width:100%;min-width:0;height:auto}.species-page .species-slot-picker__list{height:auto}.species-page .species-slot-picker__actions .button--sm{width:var(--content-control-height);min-width:var(--content-control-height)}.species-page .species-details__summary-item{gap:var(--space-1);padding-inline:var(--space-1)}}
