/* SmartX Studio — dark-first studio UI with warm-neutral greys and an amber credit accent. */
:root{
  --bg:#1b1b1a;--panel:#1b1b1a;--side:#151514;--card:#222220;--card2:#2a2a28;--sunk:#181817;
  --line:#32322e;--line2:#40403b;--text:#ededeb;--muted:#a3a39c;--soft:#76766f;
  --accent:#f59e0b;--accent-ink:#1b1200;--brand:#60a5fa;--ok:#22c55e;--warn:#f59e0b;--bad:#ef4444;
  --btn:#ededeb;--btn-ink:#151514;--focus:#60a5fa;
  --font:Inter,Padauk,"Myanmar Text","Noto Sans Myanmar",system-ui,-apple-system,sans-serif;
  color-scheme:dark;
}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){
  --bg:#f6f6f4;--panel:#f6f6f4;--side:#efefec;--card:#ffffff;--card2:#f1f1ee;--sunk:#ebebe7;
  --line:#e2e2dd;--line2:#d2d2cc;--text:#1b1b1a;--muted:#62625c;--soft:#8c8c85;
  --accent:#d97706;--accent-ink:#ffffff;--brand:#2563eb;--btn:#1b1b1a;--btn-ink:#ffffff;--focus:#2563eb;
  color-scheme:light;
}}
:root[data-theme="light"]{
  --bg:#f6f6f4;--panel:#f6f6f4;--side:#efefec;--card:#ffffff;--card2:#f1f1ee;--sunk:#ebebe7;
  --line:#e2e2dd;--line2:#d2d2cc;--text:#1b1b1a;--muted:#62625c;--soft:#8c8c85;
  --accent:#d97706;--accent-ink:#ffffff;--brand:#2563eb;--btn:#1b1b1a;--btn-ink:#ffffff;--focus:#2563eb;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
svg.i{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
[hidden]{display:none!important}

/* shell */
.app{display:flex;min-height:100vh}
.side{width:258px;flex:none;background:var(--side);border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:14px 8px 12px}
.brand{display:flex;align-items:center;gap:9px;padding:2px 8px 18px;font-weight:600;font-size:17px;text-decoration:none}
.brand .collapse{margin-left:auto;background:none;border:0;color:var(--muted);padding:4px;border-radius:6px}
.side .label{color:var(--soft);font-size:11.5px;padding:0 9px 6px}
.nav{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:10px;font-size:13.5px;text-decoration:none;border:1px solid transparent;margin-bottom:2px;position:relative}
.nav:hover{background:var(--card)}
.nav.on{background:var(--card);border-color:var(--line2);font-weight:600}
.nav .soon{margin-left:auto;font-size:10.5px;color:var(--soft);border:1px solid var(--line);border-radius:99px;padding:0 7px}
.nav .busy{margin-left:auto;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.side .grow{flex:1}
.side hr{border:0;border-top:1px solid var(--line);margin:8px -8px 10px}
.tg{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--brand) 12%,transparent);border:1px solid color-mix(in srgb,var(--brand) 35%,transparent);border-radius:10px;padding:10px 12px;font-size:13px;margin-bottom:8px;text-decoration:none}
.tg .dot{width:20px;height:20px;border-radius:50%;background:#2aa3df;display:grid;place-items:center;flex:none}
.tg .arrow{margin-left:auto;color:var(--muted)}
.user{display:flex;align-items:center;gap:8px;padding:12px 8px 0;font-size:12.5px;color:var(--muted)}
.user span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.iconbtn{background:none;border:0;color:var(--muted);padding:6px;border-radius:8px;display:grid;place-items:center}
.iconbtn:hover{background:var(--card);color:var(--text)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{height:54px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 16px;position:sticky;top:env(safe-area-inset-top,0px);background:var(--panel);z-index:20}
.top .menu{display:none;margin-right:auto}
.credits{display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13px;color:var(--muted);text-decoration:none;font-variant-numeric:tabular-nums}
.credits b{color:var(--text)}
.credits svg{color:var(--accent)}
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:40}

.view{width:100%;max-width:1060px;margin:0 auto;padding:56px 24px 80px}
.eyebrow{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
h1{font-size:34px;line-height:1.25;margin:0 0 10px;letter-spacing:-.02em;text-wrap:balance;font-weight:600}
.sub{color:var(--muted);margin:0 0 34px}

/* buttons & controls */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;background:var(--btn);color:var(--btn-ink);font-weight:600;padding:11px 18px;text-decoration:none}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.big{width:100%;padding:15px;font-size:14.5px;border-radius:12px}
.btn.ghost{background:var(--card);color:var(--text);border:1px solid var(--line)}
.btn.danger{background:color-mix(in srgb,var(--bad) 18%,var(--card));color:var(--text);border:1px solid color-mix(in srgb,var(--bad) 45%,transparent)}
.link{background:none;border:0;color:var(--muted);display:inline-flex;align-items:center;gap:7px;padding:4px 0;font-size:13px}
.link:hover{color:var(--text)}
input[type=text],input[type=email],input[type=password],input[type=url],select,textarea{width:100%;background:var(--sunk);border:1px solid var(--line);border-radius:9px;padding:10px 12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--focus)}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.field label{font-size:13px;font-weight:600}
.hint{font-size:12px;color:var(--soft)}
.err{color:var(--bad);font-size:13px;min-height:1em}

/* recap layout */
.grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}
.drop{border:1px dashed var(--line2);border-radius:14px;background:var(--card);min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:24px;cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.drop.over{border-color:var(--muted);background:color-mix(in srgb,var(--card) 70%,var(--card2))}
.drop .up{width:52px;height:52px;border-radius:12px;border:1px solid var(--line2);display:grid;place-items:center;margin-bottom:14px;background:var(--bg)}
.drop .up svg{width:22px;height:22px}
.drop h3{margin:0;font-size:16px;font-weight:600}
.drop p{margin:0;color:var(--muted)}
.drop .fmt{font-size:11.5px;color:var(--soft);margin-top:12px;line-height:1.8}
.picked{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}
.picked img{width:140px;max-width:40%;aspect-ratio:16/9;object-fit:cover;border-radius:8px;background:#000}
.picked .meta{flex:1;min-width:0}
.picked .meta b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.picked .meta span{color:var(--muted);font-size:12.5px}
.linkrow{display:flex;gap:8px;margin-top:12px}
.linkrow input{flex:1}
.progress-inline{height:4px;border-radius:9px;background:var(--card2);overflow:hidden;margin-top:12px}
.progress-inline i{display:block;height:100%;background:var(--accent);width:0;transition:width .2s}

.panel{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.prow{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.prow:last-child{border-bottom:0}
.prow.col{flex-direction:column;align-items:stretch}
.prow .k{font-size:14px;flex:1}
.seg{display:inline-flex;background:var(--sunk);border-radius:9px;padding:3px;gap:2px}
.seg button{border:0;background:none;padding:6px 12px;border-radius:7px;color:var(--muted);font-size:12.5px;white-space:nowrap}
.seg button.on{background:var(--btn);color:var(--btn-ink);font-weight:600}
.chips{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.chips button{border:1px solid var(--line);background:none;border-radius:8px;padding:8px;font-size:13px}
.chips button.on{background:var(--btn);color:var(--btn-ink);border-color:var(--btn);font-weight:600}
.voice{display:flex;gap:6px;align-items:center}
.voice select{width:auto;padding:7px 10px;font-size:13px}
.play{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:none;display:grid;place-items:center;flex:none}
.play.on{border-color:var(--accent);color:var(--accent)}
.speedhead{display:flex;align-items:center;gap:8px}
.speedhead .val{background:var(--sunk);border-radius:6px;padding:2px 8px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}
input[type=range]{width:100%;accent-color:var(--text);margin:12px 0 2px}
.scale{display:flex;justify-content:space-between;font-size:11.5px;color:var(--soft);padding:0 2px}
.toggle{width:40px;height:22px;border-radius:99px;background:var(--line2);border:0;position:relative;flex:none}
.toggle::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--bg);transition:left .15s}
.toggle.on{background:var(--text)}
.toggle.on::after{left:21px}
.cta{margin-top:16px}

/* editor */
.stage{background:var(--sunk);border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;padding:14px;min-height:300px}
.frame{position:relative;background:#000;overflow:hidden;border-radius:6px;max-width:100%;max-height:62vh;width:100%;container-type:size}
.frame .bgimg{position:absolute;inset:-20px;background-size:cover;background-position:center;filter:blur(18px) brightness(.7)}
.vbox{position:absolute}
.vbox video{width:100%;height:100%;display:block;object-fit:fill}
.blur{position:absolute;border:2px dashed #fff;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:move;touch-action:none}
.blur .x{position:absolute;top:-10px;right:-10px;width:20px;height:20px;border-radius:50%;border:0;background:#fff;color:#000;font-size:12px;line-height:1;display:grid;place-items:center;padding:0}
.blur .h{position:absolute;right:-6px;bottom:-6px;width:14px;height:14px;background:#fff;border-radius:3px;cursor:nwse-resize}
.subprev{position:absolute;left:6%;right:6%;transform:translateY(-50%);text-align:center;cursor:ns-resize;font-family:"Noto Sans Myanmar",Padauk,var(--font);font-weight:700;line-height:1.5;touch-action:none;user-select:none}
.subprev span{padding:0 .25em;border-radius:3px}
.edgrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.swatches{display:flex;gap:8px}
.swatches button{width:26px;height:26px;border-radius:50%;border:2px solid var(--line2);padding:0}
.swatches button.on{border-color:var(--focus);box-shadow:0 0 0 2px var(--bg) inset}
.backrow{margin-bottom:18px}

/* processing / result */
.center{max-width:560px;margin:0 auto;text-align:center}
.ring{width:72px;height:72px;margin:10px auto 18px;border-radius:50%;border:4px solid var(--card2);border-top-color:var(--accent);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.ring{animation:none}}
.bar{height:8px;border-radius:9px;background:var(--card2);overflow:hidden;margin:18px 0 8px}
.bar i{display:block;height:100%;background:var(--accent);transition:width .6s}
.steps{list-style:none;padding:0;margin:22px auto 0;text-align:left;display:inline-flex;flex-direction:column;gap:6px;color:var(--soft);font-size:13.5px}
.steps li{display:flex;gap:10px;align-items:center}
.steps li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--line2)}
.steps li.done{color:var(--muted)}
.steps li.done::before{background:var(--ok)}
.steps li.now{color:var(--text);font-weight:600}
.steps li.now::before{background:var(--accent)}
.result video{width:100%;max-height:60vh;background:#000;border-radius:12px}
.result .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.note{display:flex;gap:10px;align-items:flex-start;background:color-mix(in srgb,var(--warn) 12%,var(--card));border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);border-radius:10px;padding:10px 14px;font-size:13px;margin-top:16px;text-align:left}
.note.bad{background:color-mix(in srgb,var(--bad) 12%,var(--card));border-color:color-mix(in srgb,var(--bad) 40%,transparent)}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;border-radius:99px;padding:2px 10px;background:var(--card2);color:var(--muted)}
.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.bad{color:var(--bad)}

/* plans */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.plan{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:6px}
.plan.best{border-color:var(--accent)}
.plan .name{font-weight:600;display:flex;justify-content:space-between;align-items:center}
.plan .cr{font-size:30px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.plan .cr small{font-size:13px;font-weight:400;color:var(--muted)}
.plan .price{color:var(--muted);margin-bottom:10px;font-variant-numeric:tabular-nums}
.rates{margin-top:24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rates div{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--muted)}
.rates b{display:block;color:var(--text);font-size:15px}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
th{color:var(--soft);font-weight:500;font-size:12px}
.tablewrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:4px 10px;margin-top:12px}
h2{font-size:17px;margin:36px 0 4px}

/* modal & drawer */
.modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.55)}
.dialog{background:var(--card);border:1px solid var(--line);border-radius:16px;width:100%;max-width:440px;max-height:90vh;overflow:auto;padding:22px}
.dialog h3{margin:0 0 4px;font-size:18px}
.dialog .x{float:right}
.payline{display:flex;align-items:center;gap:8px;background:var(--sunk);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:10px 0;font-variant-numeric:tabular-nums}
.payline b{flex:1;font-size:16px;letter-spacing:.02em}
.costrow{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.costrow:last-of-type{border-bottom:0}
.drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100%;background:var(--card);border-left:1px solid var(--line);z-index:60;display:flex;flex-direction:column}
.drawer header{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-weight:600}
.drawer header .iconbtn{margin-left:auto}
.drawer .list{overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px}
.hitem{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px}
.hitem img{width:72px;aspect-ratio:16/9;object-fit:cover;border-radius:6px;background:#000;flex:none}
.hitem .meta{flex:1;min-width:0;font-size:12.5px}
.hitem .meta b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.empty{color:var(--soft);text-align:center;padding:40px 10px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--btn);color:var(--btn-ink);padding:10px 16px;border-radius:10px;z-index:80;font-size:13.5px;max-width:calc(100% - 32px)}

/* auth */
.auth{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px}
.auth .logo{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:22px;color:var(--muted)}
.auth .card{width:100%;max-width:380px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px}
.auth h2{margin:0 0 6px;text-align:center;font-size:19px}
.gift{display:block;text-align:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);border-radius:99px;font-size:12px;padding:3px 10px;margin:0 auto 18px;width:fit-content}
.auth .alt{text-align:center;color:var(--muted);font-size:13px;margin-top:14px}
.auth .alt a{color:var(--text);font-weight:600}

@media (max-width:980px){
  .grid,.edgrid{grid-template-columns:1fr}
  .plans{grid-template-columns:1fr}
  .rates{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .side{position:fixed;left:0;top:0;z-index:50;transform:translateX(-100%);transition:transform .2s}
  .side.open{transform:none}
  .top .menu{display:grid}
  .view{padding:28px 16px 64px}
  h1{font-size:26px}
}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hthumb{width:72px;aspect-ratio:16/9;border-radius:6px;background:var(--sunk);display:grid;place-items:center;flex:none;color:var(--muted)}
.or{display:flex;align-items:center;gap:10px;color:var(--soft);font-size:12px;margin:14px 0}
.or::before,.or::after{content:"";flex:1;border-top:1px solid var(--line)}
#googleBtn{gap:10px}
.vpick{position:relative}
.vbtn{display:inline-flex;align-items:center;gap:6px;background:var(--sunk);border:1px solid var(--line);border-radius:9px;padding:7px 10px;font-size:13px}
.vbtn svg{width:14px;height:14px;color:var(--muted)}
.vpop{position:absolute;right:-44px;top:calc(100% + 6px);width:330px;max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--line2);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.35);z-index:30;padding:8px}
.vtabs{display:flex;width:100%;margin-bottom:6px}
.vtabs button{flex:1;padding:8px}
.vlist{max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.vrow{display:grid;grid-template-columns:auto auto minmax(0,1fr) 16px 30px;align-items:center;gap:8px;padding:8px 8px;border-radius:9px;cursor:pointer;font-size:13px}
.vrow:hover,.vrow:focus-visible{background:var(--card2)}
.vrow.on{background:var(--card2)}
.vrow .vname{color:var(--muted)}
.vrow .vdesc{color:var(--soft);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vrow .vcheck{color:var(--text)}
.play.sm{width:30px;height:30px;border:0}
.covers{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:16px}
.cover{margin:0;display:flex;flex-direction:column;gap:8px}
.cover img{width:100%;border-radius:10px;border:1px solid var(--line);background:#000}
