/* Thuê Giọng — style bản studio v13: thẻ studio là trung tâm, lưới thẻ giọng,
   player tự vẽ có sóng âm, MỘT màu chữ ký cam san hô dùng có kỷ luật. */
:root{
  --acc:#e4572e; --acc-d:#bc421c; --acc-soft:#fdeee7;
  --ink:#221d18; --mut:#7d7466;
  --bg:#faf6ef; --card:#ffffff; --line:#eadbc9; --soft:#f5ecdd;
  --fem:#d6336c; --mal:#2f6fed; --chr:#7c3aed;
  --shadow:0 10px 30px rgba(122,74,32,.10);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--bg);color:var(--ink);font-family:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;line-height:1.5}
.col{max-width:760px;margin:0 auto;padding:12px 12px 48px}

/* Đầu trang + dải số liệu */
.topcard{display:flex;gap:12px;align-items:center;padding:6px 2px 2px}
.topcard .logo{flex:0 0 auto;display:flex;filter:drop-shadow(0 4px 10px rgba(228,87,46,.35))}
.topname strong{font-size:22px;display:block;line-height:1.15;font-weight:800;letter-spacing:-.02em}
.topname span{font-size:13px;color:var(--mut)}
.stats{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 12px}
.stats span{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 11px;font-size:12.5px;color:var(--mut)}
.stats b{color:var(--acc-d)}

/* Thẻ studio chính */
.studio{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow)}
.step-t{font-weight:700;font-size:13px;margin:16px 0 8px;color:var(--acc-d);text-transform:uppercase;letter-spacing:.04em}
.step-t:first-of-type{margin-top:10px}
.selbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--acc-soft);border:1px solid #f5cfbc;border-radius:14px;padding:9px 12px}
.selbar-info{flex:1;min-width:180px;font-size:14px}
.selbar-info .vg{font-size:11.5px;color:var(--mut)}
.mini{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;font:inherit}
.mini:hover{border-color:var(--acc);color:var(--acc-d)}
.mini.danger{color:#b91c1c;background:#fdf1f1}
textarea,input[type=text],input[type=search],input[type=password],select{width:100%;border:1px solid var(--line);border-radius:12px;padding:9px 11px;font:inherit;background:#fff;color:var(--ink)}
textarea{resize:vertical}
textarea:focus,input:focus,select:focus{outline:2px solid rgba(228,87,46,.35);border-color:var(--acc)}
.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.row.between{justify-content:space-between}
.gap-s{gap:6px}
.hint{font-size:12.5px;color:var(--mut);margin:6px 0 0}
.pause-row{margin-top:7px}
.muted{color:var(--mut)} .small{font-size:12.5px}
.controls{justify-content:space-between;margin-top:4px}
.speed{display:flex;align-items:center;gap:6px;font-size:13.5px}
.speed input{width:110px;accent-color:var(--acc)}
.read-btn{background:var(--acc);color:#fff;border:none;border-radius:999px;padding:13px 26px;font-size:16px;font-weight:700;cursor:pointer;font:inherit;box-shadow:0 8px 20px rgba(228,87,46,.35)}
.read-btn:hover{background:var(--acc-d)}
.read-btn:disabled{opacity:.55;cursor:wait;box-shadow:none}
.status{border-radius:12px;background:var(--soft);padding:9px 12px;font-size:13.5px;margin:12px 0 0}
.status.err{background:#fdf1f1;color:#b91c1c}
.rprog{height:8px;border-radius:99px;background:var(--soft);border:1px solid var(--line);overflow:hidden;margin-top:12px}
.rprog-fill{height:100%;width:0%;background:var(--acc);border-radius:99px;transition:width .5s ease}
.rprog-fill.indet{width:35%!important;animation:indet 1.2s ease-in-out infinite alternate}
@keyframes indet{from{margin-left:0}to{margin-left:65%}}

/* Lưới thẻ giọng */
.vgrid-tools{margin:2px 0 8px}
.vp-search{margin:6px 0 8px}
.vp-filters{display:flex;gap:5px;flex-wrap:wrap;margin:2px 0 4px}
.vp-f{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 12px;font-size:12.5px;cursor:pointer;color:var(--ink);font:inherit}
.vp-f.on{background:var(--ink);border-color:var(--ink);color:#fff}
.vgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:8px}
.vgrid-hd{grid-column:1/-1;font-size:12px;font-weight:700;color:var(--acc-d);text-transform:uppercase;letter-spacing:.05em;margin:6px 0 0}
.vcard{position:relative;display:flex;gap:9px;align-items:center;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:10px;cursor:pointer;font:inherit;color:var(--ink);width:100%}
.vcard:hover{border-color:#dfb99a}
.vcard.sel{border-color:var(--acc);background:var(--acc-soft);box-shadow:0 4px 14px rgba(228,87,46,.18)}
.vcard.playing{border-color:#e9b949;background:#fdf6e3}
.vcard .ava{width:40px;height:40px}
.vcard .vtx{display:flex;flex-direction:column;line-height:1.25;min-width:0;flex:1}
.vcard .vn{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vcard .vd{font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vcard .vg{font-size:11px;color:var(--mut)}
.vcard .vcheck{position:absolute;top:-7px;left:-5px;background:var(--acc);color:#fff;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
.vfav{position:absolute;top:4px;right:4px;border:none;background:transparent;font-size:14px;cursor:pointer;color:#cdbfa9;padding:2px 4px;line-height:1}
.vfav.on{color:var(--acc)}
.ava{position:relative;width:36px;height:36px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:15px;background:var(--acc)}
.ava.f{background:var(--fem)} .ava.m{background:var(--mal)} .ava.c{background:var(--chr)}
.vplay{flex:0 0 auto;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--acc);background:#fff;color:var(--acc-d);font-size:12px;cursor:pointer}
.vplay:hover{background:var(--acc-soft)}
.vplay.on{background:var(--acc);color:#fff}
.vp-note{font-size:12px;margin:6px 0 0;color:var(--mut)}
.vp-empty{padding:10px;margin:0;color:var(--mut)}

/* Bộ chọn dạng danh sách (trong chat + lớp phủ hội thoại) — giữ gọn */
.vpick{margin:2px 0 4px}
.vp-list{max-height:308px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:#fff}
.vrow{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;border-bottom:1px solid var(--soft)}
.vrow:last-child{border-bottom:none}
.vrow:hover{background:var(--soft)}
.vrow.sel{background:var(--acc-soft);box-shadow:inset 3px 0 0 var(--acc)}
.vrow.playing{background:#fdf6e3}
.vrow .vmain{display:flex;align-items:center;gap:9px;flex:1;min-width:0}
.vrow .vtx{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.vrow .vn{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vrow .vg{font-size:11.5px;color:var(--mut)}
.vrow .vcheck{color:var(--acc);font-weight:800;font-size:16px;flex:0 0 auto}
.bubble .vpick{min-width:min(300px,72vw);margin-top:8px}
.bubble .vp-list{max-height:280px}

/* Player tự vẽ */
.stplayer{margin-top:14px}
.player{display:flex;align-items:center;gap:12px;background:var(--ink);color:#fff;border-radius:18px;padding:12px 14px}
.player .pbtn{flex:0 0 auto;width:54px;height:54px;border-radius:50%;border:none;background:var(--acc);color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 16px rgba(228,87,46,.45)}
.player .pbtn:hover{background:var(--acc-d)}
.player .pmid{flex:1;min-width:0}
.wave{display:flex;align-items:center;gap:2px;height:40px;cursor:pointer}
.wave i{flex:1;background:#5b5348;border-radius:2px;min-height:4px}
.wave i.on{background:var(--acc)}
.wave.flat{align-items:center}
.wave .wbar{flex:1;height:5px;background:#5b5348;border-radius:99px;position:relative;overflow:hidden}
.wave .wbar b{position:absolute;inset:0 auto 0 0;background:var(--acc);width:0%}
.ptime{font-size:12px;color:#cfc6b8;margin-top:2px;font-variant-numeric:tabular-nums}
.player .pend{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.spdrow{display:flex;gap:4px}
.spd{border:1px solid #5b5348;background:transparent;color:#cfc6b8;border-radius:999px;padding:2px 8px;font-size:11.5px;cursor:pointer;font:inherit}
.spd.on{background:#fff;border-color:#fff;color:var(--ink);font-weight:700}
.dlrow2{display:flex;gap:6px}
.dlrow2 a{font-size:12px;color:#fff;background:#3a342c;border:1px solid #5b5348;border-radius:999px;padding:4px 10px;text-decoration:none}
.player.compact{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:8px 10px}
.player.compact .pbtn{width:42px;height:42px;font-size:16px}
.player.compact .wave i{background:#ddd0bd}
.player.compact .wave i.on{background:var(--acc)}
.player.compact .wave .wbar{background:#eee2cf}
.player.compact .ptime{color:var(--mut)}
.player.compact .dlrow2 a{color:var(--acc-d);background:var(--acc-soft);border-color:#f5cfbc}

/* Hàng chip chức năng */
.chips{display:flex;gap:6px;overflow-x:auto;padding:12px 0 2px;scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 14px;font-size:13.5px;cursor:pointer;color:var(--ink);font:inherit;font-weight:600}
.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}
.chip.accent{border-color:var(--acc);color:var(--acc-d)}

/* Panel */
.panel{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:16px;margin-top:10px;box-shadow:var(--shadow);animation:up .18s ease}
@keyframes up{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.panel-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.panel-hd b{font-size:16px}
.panel-hd .x,.sheet-hd .x{border:none;background:var(--soft);border-radius:8px;width:26px;height:26px;cursor:pointer;color:var(--mut)}
.lb{display:block;font-weight:600;font-size:13.5px;margin:10px 0 4px}

/* Hội thoại: người nói + khối câu */
.spk-row{display:flex;gap:6px;margin:6px 0;align-items:center}
.spk-row input{flex:1}
.line-row{border:1px solid var(--line);border-radius:14px;padding:9px;margin:8px 0;background:#fff}
.line-hd{display:flex;gap:6px;align-items:center;margin-bottom:7px}
.line-hd .ava{width:28px;height:28px;font-size:12px}
.line-hd select{flex:1;width:auto}
.line-hd .mini{padding:3px 9px}
.line-row .line-text{width:100%}

/* Lịch sử dạng thẻ */
.hcard{display:flex;gap:11px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:11px 12px;margin:8px 0;background:#fff}
.hcard .hava{width:40px;height:40px;border-radius:12px;background:var(--acc-soft);color:var(--acc-d);display:flex;align-items:center;justify-content:center;font-size:17px;flex:0 0 auto}
.hcard .hmid{flex:1;min-width:0}
.hcard .ht{font-size:13.5px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hcard .hm{font-size:12px;color:var(--mut);margin:1px 0 6px}
.hcard .hdel{border:none;background:transparent;color:var(--mut);cursor:pointer;font-size:14px;padding:2px}
.hcard .player{margin-top:2px}

/* Chat */
.suggest{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 2px}
.sg{border:1px solid var(--line);background:var(--soft);color:var(--acc-d);border-radius:999px;padding:5px 10px;font-size:12.5px;cursor:pointer;font:inherit}
.sg:hover{border-color:var(--acc)}
.chatlog{display:flex;flex-direction:column;gap:8px;padding:10px 0 4px;max-height:52vh;overflow-y:auto}
.msg{display:flex}
.msg.me{justify-content:flex-end}
.bubble{max-width:86%;padding:8px 12px;border-radius:14px;background:#fff;border:1px solid var(--line);white-space:pre-wrap;word-break:break-word}
.msg.me .bubble{background:var(--acc);border-color:var(--acc);color:#fff;border-bottom-right-radius:4px}
.msg.bot .bubble{border-bottom-left-radius:4px}
.bubble .st{display:block;font-size:12.5px;color:var(--mut);margin-top:4px}
.bubble .player{margin-top:8px}
.chat-tools{margin:8px 0}
.chatbar{display:flex;gap:6px;align-items:flex-end}
.chatbar textarea{flex:1;border-radius:14px;max-height:110px;padding:10px 12px}
.iconbtn,.sendbtn{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--soft);font-size:17px;cursor:pointer}
.sendbtn{background:var(--acc);border-color:var(--acc);color:#fff}
.sendbtn:disabled{opacity:.55;cursor:wait}

/* Lớp phủ chọn giọng */
.sheet-wrap{position:fixed;inset:0;background:rgba(28,22,16,.45);z-index:40;display:flex;align-items:flex-end;justify-content:center}
.sheet-wrap[hidden]{display:none}
.sheet{background:#fff;width:100%;max-width:760px;max-height:84vh;overflow-y:auto;border-radius:18px 18px 0 0;padding:14px;animation:up .18s ease}
.sheet-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.sheet .vp-list{max-height:52vh}

/* Panel video */
.tvp-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.tvp-col{flex:1 1 200px}
.tvp-meta{justify-content:space-between;align-items:center;margin-top:6px;font-size:13px;color:var(--mut)}
#tvp-script{line-height:1.5}
#tvp-speed{width:100%;accent-color:var(--acc)}
.tvp-posts{display:grid;gap:8px;margin-top:10px}
.tvp-post{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}
.tvp-post p{grid-column:1/-1;margin:0;font-size:13px;color:var(--mut);line-height:1.45}
#tvp-submit{width:100%;margin-top:14px}
#tvp-submit[disabled]{opacity:.55;cursor:wait}
.tvp-status{margin-top:14px}
.tvp-status[hidden]{display:none}
.tvp-bar{height:8px;border-radius:99px;background:var(--soft);border:1px solid var(--line);overflow:hidden}
.tvp-bar-fill{height:100%;width:0%;background:var(--acc);transition:width .4s ease}
.tvp-status-text{font-size:14px;margin:8px 0 0}
.tvp-result{margin-top:14px;display:grid;gap:10px;justify-items:center}
.tvp-result[hidden]{display:none}
.tvp-result video{width:min(360px,100%);border-radius:12px;background:#000}
.dl-btn{background:var(--acc);color:#fff;text-decoration:none;border-radius:999px;padding:9px 16px;font-size:13.5px;font-weight:600}
.stplayer[hidden]{display:none}

/* --- Panel video chữ động (v16): thẻ phong cách + nút gạt + dải mốc --- */
.vstyles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:6px 0 14px}
@media (max-width:560px){.vstyles{grid-template-columns:repeat(2,1fr)}}
.vcard{position:relative;padding:0;border:2px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;cursor:pointer;text-align:center}
.vcard img{display:block;width:100%;aspect-ratio:9/16;object-fit:cover}
.vcard span{display:block;padding:7px 4px;font-size:13px;font-weight:700;color:var(--ink)}
.vcard.on{border-color:var(--acc);box-shadow:0 0 0 2px var(--acc)}
.vcard.on::after{content:"✓";position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--acc);color:#fff;font-size:14px;line-height:24px;text-align:center}
.seg{display:flex;gap:6px;flex-wrap:wrap}
.seg button{flex:1 1 auto;padding:9px 10px;border:1.5px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:14px;font-weight:600;color:var(--mut);cursor:pointer;min-height:42px}
.seg button.on{background:var(--ink);border-color:var(--ink);color:#fff}
#tvp-pitch{width:100%;accent-color:var(--acc)}
#tvp-endtext{width:100%}
.vsheet{display:block;width:100%;border-radius:12px;border:1px solid var(--line)}
.seg button[disabled]{opacity:.45;cursor:not-allowed}

/* v18: mẫu theo chủ đề + vai nhân vật + xem trước cảnh + mục nâng cao */
.tplrow{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.tvp-linkbox{border:1px dashed var(--line);border-radius:14px;padding:10px 12px;margin:0 0 14px;background:#fff8f4}
.tvp-linkbox .lb{margin-top:0}
.tvp-linkrow{display:flex;gap:8px;align-items:stretch}
.tvp-linkrow input{flex:1;border:1px solid var(--line);border-radius:12px;padding:9px 11px;font:inherit;background:#fff;color:var(--ink)}
.tvp-linkrow button{white-space:nowrap}
.tvp-linkbox .chk{display:flex;gap:6px;align-items:center;margin-top:8px;cursor:pointer}
#tvp-link-status{margin:8px 0 0}
#tvp-link-status.err{color:#b3261e}
.tplchip{border:1.5px solid #e3e0da;background:#fff;border-radius:999px;padding:7px 13px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.tplchip:hover{border-color:#e4572e;color:#e4572e}
.tplchip.on{background:#e4572e;border-color:#e4572e;color:#fff}
.adv-toggle{width:100%;padding:9px 12px}
.scenes{margin:10px 0 4px;border:1.5px dashed #d8d3c8;border-radius:12px;padding:10px 12px;background:#fffdf8}
.scenes-hd{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:700;font-size:13.5px;margin-bottom:8px}
.scene-row{display:flex;gap:8px;align-items:center;margin-bottom:6px}
.scene-meta{flex:0 0 178px;font-size:12px;color:#8a8f98;font-weight:600}
.scene-text{flex:1;min-width:0;padding:8px 10px;border:1.5px solid #e3e0da;border-radius:10px;font:inherit;font-size:14px;background:#fff}
.scene-del{flex:0 0 auto}
@media (max-width:560px){.scene-meta{flex-basis:118px}}

/* v20 — gọn màn hình chính: lưới giọng + tuỳ chỉnh vào mục mở-đóng */
.voice-pick-wrap{margin-top:8px}
.advbtn{border:1.5px dashed #d8d2c8;background:#fff;border-radius:999px;padding:10px 16px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;min-height:44px;color:var(--ink)}
.advbtn:hover{border-color:var(--acc);color:var(--acc-d)}
#studio-adv{margin-top:10px;border:1.5px dashed #e3e0da;border-radius:14px;padding:6px 12px 10px}
#tvp-quick{margin-top:8px}
#selbar-video{margin:2px 0 8px}
@media (max-width:560px){
  .mini{min-height:40px;padding:8px 12px}
  .chip{padding:10px 14px}
  .read-btn{padding:14px 22px}
  .controls{flex-wrap:wrap;gap:10px}
}

/* v21 — thẻ giọng GỌN: mỗi giọng 1 hàng mảnh, tên không bị cắt */
.vgrid{grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:6px}
.vgrid .vcard{padding:7px 10px;border-radius:12px;gap:8px}
.vgrid .vcard .ava{width:30px;height:30px;font-size:13px}
.vgrid .vcard .vtx{flex-direction:row;align-items:center;gap:7px}
.vgrid .vcard .vn{font-size:13.5px;flex:0 0 auto}
.vgrid .vcard .vd{flex:1 1 auto;min-width:0;font-size:11px}
.vgrid .vcard .vg{flex:0 0 auto;background:#f3efe9;border-radius:99px;padding:1px 7px;font-size:10.5px}
.vgrid .vcard .vplay{width:28px;height:28px;font-size:11px}
.vgrid .vcard .vcheck{width:17px;height:17px;font-size:11px;top:-5px;left:-4px}
.vgrid .vfav{position:static;padding:2px 2px;font-size:13px}
@media (max-width:560px){.vgrid{grid-template-columns:1fr}}

/* v23 — thẻ phong cách chạy video demo */
.vstyles .vcard video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;pointer-events:none;background:#111}

/* v24 — thanh % của luồng lấy nội dung từ link */
#tvp-link-fill{transition:width .8s ease}

/* v25 — lịch sử video lưu trữ trên máy chủ */
.histlist{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.histrow{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #eadfd2;border-radius:12px;padding:8px}
.histrow img{width:44px;height:78px;object-fit:cover;border-radius:8px;background:#111;flex:none}
.histmid{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.histmid b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.histmid span{font-size:12px;color:#8a7a63}
.histrow .mini{flex:none}
.histrow a.mini{display:inline-block;text-decoration:none}

/* v29: phụ đề + từ điển */
.subbar{margin-top:8px}
.dict-form{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.dict-form input[type=text],.dict-form textarea{width:100%;box-sizing:border-box}
.dict-row{padding:6px 0;border-bottom:1px dashed rgba(127,127,127,.25);align-items:center}
.hsub{font-size:11px;padding:2px 6px}

/* ===== Khung app 3 cột + ví tín dụng (v31) ===== */
.app-shell{display:flex;align-items:stretch;min-height:100vh}
.side{width:252px;flex:0 0 252px;background:#141210;color:#f3ead9;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:30}
.side-brand{display:flex;gap:10px;align-items:center;padding:16px 16px 10px}
.side-brand .logo{display:flex}
.side-name strong{display:block;font-size:17px;letter-spacing:.01em}
.side-name span{font-size:12px;color:#b9ac93}
.side-nav{flex:1;overflow-y:auto;padding:4px 10px 10px;scrollbar-width:thin}
.side-hd{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#8f8474;margin:14px 6px 6px}
.menu-btn{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:0;border-radius:10px;color:#f3ead9;font:inherit;font-size:14px;font-weight:600;padding:8px 10px;cursor:pointer}
.menu-btn:hover{background:#262019}
.menu-btn.on{background:#a3e635;color:#1c2a10}
.soon-tag{margin-left:auto;font-style:normal;font-size:10.5px;background:#3a332a;color:#cbbd9f;border-radius:999px;padding:1px 7px}
.menu-btn.on .soon-tag{background:#1c2a10;color:#a3e635}
.side-wallet{border-top:1px solid #2c2620;padding:14px 16px 16px;display:flex;flex-direction:column;gap:2px}
.sw-lb{font-size:12px;color:#b9ac93}
.sw-bal{font-size:24px;color:#a3e635;line-height:1.15}
.sw-note{font-size:11.5px;color:#8f8474;min-height:14px}
.sw-buy{margin-top:8px;background:#a3e635;color:#1c2a10;border:0;border-radius:10px;font:inherit;font-weight:800;padding:10px;cursor:pointer}
.sw-buy:hover{filter:brightness(1.06)}
.app-shell .col{flex:1;min-width:0;max-width:860px;margin:0 auto}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 2px 10px;position:sticky;top:0;background:var(--bg);z-index:20}
.topbar #view-title{font-size:19px}
.tb-right{display:flex;align-items:center;gap:8px}
.tb-bal{font-weight:800;color:#4d7c0f;font-size:14px}
.buy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}
.buy-opt{display:flex;flex-direction:column;gap:2px;align-items:flex-start;border:1.5px solid var(--line);background:var(--card);border-radius:14px;padding:10px 12px;font:inherit;cursor:pointer;text-align:left}
.buy-opt span{font-size:12.5px;color:var(--mut)}
.buy-opt.on{border-color:#65a30d;background:#f7fee7}
.buy-total{font-size:16px;font-weight:700;margin:10px 0}
.buy-sec{margin-top:18px}
.buy-sec>div{margin-top:6px}
.pack-row,.ord-row,.led-row{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;margin-top:6px;font-size:13.5px;background:var(--soft)}
.dl-link{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink)}
.api-docs pre{background:#141210;color:#d9f99d;border-radius:12px;padding:12px;overflow-x:auto;font-size:12.5px;line-height:1.55}
.api-docs code{background:var(--soft);border-radius:5px;padding:0 5px;font-size:12.5px}
.api-docs pre code{background:transparent;padding:0}
.grp-member{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:7px 10px;margin-top:6px;font-size:13.5px;background:var(--soft);flex-wrap:wrap}
.grp-member input[type=number]{width:110px}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0}
.stat-cell{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--soft)}
.stat-cell b{display:block;font-size:19px}
.stat-cell span{font-size:12.5px;color:var(--mut)}
@media (max-width:900px){
  .app-shell{flex-direction:column}
  .side{width:100%;flex:none;height:auto;position:static}
  .side-nav{display:flex;flex-wrap:wrap;gap:2px}
  .side-hd{width:100%}
  .menu-btn{width:auto;padding:7px 10px}
  .side-wallet{flex-direction:row;align-items:center;gap:10px;flex-wrap:wrap}
  .sw-bal{font-size:19px}
  .sw-buy{margin-top:0}
  .buy-grid{grid-template-columns:repeat(2,1fr)}
}

/* ===== v32: reskin đúng bản mẫu (menu đen, xanh lime, nền kem, cột Cài đặt | Lịch sử, nút phát tròn) ===== */
:root{
  --acc:#a3e635; --acc-d:#4d7c0f; --acc-soft:#f4f9e4;
  --ink:#1c1917; --mut:#78716c;
  --bg:#f7f4ec; --card:#ffffff; --line:#e8e2d2; --soft:#f1ebdd;
  --shadow:0 8px 24px rgba(60,50,20,.07);
}
:root[data-theme="dark"]{
  --ink:#f5f2ea; --mut:#a8a29e;
  --bg:#141412; --card:#1f1f1d; --line:#35322a; --soft:#26251f;
  --acc-soft:#26300f; --shadow:0 8px 24px rgba(0,0,0,.35);
}
.mini{background:var(--card);color:var(--ink)}
textarea,input[type=text],input[type=search],input[type=password],select{background:var(--card)}
textarea:focus,input:focus,select:focus{outline:2px solid rgba(132,204,22,.45);border-color:#84cc16}
.mini:hover{border-color:#84cc16;color:var(--acc-d)}
input[type=range]{accent-color:#84cc16}
.selbar{background:var(--acc-soft);border-color:var(--line)}
.stats b{color:var(--acc-d)}
.read-btn{background:#a3e635;color:#1a2205;box-shadow:0 8px 20px rgba(132,204,22,.32)}
.read-btn:hover{background:#84cc16}
.btn.primary{background:#a3e635;color:#1a2205;border-color:#84cc16;font-weight:700}
.btn.primary:hover{background:#84cc16}
.side{background:#0a0a09}
.brand-logo{background:#a3e635;color:#141a08}
.studio{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.studio[hidden]{display:none}
.ed-rail{border-left:1px solid var(--line);padding-left:16px;display:flex;flex-direction:column;gap:6px;min-width:0}
.rail-tabs{display:flex;gap:4px;background:var(--soft);border-radius:10px;padding:3px}
.rail-tab{flex:1;border:none;background:transparent;padding:7px;font:inherit;font-weight:600;font-size:13.5px;border-radius:8px;cursor:pointer;color:var(--mut)}
.rail-tab.on{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.10)}
.set-row{border-bottom:1px dashed var(--line);padding:11px 0}
.set-lb{display:flex;justify-content:space-between;font-size:13.5px;font-weight:600;margin-bottom:6px}
.set-lb b{color:var(--acc-d)}
.set-row input[type=range]{width:100%}
.tagrow{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;align-items:center}
.tchip{border:1px solid var(--line);background:var(--soft);color:var(--ink);border-radius:8px;padding:5px 10px;font-size:12.5px;cursor:pointer;font:inherit}
.tchip:hover{border-color:#84cc16;background:var(--acc-soft)}
.tagrow-sep{width:1px;height:18px;background:var(--line);margin:0 2px}
.ed-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.play-round{width:60px;height:60px;border-radius:50%;border:none;background:#a3e635;color:#141a08;font-size:24px;cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 24px rgba(132,204,22,.40)}
.play-round:hover{background:#84cc16}
.play-round:disabled{opacity:.55;cursor:wait;box-shadow:none}
.tb-right{display:flex;align-items:center;gap:8px}
.lang-wrap{position:relative}
.tb-pill{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:6px 12px;font:inherit;font-size:13px;cursor:pointer}
.lang-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:5px;min-width:175px;z-index:60;display:flex;flex-direction:column}
.lang-menu[hidden]{display:none}
.lang-item{display:flex;justify-content:space-between;gap:10px;border:none;background:transparent;padding:8px 10px;border-radius:8px;font:inherit;font-size:13.5px;cursor:pointer;color:var(--ink);text-align:left}
.lang-item.on{background:var(--acc-soft);font-weight:600}
.lang-item:disabled{opacity:.55;cursor:default}
.tb-icon{border:1px solid var(--line);background:var(--card);border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:15px;display:grid;place-items:center;color:var(--ink)}
.tier-badge{border:1px solid #d9f99d;background:#f7fee7;color:#3f6212;border-radius:999px;padding:5px 11px;font-size:12.5px;font-weight:700;white-space:nowrap}
.tier-badge.up{background:#a3e635;color:#141a08;border-color:#84cc16}
:root[data-theme="dark"] .tier-badge{background:#26300f;color:#bef264;border-color:#3f6212}
.user-chip{display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:4px 10px 4px 4px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;color:var(--ink)}
.avatar{width:28px;height:28px;border-radius:50%;background:#a3e635;color:#141a08;display:grid;place-items:center;font-weight:800;font-size:13px;flex:0 0 auto}
.caret{color:var(--mut);font-size:11px}
.hist-item,.chatlog,.sg{background:var(--card)}
@media (max-width:1100px){.studio{grid-template-columns:1fr}.ed-rail{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:12px}}
@media (max-width:720px){.tier-badge{display:none}.tb-pill{padding:6px 9px}}
:root[data-theme="dark"] .vcard,:root[data-theme="dark"] .hcard,:root[data-theme="dark"] .histrow,:root[data-theme="dark"] .line-row,:root[data-theme="dark"] .bubble,:root[data-theme="dark"] .sheet,:root[data-theme="dark"] .player.compact,:root[data-theme="dark"] .vp-list,:root[data-theme="dark"] .vp-f,:root[data-theme="dark"] .tvp-post,:root[data-theme="dark"] .tvp-linkbox,:root[data-theme="dark"] .scenes,:root[data-theme="dark"] .scene-text,:root[data-theme="dark"] .tplchip,:root[data-theme="dark"] .seg button,:root[data-theme="dark"] .tvp-linkrow input,:root[data-theme="dark"] .vplay{background:var(--card);color:var(--ink)}
:root[data-theme="dark"] .histrow{border-color:var(--line)}
:root[data-theme="dark"] .histmid span{color:var(--mut)}

/* ===== v33: đối chiếu bản mẫu — topbar icon, editor footer, thẻ trong Cài đặt, tab đen ===== */
.side-group{display:flex;justify-content:space-between;align-items:center;width:100%;background:#a3e635;color:#141a08;border:none;border-radius:10px;padding:9px 12px;font:inherit;font-weight:700;font-size:14px;cursor:pointer;margin-bottom:8px}
.side.nav-closed .menu-btn{display:none}
.menu-btn.on{background:#26320e;color:#bef264}
.sw-user{display:flex;align-items:center;gap:8px;background:transparent;border:none;color:#f5f2ea;font:inherit;font-weight:600;font-size:14px;cursor:pointer;padding:2px 0}
.sw-user .caret{color:#8f8a7d}
.sw-bal{color:#d6d0bf;font-size:13.5px}
.sw-bal b{color:#a3e635;font-size:17px}
.side-wallet .sw-buy{width:auto;padding:8px 20px;border-radius:999px;align-self:flex-start}
.app-shell.sb-closed{grid-template-columns:1fr}
.app-shell.sb-closed .side{display:none}
.topbar{gap:10px}
.tb-left{display:flex;align-items:center;gap:6px}
.tb-icon{border:1px solid transparent;background:transparent;border-radius:50%;width:34px;height:34px;cursor:pointer;font-size:16px;display:grid;place-items:center;color:var(--ink)}
.tb-icon:hover{background:var(--soft)}
.tb-icon.sm{width:30px;height:30px;font-size:14px;border-color:var(--line);background:var(--card)}
.bell-wrap{position:relative}
.bell-menu{position:absolute;top:calc(100% + 6px);left:0;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:10px 14px;font-size:13px;white-space:nowrap;z-index:60;color:var(--ink)}
.bell-menu[hidden]{display:none}
.tier-pill{border:1.5px solid var(--ink);color:var(--ink);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800;letter-spacing:.05em}
.tier-text{font-size:12.5px;font-weight:700;letter-spacing:.06em;color:var(--mut)}
.tier-text.up{color:var(--acc-d)}
.upgrade-link{background:none;border:none;color:var(--acc-d);font:inherit;font-size:12.5px;font-weight:800;letter-spacing:.06em;cursor:pointer;padding:4px 2px}
.upgrade-link:hover{text-decoration:underline}
.upgrade-link[hidden]{display:none}
.editor-box{border:1px solid var(--line);border-radius:16px;background:var(--card);overflow:hidden}
.editor-box:focus-within{outline:2px solid rgba(132,204,22,.45);border-color:#84cc16}
.editor-box textarea{border:none;border-radius:0;background:transparent}
.editor-box textarea:focus{outline:none;border-color:transparent}
.editor-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:8px 10px;gap:8px}
.ef-left,.ef-right{display:flex;align-items:center;gap:8px}
.ef-count{font-size:13.5px;color:var(--mut);font-weight:600}
.ef-count #count{color:var(--ink)}
.play-sq{width:52px;height:52px;border-radius:14px;border:none;background:#a3e635;color:#141a08;font-size:22px;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 20px rgba(132,204,22,.35)}
.play-sq:hover{background:#84cc16}
.play-sq:disabled{opacity:.55;cursor:wait;box-shadow:none}
.rail-tabs{background:transparent;padding:0;gap:6px}
.rail-tab{border:1px solid var(--line);background:var(--card);border-radius:999px;color:var(--ink)}
.rail-tab.on{background:#141210;color:#fff;border-color:#141210;box-shadow:none}
.tagcats{display:flex;gap:6px;flex-wrap:wrap}
.tagpanel{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.tagpanel[hidden]{display:none}
.switch{position:relative;display:inline-block;width:40px;height:22px;flex:0 0 auto}
.switch input{opacity:0;width:0;height:0}
.switch .sl{position:absolute;inset:0;background:#d6d0bf;border-radius:999px;cursor:pointer;transition:.15s}
.switch .sl:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.15s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.switch input:checked + .sl{background:#84cc16}
.switch input:checked + .sl:before{transform:translateX(18px)}
.set-row.swrow{display:flex;justify-content:space-between;align-items:center}
.set-lb2{font-size:13.5px;font-weight:600}
.set-row.endrow{display:flex;justify-content:flex-end}
.grow1{flex:1}
.hist-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.switch-row{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600}
.hstate{background:#141210;color:#fff;border-radius:6px;padding:1px 7px;font-size:11px;font-weight:700;white-space:nowrap}
body.no-subs .subbar{display:none}
#fab-chat{position:fixed;right:18px;bottom:18px;width:54px;height:54px;border-radius:50%;border:none;background:#a3e635;color:#141a08;font-size:24px;cursor:pointer;box-shadow:0 12px 28px rgba(132,204,22,.45);z-index:80;display:grid;place-items:center}
#fab-chat:hover{background:#84cc16}
@media (max-width:900px){.tier-pill{display:none}}

/* ===== v36: dropdown giọng tự vẽ — mỗi giọng có nút nghe thử riêng ===== */
.vsel{position:relative}
.vsel-btn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:9px 11px;font:inherit;cursor:pointer;text-align:left}
.vsel-list{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);max-height:330px;overflow-y:auto;z-index:70;padding:6px}
.vsel-list[hidden]{display:none}
.vsel-hd{font-size:11.5px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;padding:8px 8px 3px}
.vsel-item{display:flex;align-items:center;gap:4px;border-radius:10px;padding:1px 4px 1px 1px}
.vsel-item:hover{background:var(--soft)}
.vsel-item.on{background:var(--acc-soft)}
.vsel-name{flex:1;background:none;border:none;font:inherit;font-size:14px;color:var(--ink);text-align:left;padding:7px 8px;cursor:pointer;border-radius:8px;min-width:0}
.vsel-play{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:1.5px solid #84cc16;background:var(--card);color:var(--acc-d);font-size:11px;cursor:pointer;display:grid;place-items:center}
.vsel-play.on{background:#a3e635;color:#141a08;border-color:#a3e635}

/* ===== v37: thanh tiến độ % khi nhân bản giọng ===== */
.clone-prog{display:flex;align-items:center;gap:10px;margin-top:10px}
.clone-prog[hidden]{display:none}
.clone-bar{flex:1;height:10px;background:var(--soft);border:1px solid var(--line);border-radius:99px;overflow:hidden}
.clone-bar i{display:block;height:100%;width:0;background:#a3e635;border-radius:99px;transition:width .25s ease}
#clone-pct{font-weight:700;font-size:13.5px;min-width:40px;color:var(--ink)}

/* ===== v39: mục chọn trong dropdown tự vẽ (từ điển) ===== */
.vsel-opt{display:block;width:100%;background:none;border:none;font:inherit;font-size:14px;color:var(--ink);text-align:left;padding:8px 9px;border-radius:9px;cursor:pointer}
.vsel-opt:hover{background:var(--soft)}
.vsel-opt.on{background:var(--acc-soft);font-weight:600}

/* ===== v42: diện mạo mới — sáng, mềm, hiện đại (giữ nhận diện lime TuTaLab) ===== */
:root{
  --acc:#7fb814; --acc-d:#5f8f0a; --acc-soft:#f0f8dc;
  --ink:#202613; --mut:#75816a;
  --bg:#f6f3e9; --card:#fffefb; --line:#e4dcc4; --soft:#f0ead6;
  --shadow:0 14px 34px rgba(96,80,24,.10), 0 2px 8px rgba(96,80,24,.05);
}
body{background:radial-gradient(1100px 480px at 85% -8%, #e9f5cf 0%, rgba(233,245,207,0) 60%), radial-gradient(700px 400px at -10% 110%, #fdf0d5 0%, rgba(253,240,213,0) 55%), var(--bg)}
.side{background:linear-gradient(178deg,#191a13 0%,#101208 78%,#0c0e06 100%);box-shadow:6px 0 28px rgba(20,26,8,.18)}
.side-name span{color:#a8b394}
.menu-btn{border-radius:12px;padding:10px 12px;transition:background .15s ease, transform .15s ease}
.menu-btn:hover{background:#232818;transform:translateX(2px)}
.menu-btn.on{background:linear-gradient(90deg,#2c3a12,#26320e);box-shadow:inset 3px 0 0 #a3e635}
.side-group{border-radius:12px;box-shadow:0 6px 16px rgba(163,230,53,.28)}
.studio,.panel{border-radius:24px;border-color:#e7dfc6}
.editor-box{border-radius:18px;border:1.5px solid var(--line);background:#fff;box-shadow:0 4px 18px rgba(96,80,24,.06);transition:border-color .15s ease, box-shadow .15s ease}
.editor-box:focus-within{border-color:#a3e635;box-shadow:0 0 0 4px rgba(163,230,53,.22), 0 6px 20px rgba(96,80,24,.08)}
.editor-box textarea{border:none;background:transparent}
.play-sq{background:linear-gradient(145deg,#b6ec55,#8fce1e);border-radius:14px;box-shadow:0 8px 18px rgba(143,206,30,.38);transition:transform .12s ease, box-shadow .12s ease}
.play-sq:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 12px 22px rgba(143,206,30,.45)}
.read-btn{background:linear-gradient(145deg,#b6ec55,#8fce1e);border-radius:14px;box-shadow:0 8px 18px rgba(143,206,30,.32);font-weight:800}
.mini{border-radius:999px;transition:background .15s ease, transform .12s ease}
.mini:hover{transform:translateY(-1px)}
.vcard{border-radius:18px;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease}
.vcard:hover{transform:translateY(-3px);box-shadow:0 14px 26px rgba(96,80,24,.13)}
input[type="text"],input[type="search"],input[type="number"],input[type="password"],select,textarea{border-radius:12px}
input[type="range"]{accent-color:#84cc16}
.player{border-radius:18px;box-shadow:0 10px 24px rgba(96,80,24,.10)}
.buy-opt{border-radius:16px;transition:transform .13s ease, box-shadow .13s ease}
.buy-opt:hover{transform:translateY(-2px)}
.buy-opt.on{box-shadow:0 10px 22px rgba(143,206,30,.30)}
.linkbar{display:flex;gap:8px;margin-top:12px}
.linkbar input{flex:1;border:1.5px solid var(--line);background:#fff;color:var(--ink);padding:10px 13px;font:inherit}
.linkbar input:focus{outline:none;border-color:#a3e635;box-shadow:0 0 0 4px rgba(163,230,53,.20)}
.low-banner{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:12px;padding:11px 14px;border-radius:14px;background:linear-gradient(90deg,#fef3c7,#fde68a);border:1px solid #f59e0b;color:#78350f;font-weight:600;box-shadow:0 8px 18px rgba(245,158,11,.20)}
.low-banner .mini{background:#78350f;color:#fef3c7;border:none;font-weight:700}
.music-volrow{margin-top:8px;align-items:center}
#music-sel{width:100%;border:1.5px solid var(--line);background:var(--card);color:var(--ink);padding:9px 11px;font:inherit}
:root[data-theme="dark"] .editor-box{background:var(--card)}
:root[data-theme="dark"] .linkbar input{background:var(--card);color:var(--ink)}
:root[data-theme="dark"] .low-banner{background:linear-gradient(90deg,#451a03,#78350f);color:#fde68a;border-color:#b45309}
:root[data-theme="dark"] body{background:var(--bg)}

/* ===== v44: Tạo ảnh ===== */
#img-prompt{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:11px 13px;font:inherit;background:var(--card);color:var(--ink)}
.img-bar{align-items:flex-end;margin-top:10px}
#img-out{max-width:100%;border-radius:16px;box-shadow:var(--shadow);margin-top:12px}
.img-history{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.img-thumb{width:74px;height:74px;object-fit:cover;border-radius:12px;cursor:pointer;border:2px solid var(--line)}
.img-thumb:hover{border-color:#a3e635}

/* ===== v45: sửa vị trí/nhãn theo rà soát toàn trang ===== */
[hidden]{display:none !important}
.low-banner{align-items:center}
.low-banner span{flex:1}
#low-banner-btn{white-space:nowrap;flex:none}
.soon-tag{white-space:nowrap;flex:none}
.img-price{white-space:nowrap}
#view-buy .row label{display:flex;flex-direction:column;gap:6px;font-weight:600}
.read-btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.seg button[disabled]{opacity:.55;cursor:not-allowed}
.set-lb b{padding-right:2px}

/* ===== v46: Mẫu 3 — Kem ấm biên tập (Đại Ka chọn) ===== */
:root{
  --acc:#b4551f; --acc-d:#8f4213; --acc-soft:#faecd9;
  --ink:#26332a; --mut:#7a7261;
  --bg:#faf3e2; --card:#fffdf6; --line:#e8dcc0; --soft:#f3efe0;
  --shadow:0 14px 34px rgba(120,90,20,.10), 0 2px 8px rgba(120,90,20,.05);
}
body{background:radial-gradient(1100px 480px at 85% -8%, #f7e3bb 0%, rgba(247,227,187,0) 60%), radial-gradient(700px 400px at -10% 110%, #dcead9 0%, rgba(220,234,217,0) 55%), var(--bg)}
.side{background:linear-gradient(178deg,#26503c 0%,#1e4634 55%,#173a2b 100%);color:#e9f2e4;box-shadow:6px 0 28px rgba(23,58,43,.25)}
.side-name span{color:#a7c3ab}
.menu-btn{color:#cfe0cd}
.menu-btn:hover{background:#2a5a44;color:#fff}
.menu-btn.on{background:#2a5a44;color:#fff;box-shadow:inset 3px 0 0 #f0b35e}
.menu-btn.on .soon-tag{background:#f0b35e;color:#33240a}
.soon-tag{background:#356550;color:#ffd9a0}
.play-sq{background:#b4551f;color:#fff;box-shadow:0 8px 18px rgba(180,85,31,.35)}
.read-btn{background:#b4551f;box-shadow:0 8px 20px rgba(180,85,31,.32)}
.topbar #view-title,.panel-hd b,.side-name strong{font-family:Georgia,"Times New Roman",serif}
.vcard.on{border-color:#b4551f;background:#fdf3e3}
:root[data-theme="dark"]{
  --acc:#f0b35e; --acc-d:#d99a35; --acc-soft:#3a2f16;
  --ink:#eef2e4; --mut:#a7b39b;
  --bg:#14231b; --card:#1c2f24; --line:#33503f; --soft:#243829;
  --shadow:0 14px 34px rgba(0,0,0,.4), 0 2px 8px rgba(0,0,0,.3);
}
:root[data-theme="dark"] body{background:#14231b}
:root[data-theme="dark"] .read-btn{background:#f0b35e;color:#33240a}
:root[data-theme="dark"] .play-sq{background:#f0b35e;color:#33240a}

/* ===== v47: dọn nốt mảng lime thừa — đồng bộ Mẫu 3 ===== */
.sw-bal{color:#f0b35e}
.sw-buy{background:#f0b35e;color:#33240a}
.sw-buy:hover{background:#eaa93f}
.brand-logo{background:#f0b35e;color:#33240a}
.avatar{background:#f0b35e;color:#33240a}
#fab-chat{background:#b4551f;color:#fff;box-shadow:0 12px 28px rgba(180,85,31,.4)}
.play-round{background:#b4551f;color:#fff;box-shadow:0 10px 24px rgba(180,85,31,.35)}
.play-round:hover{background:#a34d1b}
.btn.primary{background:#b4551f;color:#fff;border-color:#8f4213}
.btn.primary:hover{background:#a34d1b}
input[type=range]{accent-color:#b4551f}
textarea:focus,input:focus,select:focus{outline:2px solid rgba(180,85,31,.40);border-color:#b4551f}
.mini:hover{border-color:#b4551f;color:#8f4213}
.tchip:hover{border-color:#b4551f}
.tier-badge{border-color:#e5c07b;background:#fdf0d5;color:#7c4a12}
.tier-badge.up{background:#b4551f;color:#fff;border-color:#8f4213}
.buy-opt.on{border-color:#b4551f;background:#fdf3e3}
.side-group{box-shadow:0 6px 16px rgba(240,179,94,.25)}
.editor-box:focus-within{border-color:#b4551f;box-shadow:0 0 0 4px rgba(180,85,31,.18), 0 6px 20px rgba(96,80,24,.08)}
.linkbar input:focus{border-color:#b4551f;box-shadow:0 0 0 4px rgba(180,85,31,.16)}
.img-thumb:hover{border-color:#b4551f}
:root[data-theme="dark"] .sw-bal{color:#f0b35e}
:root[data-theme="dark"] input[type=range]{accent-color:#f0b35e}

/* ===== v48: thanh AI hỗ trợ soạn ===== */
.aibar select{border:1.5px solid var(--line);border-radius:12px;padding:10px;font:inherit;background:var(--card);color:var(--ink);max-width:230px}
.aibar input{flex:1}
@media (max-width:720px){ .aibar{flex-wrap:wrap} .aibar select{max-width:none;flex:1} }

/* ===== v49: tối ưu mobile + vá tràn trình phát ===== */
.player{flex-wrap:wrap}
.player .pmid{flex:1 1 110px;min-width:0}
.player .pend{margin-left:auto}
.ptime{white-space:nowrap}
@media (max-width:900px){
  .side-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
  .menu-btn{flex:0 0 auto;white-space:nowrap}
  .tb-icon{width:40px;height:40px;font-size:17px}
  #view-buy .row{flex-wrap:wrap}
  .vstyles{grid-template-columns:repeat(2,1fr)}
  .seg{flex-wrap:wrap}
  textarea,input,select{font-size:16px}
  .spk-row,.line-row{flex-wrap:wrap}
  .line-row .mini,.spk-row .mini{min-height:36px;min-width:36px}
}
