/* ==========================================================================
   Persona Commerce · Premium layer (workspace pages)
   Loaded last on create / poster / reverse / assets / account / login / admin.
   Styling only: no rule here changes layout logic or the rendered poster art.
   ========================================================================== */
@font-face{font-family:PremiumSerif;src:url(assets/premium-serif-sc.woff2) format('woff2');font-weight:200 900;font-display:swap}
@font-face{font-family:PremiumSerifFull;src:url(assets/notoserifsc-poster.woff2) format('woff2');font-weight:200 900;font-display:swap}

:root{
  --bg:#F4F1EB;--paper:#F4F1EB;--surface:#FBFAF7;--ink:#1A1815;--muted:#6B665E;--line:#E2DCD1;
  --accent:#1A1815;--accent-soft:#EFE9DE;--blue:#1A1815;--blue-light:#EFE9DE;--error:#A5322A;
  --gold:#B08D57;--gold-soft:#E9DFCC;--radius:20px;
  --serif:"PremiumSerif","PremiumSerifFull","Noto Serif SC","Songti SC","STSong",serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
body.studio-light{background:var(--bg);color:var(--ink);letter-spacing:.01em}
.studio-light ::selection{background:var(--gold-soft);color:var(--ink)}
.studio-light :focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* ---------- header & rail ---------- */
:is(.studio-light,.studio-light>.app)>header{background:rgba(244,241,235,.86);backdrop-filter:saturate(1.4) blur(16px);border-bottom:1px solid var(--line);height:76px}
.studio-light header .workspace-brand,.studio-light header .wordmark,.studio-light header .brand{font-family:var(--serif)!important;font-weight:600!important;letter-spacing:-.01em!important}
.studio-light header .workspace-brand i{color:var(--gold)}
.studio-light header .workspace-brand span{letter-spacing:.2em;font-size:11px}
.studio-light header .login,.studio-light .nav-login{background:var(--ink);border-color:var(--ink);color:#F7F3EC;font-weight:500;letter-spacing:.06em}
.studio-light .studio-rail{background:rgba(251,250,247,.7);border-bottom:1px solid var(--line);padding-top:6px;padding-bottom:0}
.studio-rail a{border-radius:0!important;background:transparent!important;color:var(--muted);letter-spacing:.06em;border-bottom:1.5px solid transparent;padding-bottom:12px!important;transition:color .25s,border-color .25s}
.studio-rail a:hover{color:var(--ink)}
.studio-rail a[aria-current=page]{background:transparent!important;color:var(--ink)!important;font-weight:600;border-bottom-color:var(--ink)}
.studio-rail a[aria-current=page] svg{color:var(--gold)}
.studio-light .preview-environment-note{background:transparent;color:var(--muted);border-bottom:1px solid var(--line);letter-spacing:.06em}
.studio-light .preview-environment-note a{color:var(--ink)}

/* ---------- headings ---------- */
.studio-light :is(.heading h1,.hero h1,.reverse-hero h1,.account-top h1,.assets-heading h1){font-family:var(--serif)!important;font-weight:600!important;font-size:clamp(32px,3.4vw,48px)!important;line-height:1.25!important;letter-spacing:-.015em!important}
.studio-light :is(h2,h3){font-family:var(--serif);font-weight:600;letter-spacing:-.005em}
.studio-light .eyebrow,.studio-light .heading .eyebrow,.studio-light .hero .eyebrow{color:var(--muted);font-weight:500;letter-spacing:.24em;display:inline-flex;align-items:center;gap:10px;text-transform:uppercase}
.studio-light .eyebrow::before{content:"";width:28px;height:1px;background:var(--gold)}
.studio-light .intro .eyebrow{background:transparent;transform:none;padding:0}
.studio-light :is(.heading,.hero,.reverse-hero)>p{color:var(--muted);letter-spacing:.02em}

/* ---------- surfaces ---------- */
.studio-light :is(.panel,.box,.reverse-panel,.reverse-result,.auth-card,.reverse-empty-state){background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 30px 60px -50px rgba(20,18,15,.35)}
.studio-light .panel-head{border-bottom-color:var(--line)}
.studio-light .panel-head h2,.studio-light .reverse-step h2{font-family:var(--serif);font-weight:600;font-size:20px}
.studio-light :is(.step,.step-number,.reverse-step>span){background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--gold);font-family:var(--serif);font-weight:600}

/* ---------- form ---------- */
.studio-light :is(.field-label,.section-label){letter-spacing:.06em}
.studio-light :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]):not([type=color]),textarea:not(.canvas-inline-editor),select){background:#fff;border:1px solid var(--line);border-radius:12px;transition:border-color .2s,box-shadow .2s}
.studio-light :is(input,textarea,select):focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(176,141,87,.14);outline:none}
.studio-light :is(input,textarea)::placeholder{color:#A39D93}
.studio-light :is(input[type=checkbox],input[type=radio],input[type=range]){accent-color:var(--ink)}
.studio-light :is(.upload,.reverse-upload){background:repeating-linear-gradient(135deg,rgba(26,24,21,.018) 0 10px,transparent 10px 20px),#FDFCF9;border:1px dashed #CFC6B7;border-radius:16px}
.studio-light :is(.upload,.reverse-upload):hover,.studio-light :is(.upload,.reverse-upload):focus-within{border-color:var(--ink);background:#fff}
.studio-light :is(.upload-symbol,.upload-icon){background:transparent!important;border:1px solid var(--line);border-radius:50%!important;color:var(--gold)!important}
.studio-light details{border-color:var(--line)}
.studio-light .default-settings{border-left:2px solid var(--gold);background:#F7F3EC}
.studio-light :is(.tag,.pill){background:var(--accent-soft);color:var(--ink)}
.studio-light .text-button{color:var(--ink);text-decoration-color:var(--gold)}

/* ---------- buttons ---------- */
.studio-light :is(.primary,.generate,.reverse-submit,.button.primary){background:var(--ink);border-color:var(--ink);color:#F7F3EC;font-weight:600;letter-spacing:.1em;min-height:52px;box-shadow:0 14px 30px -20px rgba(20,18,15,.75);transition:background .3s,transform .3s var(--ease),box-shadow .3s}
.studio-light :is(.primary,.generate,.reverse-submit,.button.primary):hover:not(:disabled){background:#000;border-color:#000;transform:translateY(-1px);box-shadow:0 20px 38px -22px rgba(20,18,15,.85)}
.studio-light :is(.secondary,.pager button,.merge-button){background:transparent;border:1px solid rgba(26,24,21,.24);color:var(--ink);letter-spacing:.04em}
.studio-light :is(.secondary,.pager button,.merge-button):hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:#F7F3EC}
.studio-light button:disabled{opacity:.45}

/* ---------- selectors / choice cards ---------- */
.studio-light .creation-paths{background:var(--accent-soft)}
.studio-light .creation-paths button[aria-pressed=true]{color:var(--ink);background:#fff;box-shadow:0 6px 16px -10px rgba(20,18,15,.35)}
.studio-light .template-categories button[aria-pressed=true]{background:var(--ink);color:#F7F3EC;border-color:var(--ink)}
.studio-light .ad-template-card:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.page-poster .poster-types span{background:#fff;border:1px solid var(--line);letter-spacing:.06em;transition:border-color .2s,background .2s}
.page-poster .poster-types input:checked+span{background:var(--ink);color:#F7F3EC;border-color:var(--ink)}
.page-poster .style-card{background:#fff;border:1px solid var(--line);transition:border-color .25s,transform .35s var(--ease),box-shadow .35s}
.page-poster .style-card:hover{transform:translateY(-2px);box-shadow:0 18px 30px -24px rgba(20,18,15,.45)}
.page-poster .style-card.selected,.page-poster .style-card:has(input:checked){background:#fff;border:1px solid var(--ink);box-shadow:inset 0 0 0 1px var(--ink),0 18px 30px -24px rgba(20,18,15,.45)}
.page-poster .style-card strong{font-family:var(--serif);font-weight:600}
.page-poster .result-empty h3{font-family:var(--serif)}
.poster-concept img{border-radius:14px;box-shadow:0 40px 60px -40px rgba(20,18,15,.6)}
.page-poster .layer-row.selected{background:var(--accent-soft);border-color:var(--ink)}

/* ---------- progress ---------- */
.studio-light :is(.progress,.video-progress-panel){background:#F7F3EC;border-color:var(--line)}
.studio-light .progress-track{background:#E8E1D4}
.studio-light .progress-track>span{background:linear-gradient(90deg,var(--ink),var(--gold))}
.studio-light .progress-steps li.is-active{color:var(--ink);font-weight:600}
.studio-light .progress-steps li.is-active::before{background:var(--gold)}
.studio-light .progress.is-done .progress-icon{color:var(--gold)}

/* ---------- dialogs, toast, footer ---------- */
.studio-light dialog{background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 60px 120px -40px rgba(20,18,15,.6)}
.studio-light dialog::backdrop{background:rgba(20,18,15,.45);backdrop-filter:blur(6px)}
.studio-light #toast{background:var(--ink);color:#F7F3EC;border-radius:999px}
.studio-light footer,.studio-light>footer{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.04em}

/* ---------- account / assets ---------- */
.page-account .balance-card{background:radial-gradient(120% 140% at 100% 0%,rgba(176,141,87,.28),transparent 55%),#14120F!important;color:#F4EEE3!important;border:0!important;border-radius:24px!important}
.page-account .balance-card p{color:rgba(233,226,213,.72)!important}
.page-account .balance-card .balance span{font-family:var(--serif);font-weight:500}
.page-account .balance-card .primary{background:#F4EEE3;color:var(--ink);border-color:#F4EEE3}
.page-account .balance-card .primary:hover:not(:disabled){background:var(--gold);border-color:var(--gold);color:#fff}
.page-account .rate strong{font-family:var(--serif)}
.page-assets .asset-filters button{border:1px solid var(--line);background:transparent;border-radius:999px;letter-spacing:.06em}
.page-assets .asset-filters button[aria-pressed=true]{background:var(--ink);color:#F7F3EC;border-color:var(--ink)}
.page-login .auth-card{box-shadow:0 60px 100px -60px rgba(20,18,15,.5)}
.studio-light .progress,.studio-light .progress.is-idle{background:#F7F3EC;border-color:var(--line);box-shadow:none}
.studio-light .progress.is-error{background:#FBF1EE;border-color:#E9CFC8}
.studio-light .progress-icon{background:#fff;color:var(--gold);border:1px solid var(--line);border-radius:50%}
.studio-light .spinner{border-top-color:var(--gold)}
.page-account .balance-card .balance,.page-account .balance-card .balance span{color:#F4EEE3!important}
.page-account .balance-card .balance small{color:rgba(233,226,213,.6)!important}
.studio-light .rate{background:#F7F3EC!important;border-color:var(--line)!important}
.studio-light table th{background:#F7F3EC!important;color:var(--muted);font-weight:500;letter-spacing:.08em}
.studio-light table td{border-color:var(--line)!important}
