/* Display colours only; workbook fills and status priority live in ClientTextState. */
:root { --ct-revised-surface:#ceb2e4; --ct-revised-ink:#481b70; --ct-filled-surface:#d6e8fb; --ct-filled-border:#2563b4; --ct-english-placeholder-ink:var(--ui-muted); }
[data-theme="dark"],[data-theme="modern-dark"] { --ct-revised-surface:#301d42; --ct-revised-ink:#ddc2f4; --ct-filled-surface:#172d47; --ct-filled-border:#7bb5f0; }
.ctWorkspaceBody { display:grid; grid-template-columns:190px minmax(0,1fr); align-items:start; gap:18px; min-width:0; }
.ctWorkspaceBody.ctToolsOpen { grid-template-columns:190px minmax(0,1fr) clamp(360px,29vw,460px); }
.ctListWorkspace { padding-bottom:var(--workspace-footer-height,110px); }
.ctHistoryActions {display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.ctHistoryError:not(.appNotice) {color:var(--ui-error)}
.ctDialogueAudio {box-sizing:border-box;display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0;min-height:29px;margin-top:-1px;padding:2px 5px;border:1px solid var(--ui-border);border-radius:0 0 5px 5px;background:var(--color-element-alt);color:var(--ui-muted);font-size:calc(12px * var(--density));}
.ctSourceBlock:has(.ctDialogueAudio) > .editorFieldTools > .editorFieldFrame {border-bottom-left-radius:0;border-bottom-right-radius:0;}
.ctAudioSession {display:contents;}
.ctPreviewAudioControls {display:inline-flex;align-items:center;gap:2px;margin-inline-start:.25em;vertical-align:middle;transform:translateY(-.05em);line-height:1;}
.ctAudioTrackTarget {display:inline-flex;align-items:center;justify-content:center;border-radius:4px;}
:is(.ctDialogueAudio,.ctPreviewAudioControls) .ctAudioTrack {box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;flex:none;width:30px;min-width:30px;height:25px;padding:2px 5px;margin:0;font:inherit;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--color-font);cursor:pointer;}
:is(.ctDialogueAudio,.ctPreviewAudioControls) .ctAudioTrack:hover:not(:disabled) {border-color:transparent;background:var(--ui-accent-soft);}
:is(.ctDialogueAudio,.ctPreviewAudioControls) .ctAudioTrack.active {color:var(--ui-accent);}
:is(.ctDialogueAudio,.ctPreviewAudioControls) .ctAudioTrack.error {color:var(--ui-error);}
:is(.ctDialogueAudio,.ctPreviewAudioControls) .ctAudioTrack:disabled {cursor:wait;opacity:1;}
:is(.ctDialogueAudio,.ctPreviewAudioControls) .ctAudioTrack:focus:not(:focus-visible) {outline:none;}
:is(.ctDialogueAudio,.ctPreviewAudioControls) :is(.ctAudioTrack,.ctAudioTrackTarget):focus-visible {outline:2px solid var(--ui-accent);outline-offset:-2px;}
.ctAudioSpeakIcon {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.ctAudioSpinner {box-sizing:border-box;width:15px;height:15px;border:2px solid var(--ui-border);border-top-color:var(--ui-accent);border-radius:50%;animation:browserWorkSpin .8s linear infinite;}
.ctPreviewAudioControls .ctAudioTrack {width:24px;min-width:24px;height:22px;padding:0;}
.ctPreviewAudioControls .ctAudioSpeakIcon {width:16px;height:16px;flex-shrink:0;}
.ctPreviewAudioControls .ctAudioSpinner {width:12px;height:12px;}
.ctAudioFloating {position:fixed;right:16px;bottom:calc(var(--ct-audio-footer-height,110px) + 12px);z-index:43;box-sizing:border-box;max-width:calc(100vw - 32px);opacity:.7;transition:opacity .15s ease;}
.ctAudioFloating.ctAudioFloatingFull {bottom:14px;}
.ctAudioFloating:hover,.ctAudioFloating:focus-within {opacity:1;}
.ctAudioFloating audio {display:block;width:320px;max-width:calc(100vw - 40px);height:36px;}
.ctAudioFloating audio:focus-visible {outline:2px solid var(--ui-accent);outline-offset:2px;border-radius:20px;}
.editorFieldTools {min-width:0;max-width:100%;font-size:calc(12px * var(--density));}
.editorFieldFrame {overflow:hidden;border:1px solid var(--ui-border);border-radius:5px;background:var(--color-element-alt);}
.editorFieldFrame.outdated {border-color:var(--ui-dropped);}.editorFieldFrame.missing {border-color:var(--ui-missing);}.editorFieldFrame:focus-within {box-shadow:0 0 0 1px var(--ui-accent);}
.ctEnglishPlaceholder,.ctTarget [data-ct-use-english]::placeholder {color:var(--ct-english-placeholder-ink);font-weight:400;opacity:var(--ct-english-placeholder-opacity,.85);}
:is([data-theme="dark"],[data-theme="modern-dark"]) {--ct-english-placeholder-opacity:.65;}
.editorFieldFrame .editorTextField,.editorFieldFrame :is(textarea,input[data-ct-target]),.editorFieldFrame .ctSourceDiff {border:0!important;border-radius:0;box-shadow:none;margin:0;width:100%;box-sizing:border-box;}
.editorFieldToolbar {display:flex;align-items:center;flex-wrap:wrap;gap:4px;box-sizing:border-box;min-height:40px;padding:4px 8px;border-top:1px solid var(--ui-border);background:var(--color-element-alt);color:var(--ui-muted);}
.editorFieldActions {display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:4px;margin-inline-start:auto;}
.editorFieldToolbar button,.editorFieldComparisonControls .fieldHistoryMenuButton {display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:none;width:calc(28px * var(--density));height:calc(28px * var(--density));padding:0;margin:0;font:inherit;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--color-font);}
.editorFieldToolbar button:hover:not(:disabled) {border-color:transparent;background:var(--ui-accent-soft);}.editorFieldToolbar button.active {border-color:transparent;color:var(--ui-accent);}.editorFieldToolbar button:focus:not(:focus-visible) {outline:none;}.editorFieldToolbar button:focus-visible {outline:2px solid var(--ui-accent);outline-offset:-2px;}
.editorFieldToolbar svg,.editorFieldComparisonControls .fieldHistoryMenuButton svg {width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.editorFieldComparisonControls {display:flex;align-items:stretch;gap:5px;margin-top:5px;min-width:0;}.editorFieldComparisonControls select,.fieldDiffLatest {box-sizing:border-box;font:inherit;padding:4px;border:1px solid var(--ui-border);border-radius:4px;background:var(--color-element-alt);color:var(--color-font);}.editorFieldComparisonControls select {flex:1;min-width:0;max-width:100%;width:120px;}.fieldDiffLatest {display:inline-flex;align-items:center;justify-content:center;flex:none;padding-inline:8px;white-space:nowrap;}.fieldDiffArrow {align-self:center;flex:none;color:var(--ui-muted);}
.fieldToolbarSeparator {height:16px;margin-inline:4px;border-left:1px solid var(--ui-border);}.fieldDiffUnavailable {color:var(--ui-muted);margin:5px 0;}
.fieldToolbarSeparator.fieldEnglishSeparator {margin-inline:2px;}.fieldEnglishTarget {display:inline-flex;align-items:center;}
.fieldMtlTarget {display:inline-flex;align-items:center;}
.fieldEnglishTarget:focus-visible,.fieldMtlTarget:focus-visible {outline:2px solid var(--ui-accent);outline-offset:2px;border-radius:4px;}
.ctInlineDiff {box-sizing:border-box;min-height:1.5em;margin:4px 0;padding:8px;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;font:inherit;color:var(--color-font);background:var(--color-element-alt);border:1px solid var(--ui-border);border-radius:4px;}
.ctSourceDiff {font-family:inherit;line-height:1.55;}.ctTranslationDiff {margin-top:5px;}
.fieldHistoryMenu {max-width:100%;padding:8px;margin:6px 0;border:1px solid var(--ui-border);border-radius:5px;background:var(--color-element-alt);color:var(--color-font);}
.fieldHistoryOptions {display:flex;align-items:center;flex-wrap:wrap;gap:8px;}.fieldHistoryOptions label {display:inline-flex;align-items:center;gap:4px;}.fieldHistoryEntries {max-height:240px;overflow:auto;}.fieldHistoryEntries article {padding:5px 0;border-bottom:1px solid var(--ui-border);}.fieldHistoryEntries p {margin:5px 0;overflow-wrap:anywhere;}.fieldHistoryDetails label {display:block;margin-top:6px;}.fieldHistoryDetails article {margin-top:10px;}
.ctCompletion {display:flex;flex-wrap:wrap;gap:4px;padding:6px;border:1px solid var(--ui-border);background:var(--color-element-alt)}.ctCompletion button{white-space:pre-wrap;text-align:left}
.ctCompletion button.selected { border-color:var(--color-accent); background:var(--color-element); outline:1px solid var(--color-accent); }
.ctNavigation { position:sticky; top:calc(var(--workspace-header-height,68px) + 16px); display:flex; flex-direction:column; max-height:calc(100dvh - var(--workspace-header-height,68px) - var(--workspace-footer-height,110px) - 32px); box-sizing:border-box; overflow:hidden; padding:10px; background:var(--color-element); border:1px solid var(--ui-border); border-radius:10px; box-shadow:var(--ui-shadow); }
.ctSheetControls { flex:none; }.ctSheetControls > strong { display:block; margin-bottom:8px; }.ctSheetList { min-height:0; overflow:auto; scrollbar-gutter:stable; }
.ctNavigation h3 { font-size:12px; color:var(--ui-muted); margin:15px 0 6px; }.ctNavigation button { display:block; box-sizing:border-box; width:100%; padding:6px 8px; margin:3px 0; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font:inherit; }.ctNavigation button.active { background:var(--ui-accent-soft); border-color:var(--ui-accent); color:var(--ui-accent); }
.ctNavigation .ctSheetFilter { box-sizing:border-box; width:100%; min-width:0; margin-bottom:8px; padding:6px 8px; font:inherit; }.ctSheetEmpty { color:var(--ui-muted); font-size:12px; margin:12px 0 0; }
.ctNavigationSeverity-error { --ct-navigation-color:var(--ui-error); }
.ctNavigationSeverity-warning { --ct-navigation-color:var(--ui-warning); }
.ctNavigationSeverity-revised { --ct-navigation-color:var(--ct-revised-ink); }
.ctNavigationSeverity-reviewed { --ct-navigation-color:var(--ui-saved); }
.ctNavigationSeverity-filled { --ct-navigation-color:var(--ct-filled-border); }
.ctNavigation button:is(.ctNavigationSeverity-error,.ctNavigationSeverity-warning,.ctNavigationSeverity-revised,.ctNavigationSeverity-reviewed,.ctNavigationSeverity-filled) { color:var(--ct-navigation-color); border-color:var(--ct-navigation-color); background:color-mix(in srgb,var(--ct-navigation-color) 10%,var(--color-element)); }
.ctNavigation button.ctNavigationSeverity-revised { background:var(--ct-revised-surface); }
.ctNavigation button.ctNavigationSeverity-filled { color:var(--ct-filled-border); background:var(--ct-filled-surface); }
.ctNavigation button:is(.ctNavigationSeverity-revised,.ctNavigationSeverity-filled):hover { box-shadow:inset 0 0 0 1px var(--ct-navigation-color); }
.ctNavigation button:is(.ctNavigationSeverity-error,.ctNavigationSeverity-warning,.ctNavigationSeverity-revised,.ctNavigationSeverity-reviewed,.ctNavigationSeverity-filled).active { box-shadow:inset 0 0 0 1px var(--ui-accent); }
.ctNavigation button:is(.ctNavigationSeverity-error,.ctNavigationSeverity-warning) .ctNpcCount { color:inherit; }
.ctBrowseTabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; flex:none; margin-bottom:10px; }
.ctNavigation .ctBrowseTabs button { margin:0; text-align:center; font-weight:600; padding:7px 4px; }
.ctNavigationPanel { display:flex; flex-direction:column; flex:1; min-height:0; }
.ctNpcListCount,.ctNpcCount { font-variant-numeric:tabular-nums; color:var(--ui-muted); font-size:11px; }
.ctNpcListCount { float:right; font-weight:400; }
.ctNavigation .ctNpcButton { display:flex; align-items:baseline; gap:8px; }
.ctNpcName { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.ctNpcName.ctNpcSeverity-error { color:var(--ui-error); }
.ctNpcName.ctNpcSeverity-warning { color:var(--ui-warning); }
.ctNpcButton .ctNpcCount { flex:none; }
.ctConvoTree { margin-top:8px; }
.ctConvoNode { outline:none; cursor:pointer; }
.ctConvoRow { display:flex; align-items:center; gap:5px; padding:6px; margin:3px 0; border:1px solid transparent; border-radius:4px; min-width:0; }
.ctConvoNode[aria-selected="true"] > .ctConvoRow { background:var(--ui-accent-soft); border-color:var(--ui-accent); }
.ctConvoNode:focus-visible > .ctConvoRow { outline:2px solid var(--ui-accent); outline-offset:-1px; }
.ctConvoNode[aria-disabled="true"] > .ctConvoRow { cursor:default; }
.ctNavigation .ctConvoChevron { flex:none; width:18px; padding:0; margin:0; text-align:center; border:0; background:transparent; color:var(--ui-muted); }
.ctConvoChildren { margin-left:15px; padding-left:3px; border-left:1px solid var(--ui-border); }
.ctConvoFamilyText { flex:1; min-width:0; }
.ctConvoFamilyText .ctNpcName,.ctConvoAnchor { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ctConvoAnchor { margin-top:2px; font-size:10px; color:var(--ui-muted); }
.ctConvoRow .ctNpcCount { flex:none; }
.ctNpcHeading { padding:12px 14px; margin-bottom:12px; background:var(--color-element); border:1px solid var(--ui-border); border-radius:10px; }
.ctNpcHeadingTitle { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 14px; }
.ctNpcHeadingTitle h2 { margin:0; font-size:16px; font-weight:600; overflow-wrap:anywhere; }
.ctNpcResults { color:var(--ui-muted); font-size:12px; font-variant-numeric:tabular-nums; }
.ctNpcTypeFilters { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.ctNpcTypeFilters button { display:flex; align-items:baseline; gap:8px; padding:5px 9px; font:inherit; font-size:12px; }
.ctNpcTypeFilters button.active { background:var(--ui-accent-soft); border-color:var(--ui-accent); color:var(--ui-accent); }
.ctNpcRecordFacts { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 8px; margin-top:6px; color:var(--ui-muted); font-size:11px; }
.ctNpcRelation { border:1px solid var(--ui-border); border-radius:4px; padding:1px 5px; cursor:help; }
.ctNpcRelation:focus-visible { outline:2px solid var(--ui-accent); outline-offset:2px; }
.ctList { min-width:0; }.ctFilePath { display:block; margin-top:4px; color:var(--ui-muted); font-size:11px; overflow-wrap:anywhere; }.ctMetadataValue { display:block; margin-top:4px; font-size:11px; color:var(--ui-muted); }
.ctTable tr.isRevised { --ui-muted:var(--ct-revised-ink); }
.ctTable tr.isRevised > td { background-color:var(--ct-revised-surface); }
.ctTable tr.isRevised .fileRevisedLabel,
.workspace :is(#table,.fileTable).ctTable tr.isRevised .fileOpenButton { color:var(--ct-revised-ink); }
.ctTable tr.isOutdated > td { background-color:color-mix(in srgb,var(--ui-dropped) 8%,transparent); }
.ctTable tr.isMissing > td { background-color:color-mix(in srgb,var(--ui-missing) 8%,transparent); }
.ctTable tr.isMissing:nth-child(even) > td { background-color:color-mix(in srgb,var(--ui-missing) 12%,transparent); }
.ctTable .ctRowNumber { width:76px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.ctRowSelect {display:flex;align-items:center;gap:7px;cursor:pointer;}
.ctRowSelect input[type="checkbox"] {width:15px;height:15px;margin:0;flex:none;accent-color:var(--ui-accent,var(--color-link));}
.ctTable tr[aria-selected="true"] > td {box-shadow:inset 0 1px color-mix(in srgb,var(--ui-accent,#7d8dcc) 65%,transparent),inset 0 -1px color-mix(in srgb,var(--ui-accent,#7d8dcc) 65%,transparent);}
.ctBulkTmToolbar {display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;background:var(--color-element-alt);border-block:1px solid var(--ui-border);font-size:12px;}
.ctBulkTmToolbar button {font:inherit;padding:4px 8px;}
.ctBulkTmThreshold {color:var(--ui-muted);margin-right:auto;}
.ctBulkTmProgress {display:flex;align-items:center;gap:8px;flex-basis:100%;}
.ctBulkTmProgress progress {width:180px;max-width:30%;height:8px;}
.ctPortraitStack { display:block; position:relative; container-type:inline-size; width:min(100%,480px,calc(160px * var(--ct-portrait-count))); height:180px; margin-top:12px; isolation:isolate; }
.ctPortraitCards { display:flex; position:relative; align-items:flex-start; width:100%; }
.ctPortrait { --ct-card-width:min(160px,100cqw); display:block; position:relative; flex:none; box-sizing:border-box; width:var(--ct-card-width); height:180px; overflow:hidden; border:1px solid var(--ui-border); border-radius:5px; background:var(--color-element-alt); }
.ctPortrait img { display:block; width:100%; height:100%; object-fit:contain; }
.ctPortraitMissing { display:flex; width:100%; height:100%; align-items:center; justify-content:center; color:var(--ui-muted); font:24px/1 sans-serif; }
.ctPortraitCaption { position:absolute; inset:auto 0 0; padding:18px 5px 5px; background:linear-gradient(transparent,#000d); color:#fff; font-size:11px; line-height:1.3; text-align:center; white-space:normal; }
.ctPortraitMultiple .ctPortrait + .ctPortrait { margin-left:calc((100cqw - var(--ct-card-width) * var(--ct-portrait-count)) / (var(--ct-portrait-count) - 1)); }
.ctPortraitMore { position:absolute; z-index:10; right:0; bottom:-8px; padding:1px 3px; border:1px solid var(--ui-border); border-radius:4px; background:var(--color-element); color:var(--color-font); font-size:9px; }
.ctPortraitStack:focus-visible { outline:2px solid var(--ui-accent); outline-offset:3px; }
.ctPortraitExpanded { z-index:20; }
.ctPortraitExpanded .ctPortraitCards { position:absolute; left:0; top:0; flex-wrap:wrap; gap:6px; width:100%; padding:4px; box-sizing:border-box; background:var(--color-element); border-radius:5px; box-shadow:0 2px 8px #0006; }
.ctPortraitExpanded .ctPortrait + .ctPortrait { margin-left:0; }
.statusPill.outdated .statusDot,.filterChip.outdated { --filter-color:var(--ui-dropped); color:var(--ui-dropped); }
.filterChip.outdated.selected { border-color:var(--ui-dropped); background:color-mix(in srgb,var(--ui-dropped) 10%,var(--color-element)); }
.ctFullEditor.clipboardHidden { --clipboard-height:0px; }
.ctEditorActions > h1 { flex:1; min-width:0; }
.ctEditorActions > .ctEditorActionButtons { display:flex; flex:0 0 auto; flex-wrap:wrap; align-items:center; gap:calc(0.5em * var(--density)); max-width:100%; }
.ctEditorNavigation { display:flex; align-items:center; gap:12px; margin:12px 0; }.ctEditorNavigation strong { flex:1; overflow-wrap:anywhere; }
.ctFields pre,.ctTools pre { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; tab-size:4; }.ctBlock h3 { margin:0 0 6px; font-size:12px; color:var(--ui-muted); }
.ctFields[data-side] .ctBlock { padding:0; margin:0 0 6px; background:transparent; }.ctFields[data-side] .ctBlock:last-child { margin-bottom:0; }
.inlineEditorMode :is(#table,.fileTable).ctTable .ctFields .inlineBlockNatural { padding:6px 0; }
.inlineEditorMode :is(#table,.fileTable).ctTable .ctFields .inlineBlockPrelude .inlineBlockNatural { padding:0; }
.inlineEditorMode :is(#table,.fileTable).ctTable .ctFields .editorTextField > textarea { min-height:calc(40px * var(--density)); }
.ctTable .ctReadPreview { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.ctTable .ctBulkFieldList {display:flex;flex-direction:column;gap:3px;}
.ctTable .ctBulkCell {display:block;width:100%;min-width:0;border:1px solid transparent;border-radius:4px;background:transparent;color:inherit;text-align:start;font:inherit;padding:2px 5px;user-select:none;cursor:cell;}
.ctTable .ctBulkCell > small {font-size:11px;color:var(--ui-muted);}
.fileTableScroll[data-ct-drag-blocked],.fileTableScroll[data-ct-drag-blocked] * {cursor:not-allowed!important;}
.editorFieldToolbar .ctFieldGrip {color:var(--ui-muted);cursor:grab;user-select:none;}
.editorFieldToolbar .ctFieldGrip:active {cursor:grabbing;}
.ctTable .ctBulkCell > span {display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;}
.ctTable [data-ct-bulk-field]:hover {border-color:var(--ui-border);}
.fileTableScroll:where([data-ct-drag-side="source"],:not([data-ct-drag-side]):has([data-ct-source-selection][aria-pressed="true"]:focus)) [data-ct-source-selection][aria-pressed="true"],
.fileTableScroll:where([data-ct-drag-side="target"],:not([data-ct-drag-side]):has(+ .ctCellFill:focus-within),:not([data-ct-drag-side]):has([data-ct-bulk-field]:not([data-ct-source-selection])[aria-pressed="true"]:focus)) [data-ct-bulk-field]:not([data-ct-source-selection])[aria-pressed="true"] {border-color:var(--ui-accent);box-shadow:inset 2px 0 var(--ui-accent);background:color-mix(in srgb,var(--ui-accent) 15%,var(--color-element));}
.ctTable [data-ct-copied="true"] {border:1px dashed var(--ui-accent);}
.ctCellFill {position:sticky;bottom:var(--workspace-footer-height,110px);z-index:3;flex:none;min-width:0;max-height:43vh;overflow:auto;padding:8px 12px;border:1px solid var(--ui-border);border-radius:6px;background:var(--color-element);animation:ctFillEnter .15s ease-out;}
.ctCellFill.ctBulkFullSize {position:fixed;inset:var(--workspace-header-height,68px) 0 var(--workspace-footer-height,110px);max-height:none;z-index:20;padding:16px;}
.ctBulkFullSize .editorTextField textarea {min-height:30vh;}
.ctCellFillSummary,.ctCellFillCommands {display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.ctCellFillSummary span {color:var(--ui-muted);}
.ctCellFillCommands {justify-content:flex-end;margin-top:4px;}
.ctCellFillCommands [role=alert] {color:var(--ui-missing);margin-right:auto;}
.ctBulkEditingFields {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start;margin-top:5px;}
.ctBulkEditingFields .editorFieldTools {min-width:0;}
.ctCellFill .editorTextField textarea {width:100%;min-height:38px;}
@keyframes ctFillEnter {from{transform:translateY(7px);opacity:.6;}to{transform:none;opacity:1;}}
@media(prefers-reduced-motion:reduce){.ctCellFill{animation:none;}}
.ctFieldPair > * { min-width:0; }
.ctFullFieldPair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.ctFields .ctSourceBlock { display:block; }
.ctFields .ctSourceLabel { display:block; font-size:12px; line-height:1.4; margin:0 0 4px; }
.ctFields .ctTarget > label:not(.srOnly) { line-height:1.4; }
.ctTarget label { display:block; font-size:12px; color:var(--ui-muted); margin-bottom:4px; }.ctTarget textarea { white-space:pre-wrap; tab-size:4; }.ctTarget > input { box-sizing:border-box; max-width:100%; min-width:110px; }
.ctTarget.missing textarea,.ctTarget.missing input { border-color:var(--ui-missing); }.ctTarget.outdated textarea,.ctTarget.outdated input { border-color:var(--ui-dropped); }
.ctFieldFacts { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:5px; }.ctFieldFacts small,.ctTarget label small { color:var(--ui-muted); font-weight:400; }.ctFieldFacts button { padding:3px 7px; font-size:12px; }
.ctBlankSourceReview { margin:0 0 6px; font-size:12px; line-height:1.4; color:var(--ui-muted); font-weight:400; }
.ctFormGrid { width:100%; table-layout:fixed; border-collapse:collapse; cursor:default; font:inherit; }.ctFormGrid th:first-child { width:3em; white-space:nowrap; }.ctFormGrid th,.ctFormGrid td { padding:5px; vertical-align:top; border:1px solid var(--ui-border); }.ctFormGrid th { text-align:center; }.ctFormGrid > tbody > tr > th { vertical-align:middle; }
.ctNamedFormGrid th:first-child { width:7em; }
.ctClassVariants { margin-top:8px; min-width:0; }.ctClassVariantsHeader { display:flex; flex-wrap:wrap; gap:6px 12px; align-items:baseline; }.ctClassVariantsHeader strong { font-size:12px; }.ctClassVariantsHeader small,.ctVariantSummary { color:var(--ui-muted); font-size:11px; }.ctVariantSummary { display:block; margin-top:4px; }
.ctReviewBlankVariants { margin-top:6px; padding:4px 7px; font-size:11px; }
.ctVariantTabs { display:flex; flex-wrap:wrap; gap:4px; margin:8px 0; }.ctVariantTabs button { padding:4px 7px; font-size:11px; line-height:1.4; }.ctVariantTabs button.active { border-color:var(--color-accent); background:var(--ui-accent-soft); }.ctVariantTabs button.missing .ctVariantDot { color:var(--ui-missing); }.ctVariantTabs button.outdated:not(.missing) .ctVariantDot { color:var(--ui-dropped); }.ctVariantDot { margin-left:5px; color:var(--ui-warning); font-size:9px; }
.ctVariantPicker { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:8px 0; font-size:12px; color:var(--ui-muted); }.ctVariantPicker select { max-width:100%; min-width:0; flex:1; }.ctVariantPicker small { font-size:11px; }.ctClassVariants > .ctTarget > label { display:none; }
.ctDeveloperNotes { padding:10px; border-left:3px solid var(--color-accent); background:color-mix(in srgb,var(--color-accent) 8%,var(--color-element)); margin-bottom:12px; }.ctDeveloperNotes pre { margin:6px 0 0; }
.ctReferenceContext { min-width:0; padding:10px; border-left:3px solid var(--ui-border); background:var(--color-element-alt); margin:8px 0 12px; cursor:text; user-select:text; }
.ctReferenceContext dl { margin:0; }.ctContextEntry + .ctContextEntry { margin-top:8px; }.ctContextEntry dt { font-size:12px; font-weight:600; }.ctContextValue { margin:3px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; tab-size:4; }
.ctContextPart[tabindex] { cursor:help; text-decoration:underline dotted; text-underline-offset:3px; }.ctContextPart:focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
.ctReferenceContext.ctContextCompact { margin:8px 0; padding:7px 8px; font-size:11px; }.ctContextCompact .ctContextEntry + .ctContextEntry { margin-top:6px; }.ctContextCompact .ctContextEntry dt { font-size:11px; color:var(--ui-muted); }
.ctReferenceContext.ctContextRowBounded { box-sizing:border-box; max-height:5em; overflow:auto; scrollbar-gutter:stable; overscroll-behavior:contain; }
.ctContextRowBounded:focus-visible { outline:2px solid var(--color-accent); outline-offset:2px; }
.ctProgress { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:20px; margin:16px 0; padding:12px; background:var(--color-element); border:1px solid var(--ui-border); border-radius:6px; }
.ctProgressMain { display:grid; gap:8px; min-width:0; }
.ctProgressLabel { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.ctProgress progress { display:block; width:100%; min-width:0; margin:0; }
.ctProgressCount { font-variant-numeric:tabular-nums; white-space:nowrap; }
.ctProgressCancel { justify-self:end; margin:0; white-space:nowrap; }
.ctUploadFiles { width:100%; border-collapse:collapse; margin:16px 0; }
.ctUploadFiles th,.ctUploadFiles td { padding:8px; text-align:left; }
.ctUploadReport { max-height:280px; overflow:auto; margin:16px 0; }
.ctUploadDialog { box-sizing:border-box; width:min(900px,calc(100vw - 60px)); max-width:900px; max-height:calc(100vh - 60px); padding:24px; overflow:auto; }
.ctUploadDialog h2 { margin:0 0 20px; }
.ctUploadDialog input[type=text],.ctUploadDialog input[type=datetime-local] { width:100%; box-sizing:border-box; }
.ctUploadDialog label { display:block; margin:10px 0; }
.ctUploadDialog .ctUploadField { display:grid; gap:6px; min-width:0; margin:16px 0; }
.ctUploadDialog .ctUploadField > label { margin:0; }
.ctUploadDialog .ctUploadField input { min-width:0; width:100%; margin:0; }
.ctUploadSelectors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.ctUploadDialog .ctUploadSelectors .ctUploadField { margin:0; }
.ctUploadSelectors input[type=file] { padding:8px; line-height:1.6; font:inherit; }
.ctUploadSelectors input[type=file]::file-selector-button { margin-right:10px; }
.ctTestWorkbookGroup { margin:20px 0; padding:16px; border:1px solid var(--ui-border); border-radius:6px; }
.ctTestWorkbookGroup h3 { margin:0 0 8px; }
.ctTestWorkbookGroup > p { margin:0; }
.ctTestWorkbookGroup .ctUploadFiles { margin-bottom:0; }
.ctTestWorkbookGroup .ctUploadFiles td:first-child { overflow-wrap:anywhere; }
.ctUploadDialog .ctTestHistoryToggle { display:flex; align-items:center; gap:8px; margin:20px 0; }
.ctTestHistoryToggle input { flex:none; margin:0; }
.ctUploadPolicy { margin:20px 0; padding:12px; border:1px solid var(--ui-border); border-radius:6px; }
.ctUploadPolicy summary { cursor:pointer; }
.ctUploadPolicy p { margin:12px 0; }
.ctUploadPolicy textarea { display:block; width:100%; min-height:160px; margin:12px 0; font-family:monospace; box-sizing:border-box; }
.ctUploadDialog > .versionActions { margin-top:20px; }
@media(max-width:1150px) { .ctWorkspaceBody { grid-template-columns:170px minmax(0,1fr); }.ctWorkspaceBody.ctToolsOpen { grid-template-columns:170px minmax(0,1fr) clamp(360px,29vw,460px); } }
.ctMtlDot {display:inline-block;width:7px;height:7px;flex:none;border-radius:50%;background:#67D4F1;}
.editorFieldToolbar .ctMtlButton {box-sizing:border-box;flex:none;width:25px;min-width:25px;height:25px;padding:2px;display:inline-flex;align-items:center;justify-content:center;line-height:1;}
.ctMtlButtonTarget {display:inline-flex;align-items:center;margin-left:auto;}
.ctMtlDebugButton {font-size:14px;min-width:26px;padding-inline:5px;}
.ctMtlDebugDialog {position:fixed;z-index:3500;box-sizing:border-box;width:720px;max-width:calc(100vw - 16px);max-height:min(760px,calc(100vh - 16px));display:flex;flex-direction:column;border:1px solid var(--ui-border);border-radius:8px;background:var(--color-element);color:var(--color-font);box-shadow:0 12px 42px #0006;font-size:13px;}
.ctMtlDebugHeader {display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-bottom:1px solid var(--ui-border);cursor:grab;user-select:none;touch-action:none;}
.ctMtlDebugDialog.dragging .ctMtlDebugHeader {cursor:grabbing;}
.ctMtlDebugHeader button {font-size:20px;line-height:1;padding:2px 7px;}
.ctMtlDebugActions {display:flex;align-items:center;gap:10px;flex-shrink:0;}
.ctMtlDebugHeader .ctMtlDebugDownload {font-size:12px;line-height:1.4;padding:5px 8px;white-space:nowrap;}
.ctMtlDebugDownload[aria-disabled="true"] {opacity:.6;cursor:wait;}
.ctMtlDebugBody {min-height:0;overflow:auto;padding:0 14px 14px;}
.ctMtlDebugBody p {margin:10px 0;}
.ctMtlDebugMode {font-weight:600;color:var(--ui-accent);}
.ctMtlDebugBody pre {box-sizing:border-box;max-height:min(360px,40vh);overflow:auto;overscroll-behavior:contain;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--ui-border);border-radius:4px;background:var(--color-element-alt);padding:12px;font-size:12px;user-select:text;}
.ctMtlDebugSectionTitle {display:flex;align-items:center;gap:8px;}.ctMtlDebugSectionTitle small {color:var(--ui-muted);}
.ctMtlCopyButton {display:inline-flex;align-items:center;justify-content:center;padding:3px;}.ctMtlCopyButton svg {width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;}
.ctMtlButtonTarget + .fieldToolbarSeparator {margin-left:0;}
.ctMtlButtonTarget:focus-visible {outline:2px solid var(--ui-accent);outline-offset:2px;border-radius:4px;}
.ctMtlInlineOverlay {position:absolute;inset:0;z-index:2;box-sizing:border-box;overflow:auto;background:var(--color-element-alt);color:var(--color-font);font:inherit;}
.ctMtlGenerating > :is(textarea,input) {opacity:0;}
.ctMtlGenerating > .HLter {visibility:hidden;}
.ctMtlStreamText {box-sizing:border-box;min-height:100%;margin:0;padding:var(--padding-top) var(--padding-left);white-space:pre-wrap;overflow-wrap:anywhere;user-select:text;font:inherit;line-height:inherit;}
.ctMtlStreamText:focus-visible {outline:2px solid var(--ui-accent);outline-offset:-2px;}
.ctMtlSkeleton {box-sizing:border-box;height:100%;display:flex;flex-direction:column;gap:5px;padding:8px 10px;overflow:hidden;}
.ctMtlSkeleton i {display:block;flex:none;height:5px;width:82%;border-radius:3px;background:var(--ui-accent);opacity:.2;animation:ctMtlGlow 1.8s ease-in-out infinite alternate;}
.ctMtlSkeleton i:nth-child(2) {width:64%;animation-delay:.2s;}.ctMtlSkeleton i:nth-child(3) {width:43%;animation-delay:.4s;}
@keyframes ctMtlGlow {to{opacity:.45;}}
@media (prefers-reduced-motion:reduce) {.ctMtlSkeleton i {animation:none;opacity:.3;}}
.mtlLimitsPanel {margin:14px 0;padding:10px;border:1px solid var(--ui-border);border-radius:5px;}
.mtlLimitsPanel summary {font-weight:600;cursor:pointer;}.mtlLimitsPanel > :not(summary) {margin-top:10px;}
.mtlLimitsTableWrap {overflow:auto;}.mtlLimitsTable {width:100%;border-collapse:collapse;font-size:12px;}
.mtlLimitsTable :is(th,td) {padding:7px 8px;border-bottom:1px solid var(--ui-border);text-align:left;vertical-align:middle;}
.mtlLimitsTable small {display:block;color:var(--ui-muted);}.mtlLimitsTable input {box-sizing:border-box;width:90px;}
.mtlLimitsPanel .settingsActions small {color:var(--ui-muted);line-height:1.4;}
.mtlLimitsPanel .settingsActions button[aria-disabled="true"] {opacity:.5;cursor:default;}
.ctTarget.mtl .editorFieldFrame {outline:1px solid #67D4F1;outline-offset:-1px;}
.ctMtlReview {display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12px;padding:5px 0;}
.ctMtlReview small {flex-basis:100%;color:var(--ui-muted);}
.ctMtlReview button {font-size:12px;padding:2px 7px;}
.ctTmEvidence {flex-basis:100%;min-width:0;padding:8px;border:1px solid var(--ui-border);border-radius:4px;background:var(--color-element-alt);}
.ctTmEvidence pre {margin:4px 0 8px;white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;}
.ctTmEvidence label {display:flex;gap:7px;align-items:center;flex-wrap:wrap;font-weight:600;}
.ctTmEvidence select {max-width:100%;min-width:200px;background:var(--color-element);color:var(--color-font);font:inherit;border:1px solid var(--ui-border);padding:4px;}
.ctTmEvidence small {display:block;}
.ctToneButton {margin:5px 0 0 6px;padding:2px 7px;font-size:12px;}
.ctToneWarning {color:var(--ui-warning);}
.ctToneBackdrop {display:flex;align-items:center;justify-content:center;position:fixed;inset:0;padding:20px;background:#10182e80;z-index:10050;}
.ctToneDialog {width:min(640px,100%);max-height:calc(100dvh - 40px);}
.ctToneDialog textarea {display:block;box-sizing:border-box;width:100%;resize:vertical;min-height:100px;max-height:35vh;margin-top:6px;padding:10px;border:1px solid var(--ui-border);border-radius:6px;background:var(--color-bg);color:var(--color-font);font:inherit;line-height:1.5;}
.ctToneDialog textarea::placeholder {color:var(--ui-muted);opacity:1;}
.ctToneIdentity {font-size:12px;overflow-wrap:anywhere;color:var(--ui-muted);}
.ctToneDialog .ctToneInvalid {color:var(--ui-error);}
.ctToneConflict {padding:12px;border:1px solid var(--ui-warning);border-radius:6px;margin:14px 0;}
.ctToneDialog pre {white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;}
.ctToneHistory {padding-left:20px;}.ctToneHistory li {padding:10px 0;border-bottom:1px solid var(--ui-border);}.ctToneHistory time {display:block;font-size:12px;color:var(--ui-muted);}
.ctToneDialog button[aria-disabled="true"] {opacity:.5;cursor:default;}
.ctToneDialog .settingsFooter .settingsActionPrimary {margin-left:auto;}
.ctMtlDismissal {padding:8px 10px;margin-top:6px;border:1px solid var(--ui-border);border-radius:4px;background:var(--color-element);color:var(--color-font);line-height:1.5;}
.ctMtlDismissal > span {flex:1 1 320px;}
.ctMtlDismissal small {font-size:12px;}
.ctMtlRowIndicator {display:inline-flex;gap:4px;align-items:center;margin-right:6px;font-size:11px;}
.statusPill.mtl,.filterChip.mtl {border-color:#67D4F1;}
@media (prefers-reduced-motion:reduce) {.ctMtlButton .ctAudioSpinner {animation:none;}}

.ctMtlTimingPanel {margin:14px 0;padding:10px;border:1px solid var(--ui-border);border-radius:6px;}
.ctMtlTimingPanel summary {cursor:pointer;font-weight:600;}
.ctMtlTimingPanel table {width:100%;border-collapse:collapse;margin:8px 0 16px;font-variant-numeric:tabular-nums;}
.ctMtlTimingPanel th,.ctMtlTimingPanel td {padding:6px;border-bottom:1px solid var(--ui-border);text-align:left;vertical-align:top;}
.ctMtlTimingPanel th[scope="row"] {font-weight:400;}
.ctMtlTimingPanel td {white-space:nowrap;text-align:right;}
.ctMtlTimingPanel h5 {margin:16px 0 6px;}

.ctMtlSettingsButton {font-size:14px;min-width:26px;padding-inline:5px;}
.ctMtlSettingsBar {margin-top:5px;padding:8px;border:1px solid var(--ui-border);border-radius:4px;background:var(--color-element-alt);color:var(--color-font);font-size:12px;}
.ctMtlSettingsFields {display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ctMtlSettingsFields label {display:flex;align-items:center;gap:5px;min-width:0;}
.ctMtlSettingsFields select {font:inherit;max-width:100%;min-width:70px;background:var(--color-element);color:var(--color-font);border:1px solid var(--ui-border);border-radius:4px;padding:4px;}
.ctMtlSettingsFields button {font:inherit;}
.ctMtlSettingsFast {color:var(--ui-muted);}
.ctMtlSettingsBar p {margin:6px 0 0;line-height:1.4;}
.ctMtlSettingsError {color:var(--color-error,#c44);}

.ctMtlSettingsFast {white-space:nowrap;}
.ctMtlSettingsFields input[type="checkbox"] {width:auto;flex:none;margin:0;}
