:root{--color-paper:oklch(98.5% 0.006 92);--color-paper-2:oklch(96% 0.009 92);--color-paper-3:oklch(92% 0.012 92);--color-ink:oklch(18% 0.012 80);--color-ink-2:oklch(31% 0.011 80);--color-neutral:oklch(43% 0.01 82);--color-muted:oklch(49% 0.009 82);--color-rule:oklch(76% 0.012 88);--color-rule-2:oklch(87% 0.01 88);--color-accent:oklch(86% 0.178 91);--color-accent-strong:oklch(72% 0.15 82);--color-accent-ink:oklch(18% 0.012 80);--color-focus:oklch(46% 0.13 72);--color-focus-on-dark:oklch(86% 0.178 91);--color-canvas:oklch(16% 0.008 80);--color-canvas-2:oklch(21% 0.008 80);--color-canvas-rule:oklch(31% 0.009 80);--color-canvas-ink:oklch(95% 0.007 92);--color-canvas-muted:oklch(72% 0.007 88);--color-danger:oklch(54% 0.19 28);--color-danger-soft:oklch(94% 0.025 28);--color-success:oklch(46% 0.12 148);--color-success-soft:oklch(94% 0.025 148);--color-overlay:oklch(12% 0.008 80/0.72);--color-shadow:oklch(12% 0.008 80/0.12);--color-transparent:transparent;--color-class-1:oklch(72% 0.17 54);--color-class-2:oklch(68% 0.16 235);--color-class-3:oklch(72% 0.17 145);--color-class-4:oklch(66% 0.18 320);--color-class-5:oklch(76% 0.16 88);--color-class-6:oklch(64% 0.17 275);--color-class-7:oklch(71% 0.15 190);--color-class-8:oklch(64% 0.19 20);--font-display:var(--font-outfit);--font-body:var(--font-inter);--font-mono:var(--font-jetbrains-mono);--font-outlier:var(--font-jetbrains-mono);--space-3xs:0.125rem;--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--text-xs:0.64rem;--text-sm:0.8rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.953rem;--text-2xl:2.441rem;--text-display:clamp(2.75rem,5vw + 1rem,5.25rem);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in:cubic-bezier(0.7,0,0.84,0);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--dur-micro:120ms;--dur-short:220ms;--dur-long:420ms;--rule-thin:1px;--rule-heavy:2px;--radius-xs:0.125rem;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}.annotate-root{--font-mono:var(--font-body);min-width:0;overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);text-align:start}.annotate-root *,.annotate-root :after,.annotate-root :before{box-sizing:border-box}.annotate-root button,.annotate-root input,.annotate-root select{font:inherit}.annotate-root a,.annotate-root button,.annotate-root summary{-webkit-tap-highlight-color:var(--color-transparent)}.annotate-root a,.annotate-root button,.annotate-root kbd,.annotate-root summary{line-height:1;white-space:nowrap}.annotate-root h1,.annotate-root h2,.annotate-root h3,.annotate-root h4,.annotate-root h5,.annotate-root h6{min-width:0;overflow-wrap:anywhere}.annotate-root :focus-visible{outline:var(--rule-heavy) solid var(--color-focus);outline-offset:var(--space-2xs)}.ai-run-button:focus-visible,.annotate-button.is-danger:focus-visible,.annotate-button.is-primary:focus-visible,.canvas-help:focus-visible,.canvas-workbench :focus-visible{outline-color:var(--color-focus-on-dark)}.canvas-bottombar button.is-reviewed:focus-visible,.tool-group button.is-active:focus-visible{outline-color:var(--color-focus)}.annotate-root a:active,.annotate-root button:active,.annotate-root summary:active{opacity:.82}.annotate-root button:disabled,.annotate-root input:disabled,.annotate-root select:disabled{cursor:not-allowed;opacity:.48}.annotate-root button[data-state=loading]{cursor:wait;opacity:.72}.annotate-root button[data-state=error]{border-color:var(--color-danger);color:var(--color-danger)}.annotate-root button[data-state=success]{border-color:var(--color-success);color:var(--color-success)}.annotate-empty-page{min-height:100dvh}.annotate-site-nav{position:fixed;z-index:var(--z-sticky);inset-block-start:0;inset-inline:0;border-block-end:var(--rule-thin) solid var(--color-rule-2);background:var(--color-paper);color:var(--color-ink)}.annotate-site-nav>div{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);width:min(100%,72rem);min-height:4rem;margin-inline:auto;padding-inline:clamp(var(--space-md),5vw,var(--space-lg))}.annotate-site-wordmark{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:800;letter-spacing:-.03em;text-decoration:none}.annotate-site-wordmark span{color:var(--color-accent-strong)}.annotate-site-links{display:flex;align-items:center;gap:var(--space-lg)}.annotate-site-links a{min-height:2.75rem;display:inline-flex;align-items:center;color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700;text-decoration:none}.annotate-site-links a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--color-accent-strong);text-decoration-thickness:var(--rule-heavy);text-underline-offset:var(--space-3xs)}.annotate-empty-main{display:grid;gap:var(--space-xl);width:min(100%,76rem);margin-inline:auto;padding:8rem clamp(var(--space-md),5vw,var(--space-2xl)) var(--space-2xl)}.annotate-intro{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:var(--space-xl);padding-block-end:var(--space-xl)}.annotate-intro-copy{min-width:0}.annotate-local-line{display:inline-flex;align-items:center;gap:var(--space-xs);color:var(--color-ink-2);font-family:var(--font-outlier);font-size:var(--text-sm);font-weight:700}.annotate-local-line svg{color:var(--color-accent-strong)}.annotate-intro h1{max-width:11ch;margin:var(--space-md) 0 var(--space-lg);font-family:var(--font-display);font-size:var(--text-display);font-style:normal;font-weight:800;letter-spacing:-.04em;line-height:1.02;overflow-wrap:anywhere}.annotate-intro-copy>p{max-width:58ch;margin:0;color:var(--color-ink-2);font-size:var(--text-md);line-height:1.55}.annotate-privacy-proof{display:flex;align-items:flex-start;gap:var(--space-sm);max-width:40rem;margin-block-start:var(--space-xl);padding-block-start:var(--space-md);border-block-start:var(--rule-heavy) solid var(--color-ink);color:var(--color-ink-2);line-height:1.5}.annotate-privacy-proof svg{flex:0 0 auto;margin-block-start:var(--space-3xs)}.annotate-drop-panel,.annotate-privacy-proof strong{color:var(--color-ink)}.annotate-drop-panel{position:relative;display:grid;justify-items:start;min-width:0;padding:var(--space-xl);border:var(--rule-heavy) dashed var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper-2);transition:transform var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}.is-dragging-files .annotate-drop-panel{border-color:var(--color-accent-strong);transform:translateY(-.125rem)}.drop-panel-mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin-block-end:var(--space-lg);border:var(--rule-heavy) solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-accent);color:var(--color-accent-ink)}.annotate-drop-panel h2,.mobile-workspace-message h1,.recovery-strip h2{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-style:normal;font-weight:800;letter-spacing:-.025em}.annotate-drop-panel>p{max-width:40ch;margin:var(--space-xs) 0 var(--space-lg);color:var(--color-ink-2);line-height:1.55}.dialog-actions,.drop-panel-actions,.recovery-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.annotate-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);font-weight:700;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.annotate-button:active,.canvas-bottombar button:active,.icon-button:active,.tool-group button:active{transform:translateY(var(--space-3xs))}.annotate-button.is-primary{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.annotate-button.is-secondary{border-color:var(--color-ink);background:var(--color-paper);color:var(--color-ink)}.annotate-button.is-quiet{border-color:var(--color-transparent);background:var(--color-transparent);color:var(--color-ink-2)}.annotate-button.is-danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-paper)}.local-explainer{width:100%;margin-block-start:var(--space-xl);padding-block-start:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule)}.local-explainer summary{display:flex;align-items:center;justify-content:space-between;min-height:2.75rem;color:var(--color-ink-2);font-weight:700;cursor:pointer;list-style:none}.local-explainer summary::-webkit-details-marker{display:none}.local-explainer p{max-width:52ch;margin:var(--space-sm) 0 0;color:var(--color-neutral);line-height:1.55}.recovery-strip{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--space-lg);padding:var(--space-lg);border-block:var(--rule-thin) solid var(--color-rule)}.recovery-label{display:block;margin-block-end:var(--space-xs);color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-sm)}.recovery-strip p{margin:var(--space-xs) 0 0;color:var(--color-neutral)}.desktop-note{margin:0;color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-sm)}.desktop-note span{color:var(--color-accent-strong)}.annotate-error,.workspace-alert{border:var(--rule-thin) solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-soft);color:var(--color-ink)}.annotate-error{padding:var(--space-md)}.annotate-workspace{display:flex;flex-direction:column;height:100dvh;overflow:hidden}.workspace-header{position:relative;z-index:var(--z-sticky);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);min-height:4rem;padding:var(--space-xs) var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule);background:var(--color-paper);color:var(--color-ink)}.workspace-actions,.workspace-brand,.workspace-status{display:flex;align-items:center;min-width:0}.workspace-brand{gap:var(--space-sm)}.workspace-wordmark{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:800;letter-spacing:-.03em;text-decoration:none}.workspace-wordmark span{color:var(--color-accent-strong)}.workspace-divider{width:var(--rule-thin);height:1.5rem;background:var(--color-rule)}.project-name-input{width:min(14rem,32vw);height:2.75rem;padding-inline:var(--space-xs);border:var(--rule-thin) solid var(--color-transparent);border-radius:var(--radius-sm);outline:var(--rule-heavy) solid var(--color-transparent);outline-offset:var(--space-3xs);background:var(--color-transparent);color:var(--color-ink-2);font-weight:700;text-overflow:ellipsis}.project-name-input:focus-visible{border-color:var(--color-rule);outline-color:var(--color-focus);background:var(--color-paper-2)}.workspace-status{display:none;justify-content:center;gap:var(--space-md);color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.local-indicator{display:inline-flex;align-items:center;gap:var(--space-xs);min-height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink-2);cursor:pointer}.local-indicator>span{width:.5rem;height:.5rem;border-radius:50%;background:var(--color-success)}.autosave-state{display:inline-flex;align-items:center;gap:var(--space-2xs)}.autosave-state.is-error{color:var(--color-danger)}.workspace-actions{justify-content:flex-end;gap:var(--space-xs)}.icon-button{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;flex:0 0 auto;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink-2);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.icon-button.is-compact{width:2.25rem;height:2.25rem;min-width:2.25rem;min-height:2.25rem}.workspace-alert{position:relative;z-index:var(--z-raised);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-width:0 0 var(--rule-thin);border-radius:0;font-size:var(--text-sm)}.storage-warning button,.workspace-alert button{display:grid;place-items:center;width:2.75rem;height:2.75rem;flex:0 0 auto;border:0;background:var(--color-transparent);color:inherit;cursor:pointer}.mobile-workspace-message{display:grid;justify-items:start;gap:var(--space-md);width:min(100%,34rem);margin:auto;padding:var(--space-xl) var(--space-md)}.mobile-workspace-message p{margin:0;color:var(--color-ink-2);line-height:1.55}.workspace-grid{display:none;flex:1 1 auto;min-height:0}.dataset-sidebar,.labels-sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--color-paper);color:var(--color-ink)}.dataset-sidebar{border-inline-end:var(--rule-thin) solid var(--color-rule)}.labels-sidebar{border-inline-start:var(--rule-thin) solid var(--color-rule)}.objects-heading,.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md)}.sidebar-heading{border-block-end:var(--rule-thin) solid var(--color-rule-2)}.objects-heading h2,.sidebar-heading h2{margin:0;font-family:var(--font-display);font-size:var(--text-base);font-style:normal;font-weight:800;letter-spacing:-.01em}.objects-heading span,.sidebar-heading span{color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.dataset-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2xs);padding:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule-2)}.dataset-filters button{min-width:0;min-height:2.25rem;border:var(--rule-thin) solid var(--color-transparent);border-radius:var(--radius-sm);background:var(--color-transparent);color:var(--color-neutral);font-size:var(--text-sm);font-weight:700;cursor:pointer}.dataset-filters button.is-active{border-color:var(--color-rule);background:var(--color-paper-2);color:var(--color-ink)}.dataset-list{position:relative;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.dataset-list-space{position:relative;width:100%}.dataset-row{position:absolute;inset-block-start:0;inset-inline:0;display:grid;grid-template-columns:3rem minmax(0,1fr) 1.25rem;align-items:center;gap:var(--space-sm);height:4.25rem;padding:var(--space-xs) var(--space-sm);border:0;border-inline-start:var(--rule-heavy) solid var(--color-transparent);border-block-end:var(--rule-thin) solid var(--color-rule-2);background:var(--color-paper);color:var(--color-ink);text-align:start;cursor:pointer}.dataset-row.is-current{border-inline-start-color:var(--color-accent-strong);background:var(--color-paper-2)}.dataset-thumb,.dataset-thumb img,.dataset-thumb-fallback{width:3rem;height:3rem}.dataset-thumb img,.dataset-thumb-fallback{display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--color-paper-3);color:var(--color-neutral);-o-object-fit:cover;object-fit:cover}.dataset-row-copy{display:grid;min-width:0;gap:var(--space-2xs);color:var(--color-neutral);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.dataset-filename{overflow:hidden;color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.dataset-status{display:grid;place-items:center;width:1.1rem;height:1.1rem;border:var(--rule-thin) solid var(--color-rule);border-radius:50%;color:var(--color-paper)}.dataset-status.is-done{border-color:var(--color-success);background:var(--color-success)}.dataset-progress{display:grid;gap:var(--space-xs);padding:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.dataset-progress>div{display:flex;justify-content:space-between}.dataset-progress p{margin:0;color:var(--color-neutral)}.dataset-progress progress,.export-progress progress{width:100%;height:.375rem;overflow:hidden;border:0;border-radius:var(--radius-xs);accent-color:var(--color-accent-strong);background:var(--color-paper-3)}.canvas-workbench{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:0;background:var(--color-canvas);color:var(--color-canvas-ink)}.canvas-bottombar,.canvas-topbar{position:relative;z-index:var(--z-raised);display:grid;align-items:center;gap:var(--space-sm);min-height:3.5rem;padding-inline:var(--space-sm);border-color:var(--color-canvas-rule);background:var(--color-canvas-2);color:var(--color-canvas-ink)}.canvas-topbar{grid-template-columns:1fr auto 2.75rem;border-block-end:var(--rule-thin) solid var(--color-canvas-rule)}.canvas-bottombar{grid-template-columns:1fr auto 1fr;border-block-start:var(--rule-thin) solid var(--color-canvas-rule)}.image-navigation,.review-controls,.tool-group,.view-controls{display:flex;align-items:center;min-width:0;gap:var(--space-2xs)}.canvas-bottombar button,.tool-group button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.5rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-transparent);border-radius:var(--radius-sm);background:var(--color-transparent);color:var(--color-canvas-muted);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.canvas-bottombar button.is-reviewed,.tool-group button.is-active{border-color:var(--color-canvas-rule);background:var(--color-accent);color:var(--color-accent-ink)}.tool-group kbd{color:inherit;font-family:var(--font-outlier);font-size:var(--text-xs);opacity:.72}.canvas-file-meta{display:grid;justify-items:center;min-width:0;color:var(--color-canvas-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.canvas-file-meta strong{max-width:28ch;overflow:hidden;color:var(--color-canvas-ink);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap}.canvas-help{border-color:var(--color-canvas-rule);background:var(--color-transparent);color:var(--color-canvas-muted)}.canvas-shell{position:relative;min-width:0;min-height:0;overflow:hidden;background-color:var(--color-canvas);background-image:linear-gradient(var(--color-canvas-rule) var(--rule-thin),var(--color-transparent) var(--rule-thin)),linear-gradient(90deg,var(--color-canvas-rule) var(--rule-thin),var(--color-transparent) var(--rule-thin));background-size:2rem 2rem}.annotate-canvas{display:block;width:100%;height:100%;touch-action:none;font-family:var(--font-mono)}.canvas-loading,.missing-source{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--color-canvas);color:var(--color-canvas-ink);text-align:center}.missing-source h2{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-style:normal}.missing-source p{max-width:40ch;margin:0;color:var(--color-canvas-muted)}.image-navigation{justify-content:flex-start}.view-controls{justify-content:center}.view-controls span{min-width:3.5rem;color:var(--color-canvas-muted);font-family:var(--font-mono);font-size:var(--text-sm);text-align:center;font-variant-numeric:tabular-nums}.review-controls{justify-content:flex-end}.canvas-bottombar .delete-box-quick{color:var(--color-canvas-ink)}.label-list{max-height:16rem;overflow-y:auto;border-block-end:var(--rule-thin) solid var(--color-rule-2)}.label-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:3rem;border-inline-start:var(--rule-heavy) solid var(--color-transparent)}.label-row.is-active{border-inline-start-color:var(--color-accent-strong);background:var(--color-paper-2)}.label-select{display:grid;grid-template-columns:.75rem 1.25rem minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);min-width:0;min-height:3rem;padding-inline:var(--space-sm);border:0;background:var(--color-transparent);color:var(--color-ink-2);text-align:start;cursor:pointer}.label-color{display:block;width:.75rem;height:.75rem;border-radius:var(--radius-xs)}.keyboard-hint,.label-count,.label-number{color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.label-name{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.label-row-actions{display:flex;align-items:center;padding-inline-end:var(--space-xs)}.label-row-actions button{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:0;border-radius:var(--radius-sm);background:var(--color-transparent);color:var(--color-neutral);cursor:pointer}.label-row>input{height:2.75rem;margin:var(--space-2xs) var(--space-xs);padding-inline:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);outline:var(--rule-heavy) solid var(--color-transparent);outline-offset:var(--space-3xs);background:var(--color-paper);color:var(--color-ink)}.add-label-form{display:grid;gap:var(--space-xs);padding:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule)}.add-label-form>label,.confirm-field,.selected-object-editor label{color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700}.add-label-form>div{display:grid;grid-template-columns:minmax(0,1fr) 2.75rem}.add-label-form input,.confirm-field input,.selected-object-editor select,.split-input input{height:2.75rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);outline:var(--rule-heavy) solid var(--color-transparent);outline-offset:var(--space-3xs);background:var(--color-paper);color:var(--color-ink)}.add-label-form input{min-width:0;border-start-end-radius:0;border-end-end-radius:0}.add-label-form>p{min-height:1lh;margin:0;color:var(--color-neutral);font-size:var(--text-xs)}.add-label-form button{display:grid;place-items:center;height:2.75rem;border:var(--rule-thin) solid var(--color-ink);border-inline-start:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-ink);color:var(--color-paper);cursor:pointer}.add-label-form input:focus-visible,.confirm-field input:focus-visible,.label-row>input:focus-visible,.selected-object-editor select:focus-visible,.split-input input:focus-visible{border-color:var(--color-ink-2);outline-color:var(--color-focus)}.objects-heading{padding-block-end:var(--space-sm)}.object-list{min-height:5rem;max-height:14rem;overflow-y:auto;padding-inline:var(--space-sm)}.object-row{display:grid;grid-template-columns:.75rem minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);width:100%;min-height:2.75rem;padding-inline:var(--space-xs);border:var(--rule-thin) solid var(--color-transparent);border-radius:var(--radius-sm);background:var(--color-transparent);color:var(--color-ink-2);text-align:start;cursor:pointer}.object-row>span:nth-child(2){overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.object-row>span:last-child{color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-xs)}.object-row.is-active{border-color:var(--color-rule);background:var(--color-paper-2)}.objects-empty{display:grid;justify-items:center;gap:var(--space-xs);padding:var(--space-md);color:var(--color-neutral);text-align:center}.objects-empty p{max-width:24ch;margin:0;font-size:var(--text-sm);line-height:1.45}.selected-object-editor{display:grid;gap:var(--space-xs);margin:var(--space-sm);padding-block-start:var(--space-sm);border-block-start:var(--rule-thin) solid var(--color-rule-2)}.selected-object-editor button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.75rem;border:var(--rule-thin) solid var(--color-danger);border-radius:var(--radius-sm);background:var(--color-danger-soft);color:var(--color-danger);font-weight:700;cursor:pointer}.ai-panel{display:grid;gap:var(--space-xs);margin-block-start:auto;padding:var(--space-sm);border-block-start:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2)}.ai-panel-heading,.ai-panel-heading>span,.ai-suggestion-heading,.ai-suggestion-heading>span,.ai-suggestion-row,.ai-suggestion-row>span{display:flex;align-items:center}.ai-panel-heading,.ai-suggestion-heading,.ai-suggestion-row{justify-content:space-between;gap:var(--space-xs)}.ai-panel-heading>span,.ai-suggestion-heading>span,.ai-suggestion-row>span{gap:var(--space-xs)}.ai-panel-heading strong,.ai-suggestion-heading strong{font-size:var(--text-sm)}.ai-panel>p,.ai-suggestions>p{margin:0;color:var(--color-neutral);font-size:var(--text-xs);line-height:1.45}.ai-panel>p a{color:var(--color-ink-2);font-weight:800;text-decoration:underline;text-decoration-color:var(--color-accent-strong);text-decoration-thickness:var(--rule-heavy);text-underline-offset:var(--space-3xs)}.ai-local-badge{padding:var(--space-3xs) var(--space-2xs);border:var(--rule-thin) solid var(--color-success);border-radius:var(--radius-xs);color:var(--color-success);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em}.ai-threshold{display:grid;gap:var(--space-2xs);color:var(--color-ink-2);font-size:var(--text-xs)}.ai-threshold>span{display:flex;justify-content:space-between}.ai-threshold input{width:100%;accent-color:var(--color-accent-strong)}.ai-run-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.75rem;border:var(--rule-thin) solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-ink);color:var(--color-paper);font-weight:800;cursor:pointer}.ai-report{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.ai-suggestions{display:grid;gap:var(--space-xs);padding-block-start:var(--space-xs);border-block-start:var(--rule-thin) solid var(--color-rule)}.ai-suggestion-heading button{min-height:1.75rem;padding:0;border:0;background:var(--color-transparent);color:var(--color-ink-2);font-size:var(--text-xs);font-weight:700;text-decoration:underline;text-underline-offset:var(--space-3xs);cursor:pointer}.ai-suggestion-list{max-height:10rem;overflow-y:auto}.ai-suggestion-row{min-height:2.5rem;border-block-end:var(--rule-thin) solid var(--color-rule-2)}.ai-suggestion-row>span:first-child{min-width:0}.ai-suggestion-row strong{overflow:hidden;color:var(--color-ink-2);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap}.ai-suggestion-row small{color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-xs)}.ai-suggestion-row button{display:inline-grid;place-items:center;width:2rem;height:2rem;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink-2);cursor:pointer}.storage-warning{z-index:var(--z-toast);inset-inline-end:var(--space-md);inset-block-end:var(--space-md);display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);width:min(28rem,calc(100% - 2rem));padding:var(--space-sm);border:var(--rule-thin) solid var(--color-danger);border-radius:var(--radius-md);box-shadow:0 .25rem 1.5rem var(--color-shadow);font-size:var(--text-sm)}.annotate-dialog,.storage-warning{position:fixed;background:var(--color-paper);color:var(--color-ink)}.annotate-dialog{inset:0;width:min(34rem,calc(100% - 2rem));max-height:min(85dvh,44rem);margin:auto;padding:0;overflow:auto;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);box-shadow:0 .5rem 2rem var(--color-shadow);font-family:var(--font-body)}.annotate-dialog::backdrop{background:var(--color-overlay)}.dialog-heading{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule)}.dialog-heading>svg{flex:0 0 auto;margin-block-start:var(--space-2xs)}.dialog-heading.is-danger>svg{color:var(--color-danger)}.dialog-heading h2{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-style:normal;font-weight:800;letter-spacing:-.02em}.dialog-heading p{margin:var(--space-2xs) 0 0;color:var(--color-neutral)}.dialog-actions{justify-content:flex-end;padding:var(--space-md) var(--space-lg) var(--space-lg)}.privacy-details{display:grid;gap:var(--space-md);padding:var(--space-lg);line-height:1.55}.export-summary,.privacy-details dl,.privacy-details>p,.shortcut-list{margin:0}.export-summary>div,.privacy-details dl>div{display:flex;justify-content:space-between;gap:var(--space-md);padding-block:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule-2)}.export-summary dt,.privacy-details dt{color:var(--color-neutral)}.export-summary dd,.privacy-details dd{margin:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.dialog-note{padding:var(--space-sm);border-inline-start:var(--rule-heavy) solid var(--color-accent-strong);background:var(--color-paper-2);color:var(--color-ink-2);font-size:var(--text-sm)}.shortcut-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:var(--space-md) var(--space-lg)}.shortcut-list>div{display:grid;grid-template-columns:minmax(5.5rem,auto) minmax(0,1fr);align-items:center;gap:var(--space-sm);min-height:3rem;border-block-end:var(--rule-thin) solid var(--color-rule-2)}.shortcut-list dd,.shortcut-list dt{margin:0}.shortcut-list dd{color:var(--color-ink-2);font-size:var(--text-sm)}.shortcut-list kbd{display:inline-block;padding:var(--space-2xs) var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-block-end-width:var(--rule-heavy);border-radius:var(--radius-sm);background:var(--color-paper-2);color:var(--color-ink);font-family:var(--font-outlier);font-size:var(--text-xs)}.export-dialog fieldset{margin:0;padding:var(--space-lg);border:0;border-block-end:var(--rule-thin) solid var(--color-rule)}.export-dialog legend{padding:0;color:var(--color-ink);font-weight:800}.export-format label{display:flex;align-items:flex-start;gap:var(--space-sm);margin-block-start:var(--space-sm);padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);cursor:pointer}.export-format input{width:1.1rem;height:1.1rem;margin-block-start:var(--space-3xs);accent-color:var(--color-accent-strong)}.export-format label>span{display:grid;gap:var(--space-2xs)}.export-format small{color:var(--color-neutral);line-height:1.4}.split-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-sm)}.split-fields legend{margin-block-end:var(--space-sm)}.split-fields label{display:grid;gap:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm);font-weight:700}.split-fields .split-toggle{display:flex;align-items:flex-start;grid-column:1/-1;gap:var(--space-sm);padding:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);cursor:pointer}.split-toggle input{width:1.1rem;height:1.1rem;flex:0 0 auto;margin:var(--space-3xs) 0 0;accent-color:var(--color-accent-strong)}.split-toggle>span{display:grid;gap:var(--space-2xs)}.split-toggle small{color:var(--color-neutral);font-weight:400;line-height:1.4}.split-input{position:relative;display:flex;align-items:center}.split-input input{width:100%;padding-inline-end:var(--space-lg);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.split-input:after{position:absolute;inset-inline-end:var(--space-xs);content:"%";color:var(--color-neutral);font-family:var(--font-mono)}.split-total{display:inline-flex;align-items:center;gap:var(--space-xs);grid-column:1/-1;font-size:var(--text-sm);font-weight:700}.split-total.is-valid{color:var(--color-success)}.split-total.is-invalid{color:var(--color-danger)}.reshuffle-button{justify-self:start;grid-column:1/-1;min-height:2.75rem;padding:0;border:0;background:var(--color-transparent);color:var(--color-ink-2);font-weight:700;text-decoration:underline;text-underline-offset:var(--space-3xs);cursor:pointer}.split-fields>p{grid-column:1/-1;margin:0;color:var(--color-neutral);font-family:var(--font-mono);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.export-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:var(--space-sm) var(--space-lg)}.export-summary>div{display:grid;gap:var(--space-2xs);border:0}.export-progress,.privacy-reminder{margin:0 var(--space-lg)}.export-progress{display:grid;font-family:var(--font-mono)}.export-progress,.privacy-reminder{gap:var(--space-xs);color:var(--color-ink-2);font-size:var(--text-sm)}.privacy-reminder{display:flex;align-items:center;padding:var(--space-sm);border-inline-start:var(--rule-heavy) solid var(--color-accent-strong);background:var(--color-paper-2)}.confirm-field{display:grid;gap:var(--space-xs);padding:var(--space-lg)}@media (hover:hover) and (pointer:fine){.annotate-button:hover,.icon-button:hover{background:var(--color-paper-2);color:var(--color-ink)}.annotate-button.is-primary:hover{background:var(--color-ink-2);color:var(--color-paper);transform:translateY(-.0625rem)}.annotate-button.is-secondary:hover,.local-indicator:hover{background:var(--color-accent);color:var(--color-accent-ink)}.annotate-button.is-danger:hover{background:var(--color-ink);color:var(--color-paper)}.dataset-filters button:hover,.dataset-row:hover,.label-row:hover,.object-row:hover{background:var(--color-paper-2)}.canvas-bottombar button:hover,.canvas-help:hover,.tool-group button:hover{background:var(--color-canvas-rule);color:var(--color-canvas-ink)}.label-row-actions button:hover{background:var(--color-paper-3);color:var(--color-ink)}.export-format label:hover{background:var(--color-paper-2)}.ai-run-button:hover{background:var(--color-ink-2)}.ai-suggestion-heading button:hover,.ai-suggestion-row button:hover{background:var(--color-accent);color:var(--color-accent-ink)}.add-label-form input:hover,.confirm-field input:hover,.label-row>input:hover,.project-name-input:hover,.selected-object-editor select:hover,.split-input input:hover{background:var(--color-paper-2)}}@media (min-width:40rem){.annotate-empty-main{padding-block-start:9rem}.recovery-strip{flex-direction:row;align-items:center}.workspace-header{padding-inline:var(--space-md)}}@media (min-width:60rem){.annotate-intro{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(var(--space-xl),7vw,var(--space-3xl))}.workspace-header{grid-template-columns:minmax(16rem,1fr) auto minmax(16rem,1fr)}.workspace-status{display:flex}.mobile-workspace-message{display:none}.workspace-grid{display:grid;grid-template-columns:minmax(12rem,15rem) minmax(0,1fr) minmax(14rem,17rem)}}@media (min-width:90rem){.workspace-grid{grid-template-columns:17rem minmax(0,1fr) 19rem}}@media (max-width:48rem){.add-images-button,.project-name-input,.workspace-divider,.workspace-header .icon-button{display:none}.export-summary,.shortcut-list,.split-fields{grid-template-columns:minmax(0,1fr)}.annotate-site-links a:not([aria-current=page]){display:none}}@media (pointer:coarse){.annotate-root button,.annotate-root select,.annotate-root summary{min-height:2.75rem}}@media (prefers-reduced-motion:reduce){.annotate-root *,.annotate-root :after,.annotate-root :before{animation-duration:var(--dur-micro)!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:var(--dur-micro)!important}}