:root{--bg: #101010;--surface: #1a1a1a;--card: #1e1e1e;--input: #242424;--hover: #2a2a2a;--border: #2a2a2a;--text: #fafafa;--text-2: #a0a0a0;--text-3: #8a8a8a;--brand-yellow: #ffc252;--brand-orange: #fe803f;--brand-red: #ff413b;--accent: #fe803f;--play: #4aa8ff;--danger: #ff6e69;--ok: #34d399;--brand-gradient: linear-gradient(135deg, #ffc252, #fe803f, #ff413b);--radius: 8px;--radius-sm: 6px;--ease: cubic-bezier(.22, 1, .36, 1);--dur: .16s;--z-sticky: 10;--z-dropdown: 20;--z-modal-backdrop: 30;--z-modal: 40;--z-toast: 50;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Inter,system-ui,-apple-system,sans-serif;overscroll-behavior:none;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;border-radius:var(--radius-sm)}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button:disabled{opacity:.45;cursor:default}input[type=text]{background:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:6px 10px}input[type=text]::placeholder{color:var(--text-3)}.timecode{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-variant-numeric:tabular-nums}.shell{height:100dvh;display:grid;grid-template-rows:48px 1fr auto auto;grid-template-columns:72px auto 1fr;grid-template-areas:"top top top" "rail library stage" "strip strip strip" "timeline timeline timeline"}.topbar{grid-area:top;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar .logo{font-weight:700;font-size:16px;letter-spacing:-.01em;margin-right:8px;-webkit-user-select:none;user-select:none}.topbar .logo em{font-style:normal;color:var(--brand-orange)}.project-name{display:flex;align-items:center;gap:8px;color:var(--text);font-weight:500;padding:6px 10px;border-radius:var(--radius-sm)}.save-state{font-size:12px;color:var(--text-3);min-width:90px}.save-state.error{color:var(--danger)}.spacer{flex:1}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--text-2);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;background:var(--input);border:1px solid var(--border);color:var(--text);font-weight:500;font-size:13px;border-radius:var(--radius);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.btn:hover:not(:disabled){background:var(--hover)}.btn-export{position:relative;height:32px;padding:0 18px;border-radius:var(--radius);font-weight:700;font-size:13px;color:#101010;background:var(--brand-gradient);overflow:hidden;transition:filter var(--dur) var(--ease)}.btn-export:hover:not(:disabled){filter:brightness(1.08)}.rail{grid-area:rail;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:stretch;padding:8px;gap:4px}.rail-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 0 7px;color:var(--text-2);font-size:11px;border-radius:var(--radius);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.rail-btn:hover,.rail-btn.active{color:var(--text);background:var(--card)}.rail-btn.active:before{content:"";position:absolute;left:-8px;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--accent)}.library{grid-area:library;width:264px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.library.collapsed{display:none}.usage{margin-top:auto;padding:10px 12px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.usage-track{height:6px;border-radius:3px;background:var(--card);overflow:hidden}.usage-fill{height:100%;border-radius:3px;background:var(--brand-gradient);transition:width var(--dur) var(--ease)}.usage.near .usage-fill{background:var(--brand-orange)}.usage.full .usage-fill{background:var(--brand-red)}.usage-label{font-size:11px;color:var(--text-2);font-variant-numeric:tabular-nums}.usage.full .usage-label{color:var(--brand-red)}.library-head{padding:12px 12px 8px;display:flex;flex-direction:column;gap:8px}.btn-upload{display:flex;align-items:center;justify-content:center;gap:8px;height:36px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--card);color:var(--text);font-weight:500;font-size:13px;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.btn-upload:hover:not(:disabled){border-color:var(--accent);background:var(--input)}.upload-status{font-size:12px;color:var(--text-2)}.upload-status.error{color:var(--danger)}.srt-import{display:flex;flex-direction:column;gap:6px;padding:12px 12px 10px;border-bottom:1px solid var(--border);margin-bottom:4px}.srt-import-btn{width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:8px;background:var(--card);color:var(--text);font-weight:600;font-size:13px;cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.srt-import-btn:hover{border-color:var(--accent);background:var(--input)}.subs-panel{display:flex;flex-direction:column;min-height:0;flex:1}.subs-style{padding:10px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:6px}.subs-style-label{font-size:12px;color:var(--text-2);font-weight:600}.subs-empty{padding:12px;margin:0;font-size:12px;color:var(--text-2);line-height:1.5}.subs-list{list-style:none;margin:0;padding:4px 8px 16px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;display:flex;flex-direction:column;gap:4px}.subs-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:var(--card);cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.subs-item:hover{background:var(--input)}.subs-item.active{border-color:var(--accent)}.subs-time{font-size:11px;color:var(--text-2);font-variant-numeric:tabular-nums}.subs-text{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subs-del{border:none;background:transparent;color:var(--text-2);font-size:18px;line-height:1;width:22px;height:22px;border-radius:6px;cursor:pointer}.subs-del:hover{background:var(--danger);color:#fff}.media-grid{flex:1;overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:4px 12px 16px;align-content:start}.media-card{display:flex;flex-direction:column;gap:5px;padding:0;min-width:0;text-align:left;border-radius:var(--radius)}.media-thumb{display:block;width:100%;position:relative;aspect-ratio:9 / 16;border-radius:var(--radius);background:var(--card) center / cover no-repeat;border:1px solid var(--border);overflow:hidden;transition:transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}.media-card:hover .media-thumb{transform:translateY(-1px);border-color:var(--text-3)}.media-thumb .dur{position:absolute;left:6px;bottom:6px;font-size:11px;padding:1px 5px;border-radius:4px;background:#101010c7;color:var(--text)}.media-thumb .del{position:absolute;top:5px;right:5px;z-index:1;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#101010c7;color:var(--text-2);font-size:13px;opacity:0;transition:opacity var(--dur) var(--ease),color var(--dur) var(--ease)}.media-card:hover .del,.media-thumb .del:focus-visible{opacity:1}.media-thumb .del.left{left:5px;right:auto}.media-thumb .del:hover{color:var(--danger)}@media(pointer:coarse){.media-thumb .del{opacity:1}}.bulk-bar{position:absolute;top:0;left:0;right:0;z-index:var(--z-sticky, 30);display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;background:var(--surface-2, #1a1a1a);border-bottom:1px solid var(--border, #2a2a2a);box-shadow:0 6px 16px #00000073;font-size:13px}.bulk-bar .bulk-count{font-weight:700;color:var(--accent);white-space:nowrap}.bulk-styles{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.bulk-styles .bulk-label{color:var(--text-2)}.bulk-chip{padding:4px 10px;border-radius:999px;background:var(--surface-3, #262626);color:var(--text-1, #eee);font-size:12px;border:1px solid var(--border, #333);transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.bulk-chip:hover{background:var(--surface-4, #333);border-color:var(--accent)}.bulk-volume{display:flex;align-items:center;gap:6px}.bulk-volume input[type=range]{width:110px;accent-color:var(--accent)}.bulk-actions{display:flex;gap:8px;margin-left:auto}.silence-bar{position:absolute;top:0;left:0;right:0;z-index:var(--z-sticky, 30);display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;background:var(--surface-2, #1a1a1a);border-bottom:1px solid var(--border, #2a2a2a);box-shadow:0 6px 16px #00000073;font-size:13px}.silence-bar .silence-summary{font-weight:700;color:#ff413b;white-space:nowrap}.silence-bar .btn{min-height:32px}@media(pointer:coarse){.silence-bar .btn{min-height:44px;min-width:44px}}.subs-groups{display:flex;flex-direction:column;gap:12px}.subs-group{border:1px solid var(--border, #2a2a2a);border-radius:8px;overflow:hidden}.subs-group-head{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--surface-2, #1a1a1a)}.subs-group-name{font-weight:700;font-size:13px;color:var(--text-1, #eee);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.subs-group-count{font-size:11px;color:var(--text-2, #aaa);background:var(--surface-3, #262626);border-radius:999px;padding:1px 8px}.subs-group-btn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--surface-3, #262626);color:var(--text-2, #ccc);font-size:13px}.subs-group-btn:hover{background:var(--surface-4, #333);color:var(--text-1, #fff)}.subs-group-btn.danger:hover{color:var(--danger, #ff5a5a)}.subs-group-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 10px;font-size:12px;color:var(--text-2, #ccc);background:var(--surface-1, #141414);border-top:1px solid var(--border, #2a2a2a)}.media-confirm{display:flex;flex-direction:column;gap:6px;padding:8px;font-size:12px;color:var(--text-2);border:1px solid var(--danger);border-radius:var(--radius);aspect-ratio:9 / 16;align-items:stretch;justify-content:center;text-align:center}.media-confirm .btn{justify-content:center;height:28px;font-size:12px}.media-confirm .btn.danger{border-color:var(--danger);color:var(--danger)}.add-btn{position:absolute;right:6px;bottom:6px;z-index:1;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--brand-gradient);color:#101010;font-size:18px;font-weight:700;line-height:1;box-shadow:0 2px 8px #0006;transition:transform var(--dur) var(--ease)}.add-btn:hover{transform:scale(1.1)}.media-name{font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-card.processing .media-thumb{border-style:dashed}.media-empty{grid-column:1 / -1;color:var(--text-3);font-size:13px;padding:24px 8px;text-align:center}.audio-list{flex:1;overflow-y:auto;padding:4px 12px 16px;display:flex;flex-direction:column;gap:6px}.audio-row{position:relative;display:flex;align-items:center;gap:8px;padding:10px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:grab;transition:border-color var(--dur) var(--ease)}.audio-row:hover{border-color:var(--text-3)}.audio-row:active{cursor:grabbing}.audio-row .audio-name{flex:1;min-width:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.audio-row .audio-dur{font-size:12px;color:var(--text-2)}.audio-row .del-inline{color:var(--text-3);font-size:12px;padding:4px}.audio-row .del-inline:hover{color:var(--danger)}.audio-row .add-btn.inline{position:static;width:24px;height:24px;font-size:16px}.audio-row.confirm{flex-wrap:wrap;gap:6px;font-size:12px;color:var(--text-2);border-color:var(--danger);cursor:default}.audio-row.confirm .btn{height:26px;font-size:12px}.audio-row.confirm .btn.danger{border-color:var(--danger);color:var(--danger)}.text-panel{padding:12px;display:flex;flex-direction:column;gap:10px}.text-style{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 12px 14px;border-radius:var(--radius);background:var(--card);border:1px solid var(--border);cursor:grab;transition:border-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.text-style:hover{border-color:var(--text-3)}.text-style:active{cursor:grabbing}.text-style .preview{color:var(--text)}.text-style .label{font-size:12px;color:var(--text-2)}.text-style .add-btn{top:10px;bottom:auto}.stage{grid-area:stage;display:grid;grid-template-rows:1fr 44px;min-width:0;min-height:0;background:var(--bg)}.preview-wrap{display:flex;align-items:center;justify-content:center;min-height:0;padding:16px}.preview-wrap canvas{max-height:100%;max-width:100%;border-radius:4px;box-shadow:0 0 0 1px var(--border),0 12px 40px #00000080}.transport{display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid var(--border);background:var(--surface);padding:0 16px}.transport .time{font-size:13px;color:var(--text)}.transport .time .total{color:var(--text-2)}.transport .play-btn{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);border-radius:50%;transition:background var(--dur) var(--ease)}.transport .play-btn:hover{background:var(--hover)}.toolstrip{grid-area:strip;display:flex;align-items:center;gap:4px;height:40px;padding:0 10px;background:var(--surface);border-top:1px solid var(--border)}.tool-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12px;color:var(--text-2);border-radius:var(--radius-sm);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.tool-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.tool-sep{width:1px;height:18px;background:var(--border);margin:0 6px}.tool-label{font-size:12px;color:var(--text-3)}.toolstrip input[type=range]{accent-color:var(--accent);width:110px}.toolstrip .caption-input{width:220px;font-size:13px;height:28px}.caption-styles{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.caption-style-chip{height:28px;padding:0 10px;border-radius:14px;cursor:pointer;border:1px solid var(--border);background:var(--surface-2, #1b1b1f);color:var(--text-2, #cfcfd4);font-size:12px;font-weight:600;white-space:nowrap}.caption-style-chip:hover{background:var(--hover);color:var(--text)}.caption-style-chip.active{border-color:transparent;color:#fff;background:linear-gradient(90deg,#ffc252,#fe803f,#ff413b)}.insp-hint{display:block;font-size:12px;color:var(--text-3);margin:4px 0 8px}.timeline-zone{grid-area:timeline;height:230px;background:var(--surface);position:relative}.timeline-row{display:flex;height:100%;min-height:0}.timeline-canvas-wrap{position:relative;flex:1;min-width:0;height:100%}.track-headers{position:relative;width:36px;flex:none;height:100%;overflow:hidden;border-right:1px solid var(--border, rgba(255, 255, 255, .08));background:var(--surface)}.track-header{position:absolute;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;overflow:hidden}.track-header-label{font-size:10px;font-weight:600;color:var(--text-3);line-height:1;-webkit-user-select:none;user-select:none}.track-header-btn{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border, rgba(255, 255, 255, .14));border-radius:5px;background:transparent;color:var(--text-2, var(--text));font-size:13px;line-height:1;cursor:pointer;padding:0}@media(pointer:coarse){.track-header-btn{position:relative}.track-header-btn:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}}.track-header-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.track-header-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.track-header-btn:disabled{opacity:.35;cursor:not-allowed}.track-header-btn.danger:hover:not(:disabled){border-color:#ff413b;color:#ff413b}.track-confirm{position:fixed;left:50%;bottom:120px;transform:translate(-50%);z-index:var(--z-modal, 60);display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;background:#181818;border:1px solid var(--border, rgba(255, 255, 255, .12));box-shadow:0 8px 32px #00000080}.track-confirm-text{margin:0;font-size:13px;color:var(--text)}.track-confirm-actions{display:flex;gap:8px}.band-drop-hint{position:absolute;left:0;right:0;z-index:1;pointer-events:none}.band-drop-hint.ok{background:#fe803f24;border:1px dashed var(--accent);border-left:none;border-right:none}.band-drop-hint.dim{background:#00000073}.timeline-zone.drop-active:after{content:"Suelta para agregar al timeline";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:6px;z-index:var(--z-sticky);border:2px dashed var(--accent);color:var(--text);font-weight:600;pointer-events:none}.proj-switch{position:relative}.proj-trigger{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:6px 10px;color:var(--text);font-weight:500;border-radius:var(--radius-sm);transition:background var(--dur) var(--ease)}.proj-trigger:hover{background:var(--hover)}.proj-trigger svg{color:var(--text-3);flex:0 0 auto}.proj-trigger-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-pop{position:absolute;top:calc(100% + 8px);left:0;z-index:var(--z-dropdown);width:340px;max-width:calc(100vw - 24px);background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 48px #0000008c;overflow:hidden}.proj-pop-head{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.proj-pop-title{font-weight:700;font-size:13px;flex:1}.proj-pop-head-actions{display:flex;gap:6px}.proj-pop-head-actions .btn{height:28px;padding:0 10px;font-size:12px}.proj-list{max-height:60vh;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px}.proj-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid transparent}.proj-row:hover{background:var(--input)}.proj-row.active{background:var(--input);border-color:var(--border)}.proj-row.confirm{flex-wrap:wrap;border-color:var(--danger);background:var(--surface)}.proj-confirm-text{flex:1;min-width:0;font-size:12px;color:var(--text-2)}.proj-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left;padding:2px}.proj-name-text{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-meta{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.proj-badge{align-self:flex-start;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--accent)}.proj-rename{flex:1;min-width:0;height:30px;font-size:13px}.proj-actions{display:flex;gap:4px;flex:0 0 auto}.proj-act{padding:4px 8px;font-size:12px;color:var(--text-2);border-radius:var(--radius-sm);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.proj-act:hover:not(:disabled){background:var(--hover);color:var(--text)}.proj-act.danger:hover:not(:disabled){color:var(--danger)}.proj-row .btn.danger{border-color:var(--danger);color:var(--danger);height:28px;font-size:12px}.export-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.export-modal{z-index:var(--z-modal);width:min(92vw,340px);padding:20px;background:var(--card);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 48px #0000008c;display:flex;flex-direction:column;align-items:stretch;gap:12px;text-align:center}.export-modal h4{margin:0;font-size:15px}.export-modal .row{display:flex;justify-content:space-between;font-size:13px;color:var(--text-2);text-align:left}.export-modal .row strong{color:var(--text)}.export-modal .actions{display:flex;gap:8px;justify-content:center;margin-top:4px}.export-modal a.btn-export{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.export-modal-label{margin:0;font-size:13px;color:var(--text-2)}.export-modal-label.error{color:var(--danger);overflow-wrap:break-word}.export-modal-pct{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.export-spinner{width:34px;height:34px;margin:0 auto;border-radius:50%;border:3px solid var(--input);border-top-color:var(--accent);animation:export-spin .9s linear infinite}@keyframes export-spin{to{transform:rotate(360deg)}}.export-check{width:34px;height:34px;margin:0 auto;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ok);color:#101010;font-size:18px;font-weight:700}.export-bar{position:relative;height:8px;border-radius:999px;background:var(--input);overflow:hidden}.export-bar-fill{height:100%;width:0%;border-radius:inherit;background:var(--brand-gradient);transition:width .3s var(--ease)}.export-bar.indeterminate .export-bar-fill{width:40%;animation:export-slide 1.2s var(--ease) infinite}@keyframes export-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.shell.mobile{grid-template-rows:44px 1fr auto minmax(150px,38dvh) 56px;grid-template-columns:1fr;grid-template-areas:"top" "stage" "strip" "timeline" "dock"}.shell.mobile .rail,.shell.mobile .library{display:none}.shell.mobile .topbar{padding:0 10px}.shell.mobile .topbar .logo{font-size:14px}.shell.mobile .project-name{display:none}.shell.mobile .save-state{min-width:0}.shell.mobile .preview-wrap{padding:8px}.shell.mobile .transport{gap:4px;padding:0 8px}.shell.mobile .transport .time{font-size:11px}.shell.mobile .toolstrip{overflow-x:auto}.shell.mobile .timeline-zone{height:auto}.dock{grid-area:dock;display:none;align-items:stretch;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.shell.mobile .dock{display:flex}.dock-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--text-2);min-height:52px}.dock-btn:active{color:var(--text);background:var(--card)}.media-thumb .sel{position:absolute;top:5px;right:5px;z-index:1;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid rgba(250,250,250,.85);background:#10101073;color:#101010;font-size:12px;font-weight:700}.media-thumb.selected{border-color:var(--accent)}.media-thumb.selected .sel{background:var(--accent);border-color:var(--accent)}.sheet-tray{display:flex;align-items:center;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface)}.sheet-tray .tray-scroll{flex:1;display:flex;gap:8px;overflow-x:auto}.tray-thumb{position:relative;flex:0 0 auto;width:46px;aspect-ratio:9 / 16;border-radius:6px;background:var(--card) center / cover no-repeat;border:1px solid var(--border)}.tray-thumb .rm{position:absolute;top:-6px;right:-6px;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--text);color:#101010;font-size:11px;font-weight:700;line-height:1}.library-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:var(--bg);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.library-sheet .sheet-head{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border)}.library-sheet .sheet-head h3{margin:0;font-size:15px;flex:1}.library-sheet .media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.shell.mobile .toolstrip{display:none}.inspector-sheet{position:fixed;left:0;right:0;bottom:0;max-height:40dvh;overflow-y:auto;overscroll-behavior:contain;z-index:var(--z-modal);background:var(--surface);border-top:1px solid var(--border);border-radius:16px 16px 0 0;box-shadow:0 -12px 40px #00000080;padding:8px 16px calc(16px + env(safe-area-inset-bottom));animation:sheet-up var(--dur) var(--ease)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.inspector-sheet .grip{width:36px;height:4px;border-radius:2px;background:var(--border);margin:2px auto 10px}.inspector-sheet .insp-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.inspector-sheet .insp-head .title{flex:1;font-weight:600;font-size:14px}.inspector-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:8px}.insp-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:60px;padding:8px 4px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:12px;transition:background var(--dur) var(--ease)}.insp-action:active{background:var(--hover)}.insp-action.danger{color:var(--danger)}.insp-field{display:flex;flex-direction:column;gap:6px;margin-top:12px}.insp-field label{font-size:12px;color:var(--text-2)}.insp-field input[type=text]{height:40px;font-size:15px}.insp-field input[type=range]{accent-color:var(--accent);height:32px}.shell.mobile{padding-bottom:var(--insp-h, 0px);transition:padding-bottom var(--dur) var(--ease)}.inspector-sheet.collapsed .grip,.inspector-sheet.collapsed .insp-head,.inspector-sheet.collapsed .inspector-actions,.inspector-sheet.collapsed .insp-hint,.inspector-sheet.collapsed .insp-field:has(input[type=range]){display:none}.inspector-sheet.collapsed .insp-field{margin-top:0}.inspector-sheet.collapsed .insp-styles .caption-styles{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;height:36px;align-items:center}.inspector-sheet.collapsed .insp-styles .caption-style-chip{flex:none;white-space:nowrap}.banner{display:flex;gap:12px;align-items:center;padding:7px 14px;font-size:13px;border-bottom:1px solid var(--border)}.banner.warn{background:#2b1d05;color:#ffd58a}.banner.info{background:#0d2237;color:#a8d4ff}.center-screen{height:100dvh;display:grid;place-items:center;text-align:center;padding:24px;color:var(--text-2)}.center-screen h2{color:var(--text);margin:0 0 8px}@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
