/* AI Studio · BytePlus engines: Seedream engine cards (images), "From my generations" picker, AI badge, admin cost line */
.aix-eng{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.aix-engc{display:flex;flex-direction:column;gap:5px;text-align:start;padding:12px 14px;border-radius:12px;background:#17181c;border:1px solid #33343a;color:#eceae6;font:inherit;cursor:pointer;min-height:84px}
.aix-engc:hover{border-color:#55565c}
.aix-engc.on{border-color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.35);background:#1d1e23}
.aix-engc-t{font-weight:800;font-size:15px;color:#fff}
.aix-engc-d{font-size:12.5px;color:#a9a59d;line-height:1.45}
.aix-engc-f{font-size:12px;color:#fff;font-weight:600;margin-top:auto}
.aix-pill-c{font-weight:500;opacity:.75}
.aix-consent{border:1px solid #55565c;background:#1b1c21;margin:4px 0 12px}
.aix-consent[hidden]{display:none!important}
.aix-consent small{display:block;color:#a9a59d;font-size:11.5px;margin-top:2px}
.gp-open{display:inline-flex;align-items:center;gap:7px;margin-top:8px;padding:7px 12px;border-radius:10px;border:1px solid #44454b;background:#141519;color:#eceae6;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.gp-open:hover{border-color:#8d8b84;background:#1b1c21}
.gp-open svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gp-mask{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.66);display:flex;align-items:center;justify-content:center;padding:24px;font-family:"Cairo",system-ui,sans-serif}
.gp-box{width:min(920px,100%);max-height:86vh;display:flex;flex-direction:column;background:#111216;border:1px solid #2c2d33;border-radius:18px;color:#eceae6;box-shadow:0 24px 70px rgba(0,0,0,.55)}
.gp-hd{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px 20px 10px}
.gp-hd h3{margin:0 0 4px;font-size:18px;font-weight:800;color:#fff}
.gp-hd p{margin:0;font-size:13px;color:#a9a59d;line-height:1.5}
.gp-x{flex:none;width:34px;height:34px;border-radius:10px;border:1px solid #3a3b41;background:transparent;color:#fff;font-size:20px;cursor:pointer}
.gp-grid{flex:1;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:10px 20px 16px}
.gp-msg{grid-column:1/-1;margin:24px 0;text-align:center;color:#a9a59d;font-size:14px}
.gp-it{position:relative;aspect-ratio:1/1;border-radius:12px;overflow:hidden;border:2px solid transparent;background:#1a1b20;padding:0;cursor:pointer}
.gp-it img{width:100%;height:100%;object-fit:cover;display:block}
.gp-it:hover{border-color:#6b6a66}
.gp-it.on{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.25)}
.gp-tag{position:absolute;left:6px;bottom:6px;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:6px;background:rgba(0,0,0,.65);color:#fff}
.gp-n{position:absolute;top:6px;inset-inline-end:6px;min-width:24px;height:24px;border-radius:999px;display:grid;place-items:center;font-size:12px;font-weight:800;background:#fff;color:#07080a}
.gp-n:empty{display:none}
.gp-ft{display:flex;align-items:center;gap:10px;padding:12px 20px 16px;border-top:1px solid #24252b}
.gp-cnt{flex:1;color:#a9a59d;font-size:12.5px}
.gp-btn{min-height:40px;padding:0 18px;border-radius:10px;border:1px solid #44454b;background:transparent;color:#eceae6;font:inherit;font-weight:700;cursor:pointer}
.gp-btn.pri{background:#fff;color:#07080a;border-color:#fff}
.gp-btn[disabled]{opacity:.45;cursor:default}
.sd-ai{position:absolute;top:8px;inset-inline-end:8px;z-index:3;font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:2px 7px;border-radius:6px;background:rgba(0,0,0,.62);color:#fff;border:1px solid rgba(255,255,255,.55)}
.sd-cost{display:block;margin-top:3px;font-size:12px;color:#cdb27a;white-space:normal;overflow:visible}
/* mobilestudio: engine picker, From my generations and the Rolling Set / Motion entry cards work on phones too (never in the native app) */
html.rn-app .aix-eng-g,html.rn-app .gp-open,html.rn-app .cs-feature{display:none!important}
/* facetrust: Rolling Motion picker labels, Images reference indicator */
.gp-trust{position:absolute;left:6px;right:6px;top:6px;font-size:10.5px;font-weight:700;line-height:1.25;padding:3px 7px;border-radius:6px;text-align:start;white-space:normal}
.gp-trust.ok{background:rgba(22,128,72,.9);color:#fff}
.gp-trust.risk{background:rgba(160,82,0,.9);color:#fff}
.sd-refcount{display:flex;align-items:center;gap:8px;margin:6px 0 2px;font-size:12.5px;font-weight:600;opacity:.9}
.sd-refcount.on{color:#1a8f52}
.sd-refcount button{font:inherit;font-size:12px;font-weight:600;background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;padding:0}
.sd-textonly{margin:6px 0;font-size:12.5px;opacity:.8}
/* giftsplit: not-enough-credits popup (light text on dark, gold primary with dark text) */
.cr-mask{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:20px}
.cr-box{background:#17171a;color:#f2f1ee;border:1px solid #34343a;border-radius:16px;max-width:440px;width:100%;padding:22px 22px 18px;box-shadow:0 20px 60px rgba(0,0,0,.5);font-size:14px}
.cr-box h3{margin:0 0 10px;font-size:18px;color:#fff}
.cr-why{margin:0 0 14px;line-height:1.5;color:#e9d9a8;background:rgba(245,197,66,.1);border-radius:10px;padding:10px 12px}
.cr-kv{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:4px 0 18px}
.cr-kv span{color:#c9c7c1}.cr-kv b{color:#fff;font-weight:700;text-align:end}.cr-kv b.cr-miss{color:#ff9b8a}
.cr-ft{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.cr-btn{font:inherit;font-weight:700;font-size:14px;border-radius:10px;padding:10px 16px;cursor:pointer;border:1px solid transparent}
.cr-btn.pri{background:#f5c542;color:#16140f}.cr-btn.pri:hover{background:#ffd462}
.cr-btn.sec{background:#2b2b31;color:#fff;border-color:#4a4a52}.cr-btn.sec:hover{background:#36363d}
.cr-btn.ghost{background:transparent;color:#e6e4df;border-color:#4a4a52}.cr-btn.ghost:hover{background:#25252a}
.cr-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.cr-sub{opacity:.75;font-weight:500;margin-inline-start:4px}
/* compact AI Studio forms (19 Oct 2026): no Shot helper, one control row, smaller prompt boxes */
#rn3-shot{display:none!important}
#aiv-prompt,#aix-img-prompt{min-height:92px!important;height:92px!important}
#ai-video-page .aiv-tabs{margin-bottom:8px}
#ai2-ctl{gap:6px!important}
#ai2-ctl .ai2-row{display:flex!important;flex-wrap:nowrap;gap:10px;align-items:flex-end;margin:0}
#ai2-ctl .ai2-row>.ai2-g{flex:1 1 0;min-width:0;margin:0;gap:4px}
#ai2-ctl .ai2-row>#ai2-dur-g{flex:1.35 1 0}
#ai2-ctl .ai2-lblrow{display:flex;justify-content:space-between;gap:6px}
#ai2-dur-g input[type=range]{width:100%;height:34px;margin:0}
#ai2-ticks,#ai2-md{display:none!important}
#ai2-ctl .aiv-lbl,#aix-img-form .aiv-opts .aiv-lbl{font-size:11px;margin-bottom:3px;letter-spacing:.04em}
#aix-img-form .aiv-opts{display:flex!important;flex-wrap:wrap;gap:8px 10px;align-items:flex-end}
#aix-img-form .aiv-opts>.aiv-g{flex:1 1 120px;min-width:0;margin:0;width:auto}
#aix-img-form .aiv-opts>.aix-eng-g{flex:2.2 1 220px}
#aix-img-form .aiv-opts>.aiv-g[hidden]{display:none}
#aix-img-form .aix-dd{display:block}
#aix-img-form .aix-sel{width:100%;height:36px}
#aix-img-form #aix-img-seed{height:36px}
#ai2-ctl .ai2-row{align-items:flex-start}
/* format dropdowns: ratio outline in trigger and list */
.rn-arhost{position:relative}
.rn-arhost>.rn-arico{position:absolute;inset-inline-start:10px;top:50%;transform:translateY(-50%);color:#d8d6d0;pointer-events:none;z-index:1}
select.rn-arsel{padding-inline-start:32px!important}
.rn-dd-opt .rn-arico{flex:0 0 auto;color:#cfcdc6;margin-inline-end:8px;vertical-align:middle}
.rn-dd-opt.on .rn-arico{color:#fff}
/* compact AI Studio forms (audio, avatar, clips & ads, templates, final touches) */
.rn-cform .aiv-opts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important;gap:8px 10px!important}
.rn-cform .aiv-opts>.aiv-g{grid-column:1/-1}
.rn-cform .aiv-opts>.aiv-g.rn-cg{grid-column:auto!important;min-width:0;margin:0}
.rn-cform .aiv-opts>.aiv-g[hidden]{display:none}
.rn-cform .rn-cg .aiv-lbl{font-size:11px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.rn-cform .rn-cg select,.rn-cform .rn-cg .rn-pxsel{width:100%;height:36px}
.rn-cform .rn-cg input[type=range]{width:100%}
.rn-pxhide,[data-rnpx="1"],.aiv-g>.aiv-seg[data-rnpx]{display:none!important}
.rn-px{min-width:0}
.rn-px.sl{display:flex;align-items:center;gap:8px;height:36px}
.rn-px.sl input{flex:1;min-width:0;accent-color:#fff;margin:0}
.rn-px.sl .rn-pxv{font-size:12.5px;color:#eceae6;min-width:34px;text-align:end;font-variant-numeric:tabular-nums}
.rn-cform textarea#aix-au-text,.rn-cform textarea#aix-fn-text{min-height:92px!important;height:92px!important}
.rn-cform textarea.aixs-ta{min-height:72px!important;height:72px!important}
/* video form: Model family + Engine on the same row; "needs a reference photo" notice; Seedance consent / paid credits */
#rn3-q4hint{display:none!important}
#ai2-ctl .ai2-row>#ai2-fam-g{flex:.8 1 0}
#ai2-ctl .ai2-row>#ai2-fam-g[hidden]{display:none!important}
.ai2-need{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 0;padding:8px 10px;border:1px solid #5a4a1e;background:#221d10;border-radius:10px;color:#f3e2b0;font-size:13px}
.ai2-need[hidden]{display:none}
.ai2-need-t{flex:1 1 auto}
.ai2-need-b{position:relative;display:inline-flex;gap:6px}
.ai2-need-go{height:32px;padding:0 14px;border-radius:8px;border:0;background:#f5c542;color:#16140f;font-weight:700;cursor:pointer}
.ai2-need-m{display:inline-flex;gap:6px}
.ai2-need-m[hidden]{display:none}
.ai2-need-m button{height:32px;padding:0 12px;border-radius:8px;border:1px solid #6b6a64;background:#2a2a2e;color:#f1efe9;cursor:pointer}
.ai2-need-m button:hover,.ai2-need-go:hover{filter:brightness(1.08)}
.ai2-consent{display:flex;align-items:center;gap:8px;margin:8px 0 0;font-size:13px;color:#e4e1da;cursor:pointer}
.ai2-consent[hidden]{display:none}
.ai2-consent input{width:16px;height:16px;accent-color:#f5c542}
.ai2-paid{margin:6px 0 0;font-size:12.5px;color:#f5c542}
.ai2-paid[hidden]{display:none}
#ai2-ctl .ai2-row>.ai2-snd{flex:0 0 auto;align-self:flex-end;height:36px;margin:0;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
#ai2-ctl .ai2-row>.ai2-snd[hidden]{display:none!important}
/* ui4fix (19 Oct 2026): video controls row: Model, Engine, Quality, Format, Duration, Sound on one line at 1024-1440 px in every browser;
   wraps cleanly (never clips) only when the form is really too narrow. Firefox sizes <select> to its longest option unless told not to. */
#ai2-ctl .ai2-row{flex-wrap:wrap!important;row-gap:8px;column-gap:8px}
#ai2-ctl .ai2-row>.ai2-g{flex:1 1 104px;min-width:88px;max-width:100%}
#ai2-ctl .ai2-row>#ai2-fam-g{flex:.8 1 88px;min-width:80px}
#ai2-ctl .ai2-row>#ai2-dur-g{flex:1.3 1 140px;min-width:120px}
#ai2-ctl .ai2-row>.ai2-snd{flex:0 0 auto}
#ai2-ctl .ai2-row .aiv-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#ai2-ctl .ai2-row select,#ai2-ctl .ai2-row .ai2-sel{width:100%!important;min-width:0!important;max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
#ai2-ctl .ai2-row .rn-dd{display:block;width:100%;min-width:0;max-width:100%}
#ai2-ctl .ai2-row .rn-dd>*{max-width:100%;min-width:0}
/* compact audio / other forms: duration slider and amount side by side */
.rn-cform .aiv-opts>.aiv-g.rn-cg .rn-px{width:100%}
/* ui4voice (19 Oct 2026): delete button on each of my cloned voices, shown on hover / keyboard focus */
.aix-myv .aix-vchip{position:relative;display:inline-flex}
.aix-myv .aix-vchip>button:first-child{padding-inline-end:26px}
.aiv-seg .aix-vchip>.aix-vdel{position:absolute;top:50%;inset-inline-end:5px;transform:translateY(-50%);min-height:0;width:20px;height:20px;padding:0;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#f1efe9;font-size:14px;line-height:20px;justify-content:center;gap:0;opacity:0;transition:opacity .12s}
.aix-myv .aix-vchip:hover>.aix-vdel,.aix-myv .aix-vchip:focus-within>.aix-vdel,.aiv-seg .aix-vchip>.aix-vdel:focus-visible{opacity:1}
.aiv-seg .aix-vchip>.aix-vdel:hover,.aiv-seg .aix-vchip>.aix-vdel:focus-visible{background:#e5484d;color:#fff;outline:none;box-shadow:0 0 0 2px rgba(229,72,77,.45)}
@media (hover:none){.aix-myv .aix-vchip>.aix-vdel{opacity:1}}
.cr-btn.danger{background:#e5484d;color:#fff}.cr-btn.danger:hover{background:#f05a5f}.cr-btn:disabled{opacity:.6;cursor:default}
.aix-vd-n{margin:2px 0 6px;font-weight:700;color:#fff}
/* bpbalance: admin-only BytePlus balance pill next to the Vidu credits */
.aiv-bp{position:relative;display:inline-block;margin-inline-start:10px;vertical-align:middle}
.aiv-bp-pill{font:inherit;font-size:12.5px;border:1px solid rgba(217,194,122,.55);background:rgba(255,255,255,.06);color:#f3e3b0;border-radius:999px;padding:4px 10px;cursor:pointer;white-space:nowrap}
.aiv-bp-pill.est{border-style:dashed}
.aiv-bp-sub{color:#b9a46a}
.aiv-bp-pop{position:absolute;inset-inline-end:0;top:calc(100% + 6px);z-index:60;background:#fff;border:1px solid #e5e0d0;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:10px 12px;min-width:340px;font-size:12.5px;color:#222}
.aiv-bp-t{border-collapse:collapse;width:100%}
.aiv-bp-t th,.aiv-bp-t td{padding:4px 6px;text-align:end;white-space:nowrap}
.aiv-bp-t th:first-child,.aiv-bp-t td:first-child{text-align:start}
.aiv-bp-t tr.tot td{font-weight:700;border-top:1px solid #eee}
.aiv-bp-pop p{margin:8px 0 0}
.aiv-bp-why{color:#777;font-size:11.5px;white-space:normal}
.aiv-bp b,.aiv-bp-t td+td{direction:ltr;unicode-bidi:isolate}

/* shootbtn (19 Oct 2026): ONE compact gold generate button everywhere (Rolling Set / Rolling Motion Shoot, AI Studio Generate in
   every category, "Confirm and generate"): 40px tall, auto width, gold with dark text, credit chip inside, at the end of the controls. */
#cs-app .cs-go, #cs-app .cs-dock-row > .cs-go, #ai-video-page .aiv-go, #aiv-form .aiv-est .aiv-go, #ai-video-page .aiv-confirm .aiv-gold[id$="confirm-go"] {
  height: 40px; min-height: 40px; width: auto; max-width: 100%; flex: 0 0 auto; align-self: center; margin: 0; margin-inline-start: auto;
  display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 9px; padding: 0 7px 0 16px; border: 0; border-radius: 11px;
  background: #e9c27a; background-image: none; color: #1a1408 !important; font: inherit; font-size: 14px; font-weight: 800; letter-spacing: .01em; line-height: 1;
  white-space: nowrap; cursor: pointer; transform: none; box-shadow: 0 4px 16px rgba(233,194,122,.16), inset 0 1px 0 rgba(255,255,255,.35); transition: background .15s, box-shadow .15s; }
html[dir="rtl"] #cs-app .cs-go, html[dir="rtl"] #ai-video-page .aiv-go, html[dir="rtl"] #aiv-form .aiv-est .aiv-go { padding: 0 16px 0 7px; }
#ai-video-page .aiv-confirm .aiv-gold[id$="confirm-go"] { padding: 0 16px; }
#aiv-form .aiv-est .aiv-go { display: flex; width: fit-content; }
#cs-app .cs-go:hover:not(:disabled), #ai-video-page .aiv-go:hover:not([disabled]), #ai-video-page .aiv-confirm .aiv-gold[id$="confirm-go"]:hover:not(:disabled) { background: #f3d495; box-shadow: 0 6px 20px rgba(233,194,122,.28), inset 0 1px 0 rgba(255,255,255,.4); transform: none; }
#cs-app .cs-go:active:not(:disabled), #ai-video-page .aiv-go:active:not([disabled]) { background: #d9b26a; }
#cs-app .cs-go:focus-visible, #ai-video-page .aiv-go:focus-visible { outline: 2px solid #f3d495; outline-offset: 2px; }
#cs-app .cs-go:disabled, #cs-app .cs-dock-row > .cs-go:disabled, #ai-video-page .aiv-go[disabled], #ai-video-page .aiv-confirm .aiv-gold[id$="confirm-go"]:disabled { opacity: 1; background: #2b2721; color: #8f846e !important; box-shadow: none; cursor: not-allowed; }
#cs-app .cs-go .c, #ai-video-page .aiv-go .aiv-go-cost { display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 8px; background: rgba(26,20,8,.14); color: #1a1408 !important; font-size: 12px; font-weight: 800; }
#ai-video-page .aiv-go .aiv-go-cost:empty, #ai-video-page .aiv-go .aiv-go-cost[hidden] { display: none; }
#cs-app .cs-go:disabled .c, #ai-video-page .aiv-go[disabled] .aiv-go-cost { background: rgba(255,255,255,.06); color: #8f846e !important; }
#cs-app .cs-go[aria-busy="true"], #ai-video-page .aiv-go[aria-busy="true"] { cursor: progress; }
@media (max-width: 1023px) {   /* phone: full-width 48px under the controls */
  #cs-app .cs-dock-left > .cs-go { margin-top: 10px !important; }
  #cs-app .cs-dock-left > .cs-go, #ai-video-page .aiv-go, #aiv-form .aiv-est .aiv-go { width: 100% !important; flex: 1 0 100%; height: 48px; min-height: 48px !important; margin-inline-start: 0; justify-content: center; font-size: 15px; }
}
