.annotation-timeline{position:relative;width:100%}.annotation-timeline__canvas{display:block;width:100%;height:44px;border-radius:6px;background:var(--color-bg-card-inset, #2d3845);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;outline:none}.annotation-timeline__canvas:hover{filter:brightness(1.06)}.annotation-timeline__canvas:focus-visible{outline:2px solid var(--color-accent, #3b82f6);outline-offset:2px}.annotation-timeline--scrubbing .annotation-timeline__canvas{cursor:grabbing;filter:brightness(1.12)}.annotation-timeline--disabled .annotation-timeline__canvas{cursor:default;opacity:.5}.annotation-timeline--disabled .annotation-timeline__canvas:hover{filter:none}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-bg-dark);color:var(--color-text-primary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#root{min-height:100vh}:root{--color-bg-dark: #1f2937;--color-bg-dark-darker: #111827;--color-bg-card: #374151;--color-bg-card-inset: #2d3845;--color-bg-card-hover: #4b5563;--color-bg-card-dark: #2a2a2a;--color-border: #4b5563;--color-text-muted: #9ca3af;--color-text-primary: #d1d5db;--color-text-secondary: #6b7280;--color-text-bright: #e5e7eb;--color-text-white: #f9fafb;--color-warning: #f59e0b;--color-accent: #3b82f6;--color-error: #ef4444;--color-error-bg: #ef444420;--color-ok: #10b981;--color-white: #ffffff;--color-black: #000000;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 20px;--spacing-xl: 24px;--spacing-xxl: 48px;--radius-full: 50%;--radius-md: 8px;--radius-lg: 12px;--radius-sm: 4px;--radius-xs: 3px;--avatar-color-1: #3b82f6;--avatar-color-2: #8b5cf6;--avatar-color-3: #10b981;--avatar-color-4: #f59e0b;--avatar-color-5: #ec4899}:root[data-theme=light]{--color-bg-dark: #e5e5e5;--color-bg-dark-darker: #dcdcdc;--color-bg-card: #dcdcdc;--color-bg-card-inset: #c8c8c8;--color-bg-card-hover: #d4d4d4;--color-bg-card-dark: #d0d0d0;--color-border: #c0c0c0;--color-text-muted: #6b7280;--color-text-primary: #374151;--color-text-secondary: #9ca3af;--color-text-bright: #111827;--color-text-white: #1f2937;--color-warning: #d97706;--color-accent: #2563eb;--color-error: #dc2626;--color-error-bg: #dc262618;--color-ok: #059669;--color-white: #ffffff;--color-black: #000000}.layout-column{display:flex;flex-direction:column}.layout-row{display:flex;flex-direction:row}.flex-1{flex:1}.overflow-hidden{overflow:hidden}.centered-message{display:flex;align-items:center;justify-content:center;height:100vh;padding:var(--spacing-xl);text-align:center}.justify-center{justify-content:center}.align-center{align-items:center}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.text-muted{color:var(--color-text-muted)}.text-primary{color:var(--color-text-primary)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ui-button{border:none;cursor:pointer;font-family:inherit;font-size:inherit;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs)}.ui-button--primary{padding:var(--spacing-sm);background-color:var(--color-accent);color:var(--color-white);border-radius:var(--radius-sm);font-size:14px}.ui-button--secondary{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-card);color:var(--color-text-bright);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:14px}.ui-button--icon{width:48px;height:48px;border-radius:var(--radius-full);background-color:var(--color-text-bright);color:var(--color-bg-dark);font-size:18px;font-weight:700}.ui-button--text{padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;color:var(--color-text-bright);border:none;border-radius:var(--radius-sm);font-size:14px}.ui-button--text:hover{background-color:var(--color-bg-card-hover)}.ui-button--size-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:11px}.ui-button--size-md{padding:var(--spacing-sm) var(--spacing-md);font-size:14px}.ui-button--size-lg{padding:12px 28px;font-size:16px}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-table-cell{padding:var(--spacing-xs) var(--spacing-xs);text-align:left}.ui-table-cell--align-left{text-align:left}.ui-table-cell--align-center{text-align:center}.ui-table-cell--align-right{text-align:right}.ui-table-cell--header{border-bottom:1px solid var(--color-border)}.ui-table-cell--padding-none{padding:0}.ui-table-cell--padding-xs{padding:4px 8px}.ui-table-cell--padding-sm{padding:8px 12px}.ui-table-cell--padding-md{padding:12px 16px}.ui-table-cell--padding-lg{padding:16px 24px}.ui-card{background-color:var(--color-bg-card);border-radius:var(--radius-sm);padding:var(--spacing-md)}.section-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;min-height:0}.section-card__header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;background:none;border:0;width:100%;color:var(--color-text-bright);font:inherit;text-align:left}.section-card__header:hover{background:var(--color-bg-card-hover)}.section-card__icon{color:var(--color-text-bright);flex-shrink:0}.section-card__title{flex:1;font-size:13px;font-weight:600}.section-card__badge{font-size:11px;padding:2px var(--spacing-xs);border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.section-card__header-action{display:inline-flex;align-items:center;margin-right:var(--spacing-xs)}.section-card__chevron{transition:transform .15s;color:var(--color-text-muted)}.section-card--open .section-card__chevron{transform:rotate(180deg)}.section-card__body{display:grid;grid-template-rows:1fr;min-height:0;overflow:hidden}.section-card__body[hidden]{display:grid;grid-template-rows:0fr}.section-card__body-inner{overflow:auto;min-height:0}.section-card--open .section-card__body-inner{padding:0 var(--spacing-md) var(--spacing-md)}.ui-tooltip{position:fixed;transform:translate(-50%,-100%);margin-top:-6px;background:var(--color-bg-card);color:var(--color-text-bright);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:11px;white-space:nowrap;z-index:1100;pointer-events:none;box-shadow:0 2px 6px #0000004d}.ui-tooltip--bottom{transform:translate(-50%);margin-top:6px}.ui-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center}.ui-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#0009}.ui-modal__panel{position:relative;background-color:var(--color-bg-card-dark);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 12px 32px #0006;display:flex;flex-direction:column;max-height:calc(100vh - var(--spacing-xl) * 2);width:100%}.ui-modal__panel--size-sm{max-width:420px}.ui-modal__panel--size-md{max-width:560px}.ui-modal__panel--size-lg{max-width:800px}.ui-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.ui-modal__title{font-size:16px;font-weight:600;color:var(--color-text-bright)}.ui-modal__close-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.ui-modal__close-btn:hover{color:var(--color-text-bright);background-color:var(--color-bg-card)}.ui-modal__body{padding:var(--spacing-md);color:var(--color-text-primary);font-size:14px;line-height:1.5;overflow:auto}.ui-modal__footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid var(--color-border)}.login-page{width:100vw;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg)}.login-page__card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);min-width:340px}.login-page__brand{font-size:20px;font-weight:700;letter-spacing:.1em;text-align:center;color:var(--color-text-white);margin-bottom:var(--spacing-lg)}.login-page__form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.login-page__field{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm);font-size:12px;color:var(--color-text-muted)}.login-page__field input{background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);color:var(--color-text-primary);font-size:14px;outline:none}.login-page__field input:focus{border-color:var(--color-accent)}.login-page__error{color:var(--color-error);font-size:13px;text-align:center}.login-page__submit{width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-accent);color:var(--color-white);border:none;border-radius:var(--radius-sm);font-size:14px;cursor:pointer}.login-page__submit:disabled{opacity:.5;cursor:not-allowed}.login-page__link{display:block;width:100%;margin-top:var(--spacing-sm);padding:0;background:none;border:none;color:var(--color-accent);font-size:13px;cursor:pointer;text-align:center}.login-page__link:hover{text-decoration:underline}.login-page__success{font-size:13px;color:var(--color-text-primary);margin-bottom:var(--spacing-md);line-height:1.5;text-align:center}.login-page__hint{font-size:12px;color:var(--color-text-muted);text-align:center;margin-top:var(--spacing-md);line-height:1.4}.login-page__welcome{font-size:13px;color:var(--color-text-primary);margin-bottom:var(--spacing-md);line-height:1.4;text-align:center}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top:3px solid var(--color-text-secondary);border-radius:var(--radius-full);animation:spin 1s linear infinite}.error-boundary{padding:var(--spacing-lg);color:var(--color-error)}.app-shell{display:flex;flex-direction:column;height:100vh;min-height:0}.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--color-border);background-color:var(--color-bg-dark-darker);flex-shrink:0}.app-header__brand{display:inline-flex;align-items:center;gap:var(--spacing-sm);font-size:13px;font-weight:700;letter-spacing:.12em;color:var(--color-text-white);text-decoration:none;flex-shrink:0}.app-header__mark{width:10px;height:10px;border-radius:2px;background-color:var(--color-accent);box-shadow:6px 6px 0 0 var(--color-warning)}.app-header__annotate{display:flex;align-items:center;gap:var(--spacing-sm) var(--spacing-md);flex:1 1 auto;min-width:0;overflow:hidden}.app-header__annotate .annotate__bar-right{flex-wrap:nowrap;min-width:0;overflow:hidden}.app-header__right{display:flex;align-items:center;gap:var(--spacing-md);flex-shrink:0}.app-header__user{font-size:12px;color:var(--color-text-muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-main{flex:1;min-height:0;overflow:auto;padding:var(--spacing-lg);display:flex;flex-direction:column}.status-indicator{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:11px;color:var(--color-text-muted)}.status-indicator__dot{width:7px;height:7px;border-radius:var(--radius-full);background-color:var(--color-text-secondary)}.status-indicator--online .status-indicator__dot{background-color:var(--color-ok)}.status-indicator--online .status-indicator__label{color:var(--color-ok)}.status-indicator--offline .status-indicator__dot{background-color:var(--color-error)}.status-indicator--offline .status-indicator__label{color:var(--color-error)}.status-indicator--checking .status-indicator__dot{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.home{display:flex;flex-direction:column;gap:var(--spacing-md);min-height:0;flex:1}.home__toolbar{display:flex;align-items:flex-end;gap:var(--spacing-md);flex-wrap:wrap}.search-field{position:relative;display:flex;align-items:center;flex:1;min-width:240px}.search-field__icon{position:absolute;left:var(--spacing-sm);color:var(--color-text-muted);pointer-events:none}.search-field__input{width:100%;background-color:var(--color-bg-card-inset);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-sm) 30px;color:var(--color-text-primary);font-family:inherit;font-size:13px;outline:none}.search-field__input:focus{border-color:var(--color-accent)}.search-field__clear{position:absolute;right:var(--spacing-xs);background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:inline-flex;padding:var(--spacing-xs);border-radius:var(--radius-sm)}.search-field__clear:hover{color:var(--color-text-bright);background-color:var(--color-bg-card-hover)}.select-field{display:flex;flex-direction:column;gap:var(--spacing-xs);font-size:11px;color:var(--color-text-muted)}.select-field__input{background-color:var(--color-bg-card-inset);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-sm);color:var(--color-text-primary);font-family:inherit;font-size:13px;text-transform:capitalize}@media (max-width: 1100px){.app-header__signout-label,.app-header__user{display:none}}.list-table-wrap{overflow-x:auto}.list-table{width:100%;border-collapse:collapse;font-size:12px}.list-table th{font-weight:600;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.list-table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:var(--spacing-sm) var(--spacing-xs);color:var(--color-text-primary)}.list-table td.nowrap{white-space:nowrap;font-variant-numeric:tabular-nums}.list-table tr:last-child td{border-bottom:none}.list-row:hover td{background-color:var(--color-bg-card-hover)}.list-row--clickable{cursor:pointer}.list-row--disabled:hover td{background-color:transparent}.list-row__link{color:var(--color-text-white);text-decoration:none;font-weight:600;font-size:13px;word-break:break-word}.list-row__link:hover{color:var(--color-accent);text-decoration:underline}.list-row__label{color:var(--color-text-muted);font-weight:600;font-size:13px;cursor:not-allowed}.list-row__meta{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:2px;font-size:11px;color:var(--color-text-muted)}.tag{display:inline-block;white-space:nowrap;padding:1px var(--spacing-xs);border-radius:var(--radius-xs);background-color:var(--color-bg-card-inset);border:1px solid var(--color-border);color:var(--color-text-primary);font-size:10px;text-transform:capitalize}.tag--muted{color:var(--color-text-muted)}.badge{display:inline-block;padding:1px var(--spacing-xs);border-radius:var(--radius-xs);font-size:10px;letter-spacing:.03em}.badge--ok{color:var(--color-ok);border:1px solid var(--color-ok)}.badge--muted{color:var(--color-text-muted);background-color:var(--color-bg-card-inset)}.panel-message{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl) var(--spacing-md);text-align:center}.panel-message__icon{color:var(--color-text-muted)}.panel-message__icon--spin{animation:spin 1s linear infinite}.panel-message__title{font-size:13px;color:var(--color-text-primary)}.panel-message__detail{font-size:12px;color:var(--color-text-muted);max-width:46ch;line-height:1.45}.panel-message--error .panel-message__icon,.panel-message--error .panel-message__title{color:var(--color-error)}.annotate{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;height:100%;min-height:0;flex:1}.annotate__bar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm) var(--spacing-md)}.annotate__bar-right{display:flex;align-items:center;gap:var(--spacing-sm);margin-left:auto}.annotate__kind{flex-shrink:0}.annotate__prefix{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42ch}.annotate__set-prefix{font-size:11px;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotate__message{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-left-width:3px;border-radius:var(--radius-sm);background-color:var(--color-bg-card-inset);color:var(--color-text-primary);font-size:12px;line-height:1.4}.annotate__message--saved{border-left-color:var(--color-ok);color:var(--color-ok)}.annotate__message--conflict{border-left-color:var(--color-warning);color:var(--color-warning)}.annotate__message--error{border-left-color:var(--color-error);background-color:var(--color-error-bg);color:var(--color-error)}.annotate__status{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.annotate__status--saved{color:var(--color-ok)}.annotate__status--saving{color:var(--color-text-bright)}.annotate__status--offline,.annotate__status--conflict,.annotate__status--warn{color:var(--color-warning)}.annotate__status--error{color:var(--color-error)}.annotate__message--offline{border-left-color:var(--color-warning);color:var(--color-warning)}.annotate__placeholder{border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-md)}.annotate__placeholder-head{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--color-warning)}.annotate__title{font-size:16px;font-weight:600;color:var(--color-text-white)}.annotate__facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--spacing-xs) var(--spacing-md);font-size:12px}.annotate__facts dt{color:var(--color-text-muted)}.annotate__facts dd{color:var(--color-text-primary);overflow-wrap:anywhere}.annotate__facts code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;background-color:var(--color-bg-card-inset);padding:1px var(--spacing-xs);border-radius:var(--radius-xs)}.annotate__body{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--spacing-md);align-items:stretch;flex:1 1 auto;min-height:0;overflow:hidden}.annotate__stage{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:0;min-height:0;height:100%}.annotate__viewport{display:flex;align-items:center;justify-content:center;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden}.annotate__sidebar{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0;width:300px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.annotate__panel{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.annotate__panel-title{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.annotate__labels{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.annotate__label{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:3px var(--spacing-sm);background-color:var(--color-bg-card-inset);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:inherit;font-size:11px;cursor:pointer}.annotate__label:hover{background-color:var(--color-bg-card-hover)}.annotate__label.is-active{background-color:var(--color-bg-card-hover);color:var(--color-text-white);box-shadow:inset 0 0 0 1px currentColor}.annotate__label-dot{flex-shrink:0;width:8px;height:8px;border-radius:var(--radius-full);background-color:var(--color-text-muted)}.annotate__label-add{display:flex;align-items:center;gap:var(--spacing-xs)}.annotate__input{flex:1;min-width:0;background-color:var(--color-bg-card-inset);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-text-primary);font-family:inherit;font-size:12px;outline:none}.annotate__input:focus{border-color:var(--color-accent)}.annotate__hint{font-size:11px;line-height:1.45}.annotate__box-list{list-style:none;display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.annotate__box-row{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:inherit;font-size:12px;text-align:left;cursor:pointer}.annotate__box-row:hover{background-color:var(--color-bg-card-hover)}.annotate__box-row.is-selected{background-color:var(--color-bg-card-inset);border-color:var(--color-accent);color:var(--color-text-white)}.annotate__box-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotate__box-meta{font-size:10px;font-variant-numeric:tabular-nums;flex-shrink:0}.annotate__box-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);border-top:1px solid var(--color-border);padding-top:var(--spacing-sm)}.annotate__history{display:flex;align-items:center;gap:2px}.annotate__autosave{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:11px;color:var(--color-text-muted);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.annotate__autosave input{accent-color:var(--color-accent);cursor:pointer}.annotate__status--dirty{color:var(--color-warning)}.annotate__table-wrap{max-height:260px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm)}.annotate__table{width:100%;border-collapse:collapse;font-size:12px}.annotate__table thead th{position:sticky;top:0;z-index:1;background-color:var(--color-bg-card-inset);color:var(--color-text-muted);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:left;padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border)}.annotate__table tbody tr{cursor:pointer;color:var(--color-text-primary)}.annotate__table tbody tr:hover{background-color:var(--color-bg-card-hover)}.annotate__table tbody tr.is-selected{background-color:var(--color-bg-card-inset);box-shadow:inset 2px 0 0 var(--color-accent);color:var(--color-text-white)}.annotate__table td{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.annotate__table tbody tr:last-child td{border-bottom:none}.annotate__table-frame{font-variant-numeric:tabular-nums;color:var(--color-text-muted);width:5ch}.annotate__table-label{margin-left:var(--spacing-xs)}.annotate__table-code,.annotate__label-code,.annotate__box-code{margin-left:4px;font-size:10px;font-weight:600;letter-spacing:.02em;opacity:.75}.annotate__label-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.annotate__transport{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:auto;min-width:0}.annotate__timeline{flex:1;min-width:0}.annotate__controls{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.annotate__jump-amount{box-sizing:border-box;width:78px;padding:2px 6px;font-size:11px;font-variant-numeric:tabular-nums;text-align:center;color:var(--color-text-muted);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.annotate__jump-amount:hover{color:var(--color-text-primary);border-color:var(--color-accent)}.annotate__volume{width:84px;accent-color:var(--color-accent);height:4px;cursor:pointer}.annotate__frame-label{box-sizing:border-box;min-width:19ch;font-size:11px;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.scene-canvas{position:relative;flex:none;width:100%;max-width:100%;max-height:100%;margin:0 auto;background-color:var(--color-black);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.scene-canvas__video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;background-color:var(--color-black);display:block}.scene-canvas__overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:crosshair;touch-action:none}.scene-canvas__handle{cursor:grab}.scene-canvas__handle:active{cursor:grabbing}.scene-canvas__label{font-size:14px;font-weight:600;font-family:inherit;paint-order:stroke;stroke:#000000d9;stroke-width:3px;stroke-linejoin:round;text-shadow:0 1px 2px rgba(0,0,0,.9);-webkit-user-select:none;user-select:none;cursor:pointer}@media (max-width: 900px){.annotate{height:auto}.annotate__body{grid-template-columns:minmax(0,1fr);overflow:visible}.annotate__stage{height:auto}.annotate__viewport{flex:none;height:55vh}.annotate__transport{margin-top:var(--spacing-xs)}.annotate__sidebar{width:auto;overflow:visible}}
