body > .tool-page.tool-page--audio-trimmer { width: 100%; max-width: none; margin: 0; padding: 0; }
.tool-page--audio-trimmer [hidden] { display: none !important; }
.trim-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 350px); height: 100%; min-height: 0; text-align: left; font-variant-numeric: tabular-nums; }
.trim-viewer { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.trim-viewer-header { display: flex; align-items: center; gap: 10px; padding: 8px; }
.trim-viewer-header span { overflow: hidden; color: #bdbbc8; text-overflow: ellipsis; white-space: nowrap; }
.trim-waveform { position: relative; display: flex; flex: 1 1 0; min-height: 0; align-items: center; justify-content: center; overflow: hidden; touch-action: none; user-select: none; cursor: crosshair; }
.trim-waveform canvas, .trim-clips { position: absolute; inset: 0; width: 100%; height: 100%; }
.trim-workspace:not([data-ready]) .trim-viewer-header { visibility: hidden; }
.trim-empty { position: absolute; display: flex; flex-direction: column; align-items: center; gap: 24px; padding: 0 20px; color: #bdbbc8; text-align: center; }
.trim-empty[hidden] { display: none; }
.trim-empty p { margin: 0; }
.trim-empty button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 7px 12px; }
.trim-empty svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.trim-clips { pointer-events: none; }
.trim-clip--cut { position: absolute; top: 0; bottom: 0; box-sizing: border-box; background: #77777b16; border-inline: 2px solid #77777b80; }
.tool-page--audio-trimmer .trim-workspace button.trim-cut-handle:not(.default) { position: absolute; top: 0; bottom: 0; width: 16px; min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; cursor: ew-resize; pointer-events: auto; touch-action: none; }
.trim-cut-handle::before { content: ''; position: absolute; top: 7px; left: 5px; width: 6px; height: 15px; border-radius: 3px; background: #a8a8b0; }
.trim-cut-handle[data-edge="start"] { left: -10px; } .trim-cut-handle[data-edge="end"] { right: -10px; }
.trim-cut-time { position: absolute; top: 27px; color: #c3c3ca; font-size: .7rem; white-space: nowrap; pointer-events: none; }
.trim-cut-time--start { left: 5px; } .trim-cut-time--end { top: 43px; right: 5px; }
.trim-selection { position: absolute; top: 0; bottom: 0; border-inline: 2px solid #f185b7; background: #f185b726; pointer-events: none; }
.trim-selection-handle { position: absolute; top: 0; bottom: 0; width: 16px; cursor: ew-resize; pointer-events: auto; touch-action: none; }
.trim-selection-handle:first-child { left: -9px; } .trim-selection-handle:last-child { right: -9px; }
.trim-playhead { position: absolute; top: 0; bottom: 0; width: 2px; background: #fff; pointer-events: none; }
.trim-transport { padding: 10px 0 12px; }
.trim-timeline { position: relative; height: 38px; margin-bottom: 8px; overflow: hidden; background: #000; touch-action: none; user-select: none; }
.trim-film-wave, .trim-film { position: absolute; inset: 0; width: 100%; height: 100%; }
.trim-film-wave { pointer-events: none; opacity: .7; }
.trim-film-gap, .trim-film-clip { position: absolute; top: 0; bottom: 0; box-sizing: border-box; }
.trim-film-gap { background: #242426; border-right: 2px solid #414146; }
.tool-page--audio-trimmer .trim-workspace button.trim-film-clip:not(.default) { display: flex; align-items: center; justify-content: flex-start; gap: 5px; min-width: 0; min-height: 0; padding: 0 7px; overflow: hidden; border: 0; border-right: 2px solid #34766f; border-radius: 0; background: transparent; color: #d2fff8; font-size: .7rem; white-space: nowrap; cursor: grab; touch-action: none; }
.trim-film-gap:last-child, .tool-page--audio-trimmer .trim-workspace button.trim-film-clip:last-child:not(.default) { border-right: 0; }
.trim-film-clip:active { cursor: grabbing; } .trim-film-clip span { flex: none; text-shadow: 0 1px 4px #000; }
.trim-film-clip.is-drop-before, .trim-film-gap.is-drop-before { box-shadow: inset 3px 0 #fff; }
.trim-film-clip.is-drop-after, .trim-film-gap.is-drop-after { box-shadow: inset -3px 0 #fff; }
.trim-film-playhead { position: absolute; top: 0; bottom: 0; width: 2px; background: #fff; pointer-events: none; }

.trim-transport-row { display: flex; align-items: center; gap: 10px; margin: 5px 12px 0; }
.tool-page--audio-trimmer #trim-play { width: 68px; flex: 0 0 68px; } #trim-time { white-space: nowrap; }
.trim-volume { display: flex; align-items: center; gap: 8px; margin-left: auto; } .trim-volume input { width: 96px; } .trim-volume output { width: 4.5ch; text-align: right; color: #bdbbc8; }
#trim-volume { --eyy-range-accent: #51e6cf; } #trim-seek { --eyy-seek-accent: #51e6cf; }
.trim-controls { display: flex; flex-direction: column; min-width: 0; min-height: 0; height: 100%; padding: 12px 8px; border-left: 2px solid var(--eyy-border); }
.trim-controls h1 { margin: 0; font-size: 1rem; } .trim-description { color: #bdbbc8; margin: 7px 0 0; padding-bottom: 12px; border-bottom: 2px solid var(--eyy-border); }
.trim-controls-body { flex: 1 1 0; min-width: 0; min-height: 0; overflow-x: hidden; overflow-y: auto; scrollbar-gutter: stable; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #45454f transparent; }
.trim-section { padding: 12px 0; border-bottom: 2px solid var(--eyy-border); } .trim-label, .trim-heading h2 { font-size: .85rem; font-weight: 600; }
.trim-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; } .trim-heading h2 { margin: 0; }
.trim-switch { display: flex; gap: 6px; margin-top: 8px; } .trim-switch button { flex: 1 1 0; min-width: 0; }
.tool-page--audio-trimmer .trim-switch button[aria-pressed="true"] { border-color: #51e6cf; color: #fff; background: #0b1c1b; }
.trim-hint { overflow-wrap: anywhere; margin: 9px 0 0; color: #a9a7b5; line-height: 1.45; }
.trim-actions { display: flex; gap: 6px; margin-top: 12px; } .trim-actions button { flex: 1 1 0; min-width: 0; }
#trim-restore { width: 100%; margin-top: 6px; } .trim-edges { margin-top: 10px; }
.trim-export { flex: none; padding-top: 10px; border-top: 2px solid var(--eyy-border); } .trim-export div { color: #bdbbc8; min-height: 1.5em; margin-bottom: 6px; }
.tool-page--audio-trimmer .trim-workspace button:not(.default) { min-height: 34px; padding: 6px 10px; font: inherit; } .tool-page--audio-trimmer button:disabled { opacity: .46; cursor: default; }
.tool-page--audio-trimmer #trim-export { width: 100%; border-color: #337f76; background: #0c2522; } .tool-page--audio-trimmer #trim-export:hover:not(:disabled) { background: #153a35; }
.trim-drop-overlay { position: fixed; inset: 52px 10px 10px; z-index: 990; display: flex; align-items: center; justify-content: center; border: 2px dashed #51e6cf; border-radius: 10px; background: #0b211fee; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 140ms ease, visibility 140ms; }
.trim-workspace.is-dragging .trim-drop-overlay { opacity: 1; visibility: visible; }
@media (max-width: 760px) { .trim-workspace { grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0, 40%) minmax(0, 1fr); } .trim-controls { padding: 8px; border: 0; border-top: 2px solid var(--eyy-border); } .trim-section { padding: 8px 0; } }
@media (max-width: 500px) { .trim-volume input { width: 72px; } }
@media (prefers-reduced-motion: reduce) { .trim-drop-overlay { transition: none; } }
