/* Text to Image workspace */
.t2i{--r:16px}
.t2i-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.t2i-top h1{margin:6px 0 0;font:800 clamp(28px,3.2vw,42px)/1.05 Manrope;letter-spacing:-.04em}
.t2i-top h1 em{font-style:normal;background:linear-gradient(120deg,var(--blue),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.t2i-grid{display:grid;grid-template-columns:minmax(330px,390px) minmax(0,1fr) 270px;gap:20px;align-items:start}
.t2i-panel,.t2i-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 12px 34px #1b3a6a0d}
.t2i-panel{padding:18px 18px 16px}
.t2i-step{display:flex;align-items:center;gap:10px;margin:18px 0 10px}.t2i-step:first-child{margin-top:0}
.t2i-step h2{margin:0;font:750 16px Manrope}
.t2i-num{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;font-size:12px;font-weight:800}
.t2i-muted{color:var(--muted);font-size:12px;font-weight:600}
.t2i-promptbox{border:1.5px solid #c9d9ec;border-radius:14px;background:#fbfdff;transition:border-color .15s,box-shadow .15s}
.t2i-promptbox:focus-within{border-color:var(--blue);box-shadow:0 0 0 4px #276bff1a}
.t2i-promptbox .big-input{border:0;background:transparent;min-height:128px;outline:0;width:100%;box-shadow:none;font-size:15.5px}
.t2i-promptbar{display:flex;justify-content:space-between;align-items:center;padding:4px 12px 9px}
.t2i-link{border:0;background:none;color:#1f5fd0;font:700 12.5px Manrope,sans-serif;cursor:pointer;padding:4px 6px;border-radius:6px}
.t2i-link:hover{background:#eaf3ff}
.t2i-coach{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f3f8ff;border:1px solid #dbe8f8}
.t2i-dots{display:flex;flex-wrap:wrap;gap:6px}
.t2i-dot{padding:3px 9px;border-radius:99px;border:1px solid #cfdcec;background:#fff;color:#7b8aa1;font-size:11.5px;font-weight:700}
.t2i-dot.ok{border-color:#9fdcc2;background:#eafaf3;color:#127a55}
.t2i-coachmsg{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:8px;font-size:12.5px;color:#34506f;font-weight:600;line-height:1.45}
.t2i details{margin-top:12px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;padding:0 12px}
.t2i summary{cursor:pointer;padding:11px 0;font:750 13.5px Manrope;list-style:none;color:var(--ink)}
.t2i summary::-webkit-details-marker{display:none}
.t2i summary::after{content:"＋";float:right;color:var(--blue)}
.t2i details[open] summary::after{content:"−"}
.t2i summary small{margin-left:6px;color:var(--muted);font-weight:600;font-size:11.5px}
.t2i details[open]{padding-bottom:12px}
.t2i-bgroup{display:grid;grid-template-columns:62px 1fr;gap:8px;align-items:start;margin:6px 0}
.t2i-bgroup>span{padding-top:7px;color:var(--muted);font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.t2i-bgroup>div{display:flex;flex-wrap:wrap;gap:6px}
.t2i-add{padding:6px 10px;border:1px solid #cfdcec;border-radius:99px;background:#fff;color:#3d5472;font:650 12px Manrope,sans-serif;cursor:pointer}
.t2i-add:hover{border-color:var(--blue)}
.t2i-add.on{background:#edf4ff;border-color:var(--blue);color:#175bd8}
.t2i-styles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.t2i-style{min-width:0;display:grid;gap:4px;justify-items:start;padding:6px;border:1.5px solid #d6e2f0;border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:transform .12s,border-color .12s}
.t2i-style:hover{transform:translateY(-1px);border-color:#9bb9e4}
.t2i-style i{display:block;width:100%;aspect-ratio:1.25;border-radius:8px}
.t2i-style b{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.1;color:var(--ink)}
.t2i-style small{display:none}
.t2i-style.active{border-color:var(--blue);box-shadow:0 0 0 3px #276bff1f}
.t2i-ratios .chip{display:inline-flex;align-items:center;gap:7px}
.t2i-shape{display:inline-block;border:1.6px solid currentColor;border-radius:3px;opacity:.75}
.t2i-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.t2i-seg{display:flex;border:1px solid #c9d9ec;border-radius:11px;background:#f4f8fd;padding:3px;gap:3px}
.t2i-seg button{flex:1;padding:8px 6px;border:0;border-radius:8px;background:transparent;color:#5a6d86;font:750 12.5px Manrope,sans-serif;cursor:pointer}
.t2i-seg button[aria-checked=true]{background:#fff;color:#175bd8;box-shadow:0 2px 8px #1b3a6a1f}
.t2i-hidden{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
.t2i-refs{margin-top:10px}.t2i-upload{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:10px;border:1.5px dashed #b8cee5;border-radius:12px;background:#f6faff;color:#1f5fd0;font:750 13px Manrope,sans-serif;cursor:pointer}
.t2i-upload:hover{border-color:var(--blue)}
.t2i-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#34506f;font-weight:600}
.t2i-sw{display:inline-flex;gap:4px;margin-left:6px;vertical-align:middle}.t2i-sw i{width:16px;height:16px;border-radius:50%;border:1px solid #0002}
.t2i details .small-input,.t2i details .big-input{width:100%}
.t2i details .big-input.compact{min-height:70px;font-size:14px}
.t2i-gen{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px -18px -16px;padding:12px 18px 14px;border-top:1px solid var(--line);background:#fffffff2;backdrop-filter:blur(10px);border-radius:0 0 var(--r) var(--r)}
.t2i-gen>div{display:grid;gap:2px;font-size:12px}.t2i-gen b{font-size:13.5px;color:var(--ink)}
.t2i-genbtn{width:auto;min-width:150px;margin:0;padding:0 24px}
.t2i-note{margin:14px 0 0;color:var(--muted);font-size:11.5px;line-height:1.5}
.t2i-stage{position:sticky;top:128px;min-width:0}
.t2i-stagebar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.t2i-actions{display:flex;gap:8px}.t2i-actions .tag{border:0;cursor:pointer}.t2i-actions .tag:disabled{opacity:.45;cursor:default}
.t2i-chip{padding:6px 11px;border-radius:99px;background:#fff;border:1px solid var(--line);color:#52647c;font-size:12px;font-weight:750}
.t2i-chip.warn{background:#fff7e6;border-color:#f3d28b;color:#8a5a00}
.t2i-canvas{display:grid;place-items:center;min-height:420px;padding:22px;border-radius:var(--r);border:1px solid var(--line);background:#e9eef6 repeating-conic-gradient(#e2e9f3 0% 25%,#eef3f9 0% 50%) 0 0/22px 22px}
.t2i-frame{width:min(100%,calc(62vh * var(--arn,1.7778)));aspect-ratio:var(--ar,16/9);border-radius:12px;background:#fff;box-shadow:0 18px 50px #1b3a6a26;display:grid;place-items:center;text-align:center;transition:aspect-ratio .25s}
.t2i-frame.empty{border:1.5px dashed #b4c7df;background:#ffffffd9}
.t2i-emptyin{display:grid;gap:6px;justify-items:center;padding:20px;max-width:380px}
.t2i-glyph{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#e8f0ff,#d9f6fb);color:var(--blue);font-size:26px}
.t2i-emptyin b{font:800 18px Manrope}.t2i-emptyin small{color:var(--muted);font-size:12.5px;line-height:1.55}
.t2i-frames{display:grid;gap:14px;width:100%;justify-items:center}
.t2i-frames.n2{grid-template-columns:1fr 1fr}.t2i-frames.n4{grid-template-columns:1fr 1fr}
.t2i-frames .t2i-frame{width:100%}
.t2i-frame.ghost{background:repeating-linear-gradient(135deg,#f6f9fe 0 12px,#eef3fb 12px 24px);border:1.5px dashed #aac0dc;box-shadow:none;align-content:center;gap:2px;color:#4c6285}
.t2i-frame.ghost span{font:800 14px Manrope}.t2i-frame.ghost small{font-size:11.5px;color:var(--muted)}
.t2i-meta{margin:10px 2px 0;color:#4c6285;font-size:12.5px;line-height:1.55;font-weight:600}
.t2i-final{display:block;margin-top:5px;padding:9px 11px;border-radius:10px;background:#fff;border:1px solid var(--line);color:#34506f;font-weight:500;font-size:12.5px;word-break:break-word}
.t2i-side{display:grid;gap:14px;position:sticky;top:128px}
.t2i-card{padding:14px}
.t2i-card h2{margin:0 0 10px;font:750 15px Manrope}.t2i-cardhead{display:flex;justify-content:space-between;align-items:center}.t2i-cardhead h2{margin:0}
.t2i-empty{margin:8px 0 0;line-height:1.5}
.t2i-item{padding:9px;border:1px solid #e1eaf5;border-radius:11px;margin-top:8px;background:#fbfdff}
.t2i-item.sel{border-color:var(--blue);background:#f1f6ff}
.t2i-itembody{display:grid;gap:3px;width:100%;border:0;background:none;text-align:left;cursor:pointer;padding:0}
.t2i-itembody b{font-size:12.5px;line-height:1.35;color:var(--ink)}.t2i-itembody small{color:var(--muted);font-size:11.5px}
.t2i-item>span{display:flex;gap:2px;margin-top:6px}
.t2i-next{display:grid;gap:2px;padding:10px 11px;margin-top:8px;border:1px solid #dce7f4;border-radius:11px;color:inherit;text-decoration:none;background:#fff}
.t2i-next:hover{border-color:var(--blue)}.t2i-next b{font-size:13px}.t2i-next small{color:var(--muted);font-size:11.5px}
.t2i :focus-visible{outline:2px solid var(--blue);outline-offset:2px}
@media(max-width:1280px){.t2i-grid{grid-template-columns:minmax(320px,370px) minmax(0,1fr)}.t2i-side{grid-column:1/-1;position:static;grid-template-columns:1fr 1fr}.t2i-stage{top:128px}}
@media(max-width:860px){.t2i-grid{grid-template-columns:1fr}.t2i-stage{position:static;order:-1}.t2i-side{grid-template-columns:1fr}.t2i-canvas{min-height:260px;padding:14px}.t2i-top{flex-direction:column;align-items:flex-start}.t2i-frame{width:100%}.t2i-styles{grid-template-columns:repeat(4,1fr)}}
@media(max-width:480px){.t2i-styles{grid-template-columns:repeat(2,1fr)}.t2i-style i{aspect-ratio:2}.t2i-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.t2i *{transition:none!important}}
.t2i-custom[hidden]{display:none}
.t2i-ratios.off .chip{opacity:.5}
.t2i-hint{margin:8px 0 12px;font-size:12px;color:#5a6d86}
.t2i-step-n{display:flex;align-items:center;border:1px solid #c9d9ec;border-radius:11px;background:#f4f8fd;padding:3px;gap:3px}
.t2i-step-n button{width:34px;height:34px;border:0;border-radius:8px;background:#fff;color:#175bd8;font:800 18px Manrope,sans-serif;cursor:pointer;box-shadow:0 2px 8px #1b3a6a1f}
.t2i-step-n input{flex:1;min-width:0;width:100%;border:0;background:transparent;text-align:center;font:800 15px Manrope,sans-serif;color:#1c2f4a;-moz-appearance:textfield}
.t2i-step-n input::-webkit-outer-spin-button,.t2i-step-n input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.t2i-seedrow{display:flex;gap:8px;align-items:center}.t2i-seedrow input{flex:1;min-width:0}
.t2i-seedrow input:disabled,.t2i-link:disabled{opacity:.5}
.t2i-frames.n3,.t2i-frames.n5,.t2i-frames.n6,.t2i-frames.n7,.t2i-frames.n8,.t2i-frames.n9{grid-template-columns:repeat(3,1fr);gap:8px}
.t2i-frames.n5 .t2i-frame small,.t2i-frames.n6 .t2i-frame small,.t2i-frames.n7 .t2i-frame small,.t2i-frames.n8 .t2i-frame small,.t2i-frames.n9 .t2i-frame small{display:none}
/* ---- Text to Video (t2v.js) ---- */
.t2v-cams{display:flex;flex-wrap:wrap;gap:7px}
.t2v-cam[aria-pressed=true]{background:#e8f0ff;border-color:#2f6fed;color:#175bd8}
.t2v-cam:disabled{opacity:.4;cursor:default}
.t2v-startimg{margin:12px 0 4px}
.t2v-canvas .t2i-frame{--ar:16/9;--arn:1.7778}
.t2v-cards{display:grid;gap:16px;width:100%}
.t2v-cards.n2,.t2v-cards.n4{grid-template-columns:1fr 1fr}.t2v-cards.n3{grid-template-columns:1fr}
.t2v-card .t2i-frame{width:100%}
.t2v-play{font-size:26px;color:#7f97bb;line-height:1}
.t2v-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;align-items:center}
.t2v-acts .tag{border:0;font-size:11px;padding:5px 9px}.t2v-acts .tag:disabled{opacity:.45;cursor:not-allowed}
.t2v-plan{margin:8px 0 0;padding-left:18px;font-size:12.5px;line-height:1.5;color:#4c6285}.t2v-plan li{margin-bottom:6px}
.t2i-seg button[hidden]{display:none}.t2i-seg button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:860px){.t2v-cards.n2,.t2v-cards.n4{grid-template-columns:1fr}}
#t2v-count.warn{color:#b45309;font-weight:800}
#t2v-optrow[hidden],#t2v-exprow[hidden]{display:none}
.t2v .t2i-ratios .chip:disabled{cursor:not-allowed}
#video-duration{width:100%}
/* ---- Image to Video ---- */
.i2v-slot{border-radius:14px}.i2v-slot.drag .t2i-upload{border-color:var(--blue);background:#eaf2ff}
.i2v-have{display:flex;gap:14px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff}
.i2v-have[hidden],.i2v-empty[hidden]{display:none}
.i2v-thumb{flex:0 0 120px;height:90px;border-radius:10px;overflow:hidden;background:#eef3fa;display:grid;place-items:center}
.i2v-thumb img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.i2v-info{display:flex;flex-direction:column;gap:3px;min-width:0}.i2v-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}
.i2v-btns{display:flex;gap:12px;margin-top:4px}
.i2v-split{display:grid;grid-template-columns:1fr;gap:14px;margin:18px 0}
.i2v-box{border-radius:16px;padding:16px;border:1.5px solid}
.i2v-move{background:#f1fbf6;border-color:#9fdcbc}.i2v-keep{background:#f1f6ff;border-color:#a9c4f5}
.i2v-boxhead{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.i2v-boxhead h2{margin:0;font-size:18px}
.i2v-badge{align-self:flex-start;font:800 10.5px Manrope,sans-serif;letter-spacing:.09em;padding:4px 9px;border-radius:99px;color:#fff}
.i2v-move .i2v-badge{background:#0f9d6b}.i2v-keep .i2v-badge{background:#276bff}
.i2v-togs{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:8px}
.i2v-tog{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:9px 11px;border-radius:12px;border:1.5px solid #cfdceb;background:#fff;color:var(--ink);cursor:pointer;font-family:inherit}
.i2v-tog b{font-size:13px}.i2v-tog small{font-size:11px;color:var(--muted)}
.i2v-tog::after{content:"";}
.i2v-move .i2v-tog.on{border-color:#0f9d6b;background:#e1f6ec;box-shadow:0 0 0 3px #0f9d6b22}
.i2v-keep .i2v-tog.on{border-color:#276bff;background:#e4eeff;box-shadow:0 0 0 3px #276bff22}
.i2v-move .i2v-tog.on b::before{content:"↝ "}.i2v-keep .i2v-tog.on b::before{content:"🔒 ";font-size:11px}
.i2v-phrases{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 6px}
.t2i-coachmsg.bad{color:#b42318}.t2i-coachmsg.bad span{font-weight:700}
.i2v-fpv-wrap{margin:12px 0}
.i2v-fpv{position:relative;aspect-ratio:var(--ar,16 / 9);max-height:220px;max-width:100%;margin:0 auto;border:1.5px dashed #b8cee5;border-radius:12px;background:#eef3fa;overflow:hidden;display:grid;place-items:center;color:var(--muted);font-size:12px;width:min(100%,calc(220px * var(--arn,1.78)))}
.i2v-fpv img{position:absolute;inset:0;width:100%;height:100%}.i2v-fpv.crop img{object-fit:cover}.i2v-fpv.whole img{object-fit:contain}
.i2v-fpv img[hidden],.i2v-fpv span[hidden]{display:none}
.i2v-bar{height:6px;border-radius:99px;background:#e3ecf7;margin:8px 0 2px;overflow:hidden}.i2v-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.i2v-err{display:block;color:#b42318;margin:6px 0 0;font-size:12px}
.i2v-sum{margin:12px 2px 0;font-size:12.5px;color:var(--muted)}
.i2v-ghostimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35;filter:blur(1px)}
.i2v-hth{width:34px;height:34px;object-fit:cover;border-radius:8px;flex:none}.i2v .t2i-itembody{display:flex;gap:9px;align-items:center}
.t2i-chip.bad{background:#fdecea;color:#b42318;border-color:#f5c6c0}
.i2v .t2i-frame.ghost{position:relative;overflow:hidden}.i2v .t2i-frame.ghost>span,.i2v .t2i-frame.ghost>small{position:relative}
@media(min-width:1500px){.i2v-split{grid-template-columns:1fr}}
.i2v .t2i-itembody>span{display:flex;flex-direction:column;min-width:0}
/* ---- Voice Studio ---- */
.vs-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:6px 0}.vs-filters label{display:flex;flex-direction:column;gap:3px;font:700 11.5px Manrope,sans-serif;color:var(--muted);flex:1 1 120px}.vs-filters select{font-weight:600}
.vs-found{margin:4px 0 8px;font-size:12.5px}
.vs-voices{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:9px;max-height:360px;overflow:auto;padding:2px}
.vs-voice{display:flex;gap:10px;align-items:flex-start;text-align:left;padding:10px;border:1.5px solid #cfdceb;border-radius:14px;background:#fff;cursor:pointer;font-family:inherit;color:var(--ink)}
.vs-voice.on{border-color:var(--blue);background:#eaf2ff;box-shadow:0 0 0 3px #276bff22}
.vs-av{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--cyan));color:#fff;font:800 15px Manrope,sans-serif}
.vs-vb{display:flex;flex-direction:column;gap:2px;min-width:0}.vs-vb b{font-size:14px}.vs-vb small{font-size:11.5px;line-height:1.3}.vs-langs{color:#175bd8;font-weight:700}
.vs-sl{margin:8px 0}.vs-sl input[type=range]{width:100%}.vs-sl output{font-weight:800;color:#175bd8;margin-left:6px}
.vs-pauses{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}
.vs-h3{margin:12px 0 6px;font-size:14px}
.vs-spkrow{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.2fr) minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border:1.5px solid #dbe5f1;border-radius:12px;margin-bottom:7px;background:#fff}
.vs-spkrow.on{border-color:var(--blue);background:#f1f6ff}.vs-pick{padding:8px 10px;border-radius:10px;border:1px solid #c9d9ec;background:#fff;cursor:pointer;font:600 12.5px Manrope,sans-serif;text-align:left}.vs-pick[aria-pressed=true]{border-color:var(--blue);color:#175bd8}
.vs-line{display:grid;grid-template-columns:130px minmax(0,1fr);gap:8px;margin-bottom:8px;align-items:start}.vs-line .big-input{min-height:56px}.vs-lbtns{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.vs-pron{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.3fr) auto;gap:8px;align-items:center;margin-bottom:7px}
.vs-clone{margin:18px 0 12px;padding:14px;border:1.5px dashed #b8cee5;border-radius:16px;background:#f6f8fb;opacity:.95}.vs-clone h2{margin:0;font-size:17px}
.vs-clonehead{display:flex;justify-content:space-between;align-items:center;gap:10px}.vs-lock{font:800 10.5px Manrope,sans-serif;letter-spacing:.06em;padding:4px 10px;border-radius:99px;background:#e8edf5;color:#5a6d86;text-transform:uppercase}
.vs-clonegrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}.vs-clone button:disabled,.vs-clone input:disabled{cursor:not-allowed;opacity:.6}.vs-none{margin:6px 0 0}
.vs-auth{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:14px;background:#f1f6ff;border:1.5px solid #a9c4f5;margin-top:12px;font-size:12.5px}.vs-auth b{font-size:13.5px}
.vs-takes{display:grid;grid-template-columns:1fr;gap:10px}
.vs-take{border:1.5px solid var(--line);border-radius:16px;padding:12px;background:#fff}
.vs-thead{display:flex;justify-content:space-between;align-items:center;gap:8px}.vs-tname{font-size:15px}.vs-rename{max-width:60%}
.vs-wave{margin:10px 0 6px;padding:14px 0;border-top:2px dashed #cfdceb;border-bottom:2px dashed #cfdceb;text-align:center;font-size:12px;color:var(--muted)}
.vs-take .tag.on{background:#fff6d6;border-color:#e6c34a;color:#8a6500}
.vs-cmp{margin-top:12px;padding:12px;border:1.5px solid #a9c4f5;border-radius:14px;background:#f1f6ff}.vs-cmpgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}.vs-cmpgrid>div{display:flex;flex-direction:column;gap:2px;padding:8px;background:#fff;border-radius:10px;font-size:12.5px}
.vs-linelist{margin-top:14px;display:flex;flex-direction:column;gap:6px}.vs-ll{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:8px;align-items:center;font-size:12.5px;padding:6px 8px;border:1px solid var(--line);border-radius:10px;background:#fff}.vs-who{font-weight:800}
.vs .t2i-item .t2i-itembody>span{display:flex;flex-direction:column;min-width:0}
@media(max-width:700px){.vs-spkrow{grid-template-columns:1fr 1fr}.vs-line{grid-template-columns:1fr}.vs-pron{grid-template-columns:1fr auto}.vs-pron>span{display:none}.vs-clonegrid{grid-template-columns:1fr}.vs-ll{grid-template-columns:1fr auto}.vs-ll .vs-who{grid-column:1/-1}}
.vs-pick,.vs-voice{min-height:44px}
/* Directed Lip Sync */
.ls-srccard{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid #cfdceb;border-radius:12px;background:#fbfdff}.ls-srccard>div{display:grid;gap:2px;min-width:0}.ls-srccard b{overflow-wrap:anywhere;font-size:13.5px}.ls-srccard .tag{border:0;cursor:pointer}
.ls-detect{display:flex;align-items:center;gap:10px;margin:2px 0 4px}.ls-detect button:disabled{cursor:not-allowed;opacity:.6}
.ls-none{margin:6px 0}
.ls-face{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto auto;gap:8px;align-items:center;padding:8px;border:1.5px solid #dbe5f1;border-radius:12px;margin-bottom:7px;background:#fff}.ls-face.on{border-color:var(--c,var(--blue));background:#f6f9ff}
.ls-badge{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--c,var(--blue));color:#fff;font:800 11.5px Manrope,sans-serif;flex:none}
.ls-inc{white-space:nowrap}.ls-inc input{min-width:22px;min-height:22px}
.ls-cbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.ls-lenline{display:flex;justify-content:space-between;align-items:center;margin:10px 0;padding:10px 12px;border-radius:12px;background:#f1f6ff;border:1.5px solid #a9c4f5}
.ls-pol{border:0;padding:0;margin:12px 0 0}.ls-pol legend{padding:0}
.ls-stagewrap{display:grid;gap:8px;padding:14px;border-radius:var(--r);border:1px solid var(--line);background:#e9eef6}
.ls-stage{position:relative;width:min(100%,calc(58vh * var(--arn,1.5)));max-width:100%;margin:0 auto;border-radius:12px;overflow:hidden;background:#0d1b30;box-shadow:0 18px 50px #1b3a6a26;touch-action:none;user-select:none}
.ls-media{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
.ls-over{position:absolute;inset:0;cursor:crosshair;touch-action:none}
.ls-box{position:absolute;border:2.5px solid var(--c,var(--blue));border-radius:8px;background:#ffffff14;box-shadow:0 0 0 1px #0006;cursor:move;touch-action:none;outline-offset:2px}
.ls-box.on{background:#ffffff2e;box-shadow:0 0 0 3px #fff9,0 0 0 1px #0006}.ls-box.off{border-style:dashed;opacity:.6}.ls-box.tmp{border-style:dashed;pointer-events:none}
.ls-box:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 5px var(--c,var(--blue))}
.ls-box .ls-badge{position:absolute;left:-2px;top:-26px}.ls-bl{position:absolute;left:26px;top:-24px;max-width:calc(100% - 20px);padding:2px 7px;border-radius:99px;background:var(--c,var(--blue));color:#fff;font:700 11px Manrope,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ls-h{position:absolute;width:20px;height:20px;background:#fff;border:2.5px solid var(--c,var(--blue));border-radius:50%;touch-action:none}.ls-h.nw{left:-11px;top:-11px;cursor:nwse-resize}.ls-h.ne{right:-11px;top:-11px;cursor:nesw-resize}.ls-h.sw{left:-11px;bottom:-11px;cursor:nesw-resize}.ls-h.se{right:-11px;bottom:-11px;cursor:nwse-resize}
.ls-scrub{display:grid;gap:3px;font:700 11.5px Manrope,sans-serif;color:var(--muted)}.ls-scrub input{width:100%}
.ls-live{margin-bottom:10px}
.ls-empty{display:grid;gap:4px;padding:16px;border:1.5px dashed #b4c7df;border-radius:14px;background:#ffffffd9;color:#4c6285;font-size:12.5px;line-height:1.5}.ls-empty b{font:800 14px Manrope;color:var(--ink)}
.ls-tl{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff;padding:8px 10px 10px}
.ls-ruler,.ls-track{display:grid;grid-template-columns:110px minmax(560px,1fr);gap:8px;align-items:center}
.ls-ruler{height:22px;color:var(--muted);font:700 10.5px Manrope,sans-serif}.ls-lane-r{position:relative;height:100%;border-bottom:1px solid #dbe5f1}.ls-lane-r span{position:absolute;top:2px;transform:translateX(-1px);padding-left:3px;border-left:1px solid #b9c9de}
.ls-lab{display:flex;align-items:center;gap:6px;font:750 12px Manrope,sans-serif;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ls-track{margin-top:6px}.ls-track.off{opacity:.55}
.ls-lane{position:relative;height:46px;border-radius:10px;background:repeating-linear-gradient(90deg,#f3f7fc 0 59px,#e8eff8 59px 60px);border:1px solid #d3e0ef;touch-action:none}
.ls-clip{position:absolute;top:5px;height:34px;min-width:14px;display:flex;align-items:center;border-radius:8px;background:var(--c,var(--blue));color:#fff;font:700 11.5px Manrope,sans-serif;cursor:grab;touch-action:none;box-shadow:0 2px 8px #0003;overflow:hidden;border:2px solid transparent}
.ls-clip.on{border-color:#0d1b30;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--c,var(--blue))}.ls-clip.shifted{background-image:repeating-linear-gradient(135deg,#ffffff30 0 6px,transparent 6px 12px)}.ls-clip.miss{outline:2px dashed #e0a100;outline-offset:-4px}
.ls-clip:focus-visible{outline:3px solid #0d1b30;outline-offset:1px}.ls-cl{flex:1;min-width:0;padding:0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}
.ls-trim{position:absolute;top:0;bottom:0;width:11px;background:#0003;cursor:ew-resize;touch-action:none}.ls-trim.l{left:0}.ls-trim.r{right:0}
.ls-win{position:absolute;top:0;bottom:0;background:#276bff14;border-left:2px solid #276bff;border-right:2px solid #276bff;pointer-events:none}
.ls-endmark{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed #d6457f;pointer-events:none}.ls-endmark span{position:absolute;top:-1px;right:4px;font:700 10px Manrope,sans-serif;color:#b02b62;background:#fff;padding:0 3px;border-radius:4px}
.ls-insp{margin-top:12px;padding:12px;border:1.5px solid #cfdceb;border-radius:14px;background:#fff}.ls-insp .t2i-row{grid-template-columns:repeat(4,minmax(0,1fr))}.ls-insp audio{width:100%;margin-top:6px}
.ls-vers{display:grid;gap:10px}.ls-ver{border:1.5px solid var(--line);border-radius:16px;padding:12px;background:#fff}
.ls-fl{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}.ls-fl li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.ls-rp{margin-left:auto}
.ls-ver .tag{text-decoration:none;cursor:pointer;border:0}
.ls-rep{margin-top:10px;padding:10px 12px;border-radius:12px;background:#f1f6ff;border:1.5px solid #a9c4f5;display:grid;gap:6px}.ls-repbtn{width:auto;margin:6px 0 0;padding:0 20px}
.ls .small-input,.ls button.tag,.ls .t2i-add,.ls .t2i-link{min-height:44px}.ls .ls-trim,.ls .ls-h{min-height:0}
@media(max-width:860px){.ls-face{grid-template-columns:auto minmax(0,1fr) auto}.ls-insp .t2i-row{grid-template-columns:1fr 1fr}.ls-ruler,.ls-track{grid-template-columns:84px minmax(560px,1fr)}}
.ls-face{grid-template-columns:auto minmax(0,1fr);row-gap:6px}.ls-face .small-input{width:100%;min-width:0}.ls-face>.t2i-muted,.ls-face>.ls-inc,.ls-face>.t2i-link{grid-column:auto}
.ls-face .ls-badge,.ls-face .small-input{grid-area:auto}
.ls-fctl{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ls-insp .t2i-row{grid-template-columns:1fr 1fr}
/* StoryFlow */
.ls-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 10px}
.sf-char{display:grid;gap:7px;padding:10px;border:1.5px solid #dbe5f1;border-left:4px solid var(--c,var(--blue));border-radius:12px;margin-bottom:8px;background:#fff}
.sf-charhead{display:flex;align-items:center;gap:8px}.sf-charhead .small-input{flex:1;min-width:0}
.sf-loc{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr) auto;gap:6px;align-items:center;margin-bottom:6px}
.sf-rule{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;margin-bottom:6px}
.sf-scenes{display:grid;gap:8px}
.sf-scene{border:1.5px solid var(--line);border-radius:14px;background:#fff;overflow:hidden}.sf-scene.on{border-color:var(--blue);box-shadow:0 0 0 3px #276bff14}
.sf-shead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;flex-wrap:wrap}
.sf-stog{display:flex;align-items:center;gap:8px;flex:1 1 220px;min-width:0;min-height:44px;border:0;background:none;text-align:left;font:inherit;color:var(--ink);cursor:pointer;flex-wrap:wrap}.sf-stog b{font-size:14px;overflow-wrap:anywhere}
.sf-sbtns{display:flex;gap:6px;flex-wrap:wrap}.sf-sbtns .tag{border:0;cursor:pointer}.sf-sbtns .tag:disabled{opacity:.4;cursor:default}
.sf-sbody{padding:4px 12px 12px;border-top:1px solid var(--line)}
.sf-mini{width:18px;height:18px;font-size:10px}
.sf-line{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:8px;align-items:start;margin-bottom:8px}.sf-lb{display:flex;flex-direction:column;gap:2px}
.sf .t2i-hidden{pointer-events:none}
.sf .small-input,.sf button.tag,.sf .t2i-add,.sf .t2i-link{min-height:44px}
@media(max-width:860px){.sf-line{grid-template-columns:1fr}.sf-lb{flex-direction:row}.sf-loc{grid-template-columns:1fr}}
/* v25.7 Voice Studio results: details, player, download, regenerate */
.vs-tmeta{display:flex;flex-wrap:wrap;gap:4px 12px;margin:8px 0 2px;font-size:12px;color:var(--muted)}
.vs-player{display:flex;align-items:center;gap:10px;margin:8px 0 4px;flex-wrap:wrap}
.vs-play{min-height:44px;min-width:76px;cursor:pointer}.vs-play:disabled,.vs-take .tag:disabled{opacity:.5;cursor:not-allowed}
.vs-time{font-variant-numeric:tabular-nums;font-size:13px;color:#40516a}
.vs-seek{flex:1 1 90px;height:6px;border-radius:99px;background:#e4ebf4;overflow:hidden}.vs-seek i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),var(--cyan))}
.vs-take .t2v-acts .tag{min-height:40px;cursor:pointer}
.vs-dlsel{display:flex;align-items:center;gap:10px;margin:0 0 10px}.vs-dlsel label{font-size:13px;font-weight:750;color:#40516a}.vs-dlsel select{max-width:260px;min-height:44px}
.vs-regen{margin-top:10px;padding:10px 12px;border:1px solid #e6c34a;border-radius:12px;background:#fff9e6}.vs-regen p{margin:0 0 8px;font-size:12px;line-height:1.5;color:#6b5400}.vs-regen .tag{margin-right:6px;min-height:44px}
@media(max-width:700px){.vs-take .t2v-acts{display:flex;flex-wrap:wrap;gap:8px}.vs-take .t2v-acts .tag,.vs-play,.vs-dlsel select{min-height:44px}.vs-dlsel{flex-wrap:wrap}}

/* ===== v25.8 Connected Studio ===== */
.cx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cx-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px;padding:9px 11px;border:1px solid var(--line);border-radius:14px;background:#fff}
.cx-btn{min-height:40px;padding:0 13px;border:1px solid #d1dfed;border-radius:10px;background:#f7faff;color:#2b4a74;font-size:13px;font-weight:700;cursor:pointer}
.cx-btn:hover{border-color:var(--blue);color:var(--blue)}
.cx-proj{margin-left:auto;color:var(--muted);font-size:12px;font-weight:700}
.cx-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 6px 6px 11px;border-radius:999px;background:#eaf3ff;color:#175bd9;font-size:12px;font-weight:750}
.cx-x{width:28px;height:28px;border:0;border-radius:50%;background:#fff;color:#175bd9;cursor:pointer;font-size:16px;line-height:1}
.cx-ctxp{margin:0 0 14px;padding:12px 14px;border:1px solid #cfe0f4;border-radius:14px;background:#f4f9ff;font-size:13px}
.cx-ctxp dl,.cx-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 0}.cx-dl dt{color:var(--muted)}.cx-dl dd{margin:0;font-weight:650}
.cx-applied{color:#18825d;font-weight:700}
.cx-drawer{position:fixed;z-index:60;top:76px;right:0;bottom:0;width:360px;display:flex;flex-direction:column;border-left:1px solid var(--line);background:#fff;box-shadow:-12px 0 40px #365b8c14}
.cx-drawer[hidden]{display:none}
.cx-dhead{display:flex;justify-content:space-between;gap:10px;padding:16px;border-bottom:1px solid #e4ebf3}.cx-dhead h2{margin:4px 0 0;font:750 17px Manrope}
.cx-dbtns{display:flex;gap:6px}.cx-close{width:40px;height:40px;border:1px solid #d4e0ec;border-radius:10px;background:#f7faff;color:#53657d;font-size:18px;cursor:pointer}
.cx-dbody{flex:1;min-height:0;overflow-y:auto;padding:14px;display:grid;gap:12px;align-content:start}
.cx-filters{display:flex;flex-wrap:wrap;gap:6px}.cx-filters button{min-height:36px;padding:0 11px;border:1px solid #d1dfed;border-radius:999px;background:#fff;color:#41536c;font-size:12.5px;font-weight:700;cursor:pointer}
.cx-filters button[aria-pressed=true]{border-color:var(--blue);background:#edf4ff;color:#175bd8}
.cx-compat{display:flex;align-items:center;gap:8px;font-size:12.5px}
.cx-dlist{display:grid;gap:8px}
.cx-asset{display:grid;grid-template-columns:56px 1fr;gap:10px;padding:9px;border:1px solid #dce7f4;border-radius:12px;background:#fff}
.cx-thumb{display:grid;place-items:center;width:56px;height:56px;overflow:hidden;border-radius:9px;background:#eef3fa;color:#55708f;font-size:11px;font-weight:800}.cx-thumb img,.cx-thumb video{width:100%;height:100%;object-fit:cover}
.cx-ameta b,.cx-ameta small{display:block;overflow-wrap:anywhere}.cx-ameta small{color:var(--muted);font-size:11.5px}
.cx-aact{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.cx-aact button{min-height:36px;padding:0 10px;border:1px solid #d1dfed;border-radius:9px;background:#f7faff;color:#2b4a74;font-size:12px;font-weight:700;cursor:pointer}.cx-aact button:disabled{opacity:.5;cursor:not-allowed}
.cx-empty{padding:18px;border:1px dashed #cbdbea;border-radius:12px;color:var(--muted);font-size:13px;text-align:center}
@media(min-width:1101px){body.cx-drawer-open main{padding-right:360px}body.cx-drawer-collapsed main{padding-right:56px}.cx-drawer.collapsed{width:56px}.cx-drawer.collapsed .cx-dbody,.cx-drawer.collapsed .cx-dhead>div,.cx-drawer.collapsed [data-cx=drawer-close]{display:none}.cx-drawer.collapsed .cx-dhead{padding:10px;justify-content:center}}
@media(max-width:1100px){.cx-drawer{top:0;width:100%;z-index:90}.cx-drawer.collapsed{width:100%}}
.cx-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;border-bottom:1px solid #e4ebf3}
.cx-tab{min-height:44px;padding:0 14px;border:0;border-bottom:3px solid transparent;background:transparent;color:#41536c;font-size:14px;font-weight:700;cursor:pointer}.cx-tab[aria-selected=true]{border-bottom-color:var(--blue);color:#175bd8}
.vs-vwrap{display:grid;gap:6px}.vs-vprev{min-height:40px;padding:0 12px;border:1px solid #d1dfed;border-radius:9px;background:#f7faff;color:#2b4a74;font-size:12.5px;font-weight:700;cursor:pointer}.vs-vprev:disabled{opacity:.55;cursor:not-allowed}
.cx-pv,.cx-pvc,.cx-pvh,.cx-pvl,.cx-pvv{font-size:12.5px}.cx-pvh{font-weight:750}.cx-pvv{color:var(--muted)}
.cx-tablewrap{overflow-x:auto}.cx-table{width:100%;border-collapse:collapse;font-size:12.5px}.cx-table th,.cx-table td{padding:8px 10px;border-bottom:1px solid #e4ebf3;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.cx-next{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px}.cx-nexth{color:var(--muted);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cx-act{min-height:40px;border:1px solid #cfe0f4;background:#f4f9ff;color:#175bd9;cursor:pointer}.cx-act:disabled{opacity:.5;cursor:not-allowed}
.cx-pgrid,.cx-tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.cx-card{margin-bottom:16px}.cx-tool{display:grid;gap:3px;padding:12px;border:1px solid #dce7f4;border-radius:12px;color:inherit;text-decoration:none;background:#fff;min-height:48px}.cx-tool:hover{border-color:var(--blue)}.cx-gh{color:var(--muted);font-size:12px}
.cx-cast,.cx-switchlist,.cx-mgmt,.cx-takes{display:grid;gap:8px}.cx-switchlist button{min-height:44px;text-align:left}
.cx-refimg{width:100%;max-width:160px;border-radius:10px}.cx-legacy,.cx-over{padding:10px 12px;border-radius:10px;background:#fff8e8;font-size:12.5px}
/* Character Builder */
.cb-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
.cb-list,.cb-items{display:grid;gap:8px}.cb-item{display:grid;gap:2px;padding:10px 12px;border:1px solid #dce7f4;border-radius:12px;background:#fff;text-align:left;cursor:pointer;min-height:48px}.cb-item.sel,.cb-item[aria-current=true]{border-color:var(--blue);background:#eef5ff}
.cb-main,.cb-sec{display:grid;gap:12px}.cb-sec{padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.cb-head,.cb-vh{display:flex;justify-content:space-between;gap:10px;align-items:center}
.cb-views{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.cb-view{display:grid;gap:6px;padding:10px;border:1px solid #dce7f4;border-radius:12px}.cb-vthumb{display:grid;place-items:center;aspect-ratio:1;border-radius:9px;background:#eef3fa;overflow:hidden;color:var(--muted);font-size:11px}.cb-vthumb img{width:100%;height:100%;object-fit:cover}
.cb-look,.cb-traits,.cb-voice,.cb-check,.cb-vers{display:grid;gap:8px}.cb-vact{display:flex;flex-wrap:wrap;gap:6px}
.cb-savebar{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#ffffffee;backdrop-filter:blur(8px)}
.cb-none,.cb-ask,.cb-newer,.cb-cont,.cb-contline{font-size:13px}.cb-newer{color:#a35a00;font-weight:700}
.cb-done{display:grid;gap:12px;padding:18px;border:1px solid #bcd6f5;border-radius:18px;background:linear-gradient(120deg,#eef5ff,#edfbff)}.cb-doneh{display:flex;gap:14px;align-items:center}.cb-ask{font:750 18px Manrope}
.cb-portrait,.cb-av{width:84px;height:84px;border-radius:16px;object-fit:cover;background:#dce8f5;display:grid;place-items:center;font-weight:800}
.cb-badges{display:flex;flex-wrap:wrap;gap:6px}.cb-rec{min-height:46px}
.sf-lock{padding:8px 10px;border-radius:9px;background:#eef5ff;font-size:12.5px}
.t2i-fig{margin:0;display:grid;gap:6px}.t2i-fig img{max-width:100%;border-radius:12px}.t2v-video{max-width:100%;border-radius:12px;background:#000}
@media(max-width:850px){.cx-close{width:44px;height:44px}.cb-grid{grid-template-columns:minmax(0,1fr)}.cx-bar .cx-btn,.cx-act,.cx-tab,.cx-aact button,.cx-filters button,.vs-vprev{min-height:44px}.cx-proj{margin-left:0;flex-basis:100%}}
@media(min-width:1101px){body.cx-drawer-open:not(.cx-drawer-collapsed) .t2i-grid{grid-template-columns:minmax(0,1fr)}body.cx-drawer-open:not(.cx-drawer-collapsed) .t2i-stage{position:static;order:-1}body.cx-drawer-open:not(.cx-drawer-collapsed) .t2i-side{grid-column:auto;position:static;grid-template-columns:1fr 1fr}body.cx-drawer-open:not(.cx-drawer-collapsed) .cb-grid,body.cx-drawer-open:not(.cx-drawer-collapsed) .i2v-split{grid-template-columns:minmax(0,1fr)}}
.cb-done dl,.cb-done .cb-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px 16px;margin:0}.cb-done dt{color:var(--muted);font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.cb-done dd{margin:2px 0 0;font-weight:700}
/* Add Speech */
.ls-spwrap{position:relative;display:grid;gap:6px;margin-bottom:12px}
.ls-addspeech{justify-self:start;min-height:44px}
.ls-spmenu{position:absolute;z-index:20;top:48px;left:0;min-width:250px;display:grid;padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 44px #1b3a6a24}
.ls-spmenu[hidden]{display:none}
.ls-spmenu button{min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#1d3557;font-size:14px;font-weight:650;text-align:left;cursor:pointer}
.ls-spmenu button:hover,.ls-spmenu button:focus-visible{background:#eef5ff;color:var(--blue)}
.ls-sptarget{margin:0}.ls-cliplabel{margin:6px 0;font-weight:700;color:#1d3557}
.sp-dlg{width:min(560px,calc(100% - 24px))}.sp-body{display:grid;gap:12px;padding:18px 22px 22px}
.sp-drop{display:grid;gap:4px;padding:30px 18px;border:2px dashed #b9cfe8;border-radius:14px;background:#f7faff;text-align:center;cursor:pointer}.sp-drop:hover,.sp-drop.over,.sp-drop:focus-visible{border-color:var(--blue);background:#eef5ff}.sp-drop small{color:var(--muted)}
.sp-card{display:grid;gap:8px;padding:12px;border:1px solid #dce7f4;border-radius:12px}.sp-card audio,.sp-body audio{width:100%}
.sp-foot{display:flex;flex-wrap:wrap;gap:8px}.sp-foot .action{min-height:44px}
.sp-time{margin:0;font:800 26px Manrope,system-ui;font-variant-numeric:tabular-nums}#sp-wave{width:100%;height:64px;border-radius:10px;background:#f4f8fe}
.sp-perm{margin:0;padding:10px 12px;border-radius:10px;background:#eef5ff;font-size:13px}.sp-perm[data-perm=denied],.sp-perm[data-perm=nodevice],.sp-perm[data-perm=busy],.sp-perm[data-perm=error]{background:#fff4e5;color:#7a4300}
.cx-audio{grid-template-columns:48px 1fr}.cx-audio .cx-aact{grid-column:1/-1}.cx-adet{overflow-wrap:anywhere}.cx-hl{outline:2px solid var(--blue);outline-offset:2px}.cx-subf{margin-top:-4px}
@media(max-width:850px){.ls-spmenu{position:static;box-shadow:none}.ls-spmenu button,.sp-foot .action,.sp-body .tag{min-height:44px}.sp-dlg{width:calc(100% - 12px)}}

/* LinkFlow v25.9 */
.lf .lf-ev{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line,#2a2f3a);border-radius:10px;margin:6px 0;font-size:.9rem}
.lf .lf-ev b{min-width:30px}
.lf .lf-scene{border:1px solid var(--line,#2a2f3a);border-radius:12px;padding:10px;margin:8px 0}
.lf .lf-scene.sel{border-color:#7c9cff}
.lf .lf-claims{margin:6px 0;padding:8px 10px;border-radius:10px;border:1px solid #b8860b;font-size:.88rem}
.lf .lf-assets{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.lf .lf-al,.lf .lf-an,.lf .lf-st{margin:6px 0}
.lf button,.lf select{min-height:44px}
.lf .t2i-check{min-height:44px;align-items:center}
.lf input[type=checkbox]{width:24px;height:24px;flex:none;margin:0}
.lf .t2i-tiers{display:grid;gap:8px}
.lf .t2i-tier{display:grid;gap:2px;text-align:left;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;font:inherit}
.lf .t2i-tier b{font-size:14px}.lf .t2i-tier small{color:#5b6b80;font-size:12px}
.lf .t2i-tier[aria-checked=true]{border-color:#2f5bff;box-shadow:0 0 0 2px rgba(47,91,255,.18)}

/* Editable Timeline v25.10 */
.tle .tle-screen{position:relative;min-height:220px;max-height:340px;background:#0e1626;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#9fb2cc}
.tle .tle-screen video,.tle .tle-screen img{max-width:100%;max-height:340px;display:block}
.tle .tle-cap{position:absolute;left:8%;right:8%;bottom:8%;text-align:center;color:#fff;background:#000a;padding:6px 10px;border-radius:8px;font:700 15px Manrope,sans-serif}
.tle .tle-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.tle .tle-bar input[type=range]{flex:1;min-width:140px}
.tle .tle-sp{flex:1}
.tle .tle-time{font:700 13px ui-monospace,monospace;color:#34506f}
.tle button,.tle select,.tle input[type=number],.tle input[type=text]{min-height:44px}
.tle .t2i-check{min-height:44px;align-items:center}
.tle input[type=checkbox]{width:24px;height:24px;flex:none;margin:0}
.tle .tle-scroll{overflow-x:auto;position:relative;border:1px solid var(--line);border-radius:12px;background:#f7faff}
.tle .tle-inner{position:relative;min-width:100%}
.tle .tle-row{display:flex;align-items:stretch;border-bottom:1px solid var(--line)}
.tle .tle-head{position:sticky;left:0;z-index:4;flex:none;width:164px;background:#eef4fc;padding:6px 8px;display:flex;flex-direction:column;gap:4px;font-size:12px;border-right:1px solid var(--line)}
.tle .tle-hb{display:flex;gap:4px;flex-wrap:wrap}
.tle .tle-hb .tag{min-height:44px;min-width:44px;padding:2px 6px;font-size:11px}
.tle .tle-lane{position:relative;height:60px;flex:none}
.tle .tle-lane.lk{background:repeating-linear-gradient(45deg,#f0f3f8,#f0f3f8 8px,#e8edf5 8px,#e8edf5 16px)}
.tle .tle-rulerlane{height:30px;cursor:pointer}
.tle .tle-ruler{position:relative;height:100%}
.tle .tle-tick{position:absolute;top:6px;font:600 10px ui-monospace,monospace;color:#5a6d86;border-left:1px solid #c9d9ec;padding-left:3px;height:100%}
.tle .tle-empty{position:absolute;left:10px;top:20px;font-size:12px;color:#8aa0bd;pointer-events:none}
.tle .tle-clip{position:absolute;top:6px;bottom:6px;border-radius:9px;background:#cfe0ff;border:2px solid #7ea6f0;color:#12305f;font:700 12px Manrope,sans-serif;display:flex;align-items:center;padding:0 12px;overflow:hidden;white-space:nowrap;cursor:grab;touch-action:pan-x;user-select:none}
.tle .tle-clip.voice{background:#d8f3e3;border-color:#74c596;color:#10442a}.tle .tle-clip.music{background:#fde6c8;border-color:#e2a85b;color:#5a3607}.tle .tle-clip.caps{background:#e8dcfb;border-color:#a98be0;color:#2f1a5c}
.tle .tle-clip.sel{outline:3px solid #175bd8;outline-offset:1px}.tle .tle-clip.miss{background:#fde2e2;border-color:#d96666;color:#7a1515}
.tle .tle-clip:focus-visible{outline:3px solid #175bd8}
.tle .tle-h{position:absolute;top:0;bottom:0;width:min(14px,30%);cursor:ew-resize;touch-action:none}.tle .tle-h.l{left:0}.tle .tle-h.r{right:0}
.tle .tle-ph{position:absolute;top:0;bottom:0;width:2px;background:#e0342e;pointer-events:none;z-index:3}
.tle .cx-sr{position:absolute;left:-9999px}
@media(max-width:860px){.tle .tle-head{width:164px}.tle .tle-grid{grid-template-columns:1fr}}

.tle input[type=range]{min-height:44px}

/* Dubbing Studio entry v25.10 */
.dub .dub-needs{list-style:none;margin:8px 0 14px;padding:0;display:grid;gap:6px}
.dub .dub-needs li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:13px}
.dub button,.dub .t2i-next{min-height:44px}

/* Global account & credits control v25.10 */
.topbar .top-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.acct-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 0 0 4px;border:0;border-radius:999px;background:transparent;font:700 13px Manrope,sans-serif;color:var(--ink);cursor:pointer;white-space:nowrap}
.acct-btn.bad{border-color:#d96666;color:#7a1515}.acct-btn.off{color:#4b5d78}
.acct-short{display:none}
.acct-ring{--p:0;width:44px;height:44px;border-radius:50%;display:inline-grid;place-items:center;background:conic-gradient(#276bff calc(var(--p)*1%),#e1eaf6 0);position:relative;flex:none}
.acct-ring::after{content:"";position:absolute;inset:4px;box-shadow:0 0 0 1px var(--line);border-radius:50%;background:#fff}.acct-ring b{position:relative;z-index:1;font:800 10px Manrope,sans-serif}
.acct-ring.none{background:#e1eaf6;color:#5a6d86;font-size:12px}.acct-ring.none::after{display:none}
.acct-panel{position:fixed;top:82px;right:24px;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 100px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px #0c173033;z-index:70}
.acct-scrim{position:fixed;inset:0;background:#0c17304d;z-index:65;display:none}
.acct-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff}
.acct-x{min-width:44px;min-height:44px;border:0;background:transparent;font-size:24px;cursor:pointer}
.acct-body{padding:12px 16px 16px;display:grid;gap:8px}
.acct-big b{display:block;font:800 28px Manrope,sans-serif}.acct-big span{color:#4b5d78;font-size:13px}.acct-big.bad b,.acct-big.off b{font-size:18px}
.acct-r{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:6px 0;border-bottom:1px solid #eef3fa}
.acct-note{font-size:12px;color:#5a6d86;margin:2px 0}.acct-h{font:800 12px Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#5a6d86;margin:10px 0 2px}
.acct-btns{display:grid;gap:6px}.acct-list{display:grid;gap:2px}
.acct-i{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;font:700 13px Manrope,sans-serif;text-align:left;cursor:pointer;color:var(--ink)}
.acct-i[disabled]{cursor:not-allowed;color:#7b8ba3;background:#f6f9fd}.acct-i small{font-weight:600;font-size:11px;color:#7b8ba3}
.acct-act{list-style:none;margin:0;padding:0;display:grid;gap:4px}.acct-act li{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;padding:6px 0;border-bottom:1px solid #eef3fa}.acct-act small{display:block;color:#7b8ba3}
@media(max-width:860px){.acct-long{display:none}.acct-short{display:inline}}
@media(max-width:700px){.acct-panel{top:auto;bottom:0;left:0;right:0;width:100%;max-height:85vh;border-radius:18px 18px 0 0}body.acct-open .acct-scrim{display:block}}
.dub .dub-needs li{flex-wrap:wrap}
/* Dubbing Studio (v25.11) */
.dub .dub-main{display:grid;gap:14px;min-width:0}
.dub .small-input,.dub select,.dub .tag,.dub .t2i-link,.dub .action{min-height:44px}
.dub .small-input{width:100%;min-width:0;box-sizing:border-box}
.dub .dub-gh{margin:14px 0 6px;font:800 13px Manrope,sans-serif;color:#2c3f5c}
.dub .dub-langs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}
.dub .dub-lang{display:flex;align-items:center;gap:8px;min-height:44px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}
.dub .dub-lang.on{border-color:#7aa5ee;background:#f1f6ff}.dub .dub-lang.off{opacity:.6;cursor:not-allowed}
.dub .dub-lang input{width:20px;height:20px;flex:none}
.dub .dub-ln{display:grid;min-width:0;flex:1}.dub .dub-ln small{color:#5a6d86;overflow:hidden;text-overflow:ellipsis}
.dub .dub-lang .t2i-chip{padding:3px 8px;font-size:11px;white-space:nowrap}
.dub .dub-st-available{background:#e8f7ee;border-color:#a8dcbb;color:#146c3a}.dub .dub-st-preview{background:#fff7e6;border-color:#f3d28b;color:#8a5a00}.dub .dub-st-soon{background:#f1f3f6;color:#6a7788}
.dub .dub-selrow{display:grid;gap:6px;margin:8px 0}
.dub .dub-sel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;border:1px solid #a9c4f5;border-radius:12px;background:#f1f6ff}
.dub .dub-pilot{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:12.5px;font-weight:700}.dub .dub-pilot input{width:20px;height:20px}
.dub .dub-spk{display:grid;gap:4px;padding:12px;margin:8px 0;border:1px solid var(--line);border-radius:14px;background:#fff}
.dub .dub-ends{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:#5a6d86}
.dub input[type=range]{width:100%;min-height:44px}
.dub .dub-chk{display:flex;align-items:center;gap:10px;min-height:44px;font-size:13.5px}.dub .dub-chk input{width:22px;height:22px;flex:none}
.dub .dub-trctl{display:grid;gap:6px;margin:10px 0}
.dub .dub-rows{display:grid;gap:10px;margin-top:8px}
.dub .dub-row{display:grid;gap:6px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.dub .dub-rowh{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dub .dub-rowh select{width:auto;max-width:100%}
.dub .dub-orig{margin:0;padding:8px 10px;border-radius:8px;background:#f4f8fd;color:#34475f;font-size:13px}.dub .dub-orig small{display:block;font-weight:800;color:#5a6d86}
.dub .dub-dict{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:4px}.dub .dub-dict li{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:4px 10px;border:1px solid var(--line);border-radius:10px}
.dub .dub-dadd{display:grid;grid-template-columns:1fr 1fr auto;gap:6px}
.dub .dub-lip{display:grid;gap:6px;margin:8px 0}
.dub .dub-todo{margin:4px 0 0;padding-left:18px;font-size:13px}
.dub .dub-job{display:grid;gap:8px;padding:12px;margin:8px 0;border:1px solid var(--line);border-radius:14px;background:#fff}
.dub .dub-jobh{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dub .dub-job progress{width:100%;height:10px}
.dub a.tag,.dub a.action{display:inline-flex;align-items:center;text-decoration:none}
@media (max-width:700px){.dub .dub-langs{grid-template-columns:1fr}.dub .dub-dadd{grid-template-columns:1fr}.dub .dub-rowh select{width:100%}}
/* Direct upload (v25.11.3) */
.dub-drop{display:grid;gap:8px;justify-items:center;text-align:center;padding:26px 16px;border:2px dashed #7aa5ee;border-radius:16px;background:#f1f6ff;cursor:pointer;min-height:44px}
.dub-drop:hover,.dub-drop:focus-visible,.dub-drop.drag{background:#e3eeff;border-color:#2f6fe0;outline:none}
.dub-drop b{font:800 17px Manrope,sans-serif;color:#1c3157}.dub-drop small{color:#5a6d86}
.dub-drop .action{pointer-events:none}
.dub-up{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dub-up progress{flex:1 1 180px;height:10px}
.up-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
/* ---- Video Blueprints (Phase B) ---- */
.bp .bp-gh h2{margin:0 0 4px;font:800 24px Manrope,sans-serif;color:#1c3157}
.bp-tools{display:grid;gap:8px;margin:12px 0}.bp-tools .small-input{max-width:420px}
.bp-filters{display:flex;flex-wrap:wrap;gap:8px}.bp-filters .chip{min-height:44px;padding:0 16px}
.bp-grid{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.bp-card{all:unset;box-sizing:border-box;display:flex;flex-direction:column;width:100%;height:100%;min-height:44px;background:#fff;border:1px solid #d6e0ee;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s}
.bp-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(28,49,87,.14)}.bp-card:focus-visible{outline:3px solid #2f6fe0;outline-offset:2px}
.bp-art{display:block;width:100%;height:120px}.bp-cb{display:flex;flex-direction:column;gap:6px;padding:14px}
.bp-cb b{font:800 17px Manrope,sans-serif;color:#1c3157}.bp-cb small{color:#4a5d78;line-height:1.4}
.bp-tag{align-self:flex-start;font:700 11px Manrope,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#2f6fe0;background:#e8f0ff;border-radius:999px;padding:3px 10px}
.bp-meta{font-size:12px;color:#5a6d86}.bp-none{grid-column:1/-1;padding:24px;text-align:center;color:#5a6d86;background:#f4f7fc;border-radius:12px}
.bp-drafts{margin-bottom:18px}.bp-dl{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.bp-dl li{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bp-dl li>span{flex:1 1 200px;display:flex;flex-direction:column}.bp-dl small{color:#5a6d86}
.bp-dl .tag,.bp-srcs .tag,.bp-claims .tag,.bp-scenes .tag,.bp-jobs .tag{min-height:44px;min-width:44px;padding:0 12px}
.bp-head{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.bp-title{display:flex;gap:14px;align-items:center}.bp-title .bp-art{width:96px;height:72px;border-radius:12px;flex:none}
.bp-title h2{margin:0;font:800 24px Manrope,sans-serif;color:#1c3157}
.bp-steps{list-style:none;margin:0 0 14px;padding:0;display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x proximity}
.bp-steps li{flex:0 0 auto}.bp-step{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid #d6e0ee;background:#fff;border-radius:999px;cursor:pointer;font:700 13px Manrope,sans-serif;color:#33466a}
.bp-step.on{background:#2f6fe0;color:#fff;border-color:#2f6fe0}.bp-step.done{border-color:#2f6fe0}.bp-step:focus-visible{outline:3px solid #1c3157;outline-offset:2px}
.bp-sn{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e8f0ff;color:#1c3157;font:800 12px Manrope,sans-serif;flex:none}.bp-step.on .bp-sn{background:#fff}
.bp-stage .small-input,.bp-stage .big-input{width:100%;box-sizing:border-box;min-height:44px}
.bp-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-top:14px}.bp-nav .action{min-height:44px}
.bp-srcrow{flex-wrap:wrap;gap:8px}.bp-srcrow .action,.bp-stage .row .action{min-height:44px}
.bp-srcs,.bp-claims,.bp-scenes,.bp-jobs,.bp-iss,.bp-caps{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}
.bp-srcs li,.bp-claims li,.bp-scenes li,.bp-jobs li{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:#f4f7fc;border-radius:12px;padding:10px}
.bp-sb{flex:1 1 180px;display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.bp-sb small{color:#5a6d86}.bp-sk{font-size:18px;width:28px;text-align:center}
.bp-sf{flex:1 1 220px;display:grid;gap:6px}.bp-sd{max-width:110px}.bp-sa{display:flex;gap:6px}
.bp-ct{flex:1 1 160px;overflow-wrap:anywhere}.bp-claims select{max-width:220px}
.bp-h3{margin:16px 0 6px;font:800 15px Manrope,sans-serif;color:#1c3157}
.bp-err{color:#b3261e;min-height:1em;margin:6px 0}.bp-ok{color:#1b6b3a}
.bp-caps li{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;background:#f4f7fc;border-radius:10px}.bp-cap{font-style:normal;font-weight:700;color:#6b7a90}.bp-cap.on{color:#1b6b3a}
.bp-quote{display:flex;flex-direction:column;gap:2px;margin:12px 0;padding:12px;border:1px dashed #b9c8de;border-radius:12px;background:#fff}.bp-price{font:800 22px Manrope,sans-serif;color:#1c3157}
.bp-empty-card{padding:18px;border:1px dashed #b9c8de;border-radius:12px;display:flex;flex-direction:column;gap:4px;background:#f9fbfe}.bp-empty-card small{color:#5a6d86}
.bp-fin{flex-wrap:wrap;gap:8px;margin-top:12px}.bp-fin .action{min-height:44px}.bp-iss .t2i-link{min-height:44px;text-align:left}
.bp-why{color:#5a6d86;margin-top:8px}.bp-stage button:disabled{opacity:.55;cursor:not-allowed}
@media (max-width:480px){.bp-grid{grid-template-columns:1fr}.bp-art{height:96px}.bp-title .bp-art{width:72px;height:56px}.bp-nav{flex-direction:column;align-items:stretch}.bp-nav .action{width:100%}.bp-srcrow .action{flex:1 1 calc(50% - 8px)}}
@media (prefers-reduced-motion:reduce){.bp-card{transition:none}.bp-card:hover{transform:none}}
.bp-art{display:flex;align-items:center;justify-content:center;color:hsl(var(--h,220) 55% 28%);background:linear-gradient(135deg,hsl(var(--h,220) 80% 92%),hsl(calc(var(--h,220) + 40) 75% 80%))}
.bp-title .bp-art svg{width:40px;height:40px}
.bp-head .t2i-link,.bp-stage .t2i-link{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
/* ---- Blueprints: v25.11.4.1 mobile corrections ---- */
.bp-stepwrap{position:relative;margin:0 0 14px}.bp-stepwrap .bp-steps{margin:0}
.bp-ra{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
@media (max-width:850px){
 body:has(#bp) .topbar{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none}
 body:has(#bp) .notice{display:none}
 .bp-live.cx-sr{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;margin:0 0 10px;padding:0 12px;min-height:44px;display:flex;align-items:center;border-radius:12px;background:#eef4ff;color:#24466f;font-size:13px;font-weight:600}
 .bp-live.cx-sr:empty{background:transparent}
 .bp-stepwrap[data-r="1"] .bp-steps{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 36px),transparent)}
 .bp-stepwrap[data-l="1"] .bp-steps{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 36px),transparent)}
 .bp-stepwrap[data-l="1"][data-r="1"] .bp-steps{-webkit-mask-image:linear-gradient(to right,transparent,#000 28px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(to right,transparent,#000 28px,#000 calc(100% - 36px),transparent)}
}
@media (max-width:480px){
 .bp-srcs li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px 8px;align-items:start}
 .bp-srcs li .bp-sb{grid-column:2;min-width:0}.bp-srcs li .bp-sk{grid-column:1;grid-row:1}
 .bp-srcs li .bp-ra{grid-column:1/-1;margin-left:0;justify-content:flex-end}
 .bp-srcs li .bp-sb b{overflow-wrap:anywhere}
}
/* ---- Dubbing: compact searchable multi-select (v25.11.4.1) ---- */
.dub .dub-open,.dub .dub-scrim,.dub .dub-sheet-head,.dub .dub-sheet-chips{display:none}
.dub .dub-panel{display:block;margin-top:6px}
.dub .dub-frame{height:300px;overflow-y:auto;overscroll-behavior:contain;margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fafcff}
.dub .dub-frame:focus-visible{outline:3px solid #2f6fe0;outline-offset:2px}
.dub .dub-frame .dub-langs{grid-template-columns:1fr}
.dub .dub-frame .dub-gh{position:sticky;top:-8px;z-index:1;margin:0 0 6px;padding:4px 2px;background:#fafcff;font-size:12px}
.dub .dub-frame .dub-langs+.dub-gh{margin-top:10px}
.dub .dub-frame .dub-lang{margin-bottom:0}
.dub .dub-mini{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 4px 0 10px;border:1px solid #bcd0f2;background:#f1f6ff;border-radius:999px;font-size:13px}
.dub .dub-mini em{font-style:normal;font-weight:800;font-size:11px;color:#2f6fe0}
.dub .dub-mini button{min-width:44px;min-height:44px;margin:-4px 0;border:0;background:transparent;font-size:18px;cursor:pointer;color:#33466a}
@media (max-width:700px){
 .dub .dub-open{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin-top:8px}
 .dub .dub-panel{display:none;position:fixed;left:0;right:0;bottom:0;z-index:260;max-height:86vh;overflow:auto;margin:0;padding:12px 16px 16px;background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -12px 40px rgba(20,40,80,.28)}
 .dub .dub-panel.open{display:block}
 .dub .dub-scrim{position:fixed;inset:0;z-index:250;background:rgba(12,23,48,.45)}.dub .dub-scrim.open{display:block}
 .dub .dub-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.dub .dub-sheet-head .action{min-height:44px;min-width:88px}
 .dub .dub-sheet-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
 .dub .dub-frame{height:min(250px,36vh)}
}
/* ---- v25.11.4.2: compact chips, opaque header and non-floating notices on every Studio workspace ---- */
.dub .dub-selrow{display:flex;flex-wrap:wrap;gap:6px;max-height:100px;overflow-y:auto;overscroll-behavior:contain;padding:2px}
.dub .dub-sel{display:inline-flex;flex-wrap:nowrap;align-items:center;gap:6px;min-height:44px;padding:0 4px 0 12px;border-radius:999px;font-size:13px;max-width:100%}
.dub .dub-sel b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:11em}
.dub .dub-sel .t2i-chip{padding:2px 8px;font-size:11px;white-space:nowrap}
.dub .dub-sel .dub-pilot{min-height:44px;font-size:12px;gap:4px;white-space:nowrap}.dub .dub-sel .dub-pilot input{width:18px;height:18px}
.dub .dub-sel .dub-x{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:20px;line-height:1;text-decoration:none}
.dub .dub-selrow .ls-empty{flex:1 1 100%}
@media (max-width:850px){
 .topbar{background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;position:sticky}
 .topbar .notice{display:none;position:absolute;left:12px;right:12px;bottom:8px;top:auto;transform:none;max-width:none;margin:0;padding:8px 12px;box-shadow:none;border-radius:10px;background:#eef4ff;font-size:13px;line-height:1.35;transition:none}
 .topbar .notice.show{display:block;bottom:8px}
 .topbar:has(.notice.show){padding-bottom:66px}
}
.dub .dub-main,.dub .dub-main>section,.dub .dub-grid>*{min-width:0}
.dub #dub-trtabs{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.dub #dub-trtabs>button{flex:0 0 auto;min-height:44px;white-space:nowrap}
/* Phase C: blueprint configuration */
.bp-rules,.bp-next,.bp-planned{margin:8px 0;padding:0 0 0 20px;color:#27406b;font:600 13.5px/1.5 Manrope,sans-serif}
.bp-rules{background:#f3f7ff;border:1px solid #d7e3fb;border-radius:12px;padding:10px 14px 10px 32px}
.bp-planned{list-style:none;padding:0;display:grid;gap:8px}.bp-planned li{display:grid;gap:2px;border:1px solid #e1e8f5;border-radius:12px;padding:10px 12px;background:#fff}.bp-planned small{color:#5a6b8c;font-weight:600}
.bp-fs{border:1px solid #d9e2f3;border-radius:12px;margin:12px 0;padding:8px 12px;min-width:0}.bp-fs legend{font:800 13.5px Manrope,sans-serif;color:#1c3157;padding:0 6px}
.bp-fs .t2i-check{min-height:44px;align-items:center}
.bp-req{font-weight:700;color:#7a4a00;font-size:12px}
.bp-num{max-width:8em}
.bp-need{margin-top:14px;padding:10px 12px;border-radius:12px;background:#f7f9fd;border:1px solid #e1e8f5;color:#27406b;font:600 13.5px/1.5 Manrope,sans-serif}.bp-need ul{margin:6px 0 0;padding-left:18px}
.bp-need-meta{color:#7a4a00}
.bp .t2i-check{min-height:44px;align-items:center}
/* v25.11.5.1: many drafts never push the Gallery off screen */
.bp-dl{max-height:260px;overflow-y:auto;overscroll-behavior:contain}.bp-dl:focus-visible{outline:2px solid #347eff;outline-offset:2px;border-radius:10px}

.bp-grid .bp-art{height:auto;aspect-ratio:16/9;position:relative;overflow:hidden}
.bp-art.has-pic svg{opacity:0}
.bp-pic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:480px){.bp-grid .bp-art{height:auto}}
@media (max-width:360px){.topbar .top-actions{flex-wrap:wrap;justify-content:flex-end;min-width:0;max-width:100%}}

/* ---- All Creative Tools (Phase C.1) ---- */
.ct-sec{margin:22px 0 6px}.ct-h{font-size:20px;margin:0 0 4px}.ct-sub{margin:0 0 8px}
.ct-grid{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.ct-item{position:relative;display:flex}
.ct-open{all:unset;box-sizing:border-box;display:flex;flex-direction:column;width:100%;min-height:44px;background:#fff;border:1px solid #d6e0ee;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s}
.ct-open:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(28,49,87,.14)}.ct-open:focus-visible,.ct-pin:focus-visible{outline:3px solid #2f6fe0;outline-offset:2px}
.ct-art{display:block;position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(145deg,#fbe9df,#f3d3e4)}
.ct-pic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block}
.ct-fb{position:absolute;inset:0;display:none;align-items:center;justify-content:center;font-size:44px;color:#5a3a52}.ct-art.noimg .ct-fb{display:flex}
.ct-body{display:flex;flex-direction:column;gap:5px;padding:12px 14px 14px}.ct-body b{font-size:16px}.ct-body small{color:#4b5b75;font-size:13px;line-height:1.4}
.ct-badges{display:flex;flex-wrap:wrap;gap:6px}.ct-b{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#eaf3ff;color:#1f4fb0}
.ct-b-new{background:#e3f7ea;color:#146c3a}.ct-b-soon{background:#fff0d6;color:#8a5200}
.ct-off{opacity:.78;cursor:not-allowed}.ct-off:hover{transform:none;box-shadow:none}.ct-why{font-size:12px;color:#8a5200}
.ct-pin{all:unset;box-sizing:border-box;position:absolute;top:8px;right:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.92);color:#41506a;font-size:22px;cursor:pointer;box-shadow:0 2px 8px rgba(28,49,87,.2)}
.ct-pin.on{color:#c27a00}.ct-none{margin:24px 0}
.ct-filters{display:flex;flex-wrap:wrap;gap:8px}.ct-filters .chip{min-height:44px;padding:0 16px}
@media (max-width:640px){.ct-filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.ct-filters .chip{flex:none;scroll-snap-align:start}.ct-grid{grid-template-columns:1fr 1fr;gap:10px}.ct-body{padding:10px}.ct-body small{font-size:12px}}
@media (max-width:360px){.ct-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ct-open{transition:none}.ct-open:hover{transform:none}}

/* ---- Thumbnail Maker ---- */
.tm-bar{align-items:flex-end;gap:10px;flex-wrap:wrap}.tm-bar .tm-f{min-width:200px}.tm-name{margin:10px 0}
.tm-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:1100px){.tm-grid{grid-template-columns:minmax(0,1fr)}}
.tm-colA,.tm-colB{min-width:0}.tm-mw{max-width:100%}
.tm-f{display:flex;flex-direction:column;gap:4px;min-width:110px}.tm-f .small-input,.tm .small-input{min-height:44px}.tm .action,.tm .tag{min-height:44px}.tm .big-input.compact{min-height:64px}
.tm-checks{display:flex;flex-wrap:wrap;gap:6px 18px;margin:10px 0}.tm .t2i-check{min-height:44px;align-items:center}
.tm-stagewrap{width:100%;max-width:880px}.tm-stage{position:relative;width:100%;overflow:hidden;container-type:size;border-radius:10px;background:#1b2a4a;box-shadow:0 2px 14px rgba(0,0,0,.18);user-select:none}
.tm-bg{position:absolute;inset:0}.tm-bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tm-l{position:absolute;box-sizing:border-box;line-height:1.1;overflow:visible;touch-action:none;cursor:grab;white-space:normal;word-break:break-word}
.tm-l.locked{cursor:not-allowed}.tm-l.sel{outline:calc(.5 * 1cqh) dashed #2bd9f7;outline-offset:2px}.tm-l:focus-visible{outline:calc(.7 * 1cqh) solid #fff;box-shadow:0 0 0 calc(1.2 * 1cqh) #2f6fe0}
.tm-image img{width:100%;height:100%;display:block}.tm-miss{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#0006;color:#fff;font:12px/1.2 system-ui;text-align:center}
.tm-ov{position:absolute;pointer-events:none;box-sizing:border-box;z-index:900}.tm-ov span{position:absolute;left:3px;top:2px;font:600 10px/1.1 system-ui;color:#fff;background:#0009;padding:1px 4px;border-radius:3px;white-space:nowrap}
.tm-safe{border:1px dashed #ffffffaa}.tm-zone{background:#ff3b7a33;border:1px dashed #ff3b7a}.tm-reg{border:2px solid #2bd96b;background:#2bd96b22}.tm-reg-product{border-color:#ffb020;background:#ffb02022}.tm-reg-logo{border-color:#c07bff;background:#c07bff22}.tm-reg.sel{border-style:dashed;box-shadow:0 0 0 2px #fff}.tm-crop{border:2px dashed #fff;background:transparent}
.tm-minis{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin-top:8px}.tm-mw{margin:0}.tm-mw figcaption{font-size:11px;color:#63728a;margin-top:2px}.tm-mini{border-radius:6px;box-shadow:0 1px 6px rgba(0,0,0,.2)}
.tm-hint{margin-top:6px}.tm-layers{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.tm-lr{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:space-between;border:1px solid #d6e0ee;border-radius:12px;padding:4px 6px;background:#fff}.tm-lr.sel{border-color:#2f6fe0;box-shadow:0 0 0 2px #2f6fe033}
.tm-pick{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:8px;min-height:44px;flex:1 1 140px;cursor:pointer;padding:0 6px;border-radius:8px}.tm-pick:focus-visible{outline:3px solid #2f6fe0}.tm-pick small{color:#63728a}.tm-pick i{font-style:normal;width:22px;text-align:center}
.tm-lc{display:flex;flex-wrap:wrap;gap:4px}.tm-insp{margin-top:12px;border-top:1px solid #e1e8f3;padding-top:8px}.tm-insp .row{gap:10px;flex-wrap:wrap}
.tm-col{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.tm-col input[type=color],.tm-kc input[type=color]{width:56px;min-height:44px;padding:2px}.tm-sw{all:unset;box-sizing:border-box;width:32px;height:32px;min-width:32px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #8896ad;cursor:pointer;position:relative}.tm-sw::after{content:"";position:absolute;inset:-6px}.tm-sw:focus-visible{outline:3px solid #2f6fe0}
.tm-kcols{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;align-items:center}.tm-kc{display:inline-flex;gap:2px;align-items:center}
.tm-recs{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:6px}.tm-rec,.tm-ver{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;align-items:center;border:1px solid #e1e8f3;border-radius:12px;padding:6px 10px;background:#fff}.tm-vers{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.tm-issues{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}.tm-i{border-left:4px solid #9fb0c8;padding:6px 10px;background:#f6f9fd;border-radius:6px;font-size:14px}.tm-i-warn{border-color:#d9822b;background:#fff6ea}.tm-i-ok{border-color:#2b9d5b;background:#effaf3}.tm-readhead{font-weight:700}
.tm-tg{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}.tm-foc{display:inline-flex;gap:8px}.tm-fsm{min-width:80px}.tm-fsm .small-input{max-width:90px}
.tm-plan{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:4px}.tm-plan code{background:#eef3fa;padding:1px 6px;border-radius:6px}.tm-ready{font-weight:600}.tm-vid{max-width:100%;border-radius:8px;margin:8px 0}
.tm .t2i-hidden{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
@media (max-width:640px){.tm-lc .tag{min-width:44px}.tm-minis{gap:8px}.tm-bar .tm-f{min-width:100%}}
@media (prefers-reduced-motion:reduce){.tm-l{transition:none}}

/* ---- Music Studio (Song and Score planning) ---- */
.mu-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:1100px){.mu-grid{grid-template-columns:minmax(0,1fr)}}
.mu-colA,.mu-colB{min-width:0}
.mu-bar{align-items:flex-end;gap:10px;margin:10px 0}
.mu-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.mu-modes,.mu-voc,.mu-starters,.mu-moods{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.mu-chip[aria-pressed=true],.mu-voc .tag[aria-pressed=true]{background:#2f6fe0;color:#fff;border-color:#2f6fe0}
.mu-chip:disabled{opacity:.45}
.mu-secs{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:8px}
.mu-sec{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px;border:1px solid #d8e0ee;border-radius:12px;background:#fff}
.mu-n{width:24px;height:24px;border-radius:50%;background:#e8eefc;color:#2f4fa8;display:inline-flex;align-items:center;justify-content:center;font-size:12px}
.mu-num{width:84px}
.mu-sc{margin-left:auto;display:flex;gap:6px}
.mu-sum{margin:8px 0 0;font-weight:600}
.mu-assetrow{gap:10px;flex-wrap:wrap}
.mu-avail{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1px solid #d8e0ee;margin:8px 0}
.mu-avail[data-state=unavailable]{background:#fff6e5;border-color:#f0d9a8}
.mu-check,.mu-plans,.mu-vers,.mu-plan{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.mu-i{padding:8px 10px;border-radius:10px;background:#f3f6fb}.mu-i b{margin-right:6px}
.mu-i-block{background:#fdeeee}.mu-i-warn{background:#fff6e5}.mu-i-ok{background:#eaf7ef}
.mu-planrow,.mu-ver{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:1px solid #d8e0ee;border-radius:10px;background:#fff}
.mu-res{padding:10px 12px;border:1px solid #d8e0ee;border-radius:12px;background:#fff;margin:6px 0;display:flex;flex-direction:column;gap:8px}
.mu-res audio{width:100%}.mu-res[data-state=failed]{background:#fdeeee}
.mu-readhead{font-weight:700;margin:10px 0 4px}
@media (max-width:640px){.mu-bar .mu-f{min-width:100%}.mu-sc{margin-left:0}.mu-sec select{max-width:100%}}
/* ---- Delivery & Publishing ---- */
.dl-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:1100px){.dl-grid{grid-template-columns:minmax(0,1fr)}}
.dl-colA,.dl-colB{min-width:0}
.dl-bar{align-items:flex-end;gap:10px;margin:10px 0;flex-wrap:wrap}
.dl-f{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 150px;margin:6px 0}
.dl-f .small-input,.dl-f .big-input{width:100%;max-width:100%;box-sizing:border-box}
.dl-num{max-width:130px}
.dl-assetrow{gap:10px;flex-wrap:wrap}
.dl-add{align-items:flex-end;gap:10px;flex-wrap:wrap}
.dl-dest{border:1px solid #d8e0ee;border-radius:14px;background:#fff;padding:12px;margin:12px 0;min-width:0}
.dl-dh{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dl-dh .bp-h3{margin:0;flex:1 1 auto}
.dl-st{padding:2px 10px;border-radius:999px;background:#fdeeee;font-size:12px;font-weight:700}.dl-st[data-ok=true]{background:#eaf7ef}
.dl-thumb{margin:10px 0;display:flex;flex-direction:column;gap:6px}
.dl-langs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.dl-chip[aria-pressed=true]{background:#2f6fe0;color:#fff;border-color:#2f6fe0}.dl-chip:disabled{opacity:.45}
.dl-avail{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1px solid #d8e0ee;margin:8px 0}
.dl-avail[data-state=unavailable]{background:#fff6e5;border-color:#f0d9a8}
.dl-check,.dl-dc,.dl-mans,.dl-vers{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.dl-i{padding:8px 10px;border-radius:10px;background:#f3f6fb}.dl-i b{margin-right:6px}
.dl-i-block{background:#fdeeee}.dl-i-warn{background:#fff6e5}.dl-i-ok{background:#eaf7ef}
.dl-manrow,.dl-ver{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid #d8e0ee;border-radius:10px;background:#fff}
.dl-sc{display:flex;gap:6px;flex-wrap:wrap}
.dl-res{padding:10px 12px;border:1px solid #d8e0ee;border-radius:12px;background:#fff;margin:6px 0;display:flex;flex-direction:column;gap:8px}.dl-res[data-state=failed]{background:#fdeeee}
.dl-res a{word-break:break-all}
.dl-readhead{font-weight:700;margin:10px 0 4px}
.dl-tbl{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0}.dl-tbl th,.dl-tbl td{text-align:left;padding:6px 8px;border-bottom:1px solid #e6ecf6;vertical-align:top}
.dl-insp{margin-top:8px}
/* ---- Enhancement & Upscale ---- */
.eh-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:1100px){.eh-grid{grid-template-columns:minmax(0,1fr)}}
.eh-colA,.eh-colB{min-width:0}
.eh-bar{align-items:flex-end;gap:10px;margin:10px 0;flex-wrap:wrap}
.eh-f{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 150px;margin:6px 0}
.eh-f .small-input,.eh-f .big-input{width:100%;max-width:100%;box-sizing:border-box}
.eh-num{max-width:130px}
.eh-assetrow{gap:10px;flex-wrap:wrap}
.eh-scales{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.eh-chip[aria-pressed=true]{background:#2f6fe0;color:#fff;border-color:#2f6fe0}.eh-chip:disabled{opacity:.45}
.eh-fig{margin:10px 0;display:flex;flex-direction:column;gap:6px}.eh-fig img,.eh-fig video{max-width:100%;max-height:260px;border-radius:12px;object-fit:contain;background:#f3f6fb}
.eh-cmp{position:relative;margin:12px 0;display:flex;flex-direction:column;gap:6px}
.eh-bx{box-sizing:border-box;border:1px dashed #9fb4d8;border-radius:8px;background:#eef3fb;min-height:28px;max-width:100%;padding:4px 8px;font-size:12px}
.eh-bx.eh-big{background:#e3edff}
.eh-avail{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1px solid #d8e0ee;margin:8px 0}
.eh-avail[data-state=unavailable]{background:#fff6e5;border-color:#f0d9a8}
.eh-check,.eh-saved,.eh-vers{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.eh-i{padding:8px 10px;border-radius:10px;background:#f3f6fb}.eh-i b{margin-right:6px}
.eh-i-block{background:#fdeeee}.eh-i-warn{background:#fff6e5}.eh-i-ok{background:#eaf7ef}
.eh-savedrow,.eh-ver{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid #d8e0ee;border-radius:10px;background:#fff}
.eh-res{padding:10px 12px;border:1px solid #d8e0ee;border-radius:12px;background:#fff;margin:6px 0;display:flex;flex-direction:column;gap:8px}.eh-res[data-state=failed]{background:#fdeeee}
.eh-res img,.eh-res video{max-width:100%;border-radius:10px}
.eh-readhead{font-weight:700;margin:10px 0 4px}
.eh-tbl{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0}.eh-tbl th,.eh-tbl td{text-align:left;padding:6px 8px;border-bottom:1px solid #e6ecf6;vertical-align:top}
.eh-insp{margin-top:8px}
/* ---- Logo & Watermark Remover ---- */
.wm-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:1100px){.wm-grid{grid-template-columns:minmax(0,1fr)}}
.wm-colA,.wm-colB{min-width:0}
.wm-bar{align-items:flex-end;gap:10px;margin:10px 0;flex-wrap:wrap}
.wm-f{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 150px;margin:6px 0}
.wm-f .small-input,.wm-f .big-input{width:100%;max-width:100%;box-sizing:border-box}
.wm-num{max-width:130px}
.wm-assetrow{gap:10px;flex-wrap:wrap}
.wm-tools{gap:8px;flex-wrap:wrap;margin:8px 0}
.wm-chip[aria-pressed=true]{background:#2f6fe0;color:#fff;border-color:#2f6fe0}
.wm-stage{position:relative;width:100%;max-width:100%;margin:10px 0;border-radius:12px;overflow:hidden;background:#eef3fb;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}
.wm-media{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}
.wm-stage:not([style*=aspect-ratio]) .wm-media{height:auto}
.wm-ovl{position:absolute;inset:0}
.wm-reg{position:absolute;box-sizing:border-box;border:2px solid #e0457b;background:rgba(224,69,123,.22);cursor:move;min-width:6px;min-height:6px}
.wm-reg.wm-ell{border-radius:50%}
.wm-reg.wm-sel{border-color:#2f6fe0;background:rgba(47,111,224,.25);box-shadow:0 0 0 2px #fff}
.wm-reg.wm-off{opacity:.35;border-style:dashed}
.wm-reg:focus-visible{outline:3px solid #111;outline-offset:2px}
.wm-n{position:absolute;left:2px;top:2px;font-size:11px;font-weight:700;background:#fff;color:#111;border-radius:6px;padding:0 4px;line-height:16px}
.wm-h{position:absolute;right:-8px;bottom:-8px;width:18px;height:18px;border-radius:50%;background:#2f6fe0;border:2px solid #fff;cursor:nwse-resize;touch-action:none}
.wm-timebar{display:flex;flex-direction:column;gap:4px;margin:8px 0}.wm-timebar input[type=range]{width:100%}
.wm-list,.wm-kfs,.wm-check,.wm-saved,.wm-vers{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
.wm-list{flex-direction:row;flex-wrap:wrap}
.wm-pick[aria-pressed=true]{background:#2f6fe0;color:#fff;border-color:#2f6fe0}
.wm-edit{border:1px solid #d8e0ee;border-radius:14px;background:#fff;padding:12px;margin:12px 0;min-width:0}
.wm-kf,.wm-savedrow,.wm-ver{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1px solid #d8e0ee;border-radius:10px;background:#fff}
.wm-avail{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1px solid #d8e0ee;margin:8px 0}
.wm-avail[data-state=unavailable]{background:#fff6e5;border-color:#f0d9a8}
.wm-i{padding:8px 10px;border-radius:10px;background:#f3f6fb}.wm-i b{margin-right:6px}
.wm-i-block{background:#fdeeee}.wm-i-warn{background:#fff6e5}.wm-i-ok{background:#eaf7ef}
.wm-res{padding:10px 12px;border:1px solid #d8e0ee;border-radius:12px;background:#fff;margin:6px 0;display:flex;flex-direction:column;gap:8px}.wm-res[data-state=failed]{background:#fdeeee}
.wm-res img,.wm-res video{max-width:100%;border-radius:10px}
.wm-readhead{font-weight:700;margin:10px 0 4px}
.wm-tbl{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0}.wm-tbl th,.wm-tbl td{text-align:left;padding:6px 8px;border-bottom:1px solid #e6ecf6;vertical-align:top}
.wm-insp{margin-top:8px}

/* ---- v25.12.22 / Release 13: Dubbing Studio audit (every rule below is scoped to #dub) ---- */
#dub .tag,#dub .t2i-chip{font-size:12px}
#dub small,#dub span:not(.status-pill){font-size:max(12px,1em)}
#dub .status-pill{font-size:12px;white-space:normal;max-width:100%;overflow-wrap:anywhere}
#dub .t2i-muted,#dub .t2i-hint,#dub dd,#dub small{overflow-wrap:anywhere}

/* ===== v25.12.31 Character Builder audit (scoped to #cb and .cb-dlg; nothing outside Character Builder is touched) ===== */
#cb small,#cb .tag,#cb .chip,#cb .t2i-muted,#cb .t2i-hint,#cb .kicker,#cb dt,#cb dd,#cb em,#cb .cb-vstate,#cb .cb-vwhy,#cb .cb-cont,#cb .cb-none,#cb .cb-newer,#cb .cb-ver,#cb .cb-report li,#cb .cb-store p,#cb .cb-snaprefs li,#cb .status-pill,#cb .input-label,#cb .cx-legacy{font-size:max(12px,1em)}
#cb .cb-vthumb span{font-size:12px}
#cb .t2i-top{flex-wrap:wrap}
#cb .status-pill{max-width:100%;white-space:normal}
#cb .cb-done dt{font-size:12px;letter-spacing:.04em}
#cb button,#cb select,#cb textarea,#cb input:not([type=checkbox]):not([type=file]):not([type=hidden]){min-height:44px}
#cb .tag,#cb .chip,#cb .t2i-link,#cb .cb-item{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding-inline:12px}
#cb .cb-item{display:grid;justify-content:stretch;text-align:start}
#cb .t2i-check{position:relative;display:flex;align-items:center;gap:8px;min-height:44px}
#cb .t2i-check input[type=checkbox]{appearance:none;-webkit-appearance:none;position:relative;flex:none;width:44px;height:44px;margin:0;padding:0;border:0;background:none;cursor:pointer}
#cb .t2i-check input[type=checkbox]::before{content:"";position:absolute;inset:11px;border:2px solid #5b6b82;border-radius:6px;background:#fff}
#cb .t2i-check input[type=checkbox]:checked::before{background:#1d6ef2;border-color:#1d6ef2}
#cb .t2i-check input[type=checkbox]:checked::after{content:"";position:absolute;inset-inline-start:17px;top:12px;width:8px;height:15px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
#cb button:focus-visible,#cb input:focus-visible,#cb select:focus-visible,#cb textarea:focus-visible,#cb a:focus-visible,#cb [tabindex]:focus-visible,.cb-dlg button:focus-visible{outline:3px solid #1d6ef2;outline-offset:2px}
#cb button,#cb input,#cb select,#cb textarea,#cb a,#cb [tabindex],#cb .cb-sec{scroll-margin-bottom:112px;scroll-margin-top:16px}
#cb .cb-savebar{position:static}
#cb .cb-views{grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr))}
#cb .cb-view{min-width:0}
#cb .cb-view.cb-drag,#cb .cb-views.cb-drag{outline:3px dashed #1d6ef2;outline-offset:2px;background:#eef5ff}
#cb .cb-vstate{font-weight:800}
#cb .cb-st-verified{color:#0b6b3a}#cb .cb-st-unverified,#cb .cb-st-changed,#cb .cb-st-checking{color:#8a4b00}#cb .cb-st-unavailable,#cb .cb-st-wrong-kind,#cb .cb-st-foreign-project{color:#a11d1d}#cb .cb-st-empty{color:#4a5a70}
#cb [data-cb-state=unavailable],#cb [data-cb-state=wrong-kind],#cb [data-cb-state=foreign-project]{border-color:#e3a5a5}
#cb .cb-blocked,#cb .cb-store-bad{padding:12px;border:1px solid #e3a5a5;border-radius:12px;background:#fff3f3;color:#5c1212}
#cb .cb-store{display:grid;gap:8px;margin-bottom:12px;padding:12px;border:1px solid #cfe0f3;border-radius:12px;background:#f4f9ff}
#cb .cb-store p,#cb .cb-blocked{margin:0}
#cb .cb-report ul{margin:6px 0 0;padding-inline-start:18px;display:grid;gap:4px}
#cb .cb-rep-rejected{color:#a11d1d}
#cb .cb-snapshot{outline:0}
#cb .cb-banner{margin:0;padding:10px 12px;border:1px solid #e6c98a;border-radius:12px;background:#fff8e6}
#cb .cb-snapdl{display:grid;grid-template-columns:minmax(0,160px) minmax(0,1fr);gap:6px 14px;margin:0}
#cb .cb-snapdl dd{margin:0;overflow-wrap:anywhere}
#cb .cb-snaprefs{display:grid;gap:6px;margin:0;padding-inline-start:18px}
#cb .cb-head,#cb .cb-vers li{flex-wrap:wrap}
.cb-dlg{width:calc(100vw - 32px);max-width:460px;padding:0;border:1px solid #cfe0f3;border-radius:16px;color:inherit;background:#fff;box-shadow:0 24px 60px #0a142840}
.cb-dlg::backdrop{background:#0a14286b}
.cb-dlg .cb-dlg-in{display:grid;gap:12px;padding:20px}
.cb-dlg h2{margin:0;font-size:18px}.cb-dlg p{margin:0;font-size:14px;line-height:1.5}
.cb-dlg .cb-dlg-act{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.cb-dlg button{min-height:44px;min-width:44px;padding-inline:14px;font-size:14px}
@media (max-width:520px){#cb .cb-snapdl{grid-template-columns:minmax(0,1fr)}#cb .cb-savebar{padding:8px}#cb .cb-savebar .action{flex:1 1 120px}}
/* ===== v25.12.32 Brand Assets audit (scoped to #brand-view, .bd-dlg and #bd-store-banner; colours, one logo and notes only - display/storage-only, no hand-offs) ===== */
#brand-view .safe { font-size: 12px; line-height: 1.5; }
#brand-view .swatches { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0; }
#brand-view .swatch { min-width: 96px; min-height: 64px; padding: 6px 8px; border: 1px solid #0003; border-radius: 12px; font-size: 12px; font-weight: 700; text-shadow: none; cursor: pointer; }
#brand-view .swatch span { display: block; font-size: 12px; line-height: 1.3; }
#brand-view .swatch bdi { unicode-bidi: isolate; direction: ltr; }
#brand-view .swatch:focus-visible { outline: 3px solid #1d4fb8; outline-offset: 2px; }
#brand-view .swatch[disabled] { cursor: not-allowed; opacity: .6; }
#brand-view .action { min-height: 44px; height: auto; padding-block: 10px; font-size: 14px; }
#brand-view .action[disabled] { cursor: not-allowed; opacity: .55; }
#brand-view #brand-color { min-width: 48px; min-height: 44px; }
#brand-view .big-input { font-size: 16px; min-height: 132px; }
#brand-view .bd-state { margin: 8px 0 12px; padding: 10px 12px; border-radius: 10px; border: 1px solid #c7d9eb; background: #f4f8fe; color: #263c57; font-size: 13px; line-height: 1.5; }
#brand-view .bd-state[data-state="verified"] { border-color: #8fd1b0; background: #effaf4; color: #14583a; }
#brand-view .bd-state[data-state="unverified"], #brand-view .bd-state[data-state="changed"] { border-color: #e2c27a; background: #fff8e6; color: #5d4208; }
#brand-view .bd-state[data-state="unavailable"], #brand-view .bd-state[data-state="wrong-kind"], #brand-view .bd-state[data-state="foreign-project"] { border-color: #e0a3a3; background: #fdf0f0; color: #7a1f1f; }
#brand-view #brand-logo img { display: block; max-width: 100%; max-height: 120px; margin: 8px 0; object-fit: contain; }
#brand-view .bd-report { margin: 10px 0 0; padding-inline-start: 20px; color: #7a1f1f; font-size: 13px; line-height: 1.5; }
#brand-view .bd-report:empty { display: none; }
#brand-view .bd-msg { margin: 14px 3px 0; min-height: 20px; color: #263c57; font-size: 13px; line-height: 1.5; }
#brand-view .bd-about { margin: 0; padding-inline-start: 20px; color: #3b4f68; font-size: 13px; line-height: 1.7; }
#brand-view .bd-q { border: 2px solid #c98b18; background: #fff8e6; }
#brand-view .bd-q h2 { margin: 0 0 8px; font-size: 18px; }
#brand-view .bd-q p { margin: 6px 0; font-size: 13px; line-height: 1.55; color: #4d3a0a; }
.bd-dlg { width: min(520px, calc(100vw - 32px)); max-height: calc(100vh - 32px); overflow: auto; padding: 0; border: 1px solid #c7d9eb; border-radius: 16px; background: #fff; color: #11203a; box-shadow: 0 24px 64px #0b173040; }
.bd-dlg::backdrop { background: #0b173066; }
.bd-dlg .bd-in { padding: 22px; }
.bd-dlg h2 { margin: 0 0 10px; font-size: 19px; line-height: 1.3; }
.bd-dlg p { margin: 8px 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.bd-dlg .bd-act { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.bd-dlg .bd-act .action { flex: 1 1 140px; width: auto; min-height: 44px; height: auto; margin-top: 0; padding-block: 10px; font-size: 14px; }
.bd-dlg .bd-act .bd-danger { background: #a33636; color: #fff; box-shadow: none; }
.bd-dlg .action:focus-visible { outline: 3px solid #1d4fb8; outline-offset: 2px; }
#bd-store-banner { position: sticky; top: 0; z-index: 60; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; background: #fff3cd; border-bottom: 2px solid #c98b18; color: #4d3a0a; font-size: 14px; line-height: 1.5; }
#bd-store-banner button { width: auto; min-height: 44px; height: auto; margin-top: 0; padding: 8px 14px; font-size: 14px; }
@media (max-width: 600px) { #brand-view .swatch { flex: 1 1 96px; } .bd-dlg .bd-in { padding: 16px; } }
@media (prefers-reduced-motion: reduce) { .bd-dlg, .bd-dlg *, #brand-view .swatch, #bd-store-banner, #bd-store-banner * { transition: none !important; animation: none !important; scroll-behavior: auto !important; } }
/* ===== v25.12.33 Media Library: validated intake, drop zone, record states, in-page dialogs (scoped to #media-view, dialog.ml-dlg and the Assets Drawer report; nothing else is touched) ===== */
#media-view .ml-drop{display:grid;place-items:center;min-height:72px;margin:14px 0 8px;padding:16px;border:2px dashed #7f93b0;border-radius:14px;background:#f4f8fd;color:#1f2f46;text-align:center;font-size:14px}
#media-view .ml-drop p{margin:0;overflow-wrap:anywhere}
#media-view .ml-drop.ml-over{border-color:#1a56d6;background:#e6efff}
#media-view .ml-report:empty{display:none}
#media-view .ml-report ul{margin:8px 0;padding-inline-start:22px;font-size:13px;line-height:1.5;color:#1f2f46}
#media-view .ml-report li{overflow-wrap:anywhere}
#media-view .ml-report li[data-reason]{color:#8a1c1c}
#media-view .ml-err{color:#8a1c1c;font-size:14px}
#media-view [data-lib-act="add-media"]{min-height:44px;min-width:44px}
#media-view #media-filter{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
#media-view #media-filter .chip{min-height:44px;min-width:44px;font-size:13px}
#media-view .media-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}
#media-view .media-tile{min-width:0}
#media-view .media-tile b{font-size:14px}
#media-view .media-tile b bdi{unicode-bidi:isolate}
#media-view .media-tile small{font-size:12px;color:#4a5b73;line-height:1.5}
#media-view .media-tile .row{display:flex;flex-wrap:wrap;gap:8px}
#media-view .media-tile .tag{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 14px;font-size:13px}
#media-view .media-prev video{height:100%}
#media-view .ml-state{font-weight:700}
#media-view .ml-verified{color:#0b6b3a}
#media-view .ml-legacy{color:#8a5a00}
#media-view .ml-damaged{color:#8a1c1c}
#media-view .ml-bad{background:#fdecec;color:#8a1c1c;font-size:40px}
#media-view .ml-why{margin:0;font-size:12px;line-height:1.5;color:#4a5b73;overflow-wrap:anywhere}
#media-view .media-tile[data-state="damaged"]{border-color:#e3b3b3;background:#fffafa}
#media-view button:focus-visible,#media-view a:focus-visible,dialog.ml-dlg button:focus-visible,dialog.ml-dlg a:focus-visible{outline:3px solid #1a56d6;outline-offset:2px}
dialog.ml-dlg{width:min(520px,calc(100vw - 32px));max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:auto;padding:20px;border:1px solid #b9c8dd;border-radius:16px;background:#fff;color:#13233a;box-shadow:0 18px 50px rgba(10,20,35,.35)}
dialog.ml-dlg::backdrop{background:rgba(10,20,35,.55)}
dialog.ml-dlg h2{margin:0 0 8px;font-size:18px;line-height:1.3;overflow-wrap:anywhere}
dialog.ml-dlg #ml-d p{margin:0 0 8px;font-size:14px;line-height:1.5}
dialog.ml-dlg #ml-consumers{margin:12px 0 0;padding-inline-start:20px;font-size:14px;line-height:1.5}
dialog.ml-dlg #ml-consumers li{margin-bottom:8px;overflow-wrap:anywhere}
dialog.ml-dlg #ml-consumers .tag{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 14px;font-size:13px;text-decoration:none}
dialog.ml-dlg .ml-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
dialog.ml-dlg .ml-btns .action{min-height:44px;min-width:44px;font-size:14px}
#cx-drawer-report ul{margin:6px 0 0;padding-inline-start:18px;font-size:12px;line-height:1.5}
@media (prefers-reduced-motion: reduce){#media-view,#media-view *,#media-view *::before,#media-view *::after,dialog.ml-dlg,dialog.ml-dlg *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* ===== v25.12.26 Logo & Watermark audit: every rule below is scoped to #wm or .wm-dlg (44px targets, 12px text, handle, drop zone, dialog) ===== */
#wm .tag,#wm .t2i-muted,#wm small,#wm .wm-n,#wm .status-pill,#wm .wm-i,#wm .input-label,#wm .kicker{font-size:max(12px,1em)}
#wm .t2i-muted,#wm .wm-log,#wm .wm-insp dd,#wm .wm-i,#wm .wm-savedrow,#wm .wm-res,#wm .wm-damage{overflow-wrap:anywhere}
#wm button,#wm .action,#wm select,#wm input:not([type=checkbox]):not([type=hidden]):not([type=range]),#wm .tag.wm-pick,#wm .tag.wm-chip{min-height:44px;min-width:44px;box-sizing:border-box}
#wm .wm-num{min-width:44px}
#wm label.t2i-check{display:flex;align-items:center;gap:10px;min-height:44px}
#wm label.t2i-check input[type=checkbox]{width:24px;height:24px;flex:none}
#wm input[type=range]{min-height:44px;width:100%}
#wm .wm-drop{display:flex;align-items:center;justify-content:center;text-align:center;min-height:88px;padding:12px;margin:10px 0;border:2px dashed #9db3d8;border-radius:14px;background:#f6f9ff;cursor:pointer;box-sizing:border-box;overflow-wrap:anywhere}
#wm .wm-drop:hover,#wm .wm-drop[data-over="1"]{background:#e9f1ff;border-color:#2f6fe0}
#wm .wm-drop:focus-visible,#wm button:focus-visible,#wm select:focus-visible,#wm input:focus-visible,#wm .tag:focus-visible,#wm a:focus-visible{outline:3px solid #111;outline-offset:2px}
#wm .wm-stage{overflow:visible;margin:12px 24px 28px;width:auto;max-width:calc(100% - 48px);background:transparent}
#wm .wm-stage .wm-media{border-radius:12px;background:#eef3fb}
#wm .wm-reg:focus-visible{outline:3px solid #111;outline-offset:2px;z-index:3}
#wm .wm-n{font-size:12px;line-height:18px}
#wm .status-pill{white-space:normal;max-width:100%;overflow-wrap:anywhere}
#wm button,#wm select,#wm input,#wm .wm-drop,#wm .tag,#wm a,#wm .wm-reg{scroll-margin-top:96px;scroll-margin-bottom:24px}
#wm .wm-h{width:44px;height:44px;right:-22px;bottom:-22px;border:0;border-radius:0;background:transparent;display:block;z-index:4}
#wm .wm-h::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#2f6fe0;border:2px solid #fff;box-sizing:border-box}
#wm .wm-h:focus-visible{outline:3px solid #111;outline-offset:-3px}
#wm .wm-damage{border:1px solid #f0c0c0;background:#fdeeee;border-radius:12px;padding:12px;margin:10px 0}
#wm .wm-legacy,#wm .wm-quote{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1px solid #d8e0ee;margin:8px 0}
#wm .wm-quote[data-state=valid]{background:#eaf7ef;border-color:#b9e0c7}
#wm .wm-res .wm-nohand{margin:0}
#wm #wm-auto[disabled]{opacity:.7;cursor:not-allowed}
.wm-dlg{border:0;border-radius:16px;padding:0;max-width:min(92vw,460px);width:100%;box-shadow:0 20px 60px rgba(10,20,40,.35);color:#111;background:#fff}
.wm-dlg::backdrop{background:rgba(10,20,40,.5)}
.wm-dlg .wm-dlg-in{padding:20px;display:flex;flex-direction:column;gap:12px}
.wm-dlg h2{margin:0;font-size:18px;line-height:1.3}
.wm-dlg p{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.wm-dlg .wm-dlg-acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.wm-dlg button{min-height:44px;min-width:44px;font-size:14px;box-sizing:border-box}
.wm-dlg button:focus-visible{outline:3px solid #111;outline-offset:2px}
@media (prefers-reduced-motion:reduce){#wm *,.wm-dlg,.wm-dlg *{animation:none!important;transition:none!important}}

/* ===== v25.12.27 Music Studio audit: every rule below is scoped to #mu or .mu-dlg (44px targets, 12px text, drop zone, source state, dialog) ===== */
#mu .tag,#mu .t2i-muted,#mu small,#mu .mu-n,#mu .status-pill,#mu .mu-i,#mu .input-label,#mu .kicker{font-size:max(12px,1em)}
#mu .t2i-muted,#mu .mu-log,#mu .mu-insp,#mu .mu-i,#mu .mu-planrow,#mu .mu-ver,#mu .mu-res,#mu .mu-damage,#mu .mu-as,#mu .mu-quote{overflow-wrap:anywhere}
#mu .mu-tbl{width:100%;table-layout:fixed;border-collapse:collapse}#mu .mu-tbl th{width:5.5em;text-align:start;font-weight:600;white-space:nowrap;vertical-align:top}#mu .mu-tbl td{overflow-wrap:anywhere;vertical-align:top}
#mu button,#mu .action,#mu select,#mu input:not([type=checkbox]):not([type=hidden]):not([type=range]),#mu .tag.mu-chip,#mu .mu-starters .tag,#mu .mu-voc .tag,#mu .mu-planrow .tag,#mu .mu-ver .tag{min-height:44px;min-width:44px;box-sizing:border-box}
#mu .mu-num{min-width:44px}
#mu .tag.mu-chip{display:inline-flex;align-items:center;justify-content:center;padding:0 14px}
#mu .mu-starters .tag,#mu .mu-voc .tag,#mu .mu-planrow .tag,#mu .mu-ver .tag{display:inline-flex;align-items:center;justify-content:center;padding:0 14px}
#mu label.t2i-check{display:flex;align-items:center;gap:10px;min-height:44px}
#mu label.t2i-check input[type=checkbox]{width:24px;height:24px;flex:none}
#mu .mu-ver .mu-sc{margin:0;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
#mu .mu-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;min-height:88px;padding:12px;margin:10px 0;border:2px dashed #9db3d8;border-radius:14px;background:#f6f9ff;cursor:pointer;box-sizing:border-box;overflow-wrap:anywhere;flex:1 1 220px}
#mu .mu-drop:hover,#mu .mu-drop[data-over="1"]{background:#e9f1ff;border-color:#2f6fe0}
#mu .mu-drop span{font-size:max(12px,1em)}
#mu .mu-drop:focus-visible,#mu button:focus-visible,#mu select:focus-visible,#mu input:focus-visible,#mu textarea:focus-visible,#mu .tag:focus-visible,#mu a:focus-visible{outline:3px solid #111;outline-offset:2px}
#mu button,#mu select,#mu input,#mu textarea,#mu .mu-drop,#mu .tag,#mu a{scroll-margin-top:96px;scroll-margin-bottom:24px}
#mu .mu-as{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1px solid #d8e0ee;margin:8px 0}
#mu .mu-as[data-state=available]{background:#eaf7ef;border-color:#b9e0c7}
#mu .mu-as[data-state=deleted],#mu .mu-as[data-state=changed],#mu .mu-as[data-state=corrupt],#mu .mu-as[data-state=unsupported],#mu .mu-as[data-state=legacy]{background:#fff6e5;border-color:#f0d9a8}
#mu .mu-logbox{margin:6px 0}
#mu .mu-log{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:6px}
#mu .mu-log li{padding:8px 10px;border-radius:10px;background:#f3f6fb}
#mu .mu-log li.no{background:#fdeeee}#mu .mu-log li.ok{background:#eaf7ef}
#mu .mu-tbl{border-collapse:collapse;width:100%;margin:6px 0}
#mu .mu-tbl th,#mu .mu-tbl td{text-align:start;padding:4px 8px;border-bottom:1px solid #e3e9f4;overflow-wrap:anywhere;font-size:max(12px,1em)}
#mu .status-pill{white-space:normal;max-width:100%;overflow-wrap:anywhere}
#mu .mu-damage{border:1px solid #f0c0c0;background:#fdeeee;border-radius:12px;padding:12px;margin:10px 0}
#mu .mu-legacy,#mu .mu-quote{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1px solid #d8e0ee;margin:8px 0}
#mu .mu-quote[data-state=valid]{background:#eaf7ef;border-color:#b9e0c7}
#mu .mu-res[data-state=unverified]{background:#fff6e5;border-color:#f0d9a8}
#mu #mu-create[disabled]{opacity:.7;cursor:not-allowed}
#mu .mu-sec .mu-sc .tag{min-height:44px;min-width:44px}
.mu-dlg{border:0;border-radius:16px;padding:0;max-width:min(92vw,460px);width:100%;box-shadow:0 20px 60px rgba(10,20,40,.35);color:#111;background:#fff}
.mu-dlg::backdrop{background:rgba(10,20,40,.5)}
.mu-dlg .mu-dlg-in{padding:20px;display:flex;flex-direction:column;gap:12px}
.mu-dlg h2{margin:0;font-size:18px;line-height:1.3}
.mu-dlg p{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.mu-dlg .mu-dlg-acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.mu-dlg button{min-height:44px;min-width:44px;font-size:14px;box-sizing:border-box}
.mu-dlg button:focus-visible{outline:3px solid #111;outline-offset:2px}
@media (prefers-reduced-motion:reduce){#mu *,.mu-dlg,.mu-dlg *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== v25.12.28 Thumbnail Maker audit: every rule below is scoped to #tm or .tm-dlg (44px targets and handles, 12px text, drop zone, source states, plans, dialog, protected-area grips) ===== */
#tm .tag,#tm .t2i-muted,#tm small,#tm .status-pill,#tm .input-label,#tm .kicker,#tm .tm-mw figcaption,#tm .tm-i,#tm .tm-ck{font-size:max(12px,1em)}
#tm .t2i-muted,#tm .tm-log,#tm .tm-i,#tm .tm-ck,#tm .tm-planrow,#tm .tm-ver,#tm .tm-damage,#tm .tm-as,#tm .tm-legacy{overflow-wrap:anywhere}
#tm button,#tm .action,#tm select,#tm input:not([type=checkbox]):not([type=hidden]):not([type=file]),#tm .tag,#tm .tm-sw,#tm .tm-pick,#tm textarea{min-height:44px;min-width:44px;box-sizing:border-box}
#tm .tag,#tm .tm-lc .tag,#tm .tm-ver .tag,#tm .tm-planrow .tag,#tm .tm-rec .tag{display:inline-flex;align-items:center;justify-content:center;padding:0 14px;min-width:44px;min-height:44px}
#tm label.t2i-check{display:flex;align-items:center;gap:10px;min-height:44px}
#tm label.t2i-check input[type=checkbox]{width:24px;height:24px;flex:none}
#tm .tm-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;min-height:88px;padding:12px;margin:10px 0;border:2px dashed #9db3d8;border-radius:14px;background:#f6f9ff;cursor:pointer;box-sizing:border-box;overflow-wrap:anywhere;flex:1 1 220px}
#tm .tm-drop:hover,#tm .tm-drop[data-over="1"]{background:#e9f1ff;border-color:#2f6fe0}
#tm .tm-drop span{font-size:max(12px,1em)}
#tm .tm-assetrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
#tm .tm-drop:focus-visible,#tm button:focus-visible,#tm select:focus-visible,#tm input:focus-visible,#tm textarea:focus-visible,#tm .tag:focus-visible,#tm a:focus-visible,#tm .tm-reg-grip:focus,#tm .tm-l:focus{outline:3px solid #111;outline-offset:2px}
#tm .tm-l:focus{outline:max(3px,calc(.7 * 1cqh)) solid #fff;outline-offset:0;box-shadow:0 0 0 max(3px,calc(1.2 * 1cqh)) #2f6fe0}
#tm button,#tm select,#tm input,#tm textarea,#tm .tm-drop,#tm .tag,#tm a{scroll-margin-top:96px;scroll-margin-bottom:24px}
#tm .tm-as{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1px solid #d8e0ee;margin:8px 0}
#tm .tm-as[data-state=available]{background:#eaf7ef;border-color:#b9e0c7}
#tm .tm-as[data-state=deleted],#tm .tm-as[data-state=changed],#tm .tm-as[data-state=corrupt],#tm .tm-as[data-state=unsupported],#tm .tm-as[data-state=legacy]{background:#fff6e5;border-color:#f0d9a8}
#tm .tm-logbox{margin:6px 0;flex:1 1 100%}
#tm .tm-log{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:6px}
#tm .tm-log li{padding:8px 10px;border-radius:10px;background:#f3f6fb}
#tm .tm-log li.no{background:#fdeeee}#tm .tm-log li.ok{background:#eaf7ef}
#tm .status-pill{white-space:normal;max-width:100%;overflow-wrap:anywhere}
#tm .tm-damage{border:1px solid #f0c0c0;background:#fdeeee;border-radius:12px;padding:12px;margin:10px 0}
#tm .tm-legacy{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1px solid #d8e0ee;margin:8px 0}
#tm .tm-check,#tm .tm-plans{list-style:none;margin:8px 0;padding:0;display:flex;flex-direction:column;gap:6px}
#tm .tm-ck{border-left:4px solid #9fb0c8;padding:6px 10px;background:#f6f9fd;border-radius:6px}
#tm .tm-ck-block{border-left-color:#e08a00;background:#fff6e5}#tm .tm-ck-ok{border-left-color:#2bd96b;background:#eaf7ef}
#tm .tm-planrow{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;align-items:center;border:1px solid #d6e0ee;border-radius:12px;padding:6px 10px;background:#fff}
#tm [data-tm-plansave][disabled]{opacity:.7;cursor:not-allowed}
#tm .tm-l,#tm .tm-reg-grip,#tm .tm-h{touch-action:none}
#tm .tm-h{position:absolute;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;border:0;background:transparent;border-radius:50%;cursor:pointer;z-index:5;transform:translate(-50%,-50%)}
#tm .tm-h::before{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;background:#fff;border:2px solid #2f6fe0;box-sizing:border-box}
#tm .tm-h::after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:transparent}
#tm .tm-l .tm-h-nw{left:0;top:0}#tm .tm-l .tm-h-ne{left:100%;top:0}#tm .tm-l .tm-h-sw{left:0;top:100%}#tm .tm-l .tm-h-se{left:100%;top:100%}
#tm .tm-h.tm-hg{z-index:960}
#tm .tm-reg-grip{position:absolute;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:10px;border:2px solid #fff;background:#2bd96b;color:#06351a;z-index:950;cursor:grab;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;box-sizing:border-box;box-shadow:0 1px 6px rgba(0,0,0,.35)}
#tm .tm-reg-grip.sel{background:#2bd9f7;border-color:#111}
#tm .tm-reg{pointer-events:none}
#tm .tm-mw figcaption{font-size:12px}
.tm-dlg{border:0;border-radius:16px;padding:0;max-width:min(92vw,460px);width:100%;box-shadow:0 20px 60px rgba(10,20,40,.35);color:#111;background:#fff}
.tm-dlg::backdrop{background:rgba(10,20,40,.5)}
.tm-dlg .tm-dlg-in{padding:20px;display:flex;flex-direction:column;gap:12px}
.tm-dlg h2{margin:0;font-size:18px;line-height:1.3}
.tm-dlg p{margin:0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.tm-dlg .tm-dlg-acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.tm-dlg button{min-height:44px;min-width:44px;font-size:14px;box-sizing:border-box}
.tm-dlg button:focus-visible{outline:3px solid #111;outline-offset:2px}
@media (prefers-reduced-motion:reduce){#tm *,.tm-dlg,.tm-dlg *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== v25.12.29 StoryFlow audit: every rule below is scoped to #sf or .sf-dlg (44px targets, 12px text, drop zone, six reference states, damage notices, plans, results, dialog, 200% reflow, reduced motion) ===== */
#sf .t2i-dot,#sf .t2i-note,#sf .t2i-itembody small,#sf .t2i-next small,#sf .t2v-acts .tag,#sf .sf-mini,#sf .cx-thumb,#sf .cx-ameta small,#sf .cx-nexth,#sf .t2i-muted,#sf small,#sf .t2i-hint,#sf .status-pill,#sf .input-label,#sf .kicker,#sf .t2i-chip,#sf .ls-badge,#sf .sf-state,#sf .sf-note,#sf .sf-live,#sf .sf-err,#sf .sf-log,#sf .i2v-err,#sf .vs-thead,#sf .tag,#sf .t2i-link,#sf .t2i-add{font-size:max(12px,1em)}
#sf .t2i-dot,#sf .t2i-note,#sf .t2i-itembody small,#sf .t2i-next small,#sf .cx-ameta small,#sf .cx-nexth{font-size:12px}
#sf .sf-mini{width:22px;height:22px;font-size:12px}
#sf .t2i-muted,#sf .t2i-hint,#sf .sf-state,#sf .sf-note,#sf .sf-live,#sf .sf-err,#sf .sf-log,#sf .sf-blocks,#sf .sf-item,#sf .t2i-coachmsg,#sf .ls-empty,#sf .sf-job,#sf .t2i-itembody,#sf .cx-next,#sf [data-cx-next]{overflow-wrap:anywhere;min-width:0}
#sf button,#sf .action,#sf select,#sf input:not([type=checkbox]):not([type=hidden]):not([type=file]),#sf .tag,#sf textarea:not(.t2i-hidden),#sf .t2i-link,#sf .t2i-add,#sf .t2i-seg button,#sf .cx-act{min-height:44px;min-width:44px;box-sizing:border-box}
#sf input[type=range]{width:100%;min-height:44px;padding:0}
#sf .tag,#sf .t2i-link,#sf .t2v-acts .tag,#sf .sf-sbtns .tag,#sf .sf-tacts .tag,#sf .sf-hacts .t2i-link,#sf .sf-lb .t2i-link,#sf .sf-note-acts .action{display:inline-flex;align-items:center;justify-content:center;padding:0 14px}
#sf .t2i-link{padding:0 10px}
#sf a.tag,#sf a.t2i-next,#sf .t2i-next{display:flex;align-items:center;min-height:44px;box-sizing:border-box}
#sf a.tag{display:inline-flex}
#sf label.t2i-check{display:flex;align-items:center;gap:10px;min-height:44px;box-sizing:border-box}
#sf label.t2i-check input[type=checkbox]{width:24px;height:24px;flex:none;margin:0}
#sf .sf-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;min-height:88px;padding:12px;margin:10px 0;border:2px dashed #9db3d8;border-radius:14px;background:#f6f9ff;cursor:pointer;box-sizing:border-box;overflow-wrap:anywhere}
#sf .sf-drop:hover,#sf .sf-drop[data-over="1"]{background:#e9f1ff;border-color:#2f6fe0}
#sf .sf-drop span{font-size:max(12px,1em)}
#sf .sf-drop:focus-visible,#sf button:focus-visible,#sf select:focus-visible,#sf input:focus-visible,#sf textarea:focus-visible,#sf .tag:focus-visible,#sf a:focus-visible{outline:3px solid #111;outline-offset:2px}
#sf button,#sf select,#sf input,#sf textarea,#sf .sf-drop,#sf .tag,#sf a{scroll-margin-top:96px;scroll-margin-bottom:24px}
#sf .sf-state{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1px solid #d8e0ee;margin:8px 0;line-height:1.5}
#sf .sf-state[data-state=available]{background:#eaf7ef;border-color:#b9e0c7}
#sf .sf-state[data-state=missing],#sf .sf-state[data-state=changed],#sf .sf-state[data-state=unreadable],#sf .sf-state[data-state=wrongkind],#sf .sf-state[data-state=legacy]{background:#fff6e5;border-color:#f0d9a8}
#sf .sf-lock.sf-state{display:block}
#sf .sf-item{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;padding:10px 12px;border-radius:12px;background:#fff;border:1.5px solid #dbe5f1;margin:8px 0}
#sf .sf-item[data-state=available]{border-color:#b9e0c7}
#sf .sf-item[data-state=missing],#sf .sf-item[data-state=changed],#sf .sf-item[data-state=unreadable],#sf .sf-item[data-state=wrongkind],#sf .sf-item[data-state=legacy]{border-color:#f0d9a8;background:#fffaf0}
#sf .sf-itemtext{flex:1 1 220px;min-width:0}
#sf .sf-itemtext p{margin:6px 0}
#sf .sf-thumb{width:56px;height:56px;object-fit:cover;border-radius:9px;background:#eef3fa;flex:none}
#sf .sf-tacts,#sf .sf-hacts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#sf .sf-tacts select{flex:1 1 180px;min-width:0}
#sf .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#sf .sf-note{border:1px solid #cfdcec;background:#f3f8ff;border-radius:12px;padding:12px 14px;margin:10px 0;line-height:1.5}
#sf .sf-note.bad{border-color:#f0c0c0;background:#fdeeee}
#sf .sf-note small{display:block;margin-top:6px}
#sf .sf-note-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
#sf .sf-live{margin:8px 0;padding:8px 12px;border-radius:10px;background:#f3f6fb;min-height:0;overflow-wrap:anywhere}
#sf .sf-live:empty{display:none}
#sf .sf-err:empty{display:none}
#sf .sf-log{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:6px}
#sf .sf-log li{padding:8px 10px;border-radius:10px;background:#f3f6fb}
#sf .sf-log li.no{background:#fdeeee}#sf .sf-log li.ok{background:#eaf7ef}
#sf .sf-blocks{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
#sf .sf-blocks:empty{display:none}
#sf .sf-blocks li{padding:8px 10px;border-radius:10px;background:#fff6e5;border:1px solid #f0d9a8}
#sf .sf-job{border:1.5px solid #dbe5f1;border-radius:12px;padding:10px 12px;margin:8px 0;background:#fff}
#sf .sf-job[data-state=verified]{border-color:#b9e0c7}
#sf .sf-job[data-state=unverified],#sf .sf-job[data-state=failed]{border-color:#f0c0c0;background:#fffafa}
#sf .status-pill{white-space:normal;max-width:100%;overflow-wrap:anywhere}
#sf .t2i-item{flex-wrap:wrap}
#sf .t2i-itembody{min-height:44px;text-align:start}
#sf .t2i-stagebar{flex-wrap:wrap;gap:8px}
#sf .sf-line{align-items:start}
#sf .sf-lb{flex-wrap:wrap}
#sf .t2i-next{box-sizing:border-box}
.sf-dlg{max-width:min(92vw,460px);width:calc(100% - 32px);border:0;border-radius:16px;padding:0;box-shadow:0 18px 60px #0a1a3a55;color:#10213f;box-sizing:border-box}
.sf-dlg::backdrop{background:#0a1a3a88}
.sf-dlg .sf-dlg-in{padding:20px;display:grid;gap:12px}
.sf-dlg h2{margin:0;font-size:max(18px,1.2em)}
.sf-dlg p{margin:0;font-size:max(14px,1em);line-height:1.5;overflow-wrap:anywhere}
.sf-dlg .sf-dlg-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.sf-dlg button{min-height:44px;min-width:44px;padding:0 16px;font-size:max(14px,1em);box-sizing:border-box;cursor:pointer}
.sf-dlg button:focus-visible{outline:3px solid #111;outline-offset:2px}
.sf-dlg .sf-danger{background:#b3261e;color:#fff;border-color:#b3261e}
#sf .sf-danger{background:#b3261e;color:#fff;border-color:#b3261e}
#sf .sf-char:dir(rtl){border-left-width:1.5px;border-right:4px solid var(--c,#276bff)}
.sf-dlg .sf-dlg-acts:dir(rtl){justify-content:flex-start}
@media(max-width:860px){#sf .sf-line{grid-template-columns:1fr}#sf .sf-loc{grid-template-columns:1fr}#sf .sf-item{flex-direction:column}}
@media(max-width:480px){#sf .sf-shead{gap:4px}#sf .sf-sbtns{width:100%}#sf .t2i-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#sf *,#sf *::before,#sf *::after,.sf-dlg,.sf-dlg *,.sf-dlg::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== v25.12.30 LinkFlow audit: every rule below is scoped to #lf or .lf-dlg (44px targets, 12px text, evidence list, six reference states, damage notices, plans, results, dialog, selected scene, 200% reflow, reduced motion) ===== */
#lf{max-width:100%;overflow-wrap:anywhere}
#lf *{min-width:0}
#lf .tag,#lf .t2i-dot,#lf .t2i-note,#lf .t2i-itembody small,#lf .t2i-next small,#lf .cx-ameta small,#lf .cx-nexth,#lf .cx-act,#lf .cx-thumb,#lf small,#lf .t2i-muted,#lf .t2i-hint,#lf .status-pill,#lf .input-label,#lf .kicker,#lf .t2i-chip,#lf .ls-badge,#lf legend,#lf .t2v-acts .tag,#lf .lf-sw{font-size:12px}
#lf .t2i-muted,#lf .t2i-hint,#lf .lf-sref,#lf .lf-ref,#lf .lf-cast,#lf .lf-note,#lf .lf-blocks,#lf .t2i-coachmsg,#lf .ls-empty,#lf .lf-job,#lf .t2i-itembody,#lf .cx-next,#lf [data-cx-next],#lf .lf-nonext{overflow-wrap:anywhere;min-width:0}
#lf button,#lf .action,#lf select,#lf input:not([type=checkbox]):not([type=hidden]):not([type=file]),#lf .tag,#lf textarea:not(.t2i-hidden),#lf .t2i-link,#lf .t2i-add,#lf .t2i-seg button,#lf .t2i-tier,#lf .cx-act{min-height:44px;min-width:44px;box-sizing:border-box}
#lf .tag,#lf .t2i-link,#lf .t2v-acts .tag,#lf .lf-hacts .t2i-link,#lf .lf-sacts .t2i-link,#lf .lf-note-acts .action,#lf .lf-ref-acts .tag{display:inline-flex;align-items:center;justify-content:center;padding:0 14px}
#lf .t2i-link{padding:0 10px}
#lf a.tag,#lf a.t2i-next,#lf .t2i-next{display:flex;align-items:center;min-height:44px;box-sizing:border-box}
#lf a.tag{display:inline-flex}
#lf label.t2i-check{display:flex;align-items:center;gap:10px;min-height:44px;box-sizing:border-box}
#lf label.t2i-check input[type=checkbox]{width:24px;height:24px;flex:none;margin:0}
#lf button:focus-visible,#lf select:focus-visible,#lf input:focus-visible,#lf textarea:focus-visible,#lf .tag:focus-visible,#lf a:focus-visible,#lf [role=radio]:focus-visible{outline:3px solid #111;outline-offset:2px}
#lf button,#lf select,#lf input,#lf textarea,#lf .tag,#lf a{scroll-margin-top:96px;scroll-margin-bottom:24px}
#lf ul.lf-ev{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;list-style:none;margin:8px 0;padding:0;border:0;font-size:inherit;align-items:stretch}
#lf ul.lf-ev>li{display:flex;gap:8px;align-items:flex-start;padding:8px 10px;border:1px solid var(--line,#2a2f3a);border-radius:10px;min-width:0;overflow-wrap:anywhere}
#lf ul.lf-ev>li>span:last-child{flex:1 1 auto;min-width:0}
#lf .lf-scene{border:1.5px solid var(--line,#2a2f3a);border-radius:12px;padding:10px;margin:8px 0;min-width:0;cursor:default}
#lf .lf-scene.on,#lf .lf-scene[aria-current=true]{border-color:#2f5bff;box-shadow:0 0 0 3px rgba(47,91,255,.22);background:#f4f8ff}
#lf .lf-st{width:100%}
#lf .lf-sacts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#lf .vs-thead{flex-wrap:wrap;gap:8px}
#lf .lf-assets{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#lf .lf-assets>.input-label{flex:1 0 100%}
#lf .lf-al{list-style:none;margin:6px 0;padding:0;flex:1 0 100%;display:grid;gap:8px}
#lf .lf-sref,#lf .lf-ref,#lf .lf-cast{padding:10px 12px;border-radius:12px;background:#f3f6fb;border:1.5px solid #d8e0ee;line-height:1.5;display:block}
#lf .lf-sref{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#lf .lf-sref>.lf-sw{flex:1 1 220px}
#lf .lf-sref[data-state=available],#lf .lf-ref[data-state=available],#lf .lf-cast[data-state=available]{background:#eaf7ef;border-color:#b9e0c7}
#lf .lf-sref[data-state=missing],#lf .lf-sref[data-state=changed],#lf .lf-sref[data-state=unreadable],#lf .lf-sref[data-state=wrong-kind],#lf .lf-sref[data-state=unversioned],#lf .lf-ref[data-state=missing],#lf .lf-ref[data-state=changed],#lf .lf-ref[data-state=unreadable],#lf .lf-ref[data-state=wrong-kind],#lf .lf-ref[data-state=unversioned],#lf .lf-cast[data-state=missing],#lf .lf-cast[data-state=changed],#lf .lf-cast[data-state=unreadable],#lf .lf-cast[data-state=unversioned]{background:#fff6e5;border-color:#f0d9a8}
#lf .lf-rl{list-style:none;margin:8px 0;padding:0;display:grid;gap:8px}
#lf .lf-ref-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
#lf .lf-claims{margin:6px 0;padding:8px 10px;border-radius:10px;border:1px solid #b8860b;font-size:13px;overflow-wrap:anywhere}
#lf .lf-note{border:1px solid #cfdcec;background:#f3f8ff;border-radius:12px;padding:12px 14px;margin:10px 0;line-height:1.5;font-size:13px}
#lf .lf-note.bad{border-color:#f0c0c0;background:#fdeeee}
#lf .lf-note small{display:block;margin-top:6px}
#lf .lf-note-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
#lf .lf-blocks{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
#lf .lf-blocks:empty{display:none}
#lf .lf-blocks li{padding:8px 10px;border-radius:10px;background:#fff6e5;border:1px solid #f0d9a8}
#lf .i2v-err:empty{display:none}
#lf .lf-job{border:1.5px solid #dbe5f1;border-radius:12px;padding:10px 12px;margin:8px 0;background:#fff}
#lf .lf-job[data-state=verified]{border-color:#b9e0c7}
#lf .lf-job[data-state=unverified],#lf .lf-job[data-state=failed]{border-color:#f0c0c0;background:#fffafa}
#lf .lf-job video{max-width:100%}
#lf .lf-nonext{display:block;margin-top:6px}
#lf .status-pill{white-space:normal;max-width:100%;overflow-wrap:anywhere}
#lf .t2i-item{flex-wrap:wrap}
#lf .t2i-itembody{min-height:44px;text-align:start}
#lf .lf-hacts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#lf .t2i-cardhead{flex-wrap:wrap;gap:8px}
#lf .t2i-stagebar{flex-wrap:wrap;gap:8px}
#lf .t2i-tier{text-align:start}
#lf .t2i-next{box-sizing:border-box}
#lf .lf-danger{background:#b3261e;color:#fff;border-color:#b3261e}
.lf-dlg{max-width:min(92vw,460px);width:calc(100% - 32px);border:0;border-radius:16px;padding:0;box-shadow:0 18px 60px #0a1a3a55;color:#10213f;box-sizing:border-box}
.lf-dlg::backdrop{background:#0a1a3a88}
.lf-dlg .lf-dlg-in{padding:20px;display:grid;gap:12px}
.lf-dlg h2{margin:0;font-size:max(18px,1.2em)}
.lf-dlg p{margin:0;font-size:max(14px,1em);line-height:1.5;overflow-wrap:anywhere}
.lf-dlg .lf-dlg-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.lf-dlg button{min-height:44px;min-width:44px;padding:0 16px;font-size:max(14px,1em);box-sizing:border-box;cursor:pointer}
.lf-dlg button:focus-visible{outline:3px solid #111;outline-offset:2px}
.lf-dlg .lf-danger{background:#b3261e;color:#fff;border-color:#b3261e}
.lf-dlg .lf-dlg-acts:dir(rtl){justify-content:flex-start}
@media(max-width:860px){#lf .lf-sref{flex-direction:column;align-items:flex-start}}
@media(max-width:480px){#lf .t2i-row{grid-template-columns:1fr}#lf .lf-ref-acts{width:100%}}
@media(prefers-reduced-motion:reduce){#lf *,#lf *::before,#lf *::after,.lf-dlg,.lf-dlg *,.lf-dlg::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ===== v25.12.23 Editable Timeline audit (every rule is scoped to #tl, .tle or .tl-dlg) ===== */
#tl .tag,#tl .t2i-link,#tl .t2v-acts .tag,#tl .tle-hb .tag{min-height:44px;min-width:44px;font-size:12px;cursor:pointer}
#tl .tag:disabled{cursor:not-allowed}
#tl .t2i-link{padding:0 8px;font-size:12px}
#tl .tle-tick{font-size:12px;border-left:0;border-inline-start:1px solid #c9d9ec;padding-left:0;padding-inline-start:3px}
#tl .tle-empty{left:auto;inset-inline-start:10px}
#tl .tle-head{left:auto;inset-inline-start:0;border-right:0;border-inline-end:1px solid var(--line)}
#tl .tle-ph{left:auto}
#tl .tle-clip{touch-action:none;min-height:44px}
#tl .tle-h{touch-action:none}
#tl .tle-h.l{left:auto;inset-inline-start:0}#tl .tle-h.r{right:auto;inset-inline-end:0}
#tl .tle-clip[data-state]:not([data-state="verified"]){border-style:dashed;background-image:repeating-linear-gradient(45deg,#0000001a 0 6px,#0000 6px 12px)}
#tl .tle-clip.st-checking{opacity:.75}
#tl .tle-clip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#tl #tl-health,#tl #tl-live{font-size:13px;margin:6px 0}
#tl .tl-damage{border:1.5px solid #b3261e;background:#fdeceb;color:#5c130f;border-radius:12px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0;font-size:13.5px;line-height:1.5}
#tl #tl-fp{overflow-wrap:anywhere;font:600 12px ui-monospace,monospace}
#tl .tl-res{display:grid;gap:8px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:#fbfdff}
#tl .tl-res.bad{border-color:#d96666;background:#fdf1f1}#tl .tl-res video{max-width:100%;border-radius:10px}
#tl .tl-res a.action{min-height:44px;min-width:44px;display:inline-flex;align-items:center;padding:0 16px}
#tl .t2i-hint,#tl .t2i-muted,#tl small,#tl dt,#tl dd{font-size:12px}
.tl-dlg{width:min(92vw,460px);padding:0;border:1px solid #cfdceb;border-radius:16px;background:#fff;color:#0d1b30;box-shadow:0 24px 70px #0d1b3040}
.tl-dlg::backdrop{background:#0d1b3066}
.tl-dlg-in{padding:20px;display:grid;gap:12px}.tl-dlg h2{margin:0;font:800 18px/1.3 Manrope,sans-serif}.tl-dlg p{margin:0;font-size:14px;line-height:1.55;color:#33496b}
.tl-dlg-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.tl-dlg-acts .action{min-height:44px;min-width:44px;padding:0 16px;cursor:pointer}
.tl-dlg .tl-danger{background:#b3261e;color:#fff;border-color:#b3261e}
.tl-dlg :focus-visible{outline:3px solid #0d1b30;outline-offset:2px}

/* ===== v25.12.25 Enhancement & Upscale audit (every rule is scoped to #eh or .eh-dlg) ===== */
#eh{max-width:100%;overflow-wrap:anywhere}
#eh *{min-width:0}
#eh .cx-sr{position:absolute;left:auto;inset-inline-start:0;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#eh .t2i-hidden{position:absolute;left:auto;inset-inline-start:0}
#eh .action,#eh .tag,#eh a.action,#eh a.tag,#eh .eh-chip{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding-inline:14px;font-size:13px;cursor:pointer;box-sizing:border-box;text-decoration:none}
#eh .tag,#eh .eh-chip{font-size:12px}
#eh button:disabled{cursor:not-allowed}
#eh .small-input,#eh select,#eh input[type=number]{min-height:44px;box-sizing:border-box;font-size:14px}
#eh .t2i-check{min-height:44px;align-items:center;gap:10px}
#eh .t2i-check input[type=checkbox]{width:24px;height:24px;flex:none;margin:0}
#eh .t2i-check span{font-size:13px;line-height:1.45}
#eh small,#eh .t2i-muted,#eh .input-label,#eh .kicker,#eh .status-pill,#eh legend,#eh th,#eh td,#eh figcaption,#eh code,#eh .eh-bx,#eh .eh-bx span,#eh .eh-i,#eh .eh-i b,#eh .eh-as,#eh .eh-log,#eh .eh-drop span,#eh .cx-nexth,#eh .cx-act{font-size:12px;line-height:1.5}
#eh .eh-as,#eh .eh-i,#eh .eh-log li,#eh .eh-avail,#eh .eh-res{font-size:13px}
#eh :focus-visible,.eh-dlg :focus-visible{outline:3px solid #0d1b30;outline-offset:2px}
#eh .eh-assetrow{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;margin:8px 0}
#eh .eh-drop{flex:1 1 220px;min-height:64px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:10px 14px;border:2px dashed #9fb4d8;border-radius:14px;background:#f7faff;color:#0d1b30;cursor:pointer}
#eh .eh-drop b{font-size:14px}
#eh .eh-drop:hover{background:#eef5ff}
#eh .eh-drop.drag{border-color:#2f6fe0;background:#e8f1ff}
#eh .eh-logbox:empty{display:none}
#eh .eh-log{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:4px}
#eh .eh-log li{padding:6px 10px;border-radius:10px;background:#eaf7ef;overflow-wrap:anywhere}
#eh .eh-log li.no{background:#fdeeee}
#eh .eh-as{margin:8px 0;padding:10px 12px;border-radius:12px;background:#f3f6fb;line-height:1.5;overflow-wrap:anywhere}
#eh .eh-as[data-state=available]{background:#eaf7ef}
#eh .eh-as[data-state=deleted],#eh .eh-as[data-state=corrupt],#eh .eh-as[data-state=changed],#eh .eh-as[data-state=legacy]{background:#fdeeee;border:1px solid #e4a3a0}
#eh .eh-damage{border:1.5px solid #b3261e;background:#fdeceb;color:#5c130f;border-radius:12px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0;font-size:13.5px;line-height:1.5}
#eh .eh-legacy{margin:8px 0;padding:10px 12px;border-radius:12px;background:#fff6e5;border:1px solid #f0d9a8;font-size:13px;line-height:1.5}
#eh .eh-cmp{display:flex;flex-direction:column;gap:6px;margin:12px 0}
#eh .eh-bx{display:flex;align-items:center;min-height:36px;box-sizing:border-box;padding:6px 10px}
#eh .eh-tbl{display:block;overflow-x:auto;max-width:100%}
#eh .eh-tbl th,#eh .eh-tbl td{overflow-wrap:anywhere}
#eh .eh-tbl th{white-space:nowrap;padding-inline-end:12px}
#eh .eh-res small{display:block}
#eh .eh-res[data-state=unverified],#eh .eh-res[data-state=checking]{background:#f3f6fb;border-style:dashed}
#eh .eh-res[data-state=completed]{background:#eaf7ef}
#eh .eh-res a.action{align-self:flex-start}
#eh .eh-savedrow>span:first-child,#eh .eh-ver>span:first-child{flex:1 1 180px}
#eh .eh-sc{display:flex;gap:8px;flex-wrap:wrap}
#eh .eh-fig img,#eh .eh-fig video{max-width:100%}
@media (max-width:520px){#eh .eh-f{flex:1 1 100%}#eh .eh-num{max-width:none}#eh .action,#eh .tag{white-space:normal;text-align:center}#eh .eh-drop{flex-basis:100%}}
@media (prefers-reduced-motion:reduce){#eh *,.eh-dlg,.eh-dlg *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.eh-dlg{width:min(92vw,460px);padding:0;border:1px solid #cfdceb;border-radius:16px;background:#fff;color:#0d1b30;box-shadow:0 24px 70px #0d1b3040}
.eh-dlg::backdrop{background:#0d1b3066}
.eh-dlg-in{padding:20px;display:grid;gap:12px}.eh-dlg h2{margin:0;font:800 18px/1.3 Manrope,sans-serif;overflow-wrap:anywhere}.eh-dlg p{margin:0;font-size:14px;line-height:1.55;color:#33496b;overflow-wrap:anywhere}
.eh-dlg-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.eh-dlg-acts .action{min-height:44px;min-width:44px;padding:0 16px;cursor:pointer;font-size:13px}
.eh-dlg .eh-danger{background:#b3261e;color:#fff;border-color:#b3261e}

/* ===== v25.12.24 Delivery & Publishing audit (every rule is scoped to #dl or .dl-dlg) ===== */
#dl{max-width:100%;overflow-wrap:anywhere}
#dl *{min-width:0}
#dl .cx-sr{position:absolute;left:auto;inset-inline-start:0;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#dl .t2i-hidden{position:absolute;left:auto;inset-inline-start:0}
#dl .action,#dl .tag,#dl a.action,#dl a.tag,#dl .dl-chip{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding-inline:14px;font-size:13px;cursor:pointer;box-sizing:border-box;text-decoration:none}
#dl .tag,#dl .dl-chip{font-size:12px}
#dl button:disabled{cursor:not-allowed}
#dl .small-input,#dl select,#dl input[type=date],#dl input[type=time],#dl input[type=number]{min-height:44px;box-sizing:border-box;font-size:14px}
#dl .big-input.compact{min-height:88px;box-sizing:border-box}
#dl .t2i-check{min-height:44px;align-items:center;gap:10px}
#dl .t2i-check input[type=checkbox]{width:24px;height:24px;flex:none;margin:0}
#dl .t2i-check span{font-size:13px;line-height:1.45}
#dl small,#dl .t2i-muted,#dl .input-label,#dl .dl-st,#dl .dl-hint{font-size:12px;line-height:1.5}
#dl .t2i-muted{overflow-wrap:anywhere}
#dl :focus-visible,.dl-dlg :focus-visible{outline:3px solid #0d1b30;outline-offset:2px}
#dl .dl-bar{align-items:flex-end}
#dl .dl-drop.drag{outline:2px dashed #2f6fe0;outline-offset:3px;border-radius:12px;background:#f3f8ff}
#dl .dl-hint{margin:2px 0 6px}
#dl .dl-log{list-style:none;margin:6px 0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}
#dl .dl-log li{padding:6px 10px;border-radius:10px;background:#eaf7ef;overflow-wrap:anywhere}
#dl .dl-log li.no{background:#fdeeee}
#dl .dl-as{margin:6px 0;padding:8px 10px;border-radius:10px;background:#f3f6fb;font-size:13px;line-height:1.5}
#dl .dl-as[data-state=available]{background:#eaf7ef}
#dl .dl-as[data-state=deleted],#dl .dl-as[data-state=corrupt],#dl .dl-as[data-state=changed],#dl .dl-as[data-state=legacy]{background:#fdeeee;border:1px solid #e4a3a0}
#dl .dl-asset{margin:10px 0;display:flex;flex-direction:column;gap:6px}
#dl .dl-damage{border:1.5px solid #b3261e;background:#fdeceb;color:#5c130f;border-radius:12px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0;font-size:13.5px;line-height:1.5}
#dl .dl-legacy{margin:8px 0;padding:10px 12px;border-radius:12px;background:#fff6e5;border:1px solid #f0d9a8;font-size:13px}
#dl .dl-fp{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr);gap:4px 12px;margin:10px 0;font-size:12px}
#dl .dl-fp dt{font-weight:700}#dl .dl-fp dd{margin:0}
#dl .dl-fp code{font:600 12px ui-monospace,monospace;overflow-wrap:anywhere;word-break:break-all}
#dl .dl-tbl{display:block;overflow-x:auto;max-width:100%}
#dl .dl-tbl th,#dl .dl-tbl td{overflow-wrap:anywhere;font-size:13px}
#dl .dl-res .dl-acts{display:flex;gap:8px;flex-wrap:wrap}
#dl .dl-res[data-state=published]{background:#eaf7ef}#dl .dl-res[data-state=unverified]{background:#f3f6fb;border-style:dashed}
#dl .dl-res a:not(.action){display:inline-flex;align-items:center;min-height:44px}
#dl .dl-manrow>span:first-child,#dl .dl-ver>span:first-child{flex:1 1 180px}
#dl .dl-logbox:empty{display:none}
#dl .dl-dh h3{overflow-wrap:anywhere}
#dl .dl-thumb .row{gap:10px}
@media (max-width:520px){#dl .dl-f{flex:1 1 100%}#dl .dl-num{max-width:none}#dl .dl-fp{grid-template-columns:minmax(0,1fr)}#dl .action,#dl .tag{white-space:normal;text-align:center}}
.dl-dlg{width:min(92vw,460px);padding:0;border:1px solid #cfdceb;border-radius:16px;background:#fff;color:#0d1b30;box-shadow:0 24px 70px #0d1b3040}
.dl-dlg::backdrop{background:#0d1b3066}
.dl-dlg-in{padding:20px;display:grid;gap:12px}.dl-dlg h2{margin:0;font:800 18px/1.3 Manrope,sans-serif;overflow-wrap:anywhere}.dl-dlg p{margin:0;font-size:14px;line-height:1.55;color:#33496b;overflow-wrap:anywhere}
.dl-dlg-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.dl-dlg-acts .action{min-height:44px;min-width:44px;padding:0 16px;cursor:pointer;font-size:13px}
.dl-dlg .dl-danger{background:#b3261e;color:#fff;border-color:#b3261e}

/* ===== v25.12.21 Directed Lip Sync (every rule is scoped to #ls so StoryFlow, Dubbing and Timeline keep their own .ls-* look) ===== */
#ls .ls-say{min-height:22px;margin:0 0 10px;font:650 13px/1.5 Manrope,sans-serif;color:#1d3557;overflow-wrap:anywhere}
#ls .ls-srcbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
#ls .ls-srcbtn{min-height:48px;width:100%;padding:8px 10px;text-align:center;line-height:1.3}
#ls .ls-unavail{display:block;margin-top:4px;overflow-wrap:anywhere}
#ls .ls-srccard{flex-wrap:wrap}
#ls .ls-coach{margin-bottom:10px}
/* text floor: nothing below 12px */
#ls .ls-badge,#ls .ls-scrub,#ls .ls-bl,#ls .ls-clip,#ls .ls-ruler,#ls .ls-ruler span,#ls .ls-lane-r span,#ls .ls-endmark span,#ls small,#ls .ls-lab{font-size:12px}
/* every primary target is at least 44 x 44; checkboxes get a 44px labelled row */
#ls button,#ls select,#ls .small-input,#ls .t2i-seg button,#ls .t2i-link,#ls .tag,#ls .t2i-add,#ls .t2i-upload,#ls .ls-spmenu button{min-height:44px}
#ls .t2i-seg button,#ls .tag,#ls .t2i-link{min-width:44px}
#ls .t2i-check{display:flex;align-items:center;gap:10px;min-height:44px}
#ls .t2i-check input[type=checkbox]{width:24px;height:24px;flex:none}
#ls input[type=range]{min-height:44px;width:100%}
#ls :focus-visible{outline:3px solid #0d1b30;outline-offset:2px}
html:has(#ls){scroll-padding-top:128px;scroll-padding-bottom:132px}
body #ls *{scroll-margin-top:128px;scroll-margin-bottom:132px}
@media (max-width:850px){html:has(#ls){scroll-padding-top:168px}body #ls *{scroll-margin-top:168px}}
@media (max-width:420px){#ls .ls-srcbtns{grid-template-columns:1fr}}
/* stage: boxes keep their labels inside the picture, handles have a 44px invisible hit area around a 20px dot */
#ls .ls-stage{overflow:visible;touch-action:pan-y}
#ls .ls-media{border-radius:12px}
#ls .ls-over{touch-action:none}
#ls .ls-box{overflow:visible}
#ls .ls-box .ls-badge{left:3px;top:3px}
#ls .ls-box .ls-bl{left:30px;top:3px;max-width:calc(100% - 36px)}
#ls .ls-h{width:44px;height:44px;background:transparent;border:0;border-radius:0;min-height:0}
#ls .ls-h::after{content:"";position:absolute;left:12px;top:12px;width:20px;height:20px;background:#fff;border:2.5px solid var(--c,var(--blue));border-radius:50%;box-sizing:border-box}
#ls .ls-h.nw{left:-22px;top:-22px}#ls .ls-h.ne{right:-22px;top:-22px}#ls .ls-h.sw{left:-22px;bottom:-22px}#ls .ls-h.se{right:-22px;bottom:-22px}
/* face rows */
#ls .ls-flist{list-style:none;margin:0 0 6px;padding:0}
#ls .ls-reft{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font:650 12px Manrope,sans-serif;color:#4c6285}
/* audio library */
#ls .ls-alib{list-style:none;margin:6px 0;padding:0;display:grid;gap:8px}
#ls .ls-ai{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border:1.5px solid #dbe5f1;border-radius:12px;background:#fff}
#ls .ls-ai.bad{border-color:#e0a100;background:#fffaf0}
#ls .ls-ainfo{display:grid;gap:2px;min-width:0;flex:1 1 160px;overflow-wrap:anywhere}
#ls .ls-aacts{display:flex;gap:6px;flex-wrap:wrap}
/* timeline: time always runs left to right (zero visible at the left edge) in every language; the track scrolls inside itself */
#ls .ls-tl{direction:ltr;overflow-x:auto;overflow-y:hidden;padding:8px 10px 10px}
#ls .ls-tlin{min-width:max(100%,calc(var(--T,10) * 32px + 126px))}
#ls .ls-ruler,#ls .ls-track{grid-template-columns:110px minmax(0,1fr)}
#ls .ls-lab{position:sticky;left:0;z-index:4;background:#fff;padding-right:6px}
#ls .ls-labt{unicode-bidi:plaintext;overflow:hidden;text-overflow:ellipsis}
#ls .ls-lane{height:56px;touch-action:pan-y}
#ls .ls-lane:focus-visible{outline:3px solid #0d1b30}
#ls .ls-clip{top:6px;height:44px;min-width:0;overflow:visible;cursor:grab}
#ls .ls-clip::before{content:"";position:absolute;top:-6px;bottom:-6px;left:50%;width:max(100%,44px);transform:translateX(-50%)}
#ls .ls-cl{position:relative;display:block;padding:0 14px;overflow:hidden;line-height:44px}
#ls .ls-trim{width:12px;z-index:2}
#ls .ls-trim::before{content:"";position:absolute;top:0;bottom:0;left:-16px;right:-16px}
#ls .ls-playhead{position:absolute;top:0;bottom:0;border-left:2px solid #12936b;pointer-events:none;z-index:1}
#ls .ls-tlbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
#ls .ls-lane-r span{white-space:nowrap}
/* results */
#ls .ls-resvid{display:block;width:100%;max-height:260px;margin-top:8px;border-radius:10px;background:#000}
#ls .ls-ver.bad{border-color:#e6a8a3;background:#fff7f6}
#ls .ls-render{margin-top:8px}
#ls .ls-plan{overflow-wrap:anywhere}
#ls .ls-plan code{font:700 12px ui-monospace,monospace}
/* the named confirmation dialog */
.ls-dlg{width:min(92vw,460px);padding:0;border:1px solid #cfdceb;border-radius:16px;background:#fff;color:#0d1b30;box-shadow:0 24px 70px #0d1b3040}
.ls-dlg::backdrop{background:#0d1b3066}
.ls-dlg-in{padding:20px;display:grid;gap:12px}.ls-dlg h2{margin:0;font:800 18px/1.3 Manrope,sans-serif}.ls-dlg p{margin:0;font-size:14px;line-height:1.55;color:#33496b}
.ls-dlg-acts{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.ls-dlg-acts .action{min-height:44px;min-width:44px;padding:0 16px;cursor:pointer}
.ls-dlg .ls-danger{background:#b3261e;color:#fff;border-color:#b3261e}
.ls-dlg :focus-visible{outline:3px solid #0d1b30;outline-offset:2px}
@media (max-width:860px){#ls .ls-insp .t2i-row{grid-template-columns:1fr 1fr}#ls .ls-ruler,#ls .ls-track{grid-template-columns:84px minmax(0,1fr)}}
/* desktop: the stage and timeline get the full width beside the controls; the history cards sit in a row underneath */

/* v25.12.21 12px text floor (scoped) */
#ls .vs-lock,#ls .tag,#ls #ls-rm-src,.ls-dlg .tag{font-size:12px}
#ls .t2i-note,#ls .t2i-dot,#ls .t2i-muted,#ls .t2i-hint,#ls small{font-size:max(12px,1em)}
#ls .t2i-note,#ls .t2i-dot{font-size:12px}
