:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#f8f3f0;background:#110f19;--gold:#f5c776;--muted:#c3bbcc;--panel:#211e2d;--line:#62546a;--wm:.075}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0%,#35243e,#110f19 58%);min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.shell{max-width:1050px;margin:auto;padding:16px 16px 75px}.top{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding:14px 0}.brand{font-weight:850;font-size:1.25rem}.brand em{font-style:normal;color:var(--gold)}.badge{background:var(--gold);color:#181322;border-radius:20px;font-size:.75rem;padding:7px 10px;font-weight:850;white-space:nowrap}.fine{color:var(--muted);font-size:.85rem}.tabs{display:flex;overflow-x:auto;gap:8px;padding:15px 0}.tabs button{flex:none;border:1px solid var(--line);border-radius:25px;background:#282336;color:white;padding:10px 14px;min-height:46px}.tabs button.active{background:#61436e;border-color:var(--gold)}.card{background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:20px;margin:14px 0}.hero{background:linear-gradient(125deg,#533354,#252035)}.eyebrow{font-size:.75rem;color:var(--gold);letter-spacing:.13em;font-weight:850;text-transform:uppercase}h1{font-size:clamp(1.9rem,5vw,3.2rem);line-height:1.13;margin:8px 0}h2{font-size:1.45rem;margin:6px 0 14px}h3{margin:10px 0}p{line-height:1.48}.muted{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tile{background:#2b2637;border:1px solid var(--line);padding:10px;border-radius:17px}.tile.selected,.vote.selected{border:2px solid var(--gold)}.tile p{margin:8px 4px}.tile .btn{width:100%}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.btn{border:1px solid var(--gold);border-radius:12px;background:var(--gold);color:#241928;min-height:48px;padding:12px 16px;font-weight:750}.btn.secondary{background:#3b3049;color:white;border-color:#9d809e}.btn.ghost{background:transparent;color:white;border-color:#807185}.btn:disabled{opacity:.55;cursor:not-allowed}.field{margin:18px 0}.label,.field label{display:block;font-weight:750;margin-bottom:8px}input[type=text],input[type=file],textarea,select{display:block;width:100%;border:1px solid #908399;background:#17131f;color:white;padding:12px;border-radius:12px;min-height:48px}textarea{min-height:98px;resize:vertical}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{border:1px solid #796b82;border-radius:13px;background:#2a2435;padding:14px;min-height:73px;cursor:pointer}.choice:has(input:checked){border-color:var(--gold);background:#4b354d}.choice input,.wm input{accent-color:var(--gold);width:18px;height:18px;vertical-align:middle}.choice small{display:block;color:var(--muted);margin-top:4px}.hidden{display:none!important}.wm{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.wm label{background:#362d41;padding:10px;border-radius:9px;min-height:44px}.portrait{height:clamp(250px,37vw,355px);border-radius:14px;overflow:hidden;position:relative;isolation:isolate;background:radial-gradient(ellipse at 46% 25%,#a05070,#342344 52%,#0d1024 95%)}.portrait.b{background:radial-gradient(ellipse at 53% 27%,#3a84a6,#1b2856 60%,#121729 95%)}.portrait .lights{position:absolute;inset:0;background:linear-gradient(112deg,transparent 30%,#ffdeb047 43%,transparent 55%),linear-gradient(247deg,transparent 38%,#86cbff42 51%,transparent 60%)}.portrait .hair{position:absolute;top:12%;left:calc(50% - 46px);width:92px;height:110px;background:#291926;border-radius:45% 45% 30% 30%;z-index:1}.portrait.b .hair{background:#473147}.portrait .head{position:absolute;top:17%;left:calc(50% - 36px);width:72px;height:89px;background:#dc9f84;box-shadow:inset -12px -4px #b87d70;border-radius:43% 43% 49% 49%;z-index:2}.portrait .body{position:absolute;top:41%;left:calc(50% - 92px);width:184px;height:220px;background:linear-gradient(115deg,#27192b,#995277,#211735);clip-path:polygon(28% 0,72% 0,100% 24%,85% 100%,15% 100%,0 24%);z-index:1}.portrait.b .body{background:linear-gradient(115deg,#191f37,#4584a9,#20264f)}.portrait .mic{position:absolute;top:43%;left:calc(50% + 67px);height:63%;width:6px;background:#aab0b7;transform:rotate(7deg);z-index:2}.portrait .mic:before{content:'';position:absolute;top:-17px;left:-8px;width:23px;height:28px;background:#b5b9bf;border-radius:50%}.portrait .stage{position:absolute;bottom:0;left:0;width:100%;height:27%;background:linear-gradient(transparent,#080920df);z-index:3}.portrait .watermark{position:absolute;left:5%;bottom:11%;font-size:clamp(1.3rem,4vw,2.4rem);font-weight:900;letter-spacing:.13em;color:#fff;opacity:var(--wm);z-index:4;pointer-events:none}.portrait.clean .watermark{display:none}.portrait .tag,.portrait .note{position:absolute;background:#17131bba;border-radius:8px;padding:5px 8px;font-size:.75rem;z-index:5}.portrait .tag{top:10px;left:10px}.portrait .note{right:8px;bottom:8px}.vote{width:100%;border:2px solid #807185;border-radius:15px;background:#342a40;color:white;text-align:left;padding:8px;min-height:48px}.vote .portrait{height:220px}.notice{border-left:4px solid var(--gold);background:#3c3245;border-radius:6px;padding:12px 15px}.bar{height:12px;border-radius:9px;background:#53465f;overflow:hidden}.bar span{display:block;height:100%;background:var(--gold)}.comments li{margin:8px 0}footer{margin-top:35px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem;padding:20px 0}@media(max-width:620px){.shell{padding:12px 12px 60px}.brand{font-size:1.02rem}.badge{font-size:.64rem}.card{padding:16px}.grid,.choices{grid-template-columns:1fr}.actions .btn{width:100%}.portrait{height:290px}.grid.votes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.votes .portrait{height:180px}.votes .vote{padding:5px}.votes h3{font-size:1rem}.votes .watermark{font-size:.75rem}}@media(max-width:350px){.votes .portrait{height:150px}.brand{font-size:.9rem}}
/* Voice Studio dark/red identity; staging editor only. */
:root{color:#f4f4f4;background:#161616;--gold:#e31d35;--muted:#c5c5c5;--panel:#222;--line:#3b3b3b;color-scheme:dark}
body{background:radial-gradient(circle at 85% 15%,rgba(227,29,53,.15),transparent 34%),#161616;color:#f4f4f4}
.brand,.brand em,h1,h2,h3{color:#fff}
.brand em,.eyebrow{color:#ff6678}
.badge{background:#e31d35;color:#fff}
.tabs button{background:#222;color:#f4f4f4;border-color:#555}
.tabs button.active{background:#e31d35;color:#fff;border-color:#e31d35}
.card{background:#222;border-color:#3b3b3b;box-shadow:0 12px 32px #0003}
.hero{background:linear-gradient(125deg,#3b2027,#222 72%);border-color:#63323b}
.tile,.choice,.wm label{background:#292929;border-color:#505050}
.choice:has(input:checked){background:#3b2027;border-color:#e31d35}
.btn{background:#e31d35;color:#fff;border:1px solid #e31d35;box-shadow:0 10px 28px rgba(227,29,53,.2)}
.btn.secondary,.btn.ghost{background:transparent;color:#f4f4f4;border:1px solid #777;box-shadow:none}
.btn:hover,.tabs button:hover{background:#f12640;color:#fff;border-color:#f12640}
.btn.secondary:hover,.btn.ghost:hover{background:#343434;border-color:#e31d35}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ff6678;outline-offset:2px}
input[type=text],input[type=file],textarea,select{background:#191919;color:#f4f4f4;border-color:#777}
input::placeholder,textarea::placeholder{color:#bdbdbd}
.vote{background:#292929;color:#f4f4f4;border-color:#777}
.notice{background:#302428;color:#f4f4f4}
.bar{background:#4b4b4b}
.portrait .tag,.portrait .note{color:#fff}
@media(prefers-reduced-motion:reduce){.btn,.tabs button{transition:none}}
/* Genre controls: desktop buttons, mobile native dropdown. */
.genre-buttons{display:flex;flex-wrap:wrap;gap:8px}
.genre-button{min-height:44px;padding:10px 14px;border:1px solid #777;border-radius:12px;background:#292929;color:#f4f4f4;font-weight:650}
.genre-button.selected{background:#e31d35;color:#fff;border-color:#e31d35}
.genre-button:hover{border-color:#ff6678}
.genre-button:focus-visible{outline:3px solid #ff6678;outline-offset:2px}
#genre{display:none}
@media(max-width:620px){.genre-buttons{display:none}#genre{display:block}}
/* Explicit chosen state, distinct from unselected red action buttons. */
.tile .btn.chosen,.tile .btn.chosen:hover{background:#187c39;border-color:#187c39;color:#fff;box-shadow:0 0 0 2px #80dd9a55}

.portrait.imported{position:relative;background:#111;min-height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden}.portrait.imported img{width:100%;height:auto;max-height:580px;object-fit:contain;display:block}.portrait.imported .watermark{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-size:clamp(18px,4vw,44px);font-weight:900;text-shadow:0 2px 8px #000;transform:rotate(-16deg);opacity:var(--wm);pointer-events:none}.portrait.imported.clean .watermark{display:none}.portrait.imported .tag,.portrait.imported .note{display:none}
/* Staging photo form: contain mobile preview without widening the form or displacing actions. */
#main,#main .card,#main .field,#main .choices,#main .choice,#main .actions,#main .actions .btn{min-width:0;max-width:100%}
#main .card,#photoBox{overflow-wrap:anywhere}
#photoBox input[type=file]{min-width:0;max-width:100%}
#photoBox img{display:block;width:auto;height:auto;max-width:100%;object-fit:contain}
@media(max-width:620px){#main .choices{grid-template-columns:minmax(0,1fr)}#photoBox img{max-height:min(360px,45dvh)!important}#main .actions{flex-direction:column}#main .actions .btn{width:100%}}
/* Private A/B workflow */
.shell,#main,.card,.field,.actions,.ab-grid,.ab-result{min-width:0;max-width:100%;box-sizing:border-box}
#photoBox img,.source-photo{display:block;width:auto;height:auto;max-width:100%;max-height:360px;max-height:min(360px,45dvh);object-fit:contain;margin:16px auto}
.ab-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ab-result{padding:16px;border:2px solid #444;border-radius:18px;overflow-wrap:anywhere}
.ab-result.selected{border-color:#ed1635}
.ab-result img,.master img{display:block;width:100%;height:auto;max-height:65dvh;object-fit:contain;margin:16px auto}
.ab-result .btn{width:100%}.master{margin-top:24px}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-block;text-decoration:none;text-align:center}
@media(max-width:700px){.ab-grid{grid-template-columns:minmax(0,1fr)}.actions{flex-direction:column}.actions .btn{width:100%}.shell{width:100%;padding:16px}.choices{grid-template-columns:minmax(0,1fr)}}

/* A/B choice and shared actions, 2026-10-02 */
.ab-result.selected{border-color:#25a957;box-shadow:0 0 0 2px rgba(37,169,87,.28)}
.ab-result .btn.choose.chosen,.ab-result .btn.choose.chosen:hover{background:#218346;border-color:#218346;color:#fff;box-shadow:0 0 0 2px rgba(75,214,119,.35)}
.result-actions,.payment-panel{margin-top:24px;padding:20px;border:1px solid #555;border-radius:16px;background:#292929}
.result-actions h3,.payment-panel h3{margin:0 0 12px}
.share-options,.preview-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:15px 0}
.share-options select{min-height:48px;padding:10px 14px;background:#1b1b1b;color:#fff;border:1px solid #888;border-radius:10px;font:inherit}
.selected-download{margin-top:8px}.payment-notice{padding:14px;border-radius:10px;background:#333;border-left:4px solid #91d39f}
@media(max-width:700px){.result-actions,.payment-panel{padding:16px}.share-options{display:grid;grid-template-columns:1fr}.share-options .btn,.share-options select,.preview-links .btn,.selected-download,.payment-panel .btn{width:100%;box-sizing:border-box}}

.result-actions textarea{display:block;width:100%;min-height:110px;box-sizing:border-box;margin:10px 0 14px;padding:14px;border:1px solid #777;border-radius:10px;background:#202020;color:#fff;font:inherit;resize:vertical}
.result-actions textarea:focus-visible{outline:2px solid #78d995;outline-offset:2px}
.result-actions label{display:block;font-weight:600}
.result-actions .btn,.payment-panel .btn{max-width:100%}
/* Musical style step */
.genre-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 24px}
.genre-choice{position:relative;display:flex;align-items:center;justify-content:center;min-height:64px;padding:12px;box-sizing:border-box;border:2px solid #666;border-radius:14px;background:#292929;color:#fff;font-weight:700;text-align:center;cursor:pointer}
.genre-choice input{position:absolute;opacity:0;width:1px;height:1px}
.genre-choice:hover,.genre-choice:focus-within{border-color:#ed6178}
.genre-choice.selected{border-color:#ed1635;background:#3b2630;box-shadow:0 0 0 2px rgba(237,22,53,.18)}
.genre-choice:focus-within{outline:2px solid #fff;outline-offset:2px}
@media(max-width:700px){.genre-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.genre-choice{min-height:60px}}

/* Scenic six variants */
.ab-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ab-result{min-width:0}.ab-result img{max-width:100%;height:auto;object-fit:contain}@media(max-width:700px){.ab-grid{grid-template-columns:1fr}}

.master-preview{max-width:100%;width:512px;height:auto;object-fit:contain}.legal-consent{display:flex;gap:12px;align-items:flex-start;margin:18px 0}.legal-consent input{flex:none;width:20px;height:20px}.scenic-tariffs{width:100%;border-collapse:collapse}.scenic-tariffs td,.scenic-tariffs th{text-align:left;padding:12px;border-bottom:1px solid #51445d}.panel{border:1px solid #51445d;border-radius:12px;padding:24px;margin:20px 0}.panel input[type=checkbox]{accent-color:#bd95e8} .panel button{margin:12px 12px 12px 0}

/* Compact consents and optional revision */
#vssc-legal .legal-consent{margin:10px 0;line-height:1.4;font-size:14px}#vssc-legal .legal-full-text{margin:0 0 10px 32px;font-size:13px}#vssc-legal .legal-details{font-size:13px;margin-bottom:14px}#vssc-legal details summary,.optional-revision summary{cursor:pointer;color:#d9b7fa;line-height:1.4}#vssc-legal details p{line-height:1.5}.optional-revision[open] summary{margin-bottom:14px}@media(max-width:700px){#vssc-legal{padding:14px;margin:12px 0}#vssc-legal>p{font-size:13px;line-height:1.4}#vssc-legal .legal-consent input{margin-top:1px;min-width:20px}#vssc-legal button{width:100%;margin:8px 0}}

.btn.status-success{background:#23834b!important;border-color:#23834b!important;color:#fff!important}.btn.status-success:hover{background:#196c3b!important}.status-paid{color:#69da94;font-weight:700}

.btn.consent-confirm,.btn.consent-revoke{border-radius:999px!important;min-height:52px;padding:14px 22px!important;font-weight:700;font-size:16px;width:100%;margin-top:12px;color:#fff!important;border:2px solid transparent}
.btn.consent-confirm{background:#23834b!important;border-color:#3aba72!important}.btn.consent-revoke{background:#bd263d!important;border-color:#e24a61!important}.btn.consent-confirm:disabled{background:#315b41!important;color:#c6d8cc!important;opacity:.8}.btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.master-next{border-radius:24px!important;background:#4f3a70!important;color:#fff!important;margin-top:12px}.master-next:disabled{opacity:.7;cursor:not-allowed}.master-next-dialog{background:#242026;color:#fff;border:1px solid #766184;border-radius:24px;padding:26px;max-width:480px;width:calc(100% - 36px);box-sizing:border-box}.master-next-dialog::backdrop{background:rgba(0,0,0,.75)}.master-next-dialog .btn{display:block;width:100%;margin:14px 0;border-radius:999px;min-height:50px}.master-next-dialog p{line-height:1.6}

.tour-invite{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tour-button{border-radius:999px!important;background:#514063!important;color:#fff!important;padding:12px 20px!important}

[hidden]{display:none!important}.archive-master{display:block;width:100%;max-height:320px;object-fit:contain;border-radius:18px;margin:12px 0}

#song{display:block;width:100%;max-width:100%;box-sizing:border-box;min-height:76px;padding:14px;border:1px solid #777;border-radius:10px;background:#191919;color:#f4f4f4;font:inherit;line-height:1.5;resize:vertical}

body.pricing-intro .tabs,body.pricing-intro .tour-invite,body.pricing-intro #customer-history,body.pricing-intro #scenic-account,body.pricing-intro #vssc-legal,body.pricing-intro .fine{display:none!important}

#vssc-legal.consent-accepted .legal-consent,#vssc-legal.consent-accepted .legal-full-text,#vssc-legal.consent-accepted .legal-details,#vssc-legal.consent-accepted .consent-confirm{display:none!important}

body.results-screen #main{min-height:100vh;scroll-margin-top:12px}

.master-next-dialog [data-account-resend]{background:transparent;border:1px solid #9b91ad;box-shadow:none;font-size:14px}.master-next-dialog [data-account-resend][hidden]{display:none}.master-next-dialog input{display:block;width:100%;box-sizing:border-box}.master-next-dialog label{display:block;margin-top:12px}
