.studioShell{width:min(1400px,calc(100% - 64px));margin:auto}.studioHeading{display:flex;justify-content:space-between;align-items:center;padding:42px 0 30px;gap:24px}.studioHeading h1{font:clamp(30px,3.4vw,47px)/1.1 var(--serif);letter-spacing:-.035em;margin-bottom:12px}.edition{font-size:10px;letter-spacing:.18em;color:var(--muted);white-space:nowrap}.badge{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.badge:before{content:'';width:6px;height:6px;border-radius:50%;background:#a2a89b}.badge[data-state=ready]:before{background:#54745d}.badge[data-state=offline]:before{background:#aa654b}.studioGrid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:stretch}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.setupPanel{padding:24px}.dropzone{position:relative;margin-top:16px;border:1px dashed #b8b9aa;min-height:200px;border-radius:8px;display:grid;place-items:center;background:#f5f4ef;cursor:pointer;overflow:hidden;transition:background .2s,border-color .2s}.dropzone:hover,.dropzone.drag{background:#ebe9de;border-color:var(--accent)}.dropzone:focus-within{outline:3px solid var(--accent);outline-offset:3px}.dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}.dropzone>img{height:200px;width:100%;object-fit:contain;padding:12px}.dropzone>span{text-align:center;padding:20px;pointer-events:none}.uploadIcon{width:32px;height:32px;margin:0 auto 18px;color:var(--accent)}.dropzone strong{display:block;font-size:14px;font-weight:600}.dropzone span span{display:block;font-size:12px;color:var(--muted);margin-top:6px}.dropzone small{display:block;font-size:10px;color:var(--muted);margin-top:18px}.setupPanel>.hint{margin-top:12px}.fileDetails{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:6px;font-size:11px}.fileDetails>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}.modelSection{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.modelSection>.hint{margin-top:7px}.genderGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.choice{position:relative;cursor:pointer}.choice input{position:absolute;opacity:0}.choice>span{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:6px;padding:13px 12px}.choice b{font-size:13px;font-weight:500}.choice i{height:13px;width:13px;border:1px solid #b5b8ad;border-radius:50%;flex-shrink:0}.choice input:checked+span{border-color:var(--accent);background:#f3eee3}.choice input:checked+span i{border:4px solid var(--accent)}.choice input:focus-visible+span{outline:3px solid var(--accent);outline-offset:3px}.identityNote{display:flex;align-items:start;gap:10px;margin-top:22px;color:var(--muted);font-size:11px;line-height:1.7}.identityNote>span{color:var(--accent);font-size:23px;line-height:1}.panelHead{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.previewStage{background:var(--dark);border-radius:var(--radius);padding:28px;color:#f4f1e7;min-width:0;display:flex;flex-direction:column}.previewStage .eyebrow{color:var(--gold);margin-bottom:10px}.previewStage h2{font:clamp(23px,2.5vw,32px)/1.2 var(--serif)}.selectedStyleName{font-size:11px;padding:7px 11px;border:1px solid #4b5554;border-radius:4px;color:#d4d8ce;max-width:230px}.exampleGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;flex:1;align-content:center}.exampleGrid figure{min-width:0}.previewButton{position:relative;width:100%;border:1px solid #49514d;border-radius:5px;background:#101a1d;padding:0;overflow:hidden;display:block}.previewButton img{aspect-ratio:2/3;width:100%;object-fit:contain;transition:opacity .2s}.previewButton:hover img{opacity:.85}.zoomMark{position:absolute;right:8px;top:8px;width:25px;height:25px;display:grid;place-items:center;background:#1b262bbf;color:#fff;border-radius:50%;font-size:15px}.exampleGrid figcaption{display:flex;gap:9px;padding-top:14px}.exampleGrid figcaption>span{font-size:10px;color:var(--gold);padding-top:3px}.exampleGrid b{display:block;font-size:12px;font-weight:500}.exampleGrid small{display:block;font-size:10px;line-height:1.5;color:#b0b9b7;margin-top:3px}.previewFooter{display:flex;align-items:start;justify-content:space-between;gap:24px;border-top:1px solid #46504c;margin-top:24px;padding-top:16px;font-size:11px;color:#b5bfbb}.previewFooter p{max-width:490px}.previewFooter>span{white-space:nowrap}.autoNotice{font-size:11px;color:var(--gold);margin-top:10px}.stylesPanel,.checkoutPanel{grid-column:1/-1}.stylesPanel .hint{margin-top:7px}.quietMeta{color:var(--muted);font-size:11px}.campaignGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.campaignCard{position:relative;padding:0;text-align:left;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:7px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.campaignCard:hover{border-color:var(--accent)}.campaignCard.selected{border-color:var(--accent);box-shadow:0 0 0 2px #93744430}.campaignCard.selected:after{content:'✓';position:absolute;top:8px;right:8px;width:23px;height:23px;border-radius:50%;background:#f2ebd9;color:#6f5127;text-align:center;line-height:23px}.campaignThumb,.autoMosaic{aspect-ratio:16/10;width:100%;object-fit:cover;display:block}.autoMosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;overflow:hidden}.autoMosaic img{height:100%;width:100%;object-fit:cover;min-height:0}.campaignCard>span{display:block;padding:11px 10px}.campaignCard b{display:block;font-size:12px;font-weight:550;line-height:1.4;min-height:34px}.campaignCard small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.checkoutPanel{display:flex;justify-content:space-between;gap:30px;padding:28px}.reviewCopy{max-width:620px;align-self:center}.reviewCopy h3{font:28px var(--serif);margin:12px 0}.reviewCopy>.hint{margin-top:8px}.reviewAction{width:280px;flex-shrink:0}.billingPrice{display:flex;align-items:center;gap:12px;margin-bottom:15px}.billingPrice strong{font:33px var(--serif);letter-spacing:-.04em}.billingPrice span{font-size:11px;color:var(--muted);max-width:125px}.reviewAction button{width:100%;margin-top:8px}.reviewAction .primary{justify-content:space-between}.status{font-size:11px;line-height:1.6;color:var(--muted);margin-top:10px}.status[data-state=error],#uploadFeedback[data-state=error]{color:#a34432}.results{margin-top:46px}.resultsHead{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.resultsHead h2{font:32px var(--serif)}.resultGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.resultCard{border:1px solid var(--line);background:var(--white);border-radius:8px;overflow:hidden}.resultImage img{width:100%;aspect-ratio:2/3;object-fit:contain;background:var(--dark)}.resultMeta{padding:16px}.resultMeta h3{font-size:14px}.resultMeta p{font-size:12px;color:var(--muted);margin:6px 0 14px}.resultMeta a{display:inline-block;border-bottom:1px solid var(--accent);color:var(--accent);font-size:12px;padding:7px 0}.studioFooter{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:40px;padding:24px 0 36px;gap:16px;color:var(--muted);font-size:10px;letter-spacing:.09em}.previewDialog{padding:0;border:1px solid #57635d;border-radius:10px;background:var(--dark);color:#f6f3ea;width:min(750px,calc(100vw - 24px));max-height:95dvh;overflow:auto}.previewDialog::backdrop{background:#0d1515c9;backdrop-filter:blur(7px)}.dialogToolbar,.dialogBottom{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;gap:16px;font-size:13px}.dialogBottom p{font-size:12px;color:#bec8c1;text-align:center}.previewDialog>img{height:min(69dvh,850px);width:100%;object-fit:contain;background:#101b1c}.iconButton{height:40px;min-width:40px;border:1px solid #55625e;background:transparent;color:inherit;border-radius:50%;font-size:22px}.previewDialog[open]{animation:reveal .16s ease-out}@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.styleToggle{display:none}.campaignThumb,.autoMosaic{aspect-ratio:1/1}.campaignThumb{object-position:50% 32%}
.consentRow{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.6;margin:12px 0;color:var(--muted);cursor:pointer}.consentRow input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0}.consentRow.warning{color:#9b462f}.previewCaveat{font-size:10px;line-height:1.6;color:#adb8b2;margin-top:8px}.reviewAction [hidden]{display:none!important}
@media(min-width:1500px){.previewButton img{max-height:330px}.studioGrid{grid-template-columns:320px minmax(0,1fr)}}
@media(max-width:1100px){.studioShell{width:calc(100% - 40px)}.studioGrid{grid-template-columns:260px minmax(0,1fr);gap:16px}.setupPanel{padding:20px}.previewStage{padding:22px}.exampleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.previewButton img{height:215px;aspect-ratio:auto}.previewFooter{display:block}.previewFooter>span{display:block;margin-top:8px}.campaignGrid{grid-template-columns:repeat(5,minmax(0,1fr))}.edition{display:none}}
@media(max-width:760px){.studioShell{width:calc(100% - 32px)}.studioHeading{padding:30px 0 24px}.studioGrid{grid-template-columns:1fr}.nav .navLinks{display:none}.badge{font-size:10px}.setupPanel{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;align-items:start}.setupPanel>h2{grid-column:1/-1}.dropzone{margin:0;grid-row:2/5;min-height:180px}.dropzone>img{height:180px}.modelSection{padding:0;margin:0;border:0;grid-column:2}.setupPanel>.hint,.identityNote,.fileDetails{grid-column:2;margin:0}.fileDetails{grid-row:5}.identityNote{grid-column:1/-1;border-top:1px solid var(--line);padding-top:12px}.genderGrid{gap:7px}.choice>span{padding:12px 9px}.stylesPanel,.checkoutPanel{grid-column:auto}.previewButton img{height:auto;aspect-ratio:2/3;max-height:360px}.campaignGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkoutPanel{flex-direction:column;gap:18px}.reviewAction{width:100%}.billingPrice{justify-content:space-between}.billingPrice span{max-width:none}.resultGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.styleToggle{display:flex;width:100%;margin-top:18px}.stylesPanel:not(.expanded) .campaignCard:nth-child(n+7){display:none}}
@media(max-width:440px){.badge{display:none}.studioHeading h1{font-size:32px}.setupPanel{display:block}.setupPanel>.hint{margin-top:10px}.dropzone{margin-top:16px;min-height:180px}.fileDetails{display:flex}.modelSection{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.identityNote{margin-top:16px}.panel,.previewStage{padding:20px}.panelHead{gap:10px;flex-wrap:wrap}.previewStage h2{font-size:26px}.campaignGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.exampleGrid{gap:12px}.previewFooter>span{white-space:normal}.resultGrid{grid-template-columns:1fr}.studioFooter{letter-spacing:0;font-size:10px}.resultsHead{display:block}}

#jobHistoryPanel{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}#jobHistoryPanel summary{cursor:pointer;font-size:12px}#jobHistoryList{display:grid;gap:6px;max-height:230px;overflow:auto;margin-top:8px}.savedJobButton{text-align:left;overflow-wrap:anywhere}

.motionPackage{margin:12px 0 18px}.motionPackage label{display:block;font-size:12px;margin-bottom:8px}.motionPackage select{width:100%;padding:11px;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink)}.motionPackage p{margin-top:9px}.resultImage video{width:100%;aspect-ratio:9/16;display:block;object-fit:contain;background:var(--dark)}.videoWaiting{display:grid;place-items:center;aspect-ratio:9/16;padding:18px;background:var(--dark);color:#d7be8f;text-align:center;font-size:13px}.assetProgress{font-size:12px;color:var(--muted)}


/* 2026-09-30: modern backend-bound Studio controls */
.studioGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.setupPanel,.stylesPanel,.checkoutPanel{grid-column:auto}
.previewStage[hidden]{display:none!important}
.stylesPanel .panelHead{margin-bottom:16px}
.stylesPanel .quietMeta{display:none}
.campaignGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.campaignCard{min-height:56px;padding:12px 14px;display:grid;place-items:center;text-align:center;cursor:pointer;border-radius:8px;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}
.campaignCard b{min-height:0;font-size:12px;font-weight:600}
.campaignCard:hover,.campaignCard:focus-visible{border-color:var(--accent);background:#f5efe1;transform:translateY(-1px);box-shadow:0 0 0 2px #93744425;outline:none}
.campaignCard.selected{background:#f3eee3}
.checkoutPanel{display:block;padding:24px}
.checkoutPanel .reviewCopy{display:none!important}
.reviewAction{width:auto}
.packageTitle{margin-bottom:14px}
.packageChoiceGrid{display:grid;gap:12px}
.packageChoice{width:100%;padding:16px;text-align:left;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink);cursor:pointer;transition:border-color .18s,box-shadow .18s,background .18s,transform .18s}
.packageChoice:hover,.packageChoice:focus-visible{border-color:var(--accent);background:#f5efe1;transform:translateY(-1px);box-shadow:0 0 0 2px #93744425;outline:none}
.packageChoice.selected{border-color:var(--accent);background:#f3eee3;box-shadow:0 0 0 2px #93744430}
.packageChoiceTop{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.packageChoiceTop strong{font-size:14px}
.packageChoiceTop b{font:24px var(--serif);color:#805f28}
.packageChoice small{display:block;margin-top:6px;color:var(--muted);font-size:11px;line-height:1.45}
#generateBtn{margin-top:16px!important;min-height:50px}
#statusText{margin:10px 0 14px}
.motionPackage label[for=outputPackage],#outputPackage{display:none!important}
.billingPrice[hidden]{display:none!important}
.results{display:block!important;margin-top:34px}
.resultsHead h2{font-size:28px}
.resultGrid{grid-template-columns:repeat(4,minmax(0,1fr))}
.videoResultSection{margin-top:24px}
.videoResultTitle{font:22px var(--serif);margin-bottom:14px}
.videoResultGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.emptyResult .emptyMedia{aspect-ratio:2/3;display:grid;place-items:center;background:linear-gradient(135deg,#152024,#0d1517);color:#85908d;border-bottom:1px solid #2d3937}
.emptyVideo .emptyMedia{aspect-ratio:16/9}
.emptyMedia span{font-size:30px;opacity:.55}
.emptyResult .resultMeta p{margin-bottom:0}
@media(max-width:1100px){.studioGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkoutPanel{grid-column:1/-1}.resultGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.studioGrid{grid-template-columns:1fr}.setupPanel,.stylesPanel,.checkoutPanel{grid-column:auto}.campaignGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.resultGrid,.videoResultGrid{grid-template-columns:1fr}}


/* 2026-09-30: campaign purchase credits */
.purchaseControls{
  display:grid;
  grid-template-columns:auto minmax(132px,auto) 1fr;
  align-items:end;
  gap:10px 14px;
  margin-top:18px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:color-mix(in srgb,var(--white) 92%,var(--accent) 8%);
}
.purchaseQuantityLabel{
  grid-column:1/-1;
  font-size:11px;
  color:var(--muted);
  letter-spacing:.04em;
}
.quantityStepper{
  display:grid;
  grid-template-columns:38px 58px 38px;
  align-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  overflow:hidden;
  background:var(--white);
}
.quantityStepper .quantityButton{
  width:38px;
  height:38px;
  min-height:0;
  margin:0!important;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-size:20px;
}
.quantityStepper input{
  width:58px;
  height:38px;
  padding:0 4px;
  border:0;
  border-left:1px solid var(--line);
  border-right:1px solid var(--line);
  background:transparent;
  color:var(--ink);
  text-align:center;
  font:700 14px var(--sans);
  appearance:textfield;
}
.quantityStepper input::-webkit-outer-spin-button,
.quantityStepper input::-webkit-inner-spin-button{appearance:none;margin:0}
.purchaseTotal{
  justify-self:end;
  display:grid;
  text-align:right;
  gap:3px;
}
.purchaseTotal span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.09em}
.purchaseTotal strong{font:28px var(--serif);color:#805f28}
.creditBalance{
  margin:12px 0 2px;
  color:var(--muted);
  font-size:11px;
  line-height:1.55;
}
#payBtn{
  min-height:50px;
  margin-top:10px!important;
  border-color:#a58143;
  background:#a58143;
  color:#fff;
  font-weight:800;
  letter-spacing:.04em;
}
#payBtn:hover:not(:disabled),#payBtn:focus-visible:not(:disabled){
  background:#8f6c34;
  border-color:#8f6c34;
}
#generateBtn{
  margin-top:10px!important;
  min-height:50px;
}
#generateBtn:disabled{
  opacity:.44;
  cursor:not-allowed;
  filter:saturate(.45);
}
#statusText[hidden]{display:none!important}
@media(max-width:520px){
  .purchaseControls{grid-template-columns:1fr auto}
  .purchaseQuantityLabel{grid-column:1/-1}
  .purchaseTotal{align-self:center}
}



.studioCompliance{margin:34px 0 0;padding:16px 18px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:11px;line-height:1.7}
.studioFooter{align-items:flex-start;flex-wrap:wrap}
.studioFooterLinks{display:flex;gap:12px 16px;flex-wrap:wrap;justify-content:flex-end}
.studioFooterLinks a{color:var(--muted);text-decoration:none}
.studioFooterLinks a:hover{text-decoration:underline}
@media(max-width:760px){.studioFooter{flex-direction:column}.studioFooterLinks{justify-content:flex-start}}

/* 2026-10-01: email-first account flow + single package */
.authGate{max-width:720px;margin:0 auto 26px;padding:30px}
.authGate h2,.dashboardPanel h2{font:30px var(--serif);margin:8px 0 10px}
.authGate form>label{display:block;margin:20px 0 7px;font-size:11px;color:var(--muted)}
.authRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.authRow input{min-width:0;padding:13px 14px;border:1px solid var(--line);border-radius:7px;background:var(--white);color:var(--ink);font:14px var(--sans)}
.authRow button{min-width:210px}
#authDevLink{display:inline-block;margin-top:8px}
#authDevLink[hidden]{display:none}
.accountBar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:var(--white)}
.accountBar>div{display:flex;gap:8px;align-items:baseline;font-size:11px;color:var(--muted)}
.accountBar strong{color:var(--ink);font-size:12px}
.packagePanel{order:1}.setupPanel{order:2}.stylesPanel{order:3}
.packageChoiceGrid{grid-template-columns:1fr}
.dashboardPanel{margin-top:30px;padding:26px}
.dashboardHead{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.retentionNote{margin:12px 0 20px;padding:12px 14px;border:1px solid var(--line);border-radius:7px;background:#f5f4ef;color:var(--muted);font-size:11px;line-height:1.6}
.dashboardList{display:grid;gap:12px}
.dashboardItem{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:15px;border:1px solid var(--line);border-radius:8px}
.dashboardItem h3{font-size:13px;margin-bottom:5px}.dashboardItem p{font-size:11px;color:var(--muted)}
.dashboardFiles{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dashboardFiles a{font-size:11px;color:var(--accent);border-bottom:1px solid var(--accent);padding:5px 0}
@media(max-width:760px){.authRow{grid-template-columns:1fr}.authRow button{min-width:0}.accountBar,.dashboardHead{align-items:flex-start;flex-direction:column}.dashboardItem{grid-template-columns:1fr}.dashboardFiles{justify-content:flex-start}}

.results[hidden]{display:none!important}
.accountLogout{width:auto!important;margin:0!important;padding:7px 9px;font-size:10px}
