@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#090a10;--panel:#14151f;--line:#ffffff12;--muted:#989aaf;--accent:#a17bff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f5f3fc;font-family:'DM Sans',sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;background:#242532;border:1px solid transparent;border-radius:8px;padding:11px 17px;color:white;transition:background .18s,transform .18s}button:hover{background:#343346}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid #c9acff;outline-offset:4px}a{color:#c7a9ff}.primary{background:#9970fa;color:white;font-weight:700}.primary:hover{background:#af8aff}.quiet{background:#ffffff10;border:1px solid #ffffff20}.header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:40px;padding:18px 5%;background:#090a10f2;border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}
.brand{display:flex;align-items:center;gap:10px;background:none;padding:0;font:800 18px 'Manrope',sans-serif;letter-spacing:3px}.brand:hover{background:none}.brand-mark{width:30px;height:34px;display:grid;place-items:center;background:linear-gradient(135deg,#b093ff,#6742ca);border-radius:9px;font-size:22px;letter-spacing:0}nav{display:flex;gap:8px}nav button{background:none;color:var(--muted);font-size:14px}nav button.active{color:white;background:#ffffff08}.header-actions{margin-left:auto;display:flex;align-items:center;gap:20px}.wallet{color:#d5baff;background:#a17bff12;border-color:#a17bff33;font-size:13px}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#302748;font-size:13px}
main{max-width:1600px;margin:auto;padding:0 5% 60px}.hero{position:relative;isolation:isolate;overflow:hidden;min-height:490px;display:flex;align-items:center;border-radius:0 0 18px 18px;background:radial-gradient(ellipse at 78% 40%,#643d87,transparent 45%),linear-gradient(125deg,#141422,#233f55);padding:50px}.hero::before{content:"";position:absolute;z-index:-1;width:360px;height:360px;right:10%;top:45px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#ab91cb,#5c547a 35%,#182038 75%);box-shadow:0 0 80px #9481c033,25px 20px 130px #000;border:1px solid #ffffff2b}.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#0b0c15 0%,#0b0c1577 50%,transparent),linear-gradient(0deg,#090a10,transparent 40%)}.hero-content{max-width:560px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#c6a9ff}.hero h1{font:800 clamp(44px,6vw,78px)/1.04 'Manrope',sans-serif;margin:22px 0}.hero p{max-width:420px;line-height:1.7;color:#b1b2c6}.metadata{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#b6b7c7;font-size:12px}.badge{border:1px solid #ffffff30;padding:3px 7px;border-radius:4px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.hero-bottom{position:absolute;right:30px;bottom:32px;font-size:11px;letter-spacing:2px;color:#c9bddb}
.intro{display:flex;align-items:center;gap:20px;background:linear-gradient(90deg,#231b35,#12131d);border:1px solid #a17bff22;padding:20px 24px;border-radius:12px;margin:24px 0}.intro .spark{font-size:30px;color:#bd9aff}.intro h3{font-size:16px;margin:0 0 5px}.intro p{margin:0;color:var(--muted);font-size:13px}.intro button{margin-left:auto;white-space:nowrap}
.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:32px 0}.chip{background:none;color:var(--muted);border:1px solid #ffffff15;border-radius:30px;padding:8px 15px;font-size:13px}.chip.active{color:#d9c7ff;background:#a17bff1f;border-color:#a17bff77}.search{margin-left:auto;max-width:270px}
input,textarea,select{background:#10111a;color:white;border:1px solid #353543;border-radius:8px;padding:12px;width:100%}textarea{min-height:120px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #9877ed;outline-offset:1px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:28px 0 18px}.section-heading h2{font:700 22px 'Manrope',sans-serif;margin:0}.section-heading small{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.card{padding:0;text-align:left;background:none;border:0}.card:hover{background:none;transform:translateY(-4px)}.poster{height:285px;border-radius:11px;position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:23px;background:var(--art)}.poster::before{content:"";position:absolute;width:170px;height:170px;left:calc(50% - 85px);top:40px;border-radius:50%;border:1px solid #ffffff44;box-shadow:0 0 60px #ffffff18,inset 10px -20px 50px #0007;background:linear-gradient(140deg,#ffffff16,#0004)}.poster::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000b,transparent 75%)}.poster strong{position:relative;z-index:1;font:800 29px/1.06 'Manrope',sans-serif;letter-spacing:-1px}.poster .tag{position:absolute;top:14px;left:14px;z-index:1;background:#08081090;padding:5px 9px;border-radius:4px;font-size:10px;letter-spacing:1px}.card h3{font-size:15px;margin:12px 0 6px}.meta{font-size:12px;color:var(--muted);line-height:1.6}.empty{grid-column:1/-1;text-align:center;padding:45px;background:var(--panel);border-radius:12px;color:var(--muted)}
.page-title{font:800 clamp(30px,4vw,44px) 'Manrope',sans-serif;margin:40px 0 10px}.subtitle{color:var(--muted);line-height:1.7}.studio{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:25px;margin-top:30px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px}.panel h2{margin-top:0;font-size:21px}.panel h3{font-size:17px}.panel p{color:var(--muted);line-height:1.6;font-size:14px}label{display:block;font-size:13px;color:#d8d7e4;margin:20px 0 8px}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.style-options{display:flex;gap:12px}.style-options button{flex:1;border:1px solid #3a3949;padding:20px}.style-options button.selected{background:#372849;border-color:var(--accent)}.style-options small{display:block;color:#b7afca;margin-top:5px}.cost{font:800 38px 'Manrope',sans-serif;color:#c7a9ff;margin:20px 0 8px}.info{border:1px solid #a17bff30;border-radius:8px;background:#a17bff0b;padding:13px;font-size:12px;color:#b9a9d7;line-height:1.7}.episode{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}.episode strong{font-size:14px}.episode button{font-size:12px}.draft-actions{display:flex;gap:5px}.secondary-panel{margin-top:20px}.form-error{color:#ffa9ba;font-size:13px}
dialog{width:min(780px,92vw);max-height:90vh;background:#14151e;color:white;border:1px solid #444055;border-radius:15px;padding:28px}dialog::backdrop{background:#000b;backdrop-filter:blur(7px)}.close{float:right;background:none}.dialog-art{height:250px;margin:20px 0}.dialog-art strong{font-size:42px}.dialog-copy{color:var(--muted);line-height:1.7}.video{width:100%;max-height:55vh;background:black;border-radius:10px}.wallet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.wallet-grid button{padding:24px 10px}.wallet-grid strong{display:block;font-size:25px;color:#c9acff}.wallet-grid small{display:block;margin-top:10px;color:var(--muted)}.toast{position:fixed;z-index:30;left:50%;bottom:25px;transform:translateX(-50%);background:#35254d;border:1px solid #9b76dc77;border-radius:9px;padding:14px 22px;max-width:90vw;box-shadow:0 10px 40px #0009}.danger{color:#ffb6c4}footer{display:flex;gap:24px;flex-wrap:wrap;align-items:center;padding:30px 5%;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.brand-text{font-weight:800;letter-spacing:3px;color:#b2a7c4}footer small{margin-left:auto}
@media(min-width:1200px){.poster{height:330px}}@media(max-width:950px){.header{gap:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio{grid-template-columns:1fr}.hero::before{right:-90px}.hero{padding:35px}.brand{font-size:15px}.header-actions{gap:8px}nav button{padding:9px;font-size:12px}.desktop{display:none}}
@media(max-width:600px){.header{flex-wrap:wrap;padding:14px 5%}nav{order:3;width:100%;justify-content:space-between}.hero{min-height:430px;padding:25px}.hero h1{font-size:47px}.hero-bottom{display:none}.hero::before{width:270px;height:270px;right:-110px;top:90px}.intro{padding:17px;flex-wrap:wrap}.intro button{margin-left:0;width:100%}.intro .spark{display:none}.toolbar{gap:7px}.chip{font-size:11px;padding:8px 10px}.search{max-width:none;order:2}.grid{gap:14px}.poster{height:225px;padding:15px}.poster strong{font-size:23px}.poster::before{width:120px;height:120px;left:calc(50% - 60px)}.section-heading small{display:none}.panel{padding:20px}.split{grid-template-columns:1fr}.wallet-grid{grid-template-columns:1fr}.wallet-grid button{padding:15px}footer small{margin-left:0}.episode{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Community navigation and membership controls. */
.header{flex-wrap:wrap;gap:18px}
.header nav{flex-wrap:wrap}
input[type="checkbox"]{width:auto;display:inline-block;margin-right:8px}
#membership-content .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
#membership-content .cost small{font-size:14px;color:var(--muted)}
#competition-content .episode{flex-wrap:wrap}
#competition-content .draft-actions,#drafts .draft-actions{flex-wrap:wrap}
@media(max-width:760px){
 #membership-content .grid{grid-template-columns:1fr}
 .header nav{width:100%;order:3;overflow-x:auto;flex-wrap:nowrap}
 .header nav button{white-space:nowrap}
}

.generation-job{border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:16px}
.generation-job:last-child{border-bottom:0;margin-bottom:0}
.generation-progress{padding:14px;border:1px solid #a17bff33;border-radius:12px;background:#a17bff09}
.generation-progress-heading{display:flex;align-items:center;gap:10px}
.generation-spinner{width:20px;height:20px;flex-shrink:0;border:2px solid #a17bff33;border-top-color:var(--accent);border-radius:50%;animation:generation-spin 1s linear infinite}
.generation-track{height:5px;margin:14px 0;border-radius:8px;background:#a17bff20;overflow:hidden}
.generation-track span{display:block;width:35%;height:100%;background:linear-gradient(90deg,#7650d5,#c4a9ff);border-radius:8px;animation:generation-slide 1.8s ease-in-out infinite}
[data-generation-elapsed]{font-variant-numeric:tabular-nums;color:#dccbff}
.generation-result{margin:8px 0}
#generation-submit-progress{margin:16px 0}
@keyframes generation-spin{to{transform:rotate(360deg)}}
@keyframes generation-slide{from{transform:translateX(-110%)}to{transform:translateX(390%)}}
@media(prefers-reduced-motion:reduce){.generation-spinner,.generation-track span{animation:none}.generation-track span{width:100%;opacity:.6}}

.cover-panel{margin:32px 0;padding:24px;border:1px solid #353747;border-radius:18px;max-width:760px;background:#13141e}
.cover-panel label{display:block;margin:18px 0 10px}.cover-panel select,.cover-panel textarea,.cover-panel input{display:block;width:100%;margin-top:8px}
.poster .cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.poster.has-cover::before{display:none}.poster.has-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 45%,rgba(0,0,0,.8));pointer-events:none;z-index:1}
.poster.has-cover .tag{z-index:2}.poster.has-cover strong{position:relative;z-index:2}

.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin:20px 0 40px}
.character-card{min-width:0}.character-card p{overflow-wrap:anywhere}.character-portrait{height:250px;background:#1d2030;border-radius:12px;overflow:hidden}.character-portrait img{width:100%;height:100%;object-fit:cover}
.character-save{max-width:760px;margin:28px 0}.character-save label{display:block;margin:16px 0 8px}.character-save input,.character-save textarea{width:100%}
.character-selector{padding:16px;border:1px solid #353747;border-radius:12px;margin:16px 0}.character-selector button{margin-top:8px}

.studio.studio-organized{display:block;margin-top:20px}.studio-tabs{display:flex;gap:8px;overflow-x:auto;margin:24px 0 0;padding-bottom:6px}
.studio-tabs button{white-space:nowrap;border-radius:10px}.studio-tabs button.active{background:#b49aff;color:#11101a;border-color:#b49aff}
.studio-pane[hidden],.studio-step[hidden],.studio-organized aside[hidden]{display:none!important}
.studio-wizard{max-width:940px;margin:0 auto}.studio-method{padding-bottom:20px;border-bottom:1px solid var(--line)}
.studio-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:24px 0}.studio-steps button{display:flex;align-items:center;gap:8px;text-align:left;font-size:12px;padding:12px}
.studio-steps button span{display:grid;place-items:center;flex-shrink:0;width:26px;height:26px;border:1px solid var(--line);border-radius:50%}
.studio-steps button.active{border-color:#b49aff;background:#b49aff18}.studio-steps button.active span{background:#b49aff;color:#11101a}
.studio-step h2{margin:10px 0 20px}.studio-step h2:focus{outline:none}.studio-step .character-selector{margin:18px 0}
.studio-step-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);margin-top:24px;padding-top:20px}
.studio-cost{margin:20px 0;background:#0e1019}.studio-cost .cost{font-size:36px}.studio-review{padding:18px;border:1px solid var(--line);border-radius:12px}
.studio-review h3{margin-top:0}.studio-review dl{margin:0}.studio-review dl div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:6px 0}.studio-review dt{color:var(--muted)}.studio-review dd{margin:0;overflow-wrap:anywhere}
.studio-pane .cover-panel{margin-top:0;max-width:none}.studio-pane>.panel{margin:0}
@media(max-width:640px){.studio-steps{grid-template-columns:1fr 1fr}.studio-steps button{font-size:11px;padding:10px}.studio-step-actions{flex-wrap:wrap}.studio-step-actions .meta{font-size:11px}.studio-review dl div{grid-template-columns:90px 1fr}}

.chapter-panel{margin-bottom:24px}.chapter-panel h3{margin-top:20px}.chapter-available{display:flex;flex-wrap:wrap;gap:8px;max-height:260px;overflow:auto}.chapter-order{padding-left:26px}.chapter-order li{margin:8px 0;padding:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.chapter-order li span{flex:1;min-width:120px;overflow-wrap:anywhere}.chapter-order button{padding:8px 12px}.chapter-panel video{max-height:420px;width:100%}.chapter-panel #chapter-status{overflow-wrap:anywhere}@media(max-width:600px){.chapter-panel .split{display:block}.chapter-available button{max-width:100%;white-space:normal}}

/* Scene cast selection */
.cast-choice{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--border,#333);border-radius:10px;cursor:pointer}.cast-choice input{width:auto;margin:0;flex:0 0 auto}#episode-character-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:12px 0}#episode-character-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.cast-preview{min-width:0;overflow-wrap:anywhere}.cast-preview img{object-fit:cover;border-radius:8px}.cast-preview p{font-size:13px;line-height:1.5}
