/* éditeur — plein écran sous le header, hors .container */
main.container:has(.editor){max-width:none;padding:16px 20px}
.editor{display:flex;gap:16px;align-items:flex-start;min-height:calc(100vh - 96px)}
.ed-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.ed-right{width:640px;flex:none;display:flex;flex-direction:column;gap:16px}
.ed-card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.ed-card h3{margin:0 0 12px;font-size:15px}
.ed-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.ed-card-head h3{margin:0;flex:1}
.counter{background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:0 9px;font-size:12px;color:var(--muted)}
.icon-btn{background:none;border:1px solid transparent;color:var(--text);font:inherit;font-size:16px;width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}
.icon-btn:hover{background:var(--surface)}
.icon-btn:disabled{opacity:.35;cursor:not-allowed}
.small{font-size:11px}

/* panneau crop */
.crop-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:12px}
.crop-title{flex:1;min-width:260px}
.crop-title h2{font-size:18px;margin:0;display:flex;align-items:baseline;gap:10px}
.crop-title p{font-size:12px;margin:2px 0 0}
.save-state{font-size:11px;font-weight:400;color:var(--muted)}
.tabs{display:flex;align-items:center;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:3px}
.tabs button{background:none;border:0;color:var(--muted);font:inherit;font-size:13px;font-weight:500;padding:5px 10px;border-radius:6px;cursor:pointer}
.tabs button.selected{color:var(--accent);background:rgba(34,184,221,.12)}
.tabs>span{padding:0 6px}
.crop-stage{position:relative;background:#000;border-radius:var(--radius-sm);overflow:hidden;width:100%}
.crop-stage video{display:block;width:100%;height:100%}
.crop-overlay{position:absolute;inset:0;touch-action:none;cursor:crosshair;user-select:none}
.zone{position:absolute;border:2px solid;box-shadow:0 0 0 9999px rgba(0,0,0,.35);cursor:move;box-sizing:border-box}
.zone.fixed{cursor:default;border-style:dashed;box-shadow:none}
.zone-label{position:absolute;left:0;top:0;background:var(--zc);color:#000;font-size:11px;font-weight:600;padding:1px 6px;border-radius:0 0 6px 0}
.zone-zoom{position:absolute;right:0;top:0;background:rgba(0,0,0,.65);color:#fff;font-size:11px;font-weight:600;padding:1px 6px;border-radius:0 0 0 6px}
.zone-adjust{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);background:rgba(0,0,0,.7);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;font:inherit;font-size:11px;padding:2px 10px;cursor:pointer;white-space:nowrap}
.zone-adjust:hover{background:var(--zc);color:#000}
.hd{position:absolute;width:10px;height:10px;background:#fff;border:1px solid #000;border-radius:2px}
.hd-nw{left:-5px;top:-5px;cursor:nwse-resize}.hd-se{right:-5px;bottom:-5px;cursor:nwse-resize}
.hd-ne{right:-5px;top:-5px;cursor:nesw-resize}.hd-sw{left:-5px;bottom:-5px;cursor:nesw-resize}
.hd-n{left:calc(50% - 5px);top:-5px;cursor:ns-resize}.hd-s{left:calc(50% - 5px);bottom:-5px;cursor:ns-resize}
.hd-w{left:-5px;top:calc(50% - 5px);cursor:ew-resize}.hd-e{right:-5px;top:calc(50% - 5px);cursor:ew-resize}
.controls{display:flex;align-items:center;gap:4px;margin-top:10px}
.controls .play{font-size:18px}
.controls .sep{width:1px;height:20px;background:var(--border);margin:0 6px}
.controls .speed{width:auto;padding:0 8px;font-size:13px}
.controls .time,.tl-bar .time{margin-left:auto;font-variant-numeric:tabular-nums;font-size:13px;color:var(--muted)}

/* timeline */
.tl-bar{display:flex;align-items:center;gap:6px;margin-bottom:10px}
.zoom-lvl{font-size:12px;color:var(--muted);min-width:24px;text-align:center}
.tl-scroll{overflow-x:auto;overflow-y:hidden}
.tl-track{position:relative;min-width:100%;touch-action:none;user-select:none;cursor:pointer}
.tl-ruler{position:relative;height:26px;border-bottom:1px solid var(--border)}
.tick{position:absolute;top:0;font-size:10px;color:var(--muted);transform:translateX(-50%);padding-top:2px}
.tick::after{content:"";position:absolute;left:50%;bottom:-8px;width:1px;height:6px;background:var(--border)}
.kf{position:absolute;top:13px;width:12px;height:12px;transform:translate(-50%,0) rotate(45deg);border:1px solid #000;border-radius:2px;cursor:grab;z-index:3}
.tl-strip{position:relative;display:flex;height:56px;margin-top:8px;border-radius:6px;overflow:hidden;background:var(--surface)}
.tl-strip>i{flex:1;display:block;background-repeat:no-repeat}
.cut{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(135deg,rgba(240,85,95,.55) 0 6px,rgba(0,0,0,.6) 6px 12px);border-left:1px solid var(--danger);border-right:1px solid var(--danger);cursor:pointer;z-index:2}
.playhead{position:absolute;top:0;bottom:0;width:2px;background:var(--accent);transform:translateX(-1px);pointer-events:none;z-index:4}
.playhead::before{content:"";position:absolute;top:0;left:-4px;border:5px solid transparent;border-top:7px solid var(--accent)}

/* positions */
.pos-list{display:flex;flex-direction:column;gap:4px;max-height:300px;overflow-y:auto;padding:2px}
.pos-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s}
.pos-row:hover{background:var(--surface)}
.pos-row.active{background:var(--surface);border-color:rgba(34,184,221,.55)}
.dot{width:10px;height:10px;border-radius:50%;flex:none}
.pos-body{flex:1;min-width:0}
.pos-line{display:flex;align-items:baseline;gap:8px;font-size:13px;white-space:nowrap}
.pos-line b{font-size:17px;font-weight:600;color:var(--text)}
.pos-end{font-size:15px;color:var(--muted)}
.pos-layout{color:var(--muted)}
.pos-extra{color:var(--muted);opacity:.7;font-size:12px}
.pos-bar{position:relative;height:5px;background:#26262d;border-radius:3px;margin-top:8px}
.pos-bar>i{position:absolute;top:0;bottom:0;border-radius:3px}
.pos-del{background:none;border:0;color:var(--muted);cursor:pointer;padding:6px;border-radius:6px;display:flex}
.pos-del:hover{color:var(--text);background:var(--bg-elev)}
.ed-reset{align-self:center;font-size:12px}

/* aperçu */
.preview{display:flex;flex-direction:column;align-items:center}
.preview h3{align-self:flex-start}
.preview canvas{width:270px;height:480px;border-radius:var(--radius-sm);background:#000}
.preview canvas.landscape{width:480px;height:270px}
.upgrade-link{font-size:12px;margin-top:10px}

/* sous-titres */
.subs.on{border-color:var(--accent)}
.subs-head{display:flex;align-items:center;gap:8px;cursor:pointer}
.cc{border:1px solid var(--text);border-radius:4px;font-size:10px;font-weight:700;padding:0 3px}
.subs-head .switch{margin-left:auto}
.switch{position:relative;width:38px;height:22px;display:inline-block}
.switch input{opacity:0;width:0;height:0}
.switch i{position:absolute;inset:0;background:var(--border);border-radius:999px;transition:.15s;cursor:pointer}
.switch i::before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s}
.switch input:checked+i{background:var(--accent)}
.switch input:checked+i::before{transform:translateX(16px)}
.subs-preview{background:var(--surface);border-radius:var(--radius-sm);padding:14px;text-align:center;margin-top:12px;font-size:15px}
.subs-label{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--muted);margin:14px 0 8px}
.swatches{display:flex;gap:10px}
.swatch{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:0 0 0 2px var(--bg-elev)}
.swatch.selected{box-shadow:0 0 0 2px var(--bg-elev),0 0 0 4px var(--accent)}
.segmented{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.segmented button{background:none;border:0;color:var(--muted);font:inherit;font-size:13px;font-weight:600;padding:6px 14px;cursor:pointer}
.segmented button.selected{color:var(--accent);background:rgba(34,184,221,.12)}
select.input{appearance:auto;width:100%}
.subs-edit{margin-top:14px;width:100%}
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:50;display:flex;align-items:center;justify-content:center}
.modal{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:20px;width:560px;max-width:92vw;max-height:80vh;display:flex;flex-direction:column}
.seg-list{overflow-y:auto;display:flex;flex-direction:column;gap:8px}
.seg-row{display:flex;gap:10px;align-items:flex-start}
.seg-row span{width:40px;flex:none;font-size:12px;padding-top:8px}
.seg-row textarea{flex:1;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;font:inherit;resize:vertical}

/* export */
.ed-export{width:100%;height:46px;font-size:15px}

/* popup aide */
.help-pop{position:fixed;right:24px;bottom:24px;width:300px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px;z-index:40;box-shadow:0 4px 16px rgba(0,0,0,.4)}
.help-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:13px}
.help-pop video,.help-ph{width:100%;aspect-ratio:16/9;border-radius:var(--radius-sm);background:var(--bg-elev);display:flex;align-items:center;justify-content:center;font-size:28px}

@media (max-width:1200px){.editor{flex-direction:column}.ed-right{width:100%}}

/* Modale "Que veux-tu faire ?" (clic hors keyframe) */
.ask-bg{position:absolute;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:5}
.ask{width:330px;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:18px 18px 14px;display:flex;flex-direction:column;gap:10px}
.ask-title{text-align:center;font-size:14px;color:var(--text);margin-bottom:4px}
.ask-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:background .15s}
.ask-opt b{font-size:14px;font-weight:600}.ask-opt span{font-size:12px;color:var(--muted)}
.ask-opt.primary{background:var(--accent);border-color:var(--accent);color:#fff}.ask-opt.primary span{color:rgba(255,255,255,.85)}
.ask-opt:not(.primary):hover{background:var(--bg)}
.ask-hide{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer;margin-top:2px}

/* Timeline : bandes colorées par keyframe + bulle de temps */
.kf-band{position:absolute;top:0;bottom:0;pointer-events:none;z-index:1;background:var(--kc);opacity:.32;border-top:4px solid var(--kc)}
.kf.active{box-shadow:0 0 0 2px rgba(255,255,255,.55)}
.kf-tip{position:absolute;top:-4px;transform:translateX(-50%);background:rgba(0,0,0,.85);color:var(--danger);font:11px/1.6 ui-monospace,Menlo,monospace;padding:0 6px;border-radius:6px;pointer-events:none;z-index:4;white-space:nowrap}

/* barre IA */
.ai-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px}
.ai-spin{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:ai-spin .8s linear infinite}
@keyframes ai-spin{to{transform:rotate(360deg)}}

/* sous-titres : style / police / position */
.subs-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.subs-row input[type=range]{width:100%;accent-color:var(--accent)}
.st-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.st-thumb{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted);font:inherit;font-size:11px}
.st-thumb.selected{border-color:var(--accent);color:var(--accent)}
.st-mini{display:inline-block;font-weight:700;font-size:15px;padding:2px 6px;border-radius:4px;color:#fff;line-height:1.2}
.st-mini.st-karaoke,.subs-preview.st-karaoke .st-cur{color:var(--sc)}
.st-mini.st-boxed,.subs-preview.st-boxed div{background:#fff;color:#000;text-transform:uppercase;display:inline-block;padding:0 6px;border-radius:3px}
.st-mini.st-outline,.subs-preview.st-outline div{color:var(--sc);-webkit-text-stroke:1px #000;text-shadow:0 1px 0 #000}
.st-mini.st-glow,.subs-preview.st-glow div{color:var(--sc);text-shadow:0 0 6px var(--sc),0 0 12px var(--sc)}
.st-mini.st-minimal,.subs-preview.st-minimal div{color:var(--sc);text-shadow:0 1px 3px rgba(0,0,0,.6)}
.subs-preview div{font-weight:700;line-height:1.4}
.subs-preview .st-cur{color:var(--sc)}

/* B-roll */
.broll-sugg{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.broll-sugg-row{display:flex;align-items:center;gap:10px;font-size:13px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid transparent}
.broll-sugg-row.selected{border-color:var(--accent)}
.broll-q{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.broll-search{display:flex;gap:8px}
.broll-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
.broll-hit{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.broll-hit img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.broll-hit-bar{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;font-size:12px}
.broll-list{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.broll-row{display:flex;align-items:center;gap:10px;font-size:13px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--surface)}
.broll-thumb{width:48px;height:30px;border-radius:4px;background:var(--bg);overflow:hidden;flex:none}
.broll-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.broll-row .pos-del{margin-left:auto}
.broll-band{position:absolute;bottom:0;height:3px;background:#ff8a1f;border-radius:2px;z-index:2;pointer-events:none}

/* musique */
.music-list{display:flex;flex-direction:column;gap:4px}
.music-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--surface)}
.music-row.selected{border-color:var(--accent)}
.music-none{cursor:pointer;color:var(--muted);font:inherit;font-size:13px;text-align:left}
.music-pick{flex:1;min-width:0;display:flex;gap:10px;align-items:baseline;background:none;border:0;color:var(--text);font:inherit;font-size:13px;cursor:pointer;text-align:left;padding:0}
.music-pick b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.music-row audio{height:28px;width:180px}
.music-opts{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:12px;font-size:12px;color:var(--muted)}
.music-opts label{display:flex;flex-direction:column;gap:4px}
.music-opts input[type=range]{width:100%;accent-color:var(--accent)}
.music-duck{flex-direction:row!important;align-items:center;justify-content:space-between;grid-column:1/-1}

/* emojis */
.emoji-picker{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}
.emoji-picker button{background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:18px;height:34px;cursor:pointer;padding:0}
.emoji-picker button:hover{border-color:var(--muted)}
.emoji-list{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.emoji-row{display:flex;align-items:center;gap:10px;font-size:13px;padding:4px 8px;border-radius:var(--radius-sm);cursor:pointer}
.emoji-row:hover{background:var(--surface)}
.emoji-glyph{font-size:20px;width:28px;text-align:center}
.emoji-row .segmented{margin-left:auto}
.emoji-row .segmented button{padding:2px 8px;font-size:11px}
.emoji-mark{position:absolute;top:2px;transform:translateX(-50%);font-size:12px;pointer-events:none;z-index:2}

/* bornes du clip (poignées 6 px) et bords des coupes */
.bound{position:absolute;top:0;bottom:0;width:6px;background:var(--accent);cursor:ew-resize;z-index:6;opacity:.85}
.bound:hover{opacity:1}
.bound.l{left:0;border-radius:6px 0 0 6px}.bound.r{right:0;border-radius:0 6px 6px 0}
.bound-tip{position:absolute;top:50%;left:12px;transform:translateY(-50%);background:rgba(0,0,0,.85);color:#fff;font:12px/1.6 ui-monospace,Menlo,monospace;padding:0 8px;border-radius:6px;pointer-events:none;z-index:7;white-space:nowrap}
.bound-tip.r{left:auto;right:12px}
.cut-hd{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;z-index:3}
.cut-hd.l{left:-2px}.cut-hd.r{right:-2px}
.cut-hd:hover{background:rgba(255,255,255,.25)}

/* modale raccourcis clavier */
.kb-modal{width:380px}
.kb-list{display:flex;flex-direction:column;gap:6px}
.kb-row{display:flex;align-items:center;gap:12px;font-size:13px}
.kb-row kbd{min-width:120px;font:12px/1.8 ui-monospace,Menlo,monospace;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:0 8px;text-align:center}
