body.mode-stage-movement {
  height: 100vh;
  overflow: hidden;
}

body.mode-stage-movement header,
body.mode-stage-movement footer { flex: 0 0 auto; }

body.mode-stage-movement #mainContent {
  flex: 1 1 auto;
  min-height: 0;
  padding: 10px clamp(8px, 1vw, 16px);
  overflow: hidden;
}

.smv-root {
  --smv-panel: rgba(15, 18, 37, .98);
  --smv-panel-soft: rgba(20, 24, 48, .95);
  --smv-line: rgba(255, 255, 255, .095);
  --smv-muted: #9da2ba;
  --smv-text: #f5f6fb;
  --smv-violet: #9b87ff;
  --smv-cyan: #52e2d0;
  --smv-danger: #ff7285;
  display: grid;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  grid-template-rows: auto minmax(320px, 1fr) minmax(190px, 26vh);
  overflow: hidden;
  color: var(--smv-text);
  background: #090b18;
  border: 1px solid var(--smv-line);
  border-radius: 18px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, .3);
}

.smv-root *, .smv-root *::before, .smv-root *::after { box-sizing: border-box; }
.smv-root button, .smv-root input, .smv-root select, .smv-root textarea { font: inherit; }
.smv-root button { color: inherit; }

.smv-toolbar {
  z-index: 8;
  display: grid;
  min-height: 62px;
  padding: 8px 12px;
  grid-template-columns: minmax(190px, .7fr) auto minmax(180px, .7fr);
  align-items: center;
  gap: 14px;
  background: linear-gradient(180deg, rgba(20, 24, 48, .99), rgba(11, 14, 30, .99));
  border-bottom: 1px solid var(--smv-line);
  box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
}

.smv-toolbar-brand { display: grid; min-width: 0; gap: 2px; }
.smv-toolbar-kicker { color: var(--smv-cyan); font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.smv-name-input { width: min(310px, 100%); height: 30px; padding: 0 8px; color: #fff; background: transparent; border: 1px solid transparent; border-radius: 7px; font-size: 15px; font-weight: 800; letter-spacing: -.025em; }
.smv-name-input:hover, .smv-name-input:focus { background: rgba(255,255,255,.04); border-color: var(--smv-line); outline: none; }
.smv-toolbar-actions { display: flex; align-items: center; justify-content: center; gap: 5px; }
.smv-toolbar-actions-right { justify-content: flex-end; }
.smv-toolbar-divider { width: 1px; height: 32px; margin: 0 5px; background: var(--smv-line); }
.smv-icon-button { position: relative; display: grid; min-width: 44px; height: 44px; padding: 4px 7px; place-items: center; gap: 1px; background: rgba(255,255,255,.035); border: 1px solid transparent; border-radius: 10px; cursor: pointer; transition: .16s ease; }
.smv-icon-button > span { color: #d8d2ff; font-size: 19px; line-height: 1; }
.smv-icon-button small { color: #b8bdcf; font-size: 8px; font-weight: 750; white-space: nowrap; }
.smv-icon-button:hover { background: rgba(155,135,255,.11); border-color: rgba(155,135,255,.28); transform: translateY(-1px); }

.smv-workspace { display: grid; min-width: 0; min-height: 0; grid-template-columns: 220px minmax(420px, 1fr) 300px; overflow: hidden; }
.smv-panel { min-width: 0; min-height: 0; overflow: hidden; background: var(--smv-panel); }
.smv-left-panel { display: grid; grid-template-rows: auto auto minmax(0,1fr) auto; border-right: 1px solid var(--smv-line); }
.smv-right-panel { display: grid; grid-template-rows: auto minmax(0,1fr); border-left: 1px solid var(--smv-line); }
.smv-panel-tabs { display: grid; padding: 7px; grid-template-columns: repeat(3,1fr); gap: 4px; border-bottom: 1px solid var(--smv-line); }
.smv-panel-tabs button { min-height: 30px; padding: 5px; color: var(--smv-muted); background: transparent; border: 1px solid transparent; border-radius: 8px; cursor: pointer; font-size: 10px; font-weight: 700; }
.smv-panel-tabs button:hover, .smv-panel-tabs button.is-active { color: #fff; background: rgba(155,135,255,.12); border-color: rgba(155,135,255,.22); }
.smv-panel-heading { display: flex; min-height: 42px; padding: 8px 11px; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--smv-line); font-size: 11px; font-weight: 800; letter-spacing: .02em; }
.smv-mini-primary { width: 27px; height: 27px; padding: 0; color: #07120f !important; background: var(--smv-cyan); border: 0; border-radius: 8px; cursor: pointer; font-size: 17px !important; }
.smv-left-list, .smv-inspector { min-height: 0; overflow: auto; }
.smv-left-list { padding: 7px; }
.smv-left-footer { display: grid; padding: 8px; gap: 6px; border-top: 1px solid var(--smv-line); }
.smv-wide-action { min-height: 34px; padding: 7px 9px; color: #cdd0df; background: rgba(255,255,255,.035); border: 1px solid var(--smv-line); border-radius: 9px; cursor: pointer; font-size: 10px; font-weight: 700; text-align: left; }
.smv-wide-action:hover { color: #fff; background: rgba(155,135,255,.09); border-color: rgba(155,135,255,.26); }

.smv-list-card { display: grid; min-height: 50px; padding: 7px; grid-template-columns: 31px minmax(0,1fr) 23px 23px; align-items: center; gap: 5px; background: transparent; border: 1px solid transparent; border-radius: 10px; cursor: pointer; }
.smv-list-card:hover { background: rgba(255,255,255,.035); }
.smv-list-card.is-selected { background: linear-gradient(90deg, rgba(155,135,255,.16), rgba(82,226,208,.05)); border-color: rgba(155,135,255,.26); }
.smv-list-icon { display: grid; width: 29px; height: 29px; color: #c9c0ff; background: rgba(155,135,255,.1); border: 1px solid rgba(155,135,255,.18); border-radius: 8px; place-items: center; }
.smv-list-copy { display: grid; min-width: 0; gap: 3px; }
.smv-list-copy strong { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.smv-list-copy small, .smv-asset-card small { overflow: hidden; color: var(--smv-muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.smv-list-card > button { width: 22px; height: 22px; padding: 0; color: var(--smv-muted); background: transparent; border: 0; border-radius: 6px; cursor: pointer; font-size: 10px; }
.smv-list-card > button:hover { color: #fff; background: rgba(255,255,255,.07); }
.smv-marker-dot { width: 12px; height: 12px; margin-left: 8px; background: var(--marker); border: 2px solid rgba(255,255,255,.75); border-radius: 50%; box-shadow: 0 0 12px var(--marker); }
.smv-asset-card { display: grid; padding: 8px; grid-template-columns: 38px minmax(0,1fr); gap: 8px; border-bottom: 1px solid rgba(255,255,255,.06); }
.smv-asset-card > div:nth-child(2) { display: grid; min-width: 0; gap: 2px; }
.smv-asset-preview { display: grid; width: 36px; height: 36px; color: var(--smv-cyan); background: rgba(82,226,208,.08); border: 1px solid rgba(82,226,208,.18); border-radius: 9px; place-items: center; }
.smv-asset-actions { display: flex; grid-column: 1/-1; justify-content: flex-end; flex-wrap: wrap; gap: 5px; }
.smv-asset-actions button { padding: 4px 8px; background: rgba(255,255,255,.04); border: 1px solid var(--smv-line); border-radius: 7px; cursor: pointer; font-size: 8px; }
.smv-asset-actions button.danger { color: var(--smv-danger); }

.smv-viewport-panel { display: grid; min-width: 0; min-height: 0; grid-template-rows: 40px minmax(0,1fr); background: #070914; }
.smv-viewport-toolbar { z-index: 4; display: flex; padding: 5px 8px; align-items: center; justify-content: space-between; gap: 7px; background: rgba(14,17,34,.96); border-bottom: 1px solid var(--smv-line); }
.smv-tool-group { display: flex; align-items: center; gap: 4px; }
.smv-tool-group button { height: 28px; min-width: 30px; padding: 4px 8px; color: var(--smv-muted); background: rgba(255,255,255,.03); border: 1px solid var(--smv-line); border-radius: 7px; cursor: pointer; font-size: 9px; font-weight: 700; }
.smv-view-tool { font-size: 15px !important; }
.smv-tool-group button:hover, .smv-tool-group button.is-active { color: #fff; background: rgba(155,135,255,.14); border-color: rgba(155,135,255,.32); }
.smv-toggle-buttons label { display: flex; align-items: center; gap: 3px; color: var(--smv-muted); font-size: 8px; }
.smv-toggle-buttons input { accent-color: var(--smv-violet); }
.smv-canvas-wrap { position: relative; min-width: 0; min-height: 0; overflow: hidden; }
#smvCanvas { display: block; width: 100%; height: 100%; touch-action: none; }
.smv-axis-legend { position: absolute; top: 12px; left: 12px; display: flex; gap: 4px; pointer-events: none; }
.smv-axis-legend span { display: grid; width: 20px; height: 20px; color: #fff; border-radius: 6px; place-items: center; font-size: 9px; font-weight: 900; }
.smv-axis-legend .x { background: #d94d64; }.smv-axis-legend .y { background: #2aa56c; }.smv-axis-legend .z { background: #347bc1; }
.smv-canvas-help { position: absolute; right: 12px; bottom: 12px; padding: 7px 10px; color: rgba(226,229,241,.8); background: rgba(7,8,20,.82); border: 1px solid var(--smv-line); border-radius: 9px; pointer-events: none; font-size: 9px; backdrop-filter: blur(8px); }

.smv-chip { padding: 4px 7px; color: #d8d1ff; background: rgba(155,135,255,.1); border: 1px solid rgba(155,135,255,.18); border-radius: 999px; font-size: 8px; }
.smv-inspector { padding: 9px; }
.smv-inspector-section { display: grid; padding: 0 0 12px; margin: 0 0 12px; gap: 8px; border-bottom: 1px solid var(--smv-line); }
.smv-inspector-section h3 { margin: 0; color: #d9dce8; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
.smv-field { display: grid; gap: 4px; color: var(--smv-muted); font-size: 8px; font-weight: 700; }
.smv-field input, .smv-field select, .smv-field textarea, .smv-vector-field input { width: 100%; min-height: 30px; padding: 6px 8px; color: #fff; background: rgba(7,9,20,.82); border: 1px solid var(--smv-line); border-radius: 8px; outline: none; font-size: 10px; }
.smv-field textarea { resize: vertical; }
.smv-field input:focus, .smv-field select:focus, .smv-field textarea:focus, .smv-vector-field input:focus { border-color: rgba(82,226,208,.52); box-shadow: 0 0 0 2px rgba(82,226,208,.08); }
.smv-field input[type="color"] { padding: 3px; }
.smv-vector-field { display: grid; padding: 7px; margin: 0; grid-template-columns: repeat(3,1fr); gap: 5px; background: rgba(255,255,255,.018); border: 1px solid var(--smv-line); border-radius: 9px; }
.smv-vector-field legend { padding: 0 5px; color: var(--smv-muted); font-size: 8px; font-weight: 700; }
.smv-vector-field label { display: grid; min-width: 0; grid-template-columns: 17px minmax(0,1fr); align-items: center; }
.smv-vector-field label span { font-size: 8px; font-weight: 900; }.smv-vector-field .axis-x span { color: #ff7185; }.smv-vector-field .axis-y span { color: #66e9a7; }.smv-vector-field .axis-z span { color: #6ab6ff; }
.smv-vector-field input { min-width: 0; padding-inline: 5px; }
.smv-check { display: flex; align-items: center; gap: 7px; color: #c7cad8; font-size: 9px; }
.smv-check input { accent-color: var(--smv-violet); }
.smv-segmented { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; padding: 3px; background: rgba(7,9,20,.75); border: 1px solid var(--smv-line); border-radius: 9px; }
.smv-segmented button { min-height: 28px; color: var(--smv-muted); background: transparent; border: 0; border-radius: 7px; cursor: pointer; font-size: 8px; font-weight: 800; }
.smv-segmented button.is-active { color: #fff; background: rgba(155,135,255,.18); }
.smv-note { padding: 8px; margin: 0; color: var(--smv-muted); background: rgba(82,226,208,.035); border-left: 2px solid rgba(82,226,208,.5); font-size: 8px; line-height: 1.45; }
.smv-inspector-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.smv-inspector-actions button { min-height: 32px; background: rgba(255,255,255,.04); border: 1px solid var(--smv-line); border-radius: 8px; cursor: pointer; font-size: 9px; font-weight: 700; }
.smv-inspector-actions button.danger { color: var(--smv-danger); border-color: rgba(255,114,133,.22); }

.smv-bottom-panel { display: grid; min-width: 0; min-height: 0; grid-template-rows: auto minmax(0,1fr); background: #0b0d1b; border-top: 1px solid var(--smv-line); }
.smv-transport { display: grid; min-height: 78px; padding: 5px 8px; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 5px 10px; border-bottom: 1px solid var(--smv-line); }
.smv-transport-primary, .smv-transport-points, .smv-transport-audio { display: flex; min-width: 0; align-items: center; gap: 7px; }
.smv-transport-points { justify-content: flex-end; overflow-x: auto; }
.smv-transport-audio { grid-column: 1/-1; padding-top: 5px; border-top: 1px solid rgba(255,255,255,.055); }
.smv-transport-audio > strong { color: var(--smv-cyan); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.smv-playback-buttons { display: flex; gap: 3px; }
.smv-playback-buttons button, .smv-transport-action, .smv-audio-action { min-height: 30px; padding: 5px 8px; background: rgba(255,255,255,.04); border: 1px solid var(--smv-line); border-radius: 7px; cursor: pointer; font-size: 9px; font-weight: 700; white-space: nowrap; }
.smv-play-primary { color: #08130f !important; background: var(--smv-cyan) !important; border-color: transparent !important; }
.smv-time-readout { display: flex; min-width: 120px; align-items: center; gap: 5px; color: var(--smv-muted); font-family: ui-monospace, Consolas, monospace; font-size: 9px; }
.smv-time-readout strong { color: #fff; }
.smv-transport-primary > label { display: flex; align-items: center; gap: 4px; color: var(--smv-muted); font-size: 8px; white-space: nowrap; }
.smv-transport input[type="number"], .smv-transport select { width: 68px; height: 28px; padding: 4px 6px; color: #fff; background: rgba(7,9,20,.82); border: 1px solid var(--smv-line); border-radius: 7px; font-size: 9px; }
.smv-transport input[type="range"] { width: 72px; accent-color: var(--smv-violet); }
.smv-audio-action { color: #baffdd; background: rgba(72,190,122,.12); border-color: rgba(82,226,150,.25); }
.smv-transport-action.is-active { color: #07120f; background: var(--smv-cyan); border-color: transparent; }
.smv-transport-action:disabled { opacity: .38; cursor: not-allowed; }
.smv-transport-divider { width: 1px; height: 28px; flex: 0 0 1px; margin: 0 2px; background: var(--smv-line); }
.smv-audio-status { max-width: 145px; overflow: hidden; color: var(--smv-muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.smv-danger-text { color: var(--smv-danger) !important; }
.smv-timeline-layout { display: grid; min-width: 0; min-height: 0; grid-template-columns: 195px minmax(0,1fr); }
.smv-track-labels { min-height: 0; overflow: hidden auto; background: #0f1225; border-right: 1px solid var(--smv-line); }
.smv-track-label { display: grid; padding: 5px 9px; grid-template-columns: 25px minmax(0,1fr); grid-template-rows: 1fr 1fr; align-items: center; column-gap: 7px; border-bottom: 1px solid rgba(255,255,255,.055); cursor: pointer; }
.smv-track-label:hover { background: rgba(255,255,255,.025); }
.smv-track-label.is-selected { background: linear-gradient(90deg, rgba(155,135,255,.17), rgba(82,226,208,.04)); box-shadow: inset 3px 0 0 var(--smv-violet); }
.smv-track-object-icon { display: grid; width: 24px; height: 24px; grid-row: 1/3; color: var(--smv-cyan); background: rgba(82,226,208,.08); border: 1px solid rgba(82,226,208,.16); border-radius: 7px; place-items: center; font-size: 10px; }
.smv-track-label > span:not(.smv-track-object-icon) { overflow: hidden; font-size: 9px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.smv-track-label small { overflow: hidden; color: var(--smv-muted); font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.smv-wave-label { display: grid; padding: 8px; align-content: center; gap: 4px; border-top: 1px solid var(--smv-line); }
.smv-wave-label span { font-size: 9px; font-weight: 800; }.smv-wave-label small { color: var(--smv-muted); font-size: 7px; }
.smv-timeline-scroll { position: relative; min-width: 0; min-height: 0; overflow: auto; }
.smv-timeline-content { position: relative; min-height: 100%; background-image: linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: var(--timeline-step, 75px) 100%; }
.smv-ruler { position: sticky; z-index: 5; top: 0; background: rgba(13,16,32,.97); border-bottom: 1px solid var(--smv-line); }
.smv-ruler span { position: absolute; top: 0; bottom: 0; width: 1px; background: rgba(255,255,255,.13); }
.smv-ruler b { position: absolute; top: 6px; left: 5px; color: var(--smv-muted); font-size: 7px; font-weight: 600; white-space: nowrap; }
.smv-timeline-row { position: absolute; right: 0; left: 0; background: rgba(255,255,255,.006); border-bottom: 1px solid rgba(255,255,255,.055); }
.smv-timeline-row:hover { background: rgba(155,135,255,.025); }
.smv-timeline-row.is-selected { background: linear-gradient(90deg, rgba(155,135,255,.07), transparent 70%); }
.smv-motion-bar { position: absolute; z-index: 2; top: 9px; height: 26px; min-width: 7px; padding: 0 12px; overflow: visible; color: #e9e6ff; background: linear-gradient(90deg, rgba(116,87,255,.78), rgba(82,226,208,.72)); border: 1px solid rgba(255,255,255,.2); border-radius: 7px; box-shadow: 0 5px 13px rgba(0,0,0,.22); cursor: grab; }
.smv-motion-bar:hover { filter: brightness(1.12); }
.smv-motion-bar:active { cursor: grabbing; }
.smv-motion-bar.is-selected { z-index: 3; border-color: #fff; box-shadow: 0 0 0 2px rgba(82,226,208,.28), 0 0 18px rgba(82,226,208,.28); }
.smv-motion-bar > span { display: block; overflow: hidden; font-size: 7px; font-weight: 800; line-height: 24px; text-align: center; text-overflow: ellipsis; white-space: nowrap; pointer-events: none; }
.smv-motion-resize { position: absolute; z-index: 4; top: 3px; width: 6px; height: 18px; background: rgba(255,255,255,.72); border-radius: 3px; cursor: ew-resize; }
.smv-motion-resize-left { left: 3px; }.smv-motion-resize-right { right: 3px; }
.smv-motion-point { position: absolute; z-index: 5; top: 50%; display: grid; width: 16px; height: 16px; padding: 0; color: #0a0d19; background: #f2f0ff; border: 2px solid #7457ff; border-radius: 50%; box-shadow: 0 3px 8px rgba(0,0,0,.35); cursor: ew-resize; place-items: center; transform: translate(-50%,-50%); }
.smv-motion-point span { font-size: 6px; font-weight: 900; pointer-events: none; }
.smv-motion-point:hover, .smv-motion-point.is-selected { width: 19px; height: 19px; color: #07120f; background: var(--smv-cyan); border-color: #fff; box-shadow: 0 0 14px rgba(82,226,208,.7); }
.smv-waveform-row { position: absolute; right: 0; left: 0; overflow: hidden; background: #090b17; border-top: 1px solid var(--smv-line); }
#smvWaveformCanvas { display: block; width: 100%; height: 100%; }
.smv-playhead { position: absolute; z-index: 7; top: 0; bottom: 0; width: 1px; pointer-events: none; background: #ffd264; box-shadow: 0 0 8px rgba(255,210,100,.65); }
.smv-playhead::before { position: absolute; top: 0; left: -5px; width: 11px; height: 7px; content: ''; background: #ffd264; clip-path: polygon(0 0,100% 0,50% 100%); }
.smv-audio-marker { position: absolute; z-index: 4; top: 0; bottom: 0; width: 1px; padding: 0; background: var(--marker); border: 0; cursor: pointer; }
.smv-audio-marker::before { position: absolute; top: 2px; left: -4px; width: 9px; height: 9px; content: ''; background: var(--marker); border-radius: 50%; }

.smv-modal-backdrop { position: fixed; z-index: 2000; inset: 0; display: grid; padding: 24px; background: rgba(2,3,10,.78); backdrop-filter: blur(8px); place-items: center; }
.smv-modal { width: min(470px, 100%); max-height: min(720px, 88vh); overflow: hidden; background: linear-gradient(150deg, #171b35, #0c0f21); border: 1px solid rgba(155,135,255,.28); border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
.smv-modal-wide { width: min(760px, 100%); }
.smv-modal > header, .smv-modal > footer { display: flex; padding: 14px 16px; align-items: center; justify-content: space-between; background: rgba(255,255,255,.018); }
.smv-modal > header { border-bottom: 1px solid var(--smv-line); }.smv-modal > footer { justify-content: flex-end; gap: 8px; border-top: 1px solid var(--smv-line); }
.smv-modal h2 { margin: 0; font-size: 15px; }.smv-modal > header button { width: 28px; height: 28px; background: transparent; border: 0; cursor: pointer; font-size: 20px; }
.smv-modal-body { max-height: 62vh; padding: 16px; overflow: auto; }
.smv-modal > footer button { min-height: 34px; padding: 7px 13px; background: rgba(255,255,255,.05); border: 1px solid var(--smv-line); border-radius: 9px; cursor: pointer; font-size: 10px; font-weight: 700; }
.smv-modal > footer button.primary { color: #08120f; background: var(--smv-cyan); border-color: transparent; }
.smv-library-list { display: grid; gap: 7px; }.smv-library-list article { display: grid; padding: 9px; grid-template-columns: minmax(0,1fr) auto auto auto; align-items: center; gap: 6px; background: rgba(255,255,255,.025); border: 1px solid var(--smv-line); border-radius: 10px; }
.smv-library-list article > div { display: grid; gap: 3px; }.smv-library-list small { color: var(--smv-muted); font-size: 8px; }
.smv-library-list button { min-height: 28px; padding: 5px 8px; background: rgba(255,255,255,.04); border: 1px solid var(--smv-line); border-radius: 7px; cursor: pointer; font-size: 8px; }.smv-library-list button.danger { color: var(--smv-danger); }
.smv-range-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

.smv-context-menu { position: fixed; z-index: 2200; display: grid; width: 180px; padding: 6px; gap: 2px; background: #161a34; border: 1px solid rgba(155,135,255,.3); border-radius: 11px; box-shadow: 0 18px 48px rgba(0,0,0,.48); }
.smv-context-menu[hidden] { display: none; }.smv-context-menu button { padding: 8px 9px; background: transparent; border: 0; border-radius: 7px; cursor: pointer; font-size: 9px; text-align: left; }.smv-context-menu button:hover { background: rgba(155,135,255,.12); }.smv-context-menu button.danger { color: var(--smv-danger); }
.smv-toast { position: fixed; z-index: 2300; right: 22px; bottom: 22px; max-width: 360px; padding: 11px 14px; color: #fff; background: #1b203d; border: 1px solid var(--smv-line); border-radius: 11px; box-shadow: 0 18px 45px rgba(0,0,0,.35); opacity: 0; pointer-events: none; transform: translateY(12px); transition: .2s ease; font-size: 10px; font-weight: 700; }
.smv-toast.is-visible { opacity: 1; transform: translateY(0); }.smv-toast[data-type="success"] { border-color: rgba(82,226,155,.45); }.smv-toast[data-type="error"] { border-color: rgba(255,114,133,.5); }
.smv-empty { padding: 22px 12px; color: var(--smv-muted); font-size: 9px; line-height: 1.5; text-align: center; }

@media (max-width: 1280px) {
  .smv-workspace { grid-template-columns: 205px minmax(320px,1fr) 270px; }
  .smv-toolbar { grid-template-columns: minmax(150px,.6fr) auto minmax(140px,.5fr); gap: 6px; }
  .smv-icon-button { min-width: 39px; padding-inline: 4px; }.smv-icon-button small { display: none; }
  .smv-view-buttons button { padding-inline: 5px; }.smv-toggle-buttons label { font-size: 0; }.smv-toggle-buttons input { width: 14px; height: 14px; }
  .smv-transport { gap: 5px 7px; }.smv-transport-primary, .smv-transport-points, .smv-transport-audio { gap: 5px; }.smv-transport-action { padding-inline: 6px; }
}

@media (max-width: 980px) {
  .smv-root { grid-template-rows: auto minmax(300px,1fr) minmax(210px,30vh); }
  .smv-workspace { grid-template-columns: 180px minmax(300px,1fr); }
  .smv-right-panel { display: none; }
  .smv-toolbar-actions-right { display: none; }
  .smv-toolbar { grid-template-columns: minmax(150px,1fr) auto; }
}


/* Typographie compacte : les repères restent dans leur géométrie de timeline. */
.smv-toolbar-kicker,
.smv-icon-button small,
.smv-panel-heading span,
.smv-inspector-section h3,
.smv-transport-audio > strong { font-size: 9px; }
.smv-panel-tabs button,
.smv-wide-action,
.smv-list-card > button,
.smv-asset-actions button,
.smv-tool-group button,
.smv-toggle-buttons label,
.smv-field,
.smv-check,
.smv-segmented button,
.smv-inspector-actions button,
.smv-playback-buttons button,
.smv-transport-action,
.smv-audio-action,
.smv-context-menu button { font-size: 10px; }
.smv-field input,
.smv-field select,
.smv-field textarea,
.smv-vector-field input,
.smv-transport input[type="number"],
.smv-transport select { font-size: 11px; line-height: 1.3; }
.smv-list-copy strong,
.smv-panel-heading strong,
.smv-track-label > span:not(.smv-track-object-icon),
.smv-wave-label span { font-size: 10px; }
.smv-list-copy small,
.smv-asset-card small,
.smv-panel-heading small,
.smv-track-label small,
.smv-wave-label small,
.smv-audio-status,
.smv-library-list small,
.smv-empty { font-size: 9px; }
.smv-note,
.smv-time-readout,
.smv-transport-primary > label,
.smv-toast { font-size: 10px; }
.smv-ruler b,
.smv-motion-bar > span { font-size: 8px; }
.smv-motion-point span { font-size: 7px; }
.smv-modal > footer button,
.smv-library-list button { font-size: 10px; }
