:root{
  --bg:#0a0908;
  --surface:#12110f;
  --surface-2:#191714;
  --surface-3:#201d19;
  --ink:#f4eee4;
  --muted:#a39e94;
  --dim:#6b6760;
  --amber:#e8a746;
  --amber-soft:#f5ca86;
  --green:#7fb069;
  --red:#e76f51;
  --line:rgba(244,238,228,.09);
  --line-strong:rgba(244,238,228,.18);
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Geist','Helvetica Neue',Arial,sans-serif;
  --mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{color-scheme:dark}
body{min-width:320px;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.hidden{display:none!important}
.app-shell{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:var(--surface);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:24px 0}
.brand,.mobile-brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.brand{padding:0 22px 26px;border-bottom:1px solid var(--line)}
.brand-mark{width:18px;height:18px;background:var(--amber);transform:rotate(45deg);position:relative;flex:0 0 auto}
.brand-mark::after{content:"";position:absolute;inset:4px;background:var(--surface)}
.sidebar nav{padding-top:18px}
.nav-label{padding:0 22px 9px;color:var(--dim);font:500 9px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.account-label{margin-top:22px}
.nav-link{min-height:42px;display:flex;align-items:center;gap:11px;padding:0 22px;border-left:2px solid transparent;color:var(--muted);font-size:13px;text-decoration:none;transition:.16s ease}
.nav-link:hover{background:var(--surface-2);color:var(--ink)}
.nav-link.active{background:linear-gradient(90deg,rgba(232,167,70,.11),transparent);border-left-color:var(--amber);color:var(--ink)}
.nav-glyph{color:var(--dim);font:400 9px/1 var(--mono)}
.nav-link.active .nav-glyph{color:var(--amber)}
.new-badge{margin-left:auto;border:1px solid rgba(232,167,70,.35);color:var(--amber);font:500 8px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:4px 5px}
.account-button{margin-top:auto;width:100%;padding:16px 22px 0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer}
.account-avatar{width:32px;height:32px;display:grid;place-items:center;background:var(--amber);color:var(--bg);font:500 11px/1 var(--mono)}
.account-button strong,.account-button small{display:block;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.account-button strong{font-size:12px;font-weight:500}.account-button small{margin-top:3px;color:var(--dim);font-size:10px}
main{min-width:0}
.topbar{height:66px;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:rgba(10,9,8,.88);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.mobile-brand{display:none}.crumb{color:var(--dim);font:400 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}.crumb span{margin:0 8px}.crumb strong{color:var(--ink);font-weight:500}
.top-actions{display:flex;align-items:center;gap:18px}.secure-pill{display:flex;align-items:center;gap:7px;color:var(--muted);font:400 10px/1 var(--mono)}.secure-pill span{width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 0 4px rgba(127,176,105,.1)}
.text-button{border:0;background:none;color:var(--muted);font:400 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.text-button:hover{color:var(--ink)}
.page{padding:34px 30px 48px;max-width:1600px;margin:0 auto}
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:28px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.eyebrow{color:var(--amber);font:500 9px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.page-heading h1{font:400 clamp(42px,4vw,64px)/.94 var(--serif);letter-spacing:-.035em}.page-heading h1 em{color:var(--amber);font-weight:400}.page-heading>div>p:last-child{max-width:590px;margin-top:14px;color:var(--muted);font-size:14px;line-height:1.6}
.time-summary{text-align:right}.time-summary span{display:block;font:400 29px/1 var(--serif);color:var(--amber-soft)}.time-summary small{display:block;margin-top:7px;color:var(--dim);font:400 9px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.notice{margin-bottom:18px;border:1px solid rgba(232,167,70,.3);background:rgba(232,167,70,.08);color:var(--amber-soft);padding:12px 14px;font-size:12px;line-height:1.5}
.studio-layout{display:grid;grid-template-columns:minmax(330px,.92fr) minmax(420px,1.2fr) minmax(270px,.72fr);gap:14px;align-items:start}
.panel{background:var(--surface);border:1px solid var(--line)}
.panel-heading{min-height:62px;padding:0 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.panel-heading>div{display:flex;align-items:center;gap:11px}.step{color:var(--amber);font:500 9px/1 var(--mono)}.panel-heading h2{font:400 20px/1 var(--serif)}.autosave,.stage-status{color:var(--dim);font:400 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.composer{padding-bottom:18px}.composer>.field-group,.composer>.generate-button,.composer>.disclosure{margin-left:18px;margin-right:18px}
.field-group{padding-top:19px}.field-group+.field-group{margin-top:18px;border-top:1px solid var(--line)}
.field-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.field-label-row label{font-size:12px;font-weight:500}.field-label-row span{color:var(--dim);font:400 9px/1 var(--mono)}
.presenter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.presenter-card{position:relative;aspect-ratio:4/5;border:1px solid var(--line-strong);background:var(--surface-2);overflow:hidden;cursor:pointer;padding:0;color:var(--ink)}.presenter-card:hover{border-color:var(--muted)}.presenter-card.selected{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}.presenter-card img{width:100%;height:100%;object-fit:cover;display:block}.presenter-card span{position:absolute;inset:auto 0 0;padding:18px 8px 7px;background:linear-gradient(transparent,rgba(10,9,8,.92));font-size:10px;text-align:left}.presenter-card i{position:absolute;top:7px;right:7px;width:15px;height:15px;border-radius:50%;display:none;place-items:center;background:var(--amber);color:var(--bg);font:500 9px/1 var(--mono);font-style:normal}.presenter-card.selected i{display:grid}
.upload-card{width:100%;margin-top:8px;padding:11px;border:1px dashed var(--line-strong);background:transparent;color:var(--ink);display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer}.upload-card:hover{border-color:var(--amber);background:rgba(232,167,70,.04)}.upload-plus{width:30px;height:30px;display:grid;place-items:center;background:var(--surface-2);color:var(--amber);font-size:20px}.upload-card strong,.upload-card small{display:block}.upload-card strong{font-size:11px;font-weight:500}.upload-card small{margin-top:3px;color:var(--dim);font-size:9px}
.consent-box{margin-top:8px;padding:13px;background:var(--surface-2);border:1px solid var(--line-strong)}.selected-file{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--line)}.selected-file img{width:42px;height:42px;object-fit:cover;background:var(--surface-3)}.selected-file strong,.selected-file small{display:block}.selected-file strong{font-size:11px}.selected-file small{color:var(--dim);font-size:9px;margin-top:3px}.consent-box fieldset{border:0;margin-top:12px}.consent-box legend{margin-bottom:7px;color:var(--muted);font-size:10px}.radio-row{display:flex;align-items:center;gap:7px;color:var(--ink);font-size:10px;margin:7px 0}.radio-row input,.consent-check input{accent-color:var(--amber)}.consent-check{display:flex;align-items:flex-start;gap:8px;margin-top:11px;color:var(--muted);font-size:9px;line-height:1.45}.consent-check input{margin-top:2px}.consent-actions{display:flex;gap:7px;margin-top:13px}.button{border:1px solid var(--line-strong);padding:9px 12px;font:500 9px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;cursor:pointer}.button.secondary{background:transparent;color:var(--muted)}.button.primary{flex:1;background:var(--amber);border-color:var(--amber);color:var(--bg)}.button:disabled{opacity:.45;cursor:not-allowed}
.selected-asset{margin-top:8px;padding:10px 11px;border:1px solid rgba(127,176,105,.25);background:rgba(127,176,105,.06);display:flex;gap:9px;align-items:center}.selected-asset>span{color:var(--green)}.selected-asset strong,.selected-asset small{display:block}.selected-asset strong{font-size:10px}.selected-asset small{color:var(--dim);font-size:8px;margin-top:2px}.selected-asset button{margin-left:auto;border:0;background:none;color:var(--amber);font:400 8px/1 var(--mono);text-transform:uppercase;cursor:pointer}
.input{width:100%;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);padding:11px 12px;font-size:12px;border-radius:0}.input:focus{border-color:var(--amber);outline:none;box-shadow:0 0 0 1px var(--amber)}.script-input{min-height:132px;resize:vertical;line-height:1.6}.script-meta{display:flex;align-items:center;gap:6px;margin-top:8px}.script-meta>span{margin-right:auto;color:var(--dim);font:400 9px/1 var(--mono)}.template-button{border:1px solid var(--line);background:transparent;color:var(--muted);padding:5px 7px;font-size:8px;cursor:pointer}.template-button:hover{color:var(--ink);border-color:var(--line-strong)}
.generate-button{width:calc(100% - 36px);margin-top:22px!important;border:0;background:var(--amber);color:var(--bg);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;text-align:left;cursor:pointer;transition:.15s ease}.generate-button:hover{background:var(--ink)}.generate-button:active{transform:translateY(1px)}.generate-button:disabled{opacity:.45;cursor:not-allowed}.generate-button strong,.generate-button small{display:block}.generate-button strong{font-size:12px;font-weight:600}.generate-button small{margin-top:3px;font-size:9px;opacity:.68}.generate-arrow{font-size:20px}.disclosure{margin-top:11px;color:var(--dim);font-size:8px;line-height:1.55}
.stage{position:sticky;top:80px}.video-frame{position:relative;aspect-ratio:4/5;max-height:680px;min-height:470px;background:linear-gradient(145deg,#171410,#0b0a09);overflow:hidden;display:grid;place-items:center}.video-frame::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,rgba(232,167,70,.12),transparent 38%),linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:auto,44px 44px,44px 44px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 85%)}.corner{position:absolute;width:24px;height:24px;border-color:var(--amber);z-index:3}.top-left{left:14px;top:14px;border-left:1px solid;border-top:1px solid}.top-right{right:14px;top:14px;border-right:1px solid;border-top:1px solid}.bottom-left{left:14px;bottom:14px;border-left:1px solid;border-bottom:1px solid}.bottom-right{right:14px;bottom:14px;border-right:1px solid;border-bottom:1px solid}
.idle-state,.render-state{position:relative;z-index:2;text-align:center;padding:28px}.idle-orbit{width:92px;height:92px;border:1px solid var(--line-strong);border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;position:relative}.idle-orbit::before,.idle-orbit::after{content:"";position:absolute;border:1px solid var(--line);border-radius:50%}.idle-orbit::before{inset:9px}.idle-orbit::after{inset:19px}.idle-orbit span{width:22px;height:22px;background:var(--amber);transform:rotate(45deg);box-shadow:0 0 35px rgba(232,167,70,.35)}.idle-state p{font:400 20px/1.2 var(--serif)}.idle-state small{display:block;margin-top:8px;color:var(--dim);font:400 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}
.render-avatar{width:76px;height:76px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:var(--amber);color:var(--bg);font:500 20px/1 var(--mono);box-shadow:0 0 0 12px rgba(232,167,70,.06)}.render-state strong,.render-state small{display:block}.render-state strong{font:400 18px/1.2 var(--serif)}.render-state small{margin-top:8px;color:var(--dim);font-size:9px}.waveform{height:32px;display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:20px}.waveform i{width:3px;height:8px;background:var(--amber);animation:wave 1.1s ease-in-out infinite}.waveform i:nth-child(2),.waveform i:nth-child(8){animation-delay:.1s}.waveform i:nth-child(3),.waveform i:nth-child(7){animation-delay:.2s}.waveform i:nth-child(4),.waveform i:nth-child(6){animation-delay:.3s}.waveform i:nth-child(5){animation-delay:.4s}@keyframes wave{0%,100%{height:7px;opacity:.4}50%{height:30px;opacity:1}}
#resultVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000;z-index:2}.stage-footer{min-height:71px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}.status-copy{display:flex;align-items:center;gap:10px;min-width:0}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--green);flex:0 0 auto}.status-dot.busy{background:var(--amber);animation:pulse 1.2s ease infinite}.status-dot.error{background:var(--red)}@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(232,167,70,0)}}.status-copy strong,.status-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-copy strong{font-size:10px}.status-copy small{max-width:280px;margin-top:3px;color:var(--dim);font-size:8px}.download-button{flex:0 0 auto;background:var(--ink);color:var(--bg);padding:9px 10px;text-decoration:none;font:500 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.04em}
.activity{min-height:520px}.usage-card{padding:17px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(232,167,70,.07),transparent)}.usage-ring{width:54px;height:54px;border-radius:50%;background:conic-gradient(var(--amber) 0deg,var(--surface-3) 0);display:grid;place-items:center;position:relative;flex:0 0 auto}.usage-ring::before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--surface)}.usage-ring span{position:relative;z-index:1;font:500 9px/1 var(--mono)}.usage-card p{color:var(--dim);font:400 8px/1 var(--mono);text-transform:uppercase;letter-spacing:.05em}.usage-card strong,.usage-card small{display:block}.usage-card strong{margin-top:6px;font:400 17px/1 var(--serif)}.usage-card small{margin-top:5px;color:var(--dim);font-size:8px}.activity-heading{min-height:56px}.refresh-button{border:0;background:none;color:var(--dim);font-size:18px;cursor:pointer}.refresh-button:hover{color:var(--amber)}
.history-list{max-height:640px;overflow:auto}.history-empty{padding:28px 18px;color:var(--dim);font-size:10px;line-height:1.5}.history-item{width:100%;padding:13px 15px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.history-item:hover{background:var(--surface-2)}.history-top{display:flex;align-items:center;gap:8px}.history-title{min-width:0;flex:1;font-size:10px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-state{font:500 7px/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--dim)}.history-state.complete{color:var(--green)}.history-state.processing,.history-state.submitted,.history-state.reserved{color:var(--amber)}.history-state.failed,.history-state.rejected{color:var(--red)}.history-script{margin-top:6px;color:var(--muted);font-size:9px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.history-meta{display:flex;justify-content:space-between;margin-top:8px;color:var(--dim);font:400 7px/1 var(--mono)}
.toast-region{position:fixed;right:18px;bottom:18px;z-index:50;display:grid;gap:8px}.toast{max-width:340px;padding:11px 13px;border:1px solid var(--line-strong);background:var(--surface-3);box-shadow:0 12px 35px rgba(0,0,0,.35);font-size:10px;line-height:1.45}.toast.error{border-color:rgba(231,111,81,.45);color:#ffb6a3}.toast.success{border-color:rgba(127,176,105,.4);color:#baddaa}
@media(max-width:1250px){.studio-layout{grid-template-columns:minmax(330px,.9fr) minmax(420px,1.1fr)}.activity{grid-column:1/-1;min-height:0}.history-list{display:grid;grid-template-columns:repeat(3,1fr);max-height:none}.history-item{border-right:1px solid var(--line)}.usage-card{display:none}}
@media(max-width:900px){.app-shell{grid-template-columns:66px minmax(0,1fr)}.brand{justify-content:center;padding-left:0;padding-right:0}.brand>span:last-child,.nav-link>span:not(.nav-glyph):not(.new-badge),.nav-label,.account-button>span:last-child{display:none}.nav-link{justify-content:center;padding:0}.new-badge{display:none}.account-button{justify-content:center;padding-left:0;padding-right:0}.page{padding-left:20px;padding-right:20px}.topbar{padding:0 20px}}
@media(max-width:760px){.app-shell{display:block}.sidebar{display:none}.topbar{height:58px}.mobile-brand{display:flex}.crumb,.secure-pill{display:none}.page{padding:24px 14px 40px}.page-heading{align-items:flex-start}.page-heading h1{font-size:44px}.time-summary{display:none}.studio-layout{grid-template-columns:1fr}.stage{position:relative;top:auto;grid-row:1}.video-frame{min-height:430px}.composer{grid-row:2}.activity{grid-row:3}.history-list{grid-template-columns:1fr}.history-item{border-right:0}.presenter-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:440px){.page-heading h1{font-size:38px}.page-heading>div>p:last-child{font-size:12px}.panel-heading{padding:0 14px}.composer>.field-group,.composer>.generate-button,.composer>.disclosure{margin-left:14px;margin-right:14px}.generate-button{width:calc(100% - 28px)}.script-meta{flex-wrap:wrap}.script-meta>span{width:100%;margin-bottom:3px}.video-frame{min-height:390px}.status-copy small{max-width:205px}.download-button{padding:8px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
