/* Video toolbox: trim, merge, speed, add music, rotate, loop (after hub.css, bpm.css, slowed.css, cutjoin.css, video.css) */
.rail i.cut{background:repeating-linear-gradient(45deg,#ff5f7a 0 6px,#b8344d 6px 12px)}
.rotstage{display:flex;align-items:center;justify-content:center;min-height:320px}
.rotstage video{width:auto;max-width:100%;max-height:52vh;transition:transform .25s ease}
.rotbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rotbtns .btn{font-size:13.5px;padding:9px 10px}
.rotbtns .btn:last-child{grid-column:span 2}
.mpick{display:flex;flex-direction:column;gap:6px}.mpick .hint{margin:0;word-break:break-word}
.clips{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px;counter-reset:none}
.clip{display:grid;grid-template-columns:24px 96px minmax(0,1fr) auto;align-items:center;gap:12px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.clip .num{color:var(--muted);font-weight:700;text-align:center}
.clip .th{width:96px;height:54px;border-radius:6px;background:#000;overflow:hidden}.clip .th canvas{width:100%;height:100%;display:block}
.clip .meta{display:flex;flex-direction:column;gap:2px;min-width:0}.clip .meta b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.clip .meta span{color:var(--muted);font-size:12.5px}
.clip .btns{display:flex;gap:4px}.clip .btns .mini{min-width:32px}.clip .btns .mini:disabled{opacity:.35;cursor:default}
@media (max-width:560px){.clip{grid-template-columns:20px 64px minmax(0,1fr);gap:8px}.clip .th{width:64px;height:36px}.clip .btns{grid-column:1/-1;justify-content:flex-end}}
/* GIF tools */
.gifstage{display:flex;align-items:center;justify-content:center;min-height:220px;max-height:60vh;border:1px solid var(--line);border-radius:12px;overflow:hidden;padding:10px}
.gifstage img,.gifstage canvas{max-width:100%;max-height:56vh;image-rendering:auto;display:block}
.checker{background:#1a1f2b;background-image:linear-gradient(45deg,#232a3a 25%,transparent 25%,transparent 75%,#232a3a 75%),linear-gradient(45deg,#232a3a 25%,transparent 25%,transparent 75%,#232a3a 75%);background-size:20px 20px;background-position:0 0,10px 10px}
.gifstage + .clips{margin-top:12px}
.pcts{display:flex;flex-wrap:wrap;gap:6px}
