:root{--bg:#f2f3f7;--surface:#ffffff;--sunk:#e9ebf2;--ink:#15172a;--muted:#5c6079;--line:#dfe2ec;--accent:#d92b63;--accent-soft:#fbe3eb;--accent-ink:#ffffff;--ok:#1b8656;--ok-soft:#ddf3e8;--bad:#c2312f;--bad-soft:#fbe1e0;--warn:#a86a10;--warn-soft:#fbefd6;--f-body:"Plus Jakarta Sans","Segoe UI",system-ui,-apple-system,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace}@media (prefers-color-scheme:dark){:root{--bg:#0d0e17;--surface:#161828;--sunk:#1e2134;--ink:#ecedf6;--muted:#9a9eb8;--line:#2a2d44;--accent:#ff5c8d;--accent-soft:#3b1525;--accent-ink:#1a0610;--ok:#43c98e;--ok-soft:#123326;--bad:#f27471;--bad-soft:#3d1716;--warn:#e8ae45;--warn-soft:#3a2a0e;color-scheme:dark}}*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 var(--f-body);padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}.auth-wrap,.main,.wrap{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.wrap{max-width:560px;margin:0 auto;padding-block:48px;display:grid;grid-gap:20px;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.06em;font-size:1.1rem}.mark{width:30px;height:30px;border-radius:8px;background:var(--ink);display:grid;place-items:center}h1{margin:0;font-size:1.6rem;text-wrap:balance}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}.row{justify-content:space-between;gap:12px;padding:14px 16px;border-top:1px solid var(--line)}.row:first-child{border-top:0}.pill{font-size:.75rem}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.mono{font-family:var(--f-mono);font-size:.82rem}a{color:var(--accent)}h2{margin:0;font-size:1.05rem}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.center{text-align:center}.small{font-size:.8rem}.stack{display:grid;grid-gap:8px;gap:8px}.eyebrow{margin:0 0 4px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--surface);padding:10px 16px;border-radius:9px;font-weight:600;cursor:pointer;text-decoration:none;color:var(--ink)}.btn:hover{border-color:var(--muted)}.btn.pri{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn:disabled{opacity:.5;cursor:not-allowed}.pill{display:inline-block;font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:99px;background:var(--sunk);color:var(--muted)}.pill.acc{background:var(--accent-soft);color:var(--accent)}.alert{margin:0;padding:10px 12px;border-radius:9px;font-size:.88rem}.alert.bad{background:var(--bad-soft);color:var(--bad)}.alert.ok{background:var(--ok-soft);color:var(--ok)}.form{display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:6px;gap:6px}.field>span{font-size:.82rem;font-weight:600;color:var(--muted)}.in{width:100%;border:1px solid var(--line);background:var(--bg);border-radius:9px;padding:10px 12px}.in[aria-invalid=true]{border-color:var(--bad)}.in[readonly]{color:var(--muted)}.field-err{color:var(--bad);font-size:.8rem}.link-sm{font-size:.84rem;font-weight:600;justify-self:start}.auth-wrap{min-height:100%;display:grid;place-items:center;padding-block:32px}.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px;display:grid;grid-gap:18px;gap:18px}.auth-card h1{font-size:1.45rem}.shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100%}.rail{background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:16px;position:-webkit-sticky;position:sticky;top:0;height:100vh}.ws-card{display:grid;grid-gap:2px;gap:2px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.ws-card small{font-size:.76rem}.ws-select{padding:8px 10px;font-size:.86rem}.nav{display:grid;grid-gap:2px;gap:2px}.nav-link{display:block;padding:9px 10px;border-radius:8px;color:var(--muted);font-weight:600;text-decoration:none;border:0;background:none;text-align:left;cursor:pointer;white-space:nowrap}.nav-link:hover{background:var(--sunk);color:var(--ink)}.main{min-width:0;padding-block:28px 48px}.page{max-width:960px;margin:0 auto;display:grid;grid-gap:20px;gap:20px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:14px;gap:14px}.card.pad{padding:18px;display:grid;grid-gap:8px;gap:8px;align-content:start;justify-items:start}.card.pad.invite{justify-items:stretch}.invite-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.invite-row .grow{flex:1 1 220px}.tbl-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 14px;white-space:nowrap}td,th{border-bottom:1px solid var(--line)}td{padding:12px 14px}tr:last-child td{border-bottom:0}@media (max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}.rail{position:static;height:auto;border-right:0;border-bottom:1px solid var(--line)}.nav{grid-auto-flow:column;justify-content:start;overflow-x:auto}}.btn.sm{padding:6px 10px;font-size:.82rem}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn.sm.danger{background:var(--bad);color:var(--surface)}.linkish{border:0;background:none;color:var(--accent);cursor:pointer;padding:0;text-align:left}.otp{font-family:var(--f-mono);font-size:1.3rem;letter-spacing:.35em;text-align:center}.role-select{width:auto;padding:6px 8px;font-size:.86rem}.actions{text-align:right;white-space:nowrap}.confirm{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}tr.pending td{background:var(--bg)}.nowrap{white-space:nowrap}.pad{padding:18px;margin:0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.stack-lg{gap:14px}.card.pad.stack-lg{justify-items:stretch}.card.pad.stack-lg>.pill{justify-self:start}.ok-pill{background:var(--ok-soft);color:var(--ok)}.steps{margin:0;padding-left:20px;display:grid;grid-gap:4px;gap:4px}.qr-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.qr{border-radius:10px;background:#ffffff;padding:6px;max-width:100%}.secret{padding:8px 10px;border-radius:8px;word-break:break-all}.codes,.secret{background:var(--sunk)}.codes{list-style:none;margin:0;padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 18px;gap:8px 18px}.banner,.codes{border-radius:10px}.banner{max-width:960px;margin:0 auto 18px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:12px 14px;background:var(--accent-soft);color:var(--ink);font-size:.9rem}.page.narrow{max-width:760px}.alert.warn,.warn-pill{background:var(--warn-soft);color:var(--warn)}.ok-text{color:var(--ok);font-size:.8rem}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.grow{flex:1 1 auto;min-width:0}.tabs-inline{display:flex;gap:4px;background:var(--sunk);padding:4px;border-radius:10px}.tabs-inline a{padding:6px 14px;border-radius:7px;color:var(--muted);font-weight:600;text-decoration:none}.tabs-inline a[aria-current=page]{background:var(--surface);color:var(--ink)}.search{flex:0 1 280px}.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.product-card{text-decoration:none;color:var(--ink);justify-items:stretch}.product-card:hover{border-color:var(--muted)}.product-card>.pill{justify-self:start}.price{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.price b{font-size:1.1rem}.empty{justify-items:start}.product-form{display:grid;grid-gap:16px;gap:16px}fieldset.card.pad{margin:0;min-width:0;justify-items:stretch}fieldset.card legend{float:left;width:100%;padding:0;margin-bottom:4px;font-weight:700;font-size:1rem}fieldset.card legend+*{clear:both}fieldset[disabled] .in{color:var(--ink);opacity:1}textarea.in{resize:vertical;line-height:1.5;font:inherit}.list-items{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.list-items li{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;background:var(--sunk);border-radius:8px}.list-items .x{border:0;background:none;color:var(--muted);font-size:1.1rem;cursor:pointer;line-height:1}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px dashed var(--line);background:var(--surface);border-radius:99px;padding:5px 12px;font-size:.82rem;cursor:pointer;color:var(--muted)}.chip:hover{border-color:var(--accent);color:var(--accent)}.save-bar{position:-webkit-sticky;position:sticky;bottom:0;display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:12px 0 calc(12px + env(safe-area-inset-bottom, 0px));background:var(--bg)}.save-bar .alert{flex:1 1 240px}@media (max-width:760px){.grid2{grid-template-columns:minmax(0,1fr)}.search{flex-basis:100%}}.warn-text{color:var(--warn);font-size:.8rem}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg-btn{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:7px 14px;font-weight:600;font-size:.86rem;cursor:pointer;color:var(--ink)}.seg-btn[aria-checked=true],.seg-btn[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--bg)}.uploader{display:grid;grid-gap:14px;gap:14px}.dropzone{display:grid;justify-items:center;grid-gap:6px;gap:6px;text-align:center;padding:28px 18px;border:2px dashed var(--line);border-radius:14px;background:var(--surface);cursor:pointer;color:var(--accent);transition:border-color .15s,background .15s}.dropzone b{color:var(--ink)}.dropzone.over,.dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.dropzone:focus-within{outline:2px solid var(--accent);outline-offset:2px}.asset-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:12px;gap:12px}.asset{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}.asset.failed,.asset.refused,.asset.rejected{border-color:var(--bad)}.thumb{aspect-ratio:9/16;max-height:260px;width:100%;background:var(--sunk);display:grid;place-items:center;overflow:hidden}.thumb img,.thumb video{width:100%;height:100%;object-fit:cover;background:#000000}.thumb-btn{position:relative;border:0;padding:0;background:none;cursor:pointer;width:100%;height:100%}.thumb-btn video{pointer-events:none}.play-badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.55);color:#ffffff;font-size:1rem}.thumb-empty{font-size:1.6rem;color:var(--muted)}.asset .meta{padding:10px;display:grid;grid-gap:6px;gap:6px;align-content:start;justify-items:start;min-width:0}.asset .meta b{font-size:.84rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar{width:100%;height:6px;border-radius:6px;background:var(--sunk);overflow:hidden}.bar i{display:block;height:100%;background:var(--accent);transition:width .2s}.top-align{align-items:flex-start}.product-form-inline{justify-items:stretch;gap:14px}h3{margin:0;font-size:.98rem}.script-panel{display:grid;grid-gap:14px;gap:14px}.bad-pill{background:var(--bad-soft);color:var(--bad)}.row.end{justify-content:flex-end}.hooks{display:grid;grid-gap:8px;gap:8px}.hook{display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:11px 13px;color:var(--ink);font-weight:600}.hook[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.hook .pill{flex:none}.voice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:8px;gap:8px}.voice-card{display:flex;justify-content:space-between;gap:8px;align-items:center;text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:9px 10px;color:var(--ink)}.voice-card[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.voice-card small{display:block;color:var(--muted);font-size:.74rem}.sample-btn{flex:none;width:28px;height:28px;border-radius:50%;border:0;background:var(--ink);color:var(--bg);cursor:pointer;font-size:.7rem}.voice-player{width:100%}.cues{grid-gap:6px;gap:6px;max-height:340px;overflow-y:auto}.cue,.cues{display:grid}.cue{grid-template-columns:84px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:center}.cue .in{padding:6px 8px}.kw-chip{display:inline-flex;gap:6px;align-items:center;border-radius:99px;padding:5px 10px;background:var(--accent-soft);color:var(--ink);font-size:.84rem;font-weight:600}.kw-chip button{border:0;background:none;cursor:pointer;color:var(--muted);padding:0;font-size:1rem;line-height:1}.scene-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.scene-row b{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.scene-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.scene-tools .in{width:auto;padding:5px 7px;font-size:.82rem}.scene-tools input.in{width:68px}.icon-btn{width:28px;height:28px;border:1px solid var(--line);border-radius:7px;background:var(--surface);cursor:pointer;color:var(--ink)}.icon-btn:disabled{opacity:.35;cursor:default}.overlay-opt{display:flex;gap:10px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.overlay-opt small{display:block;color:var(--muted)}.overlay-opt.off{opacity:.55}.overlays{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:8px;gap:8px}.render-video{width:min(100%,300px);aspect-ratio:9/16;background:#000000;border-radius:12px;display:block;margin:0 auto}.confirm-box{display:grid;grid-gap:8px;gap:8px;padding:12px;border:1px solid var(--accent);background:var(--accent-soft);border-radius:10px}.credit-balance{font-size:2.2rem;font-weight:800}.num{text-align:right;font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.plus{color:var(--ok)}