:root{--bg:#0b1020;--surface:#131a2f;--surface2:#19223b;--line:#2b3654;--ink:#f5f7ff;--muted:#9aa7c4;--accent:#8b7cff;--accent2:#55d9b1;--shadow:0 24px 70px rgba(0,0,0,.26)}*{box-sizing:border-box}body{margin:0;background:radial-gradient(850px 500px at 78% -8%,#2d2463 0,transparent 62%),var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif}.shell{max-width:1440px;margin:auto;padding:20px 34px 48px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:9px 0 26px}.brand{display:flex;gap:10px;align-items:center;font:700 18px "Plus Jakarta Sans"}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:linear-gradient(135deg,var(--accent),#c68bff);color:#fff}.brand small{font:500 12px "DM Sans";color:var(--muted);padding-left:9px;border-left:1px solid var(--line)}.progress{display:flex;align-items:center;gap:9px;font-size:12px;color:#71809f}.progress .active{color:#d7d2ff}.progress i{width:25px;height:1px;background:var(--line)}.hero{padding:50px 0 35px;max-width:720px}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:700;color:var(--accent2);margin:0 0 8px}.hero h1{font:800 clamp(36px,5vw,62px)/1.04 "Plus Jakarta Sans";letter-spacing:-.055em;margin:0}.hero h1 em{font-style:normal;color:#a79cff}.hero>p:last-child{margin:18px 0 0;color:var(--muted);font-size:16px;line-height:1.6}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:20px}.tab{font:600 14px "DM Sans";padding:14px 18px;background:transparent;color:var(--muted);border:0;border-bottom:2px solid transparent;cursor:pointer}.tab b{font-size:11px;margin-right:8px;color:#697798}.tab.active{color:var(--ink);border-bottom-color:var(--accent)}.tab.active b{color:#b9b1ff}.tab-panel{display:none}.tab-panel.active{display:grid}.workspace{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:20px;align-items:start}.editor-card,.preview-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(25,34,59,.98),rgba(19,26,47,.94));border-radius:18px;box-shadow:var(--shadow)}.editor-card{padding:27px}.preview-card{position:sticky;top:18px;min-height:660px;padding:25px;display:flex;flex-direction:column}.section-heading{margin-bottom:24px}.section-heading h2,.preview-title h2{font:700 21px "Plus Jakarta Sans";letter-spacing:-.035em;margin:0}.section-heading p:not(.eyebrow){margin:6px 0 0;color:var(--muted);font-size:14px}.field-label{display:block;font-size:12px;font-weight:700;color:#c6d0eb;margin:19px 0 8px}.field-label small{font-weight:500;color:var(--muted)}textarea,select{width:100%;font:400 14px/1.55 "DM Sans";color:var(--ink);background:#0e1529;border:1px solid #303c5e;border-radius:10px;padding:12px 13px;outline:none;resize:vertical}textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(139,124,255,.16)}textarea::placeholder{color:#697797}.choice-grid{display:grid;gap:10px}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice{display:flex;flex-direction:column;padding:13px;border:1px solid #313d5f;background:#111930;border-radius:12px;cursor:pointer;transition:.2s}.choice:hover,.choice.selected{background:#1c2444;border-color:#8577f5}.choice input{position:absolute;opacity:0}.choice-icon{color:#afa6ff;font-size:20px;line-height:1;margin-bottom:10px}.choice b{font-size:13px}.choice small{color:var(--muted);font-size:11px;line-height:1.3;margin-top:3px}.card-actions{display:flex;gap:10px;margin-top:20px}.button{font:700 13px "DM Sans";border:0;border-radius:10px;padding:11px 15px;cursor:pointer;transition:.2s}.button.primary{background:linear-gradient(135deg,#8f7eff,#6555df);color:#fff;flex:1}.button.primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.button.primary span{font-size:17px;vertical-align:-1px;margin-left:6px}.button.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.button.secondary{background:#e6e3ff;color:#211a5c}.preview-title{display:flex;justify-content:space-between;align-items:start;margin-bottom:17px}.icon-button{width:35px;height:35px;border:1px solid var(--line);background:#19223c;color:#c9c4ff;border-radius:9px;cursor:pointer;font-size:19px}.prompt-output{flex:1;min-height:440px;background:#091022;color:#dce4fa;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.6}.preview-footer{display:flex;justify-content:space-between;align-items:center;margin-top:13px;color:var(--muted);font-size:12px}.workflow-note{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;color:var(--muted);font-size:12px;line-height:1.55}.workflow-note b{color:#d9e2fb}.controls-heading{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.controls-heading h3{margin:0;color:#e3e8f9;font-size:15px}.controls-heading h3 span{font-weight:500;color:var(--accent2)}.controls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:15px}.controls-grid label>span{display:block;font-size:12px;font-weight:700;color:#c6d0eb;margin-bottom:7px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:19px 0 4px;padding:14px;background:#10182e;border:1px solid #293554;border-radius:11px}.checks label{font-size:12px;color:#bac6e1;display:flex;gap:7px;align-items:start}.checks input{accent-color:var(--accent);margin-top:2px}#toast{position:fixed;right:22px;bottom:22px;opacity:0;transform:translateY(12px);pointer-events:none;background:#e8fff5;color:#0b623e;font-weight:700;font-size:13px;border-radius:10px;padding:12px 16px;box-shadow:0 12px 34px #0006;transition:.25s}#toast.show{opacity:1;transform:translateY(0)}
@media(max-width:900px){.shell{padding:18px}.workspace{grid-template-columns:1fr}.preview-card{position:static;min-height:500px}.hero{padding-top:32px}.progress{display:none}}@media(max-width:560px){.choice-grid.three,.controls-grid,.checks{grid-template-columns:1fr}.topbar{padding-bottom:16px}.hero h1{font-size:38px}.editor-card,.preview-card{padding:18px}.tabs{overflow:auto}.tab{white-space:nowrap}.card-actions{flex-wrap:wrap}.button.primary{flex:auto;width:100%}.carousel-count-wrap{align-items:stretch;flex-direction:column}.carousel-count-wrap select{width:100%}}
.carousel-options{margin-top:16px;padding:1px 14px 14px;background:#10182e;border:1px solid #303c5e;border-radius:12px}.carousel-options .field-label{margin-top:13px}.carousel-count-wrap{display:flex;align-items:center;gap:12px}.carousel-count-wrap select{width:120px;flex:none}.carousel-count-wrap small{color:var(--muted);font-size:12px;line-height:1.35}
.brief-heading{border-top:1px solid var(--line);margin-top:25px;padding-top:22px}.brief-heading h3{font:700 15px "Plus Jakarta Sans";margin:0;color:#e3e8f9}.brief-heading>p:last-child{font-size:12px;line-height:1.5;color:var(--muted);margin:6px 0 0}.brief-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.brief-fields label{display:block}.brief-fields label span{display:block;font-size:11px;font-weight:700;letter-spacing:.025em;color:#c6d0eb;margin-bottom:7px}.brief-fields textarea,.brief-fields input{width:100%;font:400 13px/1.5 "DM Sans";color:var(--ink);background:#0e1529;border:1px solid #303c5e;border-radius:10px;padding:11px 12px;outline:none}.brief-fields textarea:focus,.brief-fields input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(139,124,255,.16)}.brief-fields textarea{resize:vertical}.brief-fields label:first-child,.brief-fields label:nth-child(4){grid-column:1/-1}
.visual-previews-card{gap:0}.visual-previews{display:grid;gap:14px;min-height:0;overflow:auto;padding-right:2px}.visual-preview-box{padding:16px;border:1px solid #303c5e;border-radius:13px;background:#10182e}.visual-preview-box .preview-title{margin-bottom:11px}.visual-preview-box .preview-title h3{font:700 16px "Plus Jakarta Sans";letter-spacing:-.02em;margin:0}.visual-preview-box .eyebrow{font-size:10px;margin-bottom:4px}.visual-prompt-output{min-height:280px;height:280px;flex:none}.visual-preview-box .preview-footer{margin-top:10px}.empty-preview{display:grid;place-items:center;min-height:360px;border:1px dashed #394667;border-radius:13px;color:var(--muted);font-size:13px;line-height:1.5;padding:24px;text-align:center}
.app-footer{text-align:center;color:#7482a4;font-size:12px;letter-spacing:.02em;padding:27px 0 0}.app-footer span{color:#4d5875;margin:0 8px}
.control-section{border:1px solid #303c5e;background:#10182e;border-radius:13px;margin-top:14px;padding:16px}.control-section h4{font:700 12px "Plus Jakarta Sans";letter-spacing:.08em;color:#a99fff;margin:0 0 14px}.control-section h4 small{letter-spacing:0;color:var(--muted);font:500 11px "DM Sans"}.control-subsection+.control-subsection{border-top:1px solid #2a3654;margin-top:16px;padding-top:16px}.control-subsection h5{font-size:12px;color:#d9e1f7;margin:0 0 12px}.control-section input,.control-section textarea{width:100%;font:400 13px/1.5 "DM Sans";color:var(--ink);background:#0e1529;border:1px solid #303c5e;border-radius:10px;padding:11px 12px;outline:none}.control-section input:focus,.control-section textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(139,124,255,.16)}.asset-label{display:block;margin-top:15px}.asset-label>span{display:block;font-size:12px;font-weight:700;color:#c6d0eb;margin-bottom:8px}.asset-filenames{display:grid;grid-template-columns:1fr 1fr;gap:9px}.toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle-grid label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#c6d0eb}.coming-controls{border:1px dashed #3d4b70;background:#10182e;border-radius:13px;margin-top:20px;padding:22px;color:var(--muted)}.coming-controls h3{font:600 14px "Plus Jakarta Sans";margin:0;color:#dce4f8}@media(max-width:560px){.asset-filenames,.toggle-grid{grid-template-columns:1fr}}
.output-controls{margin-top:0}.toggle-grid.compact{margin-top:15px}
.item-prompts{display:grid;gap:14px;margin-top:16px}.item-prompt{border:1px solid #303c5e;border-radius:13px;background:#10182e;padding:15px}.item-prompt .preview-title{margin-bottom:10px}.item-prompt .preview-title h3{font:700 15px "Plus Jakarta Sans";margin:0}.item-prompt .eyebrow{font-size:10px;margin-bottom:3px}.item-prompt-output{min-height:230px;height:230px;flex:none}.toggle-button{display:inline-flex;align-items:center;justify-content:space-between;gap:4px;align-self:start;justify-self:start;width:64px;min-width:64px;padding:3px 6px 3px 4px;border:1px solid #425073;border-radius:999px;background:#172039;color:#c3cee5;font:700 9px "DM Sans";cursor:pointer}.toggle-button i{width:13px;height:13px;flex:0 0 13px;border-radius:50%;background:#71809f;transition:.18s}.toggle-button span{display:block;min-width:16px;text-align:center}.toggle-button:not(.on) i{order:2}.toggle-button:not(.on) span{order:1}.toggle-button.on{border-color:#6d62dc;background:#2a245a;color:#fff}.toggle-button.on i{background:#a99fff}.conditional-file[hidden],.asset-label[hidden],select[hidden]{display:none!important}select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#aeb9d3 50%),linear-gradient(135deg,#aeb9d3 50%,transparent 50%);background-position:calc(100% - 15px) 53%,calc(100% - 10px) 53%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:39px}
.select-card-hint{margin:16px 0 0;padding:15px;border:1px dashed #405078;border-radius:12px;color:var(--muted);font-size:13px;text-align:center}
@media(max-width:560px){.brief-fields{grid-template-columns:1fr}.brief-fields label:first-child,.brief-fields label:nth-child(4){grid-column:auto}}
@media(max-width:560px){.carousel-count-wrap{align-items:stretch;flex-direction:column}.carousel-count-wrap select{width:100%}}

/* Balanced hero and footer breathing room. */
.hero{padding:50px 0}
.app-footer{padding:32px 0 34px}

/* Simple local access screen */
body.locked{min-height:100vh;display:grid;place-items:center;padding:20px}.locked #appShell,.locked .app-footer{display:none}.authenticated .login-screen{display:none}.login-screen{width:min(100%,430px)}.login-card{display:grid;gap:14px;padding:34px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(25,34,59,.99),rgba(19,26,47,.98));box-shadow:var(--shadow)}.login-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--accent),#c68bff);font-size:21px}.login-card .eyebrow{margin:5px 0 -8px}.login-card h1{font:800 27px/1.13 "Plus Jakarta Sans";letter-spacing:-.045em;margin:0}.login-card h1 span{color:#a79cff}.login-card>p:not(.eyebrow):not(.login-error){margin:-3px 0 5px;color:var(--muted);font-size:14px}.login-card>label:not(.remember){display:grid;gap:7px;color:#c6d0eb;font-size:12px;font-weight:700}.login-card input[type="text"],.login-card input[type="password"]{width:100%;font:400 14px "DM Sans";color:var(--ink);background:#0e1529;border:1px solid #303c5e;border-radius:10px;padding:12px;outline:none}.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(139,124,255,.16)}.login-card .remember{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);cursor:pointer}.login-card .remember input{accent-color:var(--accent)}.login-error{margin:0;color:#ff9ea6;font-size:12px;font-weight:700}.logout-button{margin-left:auto;margin-right:18px;border:1px solid var(--line);background:#18213b;color:#cfd8ef;border-radius:9px;padding:8px 11px;font:700 11px "DM Sans";cursor:pointer}.logout-button:hover{border-color:#7164dd;color:#fff}@media(max-width:900px){.logout-button{margin-right:0}.topbar{gap:10px}.progress{display:none}}
