.tracker-shell { grid-template-rows: 58px minmax(0, 1fr) 30px; }
.tracker-workspace { min-height: 0; display: grid; grid-template-columns: 382px minmax(0, 1fr); }
.tracker-panel { min-height: 0; background: var(--panel); border-right: 1px solid var(--line); display: grid; grid-template-rows: auto minmax(0, 1fr); }
.tracker-heading { padding: 20px 18px 17px; border-bottom: 1px solid var(--line); }
.tracker-heading h1 { margin: 6px 0; font-size: 29px; letter-spacing: -.045em; }
.tracker-heading > p:last-child { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.tracker-controls { overflow-y: auto; padding: 0 14px 28px; }
.control-group { padding: 16px 4px 13px; border-bottom: 1px solid var(--line-soft); }
.control-group h2 { margin: 0 0 12px; color: #d7d9cf; font: 800 9px/1 ui-monospace, monospace; letter-spacing: .13em; text-transform: uppercase; }
.field { margin: 12px 0; }
.field > label, .field-label label { display: block; color: #b9bcb0; font-size: 10px; font-weight: 700; margin-bottom: 7px; }
.field-label { display: flex; align-items: center; justify-content: space-between; }
.field-label output { color: var(--acid); font: 700 9px/1 ui-monospace, monospace; }
.field select, .field input[type="text"] { width: 100%; }
.field input[type="range"] { display: block; width: 100%; }
.color-field { display: flex; align-items: center; justify-content: space-between; }
.color-field label { margin: 0; }
.segments { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 3px; }
.segments button, .mini-button { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel-2); color: var(--muted); padding: 9px 7px; cursor: pointer; font-size: 10px; font-weight: 700; }
.segments button:hover, .mini-button:hover:not(:disabled), .segments button.active { color: var(--text); border-color: #555b4d; }
.segments button.active { background: #282c22; color: var(--acid); }
.mini-button.export { color: var(--acid); }
.mini-button.full { width: 100%; }
.mini-button:disabled { opacity: .3; cursor: not-allowed; }
.button-grid { display: grid; gap: 5px; }.button-grid.two { grid-template-columns: 1fr 1fr; }.button-grid.three { grid-template-columns: repeat(3, 1fr); }
.toggle-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 0; color: #b9bcb0; font-size: 10px; font-weight: 700; }
.preset-group p { margin: 9px 0 0; color: var(--muted); font-size: 9px; line-height: 1.4; }
.control-note { margin: 12px 0 0; color: var(--muted); font-size: 9px; line-height: 1.45; }

.group-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.group-title-row h2 { margin: 0; }
.group-title-row > span { color: var(--acid); font: 700 8px/1 ui-monospace, monospace; letter-spacing: .08em; text-transform: uppercase; }
.layer-starter { margin-top: 5px; color: var(--acid); }
.layer-list { display: grid; gap: 5px; margin: 12px 0 10px; }
.layer-row { width: 100%; min-width: 0; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px; border: 1px solid var(--line); border-radius: 8px; background: #171914; color: var(--text); text-align: left; cursor: pointer; }
.layer-row:hover { border-color: #4c5145; background: #1b1e18; }
.layer-row.selected { border-color: #68705a; background: #23271e; box-shadow: inset 2px 0 0 var(--acid); }
.layer-row.muted .layer-name, .layer-row.muted .layer-meta { opacity: .38; }
.layer-eye { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid #353a30; border-radius: 6px; background: #10120f; color: var(--acid); cursor: pointer; font: 800 10px/1 ui-monospace, monospace; }
.layer-eye.off { color: #676a63; }
.layer-copy { min-width: 0; }
.layer-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; font-weight: 750; }
.layer-meta { display: block; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font: 650 7px/1 ui-monospace, monospace; letter-spacing: .06em; }
.layer-kind { align-self: start; padding: 4px 5px; border: 1px solid #363b31; border-radius: 99px; color: #aeb2a6; font: 750 7px/1 ui-monospace, monospace; letter-spacing: .06em; }
.layer-editor-empty { padding: 12px; border: 1px dashed #363a31; border-radius: 7px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.layer-editor { padding: 4px 10px 10px; border: 1px solid #353a30; border-radius: 8px; background: linear-gradient(180deg, #1e211a, #151713); }
.layer-editor .field { margin: 11px 0; }
.layer-order-actions { margin-top: 14px; }
.mini-button.danger { color: #ff7f83; }
.echo-only.hidden { display: none; }

.effect-add-row { display: grid; grid-template-columns: minmax(0, 1fr) 72px; gap: 5px; }
.effect-add-row select { width: 100%; }
.effect-list { display: grid; gap: 5px; margin: 11px 0 9px; }
.effect-row { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px; border: 1px solid var(--line); border-radius: 8px; background: #171914; cursor: pointer; }
.effect-row:hover { border-color: #4c5145; }.effect-row.selected { border-color: #68705a; background: #23271e; box-shadow: inset 2px 0 0 var(--acid); }.effect-row.muted .effect-name { opacity: .38; }
.effect-eye { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #353a30; border-radius: 6px; background: #10120f; color: var(--acid); cursor: pointer; font: 800 10px/1 ui-monospace, monospace; }
.effect-eye.off { color: #676a63; }.effect-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); font-size: 10px; font-weight: 750; text-transform: capitalize; }
.effect-order { color: var(--muted); font: 750 7px/1 ui-monospace, monospace; letter-spacing: .06em; }.effect-editor-empty { padding: 12px; border: 1px dashed #363a31; border-radius: 7px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.effect-editor { padding: 2px 10px 10px; border: 1px solid #353a30; border-radius: 8px; background: linear-gradient(180deg, #1e211a, #151713); }
.effect-order-actions { margin-top: 12px; }
.temporal-editor { margin: 12px -3px 0; padding: 12px; border: 1px solid #4a523d; border-radius: 9px; background: radial-gradient(circle at 85% 0, #d7ff5814, transparent 34%), linear-gradient(180deg, #151911, #0d0f0c); }
.temporal-editor.hidden, .temporal-wave-controls.hidden, .temporal-grid-controls.hidden { display: none; }
.surface-editor { border-color: #40536a; background: radial-gradient(circle at 85% 0, #78d9ff1a, transparent 35%), linear-gradient(180deg, #111922, #0b1016); }
.surface-editor .temporal-title i { color: #80dfff; }
.temporal-title { display: flex; align-items: center; justify-content: space-between; gap: 9px; margin-bottom: 10px; }
.temporal-title span { min-width: 0; }.temporal-title i, .temporal-title strong { display: block; }.temporal-title i { color: var(--acid); font: normal 800 7px/1 ui-monospace, monospace; letter-spacing: .14em; }.temporal-title strong { margin-top: 5px; overflow: hidden; text-overflow: ellipsis; color: #f0f2e9; font-size: 14px; letter-spacing: -.02em; white-space: nowrap; }
.temporal-title button { padding-inline: 8px; color: var(--acid); }
.temporal-editor .mini-button.active { border-color: var(--accent, #8798ff); color: var(--accent, #8798ff); }
.temporal-advanced { margin: 12px 0; padding: 8px 10px; border: 1px solid var(--line, #343941); border-radius: 8px; }
.temporal-advanced summary { cursor: pointer; font-size: 12px; font-weight: 650; }
.temporal-advanced[open] summary { margin-bottom: 10px; }
.temporal-pad { height: 112px; position: relative; overflow: hidden; border: 1px solid #3a4133; border-radius: 8px; cursor: crosshair; touch-action: none; background-image: linear-gradient(#d7ff5808 1px, transparent 1px), linear-gradient(90deg, #d7ff5808 1px, transparent 1px), radial-gradient(circle at 50% 50%, #d7ff5811, transparent 45%); background-size: 18px 18px, 18px 18px, auto; }
.temporal-pad::before, .temporal-pad::after { content: ""; position: absolute; background: #d7ff5822; pointer-events: none; }.temporal-pad::before { left: 50%; top: 0; bottom: 0; width: 1px; }.temporal-pad::after { top: 50%; left: 0; right: 0; height: 1px; }
.temporal-pad i { width: 13px; height: 13px; position: absolute; left: 50%; top: 70%; border: 2px solid #0a0c08; border-radius: 50%; background: var(--acid); box-shadow: 0 0 0 1px var(--acid), 0 0 18px #d7ff5888; transform: translate(-50%, -50%); pointer-events: none; }
.pad-axis { position: absolute; z-index: 1; color: #7f8776; font: 700 6px/1 ui-monospace, monospace; letter-spacing: .12em; pointer-events: none; }.pad-x { right: 7px; bottom: 6px; }.pad-y { left: 6px; top: 7px; writing-mode: vertical-rl; }
.temporal-readout { display: flex; justify-content: space-between; gap: 8px; margin: 7px 1px 9px; color: #858b7e; font: 700 7px/1 ui-monospace, monospace; letter-spacing: .05em; }
.temporal-readout span:last-child { color: #aeb79d; text-align: right; }
.tracker-hud span.temporal-hud-off { color: #6f7469; }.tracker-hud span.temporal-hud-live { color: #d7ff58; border-color: #59604f; background: #242720ed; }

.identity-atlas { background: radial-gradient(circle at 100% 0, #ff4ca50d, transparent 30%); }
.identity-master { margin: -4px 0 7px; padding: 11px 10px; border: 1px solid #4a3d47; border-radius: 8px; background: #21181e; color: var(--text); }
.identity-master span, .detection-output-toggle span { display: grid; gap: 3px; }.identity-master strong, .detection-output-toggle strong { font-size: 10px; }.identity-master small, .detection-output-toggle small { color: #8d8589; font: 650 7px/1.3 ui-monospace, monospace; letter-spacing: .03em; }
.identity-master input:checked { accent-color: #ff4ca5; }.identity-starter { margin-bottom: 9px; color: #ff85be; }
.identity-steps { display: grid; gap: 7px; margin: 10px 0; }.identity-step { display: grid; grid-template-columns: 23px minmax(0, 1fr); gap: 8px; padding: 9px; border: 1px solid #3c3237; border-radius: 9px; background: #120f11; }.identity-step > span { width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: #ff4ca5; color: #1a0911; font: 900 8px/1 ui-monospace, monospace; }.identity-step > div > strong { display: block; margin: 3px 0 8px; color: #e8dfe3; font-size: 10px; }.identity-step select { width: 100%; }
.identity-choice-grid, .identity-look-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }.identity-choice-grid button, .identity-look-grid button { min-width: 0; border: 1px solid #44363d; border-radius: 6px; background: #1a1417; color: #bfb3b9; cursor: pointer; }.identity-choice-grid button { padding: 7px 5px; font: 750 8px/1 ui-monospace, monospace; }.identity-choice-grid button.active { border-color: #ff4ca5; background: #321824; color: #ff9bc9; }.identity-look-grid button { padding: 9px 7px; text-align: left; }.identity-look-grid button:hover { border-color: #87506a; background: #24171d; }.identity-look-grid b, .identity-look-grid small { display: block; }.identity-look-grid b { color: #ff80ba; font: 850 8px/1 ui-monospace, monospace; }.identity-look-grid small { margin-top: 4px; overflow: hidden; color: #90848a; font: 650 7px/1 ui-monospace, monospace; white-space: nowrap; }
.manual-mask-actions { display: grid; grid-template-columns: 1fr 86px; gap: 5px; margin: 9px 0; }.manual-mask-actions span { grid-column: 1 / -1; padding: 6px 8px; border: 1px dashed #4a3941; border-radius: 6px; color: #aa969f; font: 700 7px/1 ui-monospace, monospace; letter-spacing: .06em; }.manual-mask-actions.drawing span { color: #ff91c3; border-color: #a25376; }
.identity-advanced { margin: 9px 0; border: 1px solid #3c3438; border-radius: 8px; background: #100d0f; }.identity-advanced > summary { padding: 10px; color: #c6b9bf; cursor: pointer; font: 750 9px/1 ui-monospace, monospace; }.identity-advanced[open] > summary { border-bottom: 1px solid #342b2f; color: #ff85be; }.identity-advanced > :not(summary) { margin-left: 9px; margin-right: 9px; }
.identity-source-bank { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin: 8px 0 13px; }
.identity-source-bank button { min-width: 0; padding: 9px 5px; border: 1px solid #40333b; border-radius: 7px; background: #151012; color: #c7b8c0; cursor: pointer; }
.identity-source-bank button:hover { border-color: #80506a; background: #21151b; }.identity-source-bank strong, .identity-source-bank span { display: block; }.identity-source-bank strong { color: #ff69ae; font: 850 12px/1 ui-monospace, monospace; }.identity-source-bank span { margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 700 6px/1 ui-monospace, monospace; letter-spacing: .05em; }
.identity-region-table { overflow: hidden; margin: 7px 0 13px; border: 1px solid #3c3438; border-radius: 8px; background: #100d0f; }
.identity-region-head, .identity-region-table > label { display: grid; grid-template-columns: minmax(0, 1fr) 82px 45px; align-items: center; gap: 5px; padding: 6px 7px; border-bottom: 1px solid #302a2d; }
.identity-region-table > label:last-child { border-bottom: 0; }.identity-region-head { color: #7f7479; font: 750 6px/1 ui-monospace, monospace; letter-spacing: .1em; }.identity-region-table label > span { display: flex; align-items: center; gap: 6px; color: #c7c0c3; font-size: 9px; }.identity-region-table select, .identity-region-table input[type="number"] { min-width: 0; width: 100%; padding: 5px 4px; border: 1px solid #393035; border-radius: 5px; background: #171215; color: #ddd5d9; font: 700 8px/1 ui-monospace, monospace; }
.identity-region-table input[type="checkbox"] { accent-color: #ff4ca5; }
.detection-output-toggle { margin: 0 0 11px; padding: 9px 10px; border: 1px solid #42463d; border-radius: 8px; background: #171914; }
#trackerCanvas.mask-drawing { cursor: crosshair; outline: 1px solid #ff4ca5; outline-offset: 4px; }

.spatial-tracker { background: linear-gradient(180deg, transparent, #171a151f); }
.spatial-master { margin: -4px 0 7px; padding: 11px 10px; border: 1px solid #41483a; border-radius: 8px; background: #1d2119; color: var(--text); }
.spatial-master input:checked { accent-color: var(--acid); }
.spatial-clean-mode { margin: 0 0 9px; color: var(--acid); }
.spatial-controls { transition: opacity .18s ease; }
.spatial-controls.disabled { opacity: .38; pointer-events: none; }
.camera-solve-readout { margin: 9px 0 13px; padding: 8px 9px; border: 1px solid #343a2f; border-radius: 6px; background: #10120f; color: #9ca392; font: 700 8px/1.35 ui-monospace, monospace; letter-spacing: .06em; }
.camera-solve-readout.live { color: var(--acid); border-color: #596247; }
.spatial-divider { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 16px 0 10px; padding-top: 13px; border-top: 1px solid #34382f; }
.spatial-divider span { color: #d7d9cf; font: 800 9px/1 ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.spatial-divider i { color: var(--acid); font: normal 700 8px/1 ui-monospace, monospace; }
.spatial-object-list { display: grid; gap: 5px; margin: 9px 0; }
.spatial-object-row { display: grid; grid-template-columns: 27px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 7px; border: 1px solid var(--line); border-radius: 8px; background: #141712; cursor: pointer; }
.spatial-object-row:hover { border-color: #505846; }.spatial-object-row.selected { border-color: #68705a; background: #23271e; box-shadow: inset 2px 0 0 var(--acid); }.spatial-object-row.muted .spatial-object-copy { opacity: .4; }
.spatial-object-eye { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #353a30; border-radius: 6px; background: #0e100d; color: var(--acid); cursor: pointer; font: 800 10px/1 ui-monospace, monospace; }
.spatial-object-copy { min-width: 0; }.spatial-object-copy strong, .spatial-object-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.spatial-object-copy strong { color: var(--text); font-size: 10px; }.spatial-object-copy span { margin-top: 3px; color: var(--muted); font: 650 7px/1 ui-monospace, monospace; letter-spacing: .05em; text-transform: uppercase; }
.spatial-object-kind { padding: 4px 5px; border: 1px solid #363b31; border-radius: 99px; color: #aeb2a6; font: 750 7px/1 ui-monospace, monospace; }
.spatial-object-empty { padding: 12px; border: 1px dashed #363a31; border-radius: 7px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.spatial-object-editor { padding: 3px 10px 10px; border: 1px solid #353a30; border-radius: 8px; background: linear-gradient(180deg, #1e211a, #151713); }
.spatial-material-advanced { margin: 10px 0; border: 1px solid #343b31; border-radius: 7px; background: #10130f; }
.spatial-material-advanced > summary { padding: 9px; cursor: pointer; color: #abb3a3; font: 750 8px/1 ui-monospace, monospace; letter-spacing: .06em; text-transform: uppercase; }
.spatial-material-advanced[open] > summary { border-bottom: 1px solid #343b31; color: var(--acid); }
.spatial-material-advanced > :not(summary) { margin-left: 9px; margin-right: 9px; }
.point-anchor-field.hidden { display: none; }
.rotation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin: 12px 0; }
.rotation-grid label { display: grid; gap: 6px; color: #b9bcb0; font: 700 9px/1 ui-monospace, monospace; }
.rotation-grid input { width: 100%; min-width: 0; padding: 7px 5px; border: 1px solid var(--line); border-radius: 5px; background: #11130f; color: var(--text); font: 700 9px/1 ui-monospace, monospace; }
.project-buttons { margin-top: 5px; }
.tracker-hud span.spatial-hud-off { color: #6f7469; }.tracker-hud span.spatial-hud-live { color: #d7ff58; border-color: #59604f; background: #242720ed; }

.tracker-stage { min-width: 0; min-height: 0; position: relative; display: grid; place-items: center; overflow: hidden; background: #050604; background-image: radial-gradient(#24271f 1px, transparent 1px); background-size: 20px 20px; }
.tracker-empty { width: min(580px, 80%); text-align: center; }
.tracker-empty h2 { margin: 10px 0 17px; font-size: clamp(46px, 5.5vw, 82px); line-height: .9; letter-spacing: -.065em; }
.tracker-empty > p:not(.eyebrow) { max-width: 470px; margin: 0 auto 24px; color: var(--muted); font-size: 12px; line-height: 1.5; }
.tracker-empty > div:last-child { display: flex; justify-content: center; gap: 7px; }
.radar-mark { width: 80px; height: 80px; border: 1px solid #34382e; border-radius: 50%; margin: 0 auto 25px; display: grid; place-items: center; background: conic-gradient(from 45deg, transparent 0 82%, #c9ff3633); }
.radar-mark::before, .radar-mark::after { content: ""; position: absolute; width: 80px; height: 1px; background: #34382e; }.radar-mark::after { transform: rotate(90deg); }
.radar-mark span { width: 8px; height: 8px; background: var(--acid); border-radius: 50%; box-shadow: 0 0 17px var(--acid); }
#trackerCanvas { max-width: calc(100% - 36px); max-height: calc(100% - 36px); background: #000; box-shadow: 0 24px 90px #000; }
.source-video { max-width: calc(100% - 36px); max-height: calc(100% - 36px); background: #000; box-shadow: 0 24px 90px #000; }
.source-video.offscreen { position: absolute; left: 0; top: 0; width: 2px; height: 2px; max-width: none; max-height: none; opacity: .01; pointer-events: none; box-shadow: none; }
.tracker-hud { position: absolute; top: 14px; right: 14px; display: flex; gap: 1px; }
.tracker-hud span { background: #11130fed; border: 1px solid var(--line); color: var(--acid); padding: 7px 9px; font: 800 8px/1 ui-monospace, monospace; letter-spacing: .08em; }
.tracker-hud button { border: 1px solid var(--line); background: #11130fed; color: var(--text); padding: 7px 9px; cursor: pointer; font: 800 8px/1 ui-monospace, monospace; letter-spacing: .08em; }
.tracker-hud button.active { color: var(--acid); border-color: #59604f; background: #242720ed; }
.tracker-hud button:disabled { opacity: .35; cursor: not-allowed; }
.tracker-timeline { position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 6; padding: 10px; border: 1px solid #373c31; border-radius: 10px; background: #11130ff2; box-shadow: 0 18px 48px #000a; backdrop-filter: blur(16px); }
.timeline-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.timeline-toolbar > span { display: flex; align-items: center; gap: 9px; }.timeline-toolbar strong { color: var(--acid); font: 800 8px/1 ui-monospace, monospace; letter-spacing: .12em; }.timeline-toolbar i { color: #d6d8d1; font: normal 700 8px/1 ui-monospace, monospace; }
.timeline-toolbar > div { display: flex; gap: 4px; }.timeline-toolbar button { border: 1px solid #3c4135; border-radius: 6px; background: #20231d; color: #c8cbc1; padding: 6px 8px; cursor: pointer; font: 700 8px/1 ui-monospace, monospace; }.timeline-toolbar button:hover { color: var(--acid); border-color: #626a54; }
.timeline-segments { display: flex; width: 100%; height: 38px; overflow: hidden; border: 1px solid #33372f; border-radius: 7px; background: #090a08; }
.timeline-segment { min-width: 20px; flex-basis: 0; position: relative; overflow: hidden; border: 0; border-right: 1px solid #0a0b09; background: linear-gradient(135deg, #2e3426, #1e221a); color: #d8dbd0; cursor: pointer; text-align: left; padding: 7px 8px; }
.timeline-segment:nth-child(even) { background: linear-gradient(135deg, #2b2833, #1c1a22); }.timeline-segment.active { color: #090b06; background: linear-gradient(110deg, var(--acid), #b0ef28); }.timeline-segment.selected:not(.active) { box-shadow: inset 0 0 0 1px #aeb69c; }
.timeline-segment strong, .timeline-segment span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.timeline-segment strong { font: 800 8px/1 ui-monospace, monospace; }.timeline-segment span { margin-top: 4px; opacity: .7; font: 650 7px/1 ui-monospace, monospace; }
.tracker-timeline > input[type="range"] { width: 100%; display: block; margin: 7px 0 0; height: 5px; }
.export-progress { position: absolute; inset: 0; background: #080a07dc; display: grid; align-content: center; justify-items: center; gap: 10px; z-index: 8; }
.export-progress strong { color: var(--acid); font: 800 15px/1 ui-monospace, monospace; letter-spacing: .16em; }
.export-progress span { font: 700 11px/1 ui-monospace, monospace; }
.export-progress > div { width: min(440px, 70vw); height: 4px; background: #303429; }.export-progress i { display: block; width: 0; height: 100%; background: var(--acid); }

@media (max-width: 1080px) {
  .tracker-workspace { grid-template-columns: 340px minmax(0, 1fr); }
  .tracker-heading { padding-top: 16px; }
}

/* PrismForge 0.15 — neutral editor shell and shared Compose timeline */
.tracker-workspace { grid-template-columns: 350px minmax(0, 1fr); background: var(--bg); }
.tracker-panel { background: #fff; }
.tracker-heading { background: #fff; }
.tracker-heading h1 { color: #171715; }
.control-group h2, .spatial-divider span { color: #242421; }
.field > label, .field-label label, .toggle-row, .rotation-grid label { color: #555650; }
.segments button, .mini-button { background: #f5f5f2; color: #65655f; }
.segments button:hover, .mini-button:hover:not(:disabled), .segments button.active { color: #191917; border-color: #aaa9a2; background: #efefea; }
.segments button.active, .mini-button.export, .layer-starter, .spatial-clean-mode { color: var(--acid); }
.layer-row, .effect-row, .spatial-object-row { background: #fafaf8; }
.layer-row:hover, .effect-row:hover, .spatial-object-row:hover { border-color: #b9b8b1; background: #f5f5f1; }
.layer-row.selected, .effect-row.selected, .spatial-object-row.selected { border-color: #aaa6f2; background: #f1f0ff; box-shadow: inset 2px 0 0 var(--acid); }
.layer-eye, .effect-eye, .spatial-object-eye { border-color: #d8d8d2; background: #fff; color: var(--acid); }
.layer-kind, .spatial-object-kind { border-color: #dddcd6; color: #797a73; }
.layer-editor-empty, .effect-editor-empty, .spatial-object-empty { border-color: #d7d7d1; }
.layer-editor, .effect-editor, .spatial-object-editor { border-color: #deded8; background: #fafaf8; }
.temporal-editor { border-color: #d8d6fb; background: radial-gradient(circle at 85% 0, #625af612, transparent 34%), #f8f7ff; }
.surface-editor { border-color: #cfe5ef; background: radial-gradient(circle at 85% 0, #26bce512, transparent 35%), #f5fbfd; }
.temporal-title strong { color: #22221f; }
.temporal-pad { border-color: #d8d6fb; background-image: linear-gradient(#625af60b 1px, transparent 1px), linear-gradient(90deg, #625af60b 1px, transparent 1px), radial-gradient(circle at 50% 50%, #625af60c, transparent 45%); }
.identity-atlas { background: radial-gradient(circle at 100% 0, #ff4ca508, transparent 30%); }
.identity-master, .identity-step, .identity-advanced, .identity-region-table, .detection-output-toggle { border-color: #e1d7dc; background: #fffafb; color: #292625; }
.identity-step > div > strong { color: #34302f; }
.identity-choice-grid button, .identity-look-grid button, .identity-source-bank button { border-color: #e1d7dc; background: #fff; color: #6d6368; }
.identity-choice-grid button.active { background: #fff0f7; }
.identity-advanced > summary, .identity-region-table label > span { color: #5d5659; }
.identity-region-table select, .identity-region-table input[type="number"] { border-color: #ddd5d8; background: #fff; color: #393436; }
.spatial-master, .camera-solve-readout, .spatial-material-advanced { border-color: #d9ded4; background: #f8faf6; color: #51564d; }
.rotation-grid input { border-color: var(--line); background: #fff; color: var(--text); }
.tracker-stage { background: #e8e8e4; background-image: radial-gradient(#cdcdc6 1px, transparent 1px); }
.tracker-empty h2 { color: #181816; }
.radar-mark { border-color: #aaa9a2; background: conic-gradient(from 45deg, transparent 0 82%, #625af62b); }
.radar-mark::before, .radar-mark::after { background: #aaa9a2; }
#trackerCanvas, .source-video { box-shadow: 0 24px 80px #3b3b3438; }
.tracker-hud { gap: 4px; }
.tracker-hud span, .tracker-hud button { border-color: #d7d7d1; border-radius: 6px; background: #fffffff0; color: #55564f; box-shadow: 0 4px 14px #2e2e2614; }
.tracker-hud button.active, .tracker-hud span.temporal-hud-live, .tracker-hud span.spatial-hud-live { color: var(--accent, var(--acid)); border-color: #aaa6f2; background: #f1f0fff2; }
.export-progress { background: var(--panel); }
.export-progress strong { color: var(--acid); }

.preset-browser { padding-top: 18px; }
.preset-intro { margin: -3px 0 12px; }
.preset-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.preset-card { min-width: 0; overflow: hidden; padding: 0; border: 1px solid #deded8; border-radius: 11px; background: #fff; color: #22221f; cursor: pointer; text-align: left; transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.preset-card:hover { transform: translateY(-1px); border-color: #a9a7df; box-shadow: 0 8px 18px #3f3e7512; }
.preset-card.active { border-color: var(--acid); box-shadow: 0 0 0 1px var(--acid); }
.preset-card > span { display: block; padding: 8px 9px 9px; }
.preset-card strong, .preset-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.preset-card strong { font-size: 9px; }.preset-card small { margin-top: 4px; color: #81817a; font: 650 7px/1 ui-monospace, monospace; }
.preset-art { height: 48px; position: relative; display: block; overflow: hidden; background: #161618; }
.preset-art::before, .preset-art::after { content: ""; position: absolute; }
.preset-points { background-image: radial-gradient(#9dffec 1.2px, transparent 1.8px), linear-gradient(135deg, #1a1644, #101015); background-size: 11px 11px, auto; }
.preset-points::before { inset: 10px 22px; border: 1px solid #9dffec; transform: skew(-18deg); }
.preset-echo { background: linear-gradient(120deg, #ff5c91, #5e2eff 55%, #111); }.preset-echo::before, .preset-echo::after { width: 25px; height: 37px; top: 6px; border-radius: 50% 50% 38% 42%; background: #fff8; }.preset-echo::before { left: 36px; }.preset-echo::after { left: 52px; opacity: .35; }
.preset-slice { background: linear-gradient(135deg, #111 25%, #ffe96a 25% 38%, #ff5078 38% 51%, #5b5cff 51% 64%, #111 64%); }
.preset-eyes { background: #eee8e0; }.preset-eyes::before, .preset-eyes::after { width: 35px; height: 16px; top: 17px; border: 2px solid #171715; border-radius: 50%; background: radial-gradient(circle, #ff3e9c 0 18%, #fff 20% 48%, #171715 50%); }.preset-eyes::before { left: 17px; }.preset-eyes::after { right: 17px; }
.preset-liquid { background: radial-gradient(circle at 32% 35%, #fff 0 5%, transparent 6%), conic-gradient(from 20deg, #72efff, #795cff, #ff66ad, #fff38c, #72efff); filter: saturate(1.2); }.preset-liquid::before { inset: 8px 27px; border: 1px solid #fff9; border-radius: 48% 52% 61% 39%; backdrop-filter: blur(5px); }
.preset-spatial { background: linear-gradient(135deg, #e9e9e5, #8c8c87); }.preset-spatial::before { width: 30px; height: 30px; left: calc(50% - 15px); top: 9px; border: 1px solid #fff; background: linear-gradient(135deg, #fff8, #2224); transform: rotate(28deg) skew(-8deg); }
.layer-range-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-top: 12px; }

.tracker-timeline { left: 16px; right: 16px; bottom: 16px; padding: 0; overflow: hidden; border: 1px solid #cecec8; border-radius: 14px; background: #fffffff7; box-shadow: 0 22px 60px #28282232; backdrop-filter: blur(18px); color: #20201d; }
.compose-toolbar { min-height: 43px; margin: 0; padding: 7px 9px; border-bottom: 1px solid #e0e0da; background: #fafaf8; display: grid; grid-template-columns: minmax(190px, 1fr) auto auto; align-items: center; }
.compose-title { min-width: 0; display: flex; align-items: center; gap: 8px; }
.compose-title b { padding: 5px 7px; border-radius: 5px; background: #1d1d1a; color: #fff; font: 850 8px/1 ui-monospace, monospace; letter-spacing: .11em; }
.compose-toolbar .compose-title strong { color: #32322e; }.compose-toolbar .compose-title i { color: #73736c; }
.compose-transport, .compose-create { display: flex; align-items: center; gap: 4px; }
.compose-toolbar button, .compose-toolbar select, .compose-footer button, .compose-footer select { height: 28px; border: 1px solid #d4d4ce; border-radius: 6px; background: #fff; color: #4c4c46; padding: 0 8px; cursor: pointer; font: 700 8px/1 ui-monospace, monospace; }
.compose-toolbar button:hover, .compose-footer button:hover { border-color: #9f9dce; color: var(--acid); }
.compose-create button { background: #22221f; border-color: #22221f; color: #fff; }
.compose-scroll { --lane-label: 92px; height: 238px; position: relative; overflow: auto; background: #f4f4f1; scrollbar-color: #b9b9b2 transparent; }
.compose-ruler, .compose-lane { min-width: 100%; display: grid; grid-template-columns: var(--lane-label) minmax(0, 1fr); position: relative; border-bottom: 1px solid var(--line-soft); }
.compose-ruler { height: 25px; position: sticky; top: 0; z-index: 8; background: #f7f7f4; }
.compose-lane { min-height: 31px; }
.compose-lane-label { position: sticky; left: 0; z-index: 6; display: grid; align-content: center; padding: 0 10px; border-right: 1px solid #d8d8d2; background: #f7f7f4; color: #373733; font: 800 8px/1 ui-monospace, monospace; letter-spacing: .07em; }
.compose-lane-label small { margin-top: 4px; color: #8b8b84; font-size: 6px; letter-spacing: .1em; }
.compose-lane-content { min-width: calc(100% - var(--lane-label)); position: relative; background-color: #f2f2ef; background-image: linear-gradient(90deg, var(--line-soft) 1px, transparent 1px); background-size: 10% 100%; }
.compose-lane .timeline-segments { display: block; height: auto; overflow: visible; border: 0; border-radius: 0; }
.compose-ruler .compose-lane-content { background: #f7f7f4; }
.compose-ruler i { position: absolute; top: 7px; color: #898982; font: normal 650 7px/1 ui-monospace, monospace; transform: translateX(-2px); }
.video-lane, .tracker-lane { height: 34px; }.layer-lane, .effect-lane { height: 50px; }.mask-lane { height: 38px; }.keyframe-lane { height: 27px; }
.compose-range { min-width: 8px; height: 24px; position: absolute; top: 4px; overflow: hidden; border: 1px solid transparent; border-radius: 5px; color: #fff; cursor: pointer; box-shadow: 0 2px 6px #1b1b1720; }
.compose-range > span { height: 100%; display: grid; align-content: center; min-width: 0; padding: 0 8px; pointer-events: none; }
.compose-range strong, .compose-range small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; text-transform: capitalize; }.compose-range strong { font: 780 8px/1 ui-monospace, monospace; }.compose-range small { margin-top: 3px; opacity: .72; font: 620 6px/1 ui-monospace, monospace; }
.compose-range.selected { outline: 2px solid #171715; outline-offset: 1px; z-index: 4; }.compose-range.muted { opacity: .42; }
.graphics-range { background: #333747; border-color: #747b96; padding-right: 45px; }
.graphics-range.muted { opacity: .72; background: #303136; }
.compose-graphics-toggle { position: absolute; z-index: 6; top: 2px; right: 2px; min-width: 38px; height: 18px; border: 1px solid #9498a7; border-radius: 3px; color: #fff; background: #252735; font-size: 9px; cursor: pointer; }
.compose-graphics-toggle:hover, .compose-graphics-toggle:focus-visible { background: #5d68a5; }
.video-range { background: linear-gradient(135deg, #393936, #20201e); }.tracker-range { background: linear-gradient(135deg, #756eff, #554ddb); }.tracker-range.active { box-shadow: 0 0 0 2px #fff, 0 0 0 3px #625af6; z-index: 3; }.layer-range { height: 17px; background: linear-gradient(135deg, #08a6c7, #087dba); }.effect-range { height: 17px; background: linear-gradient(135deg, #ff8b3e, #e95369); }.mask-range { height: 17px; background: linear-gradient(135deg, #f4499b, #bf3edf); }
.compose-range-handle { width: 6px; height: 100%; position: absolute; top: 0; z-index: 5; padding: 0; border: 0; background: #fff9; cursor: ew-resize; opacity: 0; transition: opacity .12s ease; }.compose-range:hover .compose-range-handle, .compose-range.selected .compose-range-handle { opacity: 1; }.compose-range-handle.start { left: 0; }.compose-range-handle.end { right: 0; }
.compose-keyframe { width: 10px; height: 10px; position: absolute; top: 8px; padding: 0; border: 1px solid #fff; background: #242421; transform: translateX(-50%) rotate(45deg); cursor: pointer; box-shadow: 0 0 0 1px #242421; }
.compose-playhead { width: 1px; position: absolute; top: 0; bottom: 0; z-index: 10; background: #ff365f; pointer-events: auto; cursor: ew-resize; touch-action:none; }.compose-playhead i { width: 9px; height: 9px; position: absolute; left: -4px; top: 0; border-radius: 2px 2px 5px 5px; background: #ff365f; }
.compose-footer { min-height: 43px; display: flex; align-items: center; gap: 6px; padding: 7px 9px; border-top: 1px solid #deded8; background: #fafaf8; }
.compose-footer > input[type="range"] { min-width: 100px; flex: 1; }
.compose-footer label { display: flex; align-items: center; gap: 5px; color: #75756e; font: 700 7px/1 ui-monospace, monospace; white-space: nowrap; }
.compose-footer .timeline-zoom input { width: 74px; }.compose-footer output { min-width: 29px; color: var(--acid); font: 750 7px/1 ui-monospace, monospace; }

@media (max-width: 1280px) {
  .tracker-workspace { grid-template-columns: 320px minmax(0, 1fr); }
  .compose-toolbar { grid-template-columns: 1fr auto; }.compose-create { grid-column: 1 / -1; justify-content: flex-end; }
  .compose-scroll { height: 220px; }
  .compose-footer label:not(.timeline-zoom) { display: none; }
}
