@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--bg:#f7f7fa;--paper:#fff;--soft:#f0edf6;--ink:#26232f;--muted:#726c7e;--line:#e7e4ed;--surface-raised:#fff;--accent-soft:#ede6fa;--shadow:0 2px 4px #21163004,0 12px 32px #21163008;--image-outline:rgba(0,0,0,.1);--accent:#8b5cf6;--accent-dark:#7445db;--pink:#f472b6;--negative:#b93657;--radius:14px;--font:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
html{scrollbar-gutter:stable}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.6 var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{color:var(--ink)}svg{width:19px;height:19px;flex-shrink:0;display:block}[data-icon]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}[hidden]{display:none!important}:focus-visible{outline:3px solid #bc95ff;outline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:750;line-height:1.25;letter-spacing:-.04em}h1{font-size:32px}h2{font-size:22px}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--paper);padding:16px}.skip-link:focus{top:16px}
.sidebar{width:224px;position:fixed;inset:0 auto 0 0;background:var(--paper);border-right:1px solid var(--line);padding:32px 20px 16px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;margin-bottom:42px;font-size:30px;font-weight:800;letter-spacing:-1.8px;line-height:1}.brand-mark{display:grid;place-items:center;width:39px;height:44px;color:var(--accent);font-size:48px;line-height:1}.brand-ai{font-size:13px;letter-spacing:0;font-weight:700;vertical-align:super;padding-left:4px;color:var(--accent)}.brand small{font-size:11px;font-weight:700;letter-spacing:2.2px;color:var(--muted);display:block;margin-top:10px;padding-left:1px}.space-label{font-size:12px;letter-spacing:1.3px;color:var(--muted);font-weight:700;padding:0 12px;margin-bottom:12px}.nav-item{display:flex;align-items:center;gap:12px;text-align:left;width:100%;padding:11px 12px;border-radius:10px;font-weight:600;color:var(--muted);transition:background .16s,color .16s;min-height:44px}.nav-item svg{width:18px;height:18px}.nav-item:hover{background:var(--soft);color:var(--accent-dark)}.nav-item.active{background:var(--accent-soft);color:var(--accent-dark)}.nav-badge{font-size:10px;letter-spacing:.7px;margin-left:auto;background:var(--accent-soft);color:#7b47ca;padding:2px 5px;border-radius:4px}.main-nav,.tools-nav{display:grid;gap:4px}.tools-label{margin-top:34px}.sidebar-bottom{margin-top:auto;padding-top:44px}.balance-card{border:1px solid var(--line);background:var(--soft);border-radius:14px;padding:15px;margin-bottom:14px}.balance-label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.balance-card strong{font-size:24px;font-weight:750}.balance-card strong small{font-weight:500;font-size:14px;color:var(--muted)}.balance-card .button{margin-top:12px;font-size:12px;padding:8px 10px;min-height:34px}.balance-card svg{width:14px}.user-button{display:flex;align-items:center;gap:10px;width:100%;padding:17px 0 2px;margin-top:10px;border-top:1px solid var(--line);text-align:left}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#8d5bd1;background:var(--accent-soft);font-weight:750}.user-button strong{display:block;font-size:14px;max-width:122px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-button small{display:block;font-size:12px;color:var(--muted)}.user-button>[data-icon]{margin-left:auto}.user-button svg{width:14px}
.app-shell{margin-left:224px}.topbar{height:80px;border-bottom:1px solid var(--line);background:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:0 36px;gap:20px}.breadcrumbs{display:flex;align-items:center;gap:16px;font-size:14px;color:var(--muted)}.breadcrumbs strong{color:var(--ink);font-weight:600}.slash{color:#c4bccd}.topbar-right{display:flex;align-items:center;gap:24px}.workspace-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.workspace-label svg{width:15px;height:15px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);background:var(--paper);border-radius:9px;padding:10px 16px;min-height:42px;font-weight:650;font-size:13px;transition:background .16s,transform .16s,box-shadow .16s}.button:hover:not(:disabled){background:var(--soft);border-color:var(--line)}.button.primary{background:linear-gradient(110deg,#8b5cf6,#a671ed);border:0;color:white;box-shadow:0 4px 10px #8b5cf622}.button.primary:hover:not(:disabled){background:linear-gradient(110deg,#7b4ce8,#9861e4);box-shadow:0 5px 16px #8b5cf630}.button.light{background:var(--paper);border-color:var(--line);color:#8257bf}.button.small{padding:7px 13px;min-height:33px;font-size:12px}.button.small svg{width:14px;height:14px}.full{width:100%}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-size:12px;padding:4px 0;white-space:nowrap}.text-button:hover{color:var(--accent)}.text-button svg{width:13px;height:13px}.icon-button{display:grid;place-items:center;width:36px;height:36px;border-radius:8px}.icon-button:hover{background:var(--soft)}
.studio-view{display:grid;grid-template-columns:342px minmax(0,1fr);min-height:calc(100vh - 80px)}.composer{padding:29px 24px 24px;background:var(--paper);border-right:1px solid var(--line);position:relative}.composer-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.composer-heading h1{font-size:21px;letter-spacing:-.7px}.tiny-spark{font-size:24px;color:#ae7fe3}.mode-tabs{display:flex;padding:4px;background:var(--soft);border:1px solid var(--line);border-radius:10px;margin-bottom:28px;gap:2px}.mode-tabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 4px;font-size:14px;color:var(--muted);border-radius:7px;font-weight:650}.mode-tabs button[aria-selected=true]{background:var(--paper);color:var(--accent-dark);box-shadow:0 2px 6px #2e174211}.mode-tabs svg{width:16px;height:16px}.field-label{display:flex;justify-content:space-between;font-size:14px;font-weight:650;margin-bottom:9px;color:var(--ink)}.field-label>span{font-size:12px;color:var(--muted);font-weight:500}.select-wrap{display:flex;align-items:center;position:relative;min-width:0}.select-wrap select{appearance:none;border:1px solid var(--line);border-radius:9px;min-height:43px;width:100%;background:var(--paper);padding:10px 32px 10px 12px;font-size:14px;font-weight:600;cursor:pointer}.select-wrap>[data-icon]{pointer-events:none;position:absolute;right:12px;color:#a398ae}.select-wrap svg{width:13px;height:13px}.model-select-wrap select{padding-left:42px;background:var(--paper);border-color:var(--line);font-weight:650}.model-symbol{position:absolute;left:13px;pointer-events:none;color:var(--accent);font-size:22px;line-height:1}.field-note{font-size:12px;color:var(--muted);margin:8px 0 20px;line-height:1.6}.label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.label-row .field-label{margin:0}.label-row .text-button,.optional{font-size:12px}.optional{color:var(--muted)}.prompt-wrap{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper);margin-bottom:22px;transition:border-color .15s}.prompt-wrap:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf60a}textarea{resize:vertical;border:0;background:transparent;line-height:1.75}#prompt{display:block;width:100%;min-height:151px;padding:13px 14px;font-size:14px;outline:none}textarea::placeholder{color:var(--muted)}.prompt-footer{display:flex;justify-content:space-between;padding:0 12px 10px;color:var(--muted);font-size:11px}.upload-zone{border:1px dashed var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:100px;background:var(--paper);cursor:pointer;position:relative;transition:background .16s,border-color .16s}.upload-zone:hover,.upload-zone.dragging{background:var(--accent-soft);border-color:var(--accent)}.upload-zone>[data-icon]{color:#b89cdb;margin-bottom:2px}.upload-zone strong{font-size:12px;font-weight:600;color:var(--muted)}.upload-zone>span:last-of-type{font-size:11px;color:var(--muted)}.upload-zone input{position:absolute;width:1px;height:1px;clip-path:inset(50%)}.upload-zone:focus-within{outline:3px solid #bc95ff;outline-offset:3px}.upload-zone.disabled{opacity:.55;cursor:not-allowed}.attachments{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.attachment{width:54px;height:54px;position:relative}.attachment img{width:100%;height:100%;object-fit:cover;border-radius:8px;border:1px solid var(--line)}.attachment button{position:absolute;right:-5px;top:-5px;border-radius:50%;background:var(--ink);color:white;width:19px;height:19px;padding:3px}.attachment svg{width:13px;height:13px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.settings-grid:has(#duration-field[hidden]){grid-template-columns:1fr}.advanced{margin-top:16px;font-size:14px;color:var(--muted)}.advanced summary{cursor:pointer}.advanced textarea{width:100%;min-height:80px;border:1px solid var(--line);margin:10px 0;border-radius:8px;padding:10px;font-size:14px}.generation-bottom{margin-top:30px}.generate-button{min-height:47px;font-size:14px;justify-content:flex-start;padding:12px 16px;border-radius:10px;letter-spacing:.05px}.generate-button svg{width:17px;height:17px}.cost-pill{margin-left:auto;background:#ffffff26;border-radius:5px;font-size:12px;padding:3px 7px;white-space:nowrap}.generation-caption{display:flex;justify-content:space-between;margin-top:11px;font-size:11px;color:var(--muted);gap:10px}kbd{font:10px var(--font);color:var(--muted);white-space:nowrap}.form-error{background:#fff0f4;color:var(--negative);padding:10px;border-radius:8px;font-size:14px;margin-bottom:12px}
.canvas-section{padding:27px 34px 20px;min-width:0;display:flex;flex-direction:column;position:relative;background:var(--bg)}.canvas-topline{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-eyebrow,.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--muted);font-weight:650}.welcome-heading{margin-top:40px}.welcome-heading>.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted)}.welcome-heading h2{font-size:clamp(32px,3.25vw,52px);letter-spacing:-2.4px;line-height:1.13;margin:13px 0 18px;font-weight:750}.welcome-heading h2>span{color:#ac78cd}.welcome-heading p{font-size:14px;line-height:1.8;color:var(--muted)}.inspiration-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:28px}.template-card{text-align:left;padding:0;border-radius:12px;overflow:hidden;background:var(--line);position:relative;min-height:180px;border:1px solid var(--line);transition:transform .18s,box-shadow .18s}.template-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #39244815}.template-art{display:block;width:100%;height:100%;min-height:180px;background-image:url('/studio/assets/inspiration.png');background-size:300% auto;background-position:left center;background-color:#b8a7c5}.template-art.art-1{background-position:center}.template-art.art-2{background-position:right}.template-card:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#1e1336bb);pointer-events:none}.template-overlay{position:absolute;inset:auto 13px 13px;color:white;z-index:1}.template-overlay small{display:block;font-size:10px;letter-spacing:1.4px;margin-bottom:3px;color:#efdef9}.template-overlay strong{display:block;font-weight:600;font-size:14px;line-height:1.3;letter-spacing:-.2px}.template-arrow{position:absolute;right:0;bottom:0;color:#fff}.template-arrow svg{width:15px;height:15px}.canvas-tip{margin-top:27px;padding:16px 0;display:flex;align-items:flex-start;gap:14px;border-top:1px solid var(--line)}.tip-icon{width:34px;height:34px;border-radius:10px;background:var(--accent-soft);color:#b28bdc}.tip-icon svg{width:17px;height:17px}.canvas-tip strong{font-size:12px;font-weight:650;color:var(--muted)}.canvas-tip p{font-size:12px;line-height:1.7;color:var(--muted);margin-top:4px}.model-wordmarks{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:19px;padding-top:15px;color:var(--muted)}.model-wordmarks>span{font-size:17px;font-weight:700;letter-spacing:-.7px}.model-wordmarks>span:last-child{font-size:11px;letter-spacing:0;font-weight:500}.wordmark-ai{font-size:12px;letter-spacing:0}.canvas-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin-top:auto;padding-top:38px}.brand-mini{font-size:13px;font-weight:700;letter-spacing:-.6px;color:var(--muted)}
.result-header{display:flex;justify-content:space-between;align-items:center;margin:24px 0 16px;gap:12px}.result-header h2{font-size:20px}.status-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;background:var(--soft);color:#9b76c4;padding:5px 10px;border-radius:7px}.status-badge.completed{color:#327d62;background:#e9f6ef}.status-badge.failed{background:#ffedf3;color:var(--negative)}.result-stage{min-height:320px;display:grid;place-items:center;border-radius:16px;background:var(--soft);border:1px solid var(--line);overflow:hidden}.result-stage img,.result-stage video{max-width:100%;max-height:65vh;display:block;object-fit:contain}.result-stage video{width:100%;background:#191320}.result-text{white-space:pre-wrap;word-break:break-word;line-height:1.85;font-size:15px;background:var(--paper);padding:30px;width:100%;align-self:stretch;max-height:65vh;overflow-y:auto}.result-prompt{font-size:14px;line-height:1.8;color:var(--muted);margin-top:16px;max-height:110px;overflow:auto;white-space:pre-wrap}.result-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.result-meta{display:flex;gap:12px;font-size:12px;color:var(--muted);margin-top:16px}.pending-state,.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;padding:48px 24px;gap:14px;width:100%}.pending-state h3,.empty-state h2{font-size:21px}.pending-state p,.empty-state p{font-size:13px;line-height:1.8;color:var(--muted);max-width:360px}.pending-orb{width:72px;height:72px;display:grid;place-items:center;background:var(--accent-soft);border:1px solid #fff;border-radius:24px;color:var(--accent);margin-bottom:10px;animation:breathe 2s ease-in-out infinite}.pending-orb svg{width:32px;height:32px}.empty-state>[data-icon]{color:#a68ac4;background:var(--soft);width:64px;height:64px;border-radius:18px;margin-bottom:10px}.empty-state svg{width:28px;height:28px}.recent-section{margin-top:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.section-heading h2{font-size:17px}.recent-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.job-card{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:13px;overflow:hidden;min-width:0;padding:0;transition:box-shadow .18s,transform .18s}.job-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #3c254a0e}.job-thumb{aspect-ratio:1.25;background:var(--soft);display:flex;align-items:center;justify-content:center;overflow:hidden;color:#aa90c5;position:relative}.job-thumb img{width:100%;height:100%;object-fit:cover}.job-thumb>svg{width:30px;height:30px}.job-thumb p{padding:20px;align-self:flex-start;font-size:13px;line-height:1.8;color:var(--muted);white-space:pre-wrap;overflow:hidden;max-height:100%;word-break:break-word}.job-card-content{padding:12px}.job-card-content strong{font-size:14px;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6;word-break:break-word}.job-card-content small{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:10px;gap:10px}.recent-grid .job-card-content{padding:8px}.recent-grid .job-card-content strong{font-size:12px;-webkit-line-clamp:1}.recent-grid small{font-size:10px}.job-card .status-badge{position:absolute;left:8px;top:8px;font-size:11px}
.page-view{padding:40px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-heading h1{margin:12px 0}.page-heading p{color:var(--muted);font-size:14px;line-height:1.7}.history-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:24px}.filter-tabs{display:flex;gap:6px;flex-wrap:wrap}.filter-tabs button{padding:8px 14px;border-radius:8px;font-size:14px;color:var(--muted)}.filter-tabs .active{background:var(--accent-soft);color:var(--accent-dark);font-weight:650}.search-wrap{position:relative;width:235px;flex-shrink:0}.search-wrap [data-icon]{position:absolute;left:12px;top:12px;color:var(--muted)}.search-wrap svg{width:16px;height:16px}.search-wrap input{padding:10px 12px 10px 36px;min-width:0;width:100%;border:1px solid var(--line);border-radius:9px;background:var(--paper);font-size:14px}.history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.history-grid>.empty-state,.history-grid>.loading-state{grid-column:1/-1;min-height:400px}.load-more{margin:28px auto;display:flex}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.template-grid .template-card{min-height:330px}.template-grid .template-art{min-height:330px}.template-grid .template-overlay{inset:auto 22px 22px}.template-grid .template-overlay strong{font-size:22px}.template-grid .template-overlay small{font-size:12px;margin-bottom:8px}.inspiration-disclaimer{font-size:14px;color:var(--muted);margin-top:24px}.account-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--accent-soft);border:1px solid var(--line);padding:28px;border-radius:18px;margin-bottom:38px}.account-card h2{font-size:20px}.account-card p{color:var(--muted);margin-top:6px;font-size:14px}.account-balance{text-align:right;font-size:42px;font-weight:750;letter-spacing:-2px}.account-balance small{display:block;font-size:14px;color:var(--muted);letter-spacing:0;font-weight:500}.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.plan-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;position:relative}.plan-card.featured{border-color:#c3a4f1;background:var(--soft)}.plan-card h3{font-size:21px;margin-bottom:12px}.plan-price{font-size:30px;font-weight:750;letter-spacing:-1.2px}.plan-price small{font-size:14px;color:var(--muted);font-weight:500;letter-spacing:0}.plan-card p{margin:18px 0;color:var(--muted);font-size:14px}.plan-card ul{padding-left:18px;font-size:14px;color:var(--muted);line-height:2;margin-bottom:22px}.topup-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;border:1px solid var(--line);background:var(--paper);padding:24px;border-radius:16px}.topup-panel h2{font-size:20px}.topup-panel p{font-size:14px;color:var(--muted);margin-top:8px}.topup-panel form{display:flex;gap:10px;align-items:center}.topup-panel label{font-size:14px;color:var(--muted)}.topup-panel input{width:100px;padding:9px;border:1px solid var(--line);border-radius:8px}
.modal{padding:40px;border:1px solid var(--line);border-radius:24px;max-width:440px;width:calc(100% - 32px);box-shadow:0 24px 100px #2c134930;background:var(--paper);color:var(--ink);text-align:center}.modal::backdrop{background:#26163555;backdrop-filter:blur(6px)}.modal-close{position:absolute;right:14px;top:14px;color:var(--muted)}.dialog-mark{font-size:44px;color:var(--accent);margin-bottom:12px}.modal .eyebrow{font-size:11px}.modal h2{font-size:29px;margin:14px 0}.modal p{font-size:13px;color:var(--muted);line-height:1.8}.modal .button{margin-top:18px}.modal .dialog-footnote{font-size:12px;margin-top:20px}.login-code{font-size:32px;letter-spacing:7px;font-weight:750;color:var(--accent-dark);padding:12px 0}.login-instruction{font-size:14px;color:var(--muted);margin-top:16px}.login-status{font-size:12px;margin-top:15px;color:var(--muted)}.help-steps{text-align:left;padding-left:20px;font-size:13px;line-height:1.9;color:var(--muted);display:grid;gap:12px;margin:25px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 22px;border-radius:12px;background:#342443;color:white;box-shadow:0 8px 35px #27183722;z-index:100;max-width:calc(100% - 32px);font-size:13px}.loading-state{color:var(--muted);padding:40px;text-align:center}.skeleton{height:220px;background:linear-gradient(100deg,var(--soft) 30%,var(--paper) 45%,var(--soft) 60%);background-size:200% 100%;animation:shimmer 1.5s linear infinite;border-radius:14px}
@keyframes breathe{50%{transform:scale(1.06);box-shadow:0 0 35px #bd91ed33}}@keyframes shimmer{to{background-position:-200% 0}}
@media(min-width:1600px){.studio-view{grid-template-columns:380px minmax(0,1fr)}.composer{padding:32px}.canvas-section{padding:32px 56px}.welcome-heading{margin-top:54px}.inspiration-strip{margin-top:36px;gap:18px}.template-card,.template-art{min-height:240px}.canvas-tip{margin-top:35px}.welcome-heading h2{font-size:56px}.welcome-heading p{font-size:14px}.history-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1190px){.sidebar{width:192px;padding:28px 13px 14px}.app-shell{margin-left:192px}.brand{font-size:27px;padding-left:5px;gap:5px}.brand small{letter-spacing:1.5px}.nav-item{font-size:14px;gap:9px}.studio-view{grid-template-columns:310px minmax(0,1fr)}.composer{padding:26px 20px}.canvas-section{padding:26px 24px}.template-card,.template-art{min-height:160px}.template-overlay{inset:auto 9px 10px}.template-overlay strong{font-size:12px}.template-arrow{display:none}.welcome-heading h2{font-size:38px}.canvas-tip p br{display:none}.model-wordmarks{gap:10px}.model-wordmarks>span{font-size:14px}.page-view{padding:30px}.plan-card{padding:18px}.topup-panel{align-items:flex-start;flex-direction:column}.history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){.sidebar{width:78px;padding:28px 12px}.app-shell{margin-left:78px}.brand{padding:0;justify-content:center;margin-bottom:32px}.brand>span:last-child,.space-label,.balance-card,.user-button>span:not(.avatar),.nav-badge{display:none}.nav-item{font-size:0;justify-content:center;padding:13px 0}.nav-item svg{width:21px;height:21px}.tools-nav{margin-top:25px}.user-button{justify-content:center}.topbar{padding:0 25px;height:68px}.studio-view{min-height:calc(100vh - 68px)}.canvas-section{padding:26px 20px}.welcome-heading h2{font-size:34px;letter-spacing:-1.5px}.inspiration-strip{gap:8px}.template-card,.template-art{min-height:155px}.template-overlay strong{font-size:12px}.template-overlay small{font-size:7px}.canvas-topline>.section-eyebrow{font-size:10px}.model-wordmarks>span:last-child{display:none}.plan-grid{gap:12px}.template-grid{gap:12px}.template-grid .template-overlay strong{font-size:17px}}
@media(max-width:760px){.sidebar{width:64px;padding:24px 8px}.app-shell{margin-left:64px}.brand-mark{font-size:35px}.topbar{padding:0 20px;height:64px}.workspace-label{display:none}.studio-view{display:flex;flex-direction:column}.composer{border-right:0;border-bottom:1px solid var(--line);padding:24px}.composer-heading h1{font-size:24px}.mode-tabs{margin-bottom:22px}.field-label{font-size:13px}#prompt{font-size:14px;min-height:130px}.field-note{font-size:12px}.select-wrap select{font-size:13px}.upload-zone{min-height:88px}.generation-bottom{margin-top:22px}.generate-button{font-size:14px}.generation-caption{font-size:12px}.canvas-section{padding:24px;min-height:600px}.welcome-heading{margin-top:30px}.welcome-heading h2{font-size:42px}.welcome-heading p{font-size:13px}.template-card,.template-art{min-height:200px}.template-overlay strong{font-size:14px}.template-overlay small{font-size:10px}.canvas-tip p{font-size:14px}.canvas-tip strong{font-size:13px}.canvas-footer{font-size:12px}.page-view{padding:28px 22px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:30px}.page-heading p{font-size:13px}.history-toolbar{flex-direction:column;align-items:stretch}.search-wrap{width:100%}.history-grid{gap:12px}.template-grid{grid-template-columns:1fr}.template-grid .template-card,.template-grid .template-art{min-height:330px}.plan-grid{grid-template-columns:1fr}.plan-card{padding:25px}.topup-panel form{flex-wrap:wrap}.topup-panel label{width:100%}.topup-panel input{flex:1}.account-card{padding:22px}.account-balance{font-size:32px}.result-stage{min-height:260px}}
@media(max-width:450px){.sidebar{inset:auto 0 0 0;width:100%;height:64px;padding:6px 12px;border-right:0;border-top:1px solid var(--line);background:var(--paper);backdrop-filter:blur(12px);flex-direction:row}.sidebar .brand,.sidebar .tools-nav,.sidebar .sidebar-bottom{display:none}.main-nav{display:flex;width:100%;justify-content:space-around}.main-nav .nav-item{width:auto;flex:1;display:flex;flex-direction:column;gap:3px;font-size:11px;padding:7px 10px}.main-nav .nav-item svg{width:18px;height:18px}.app-shell{margin-left:0;padding-bottom:64px}.topbar{padding:0 18px;height:60px}.breadcrumbs{gap:10px}.composer{padding:22px 20px}.canvas-section{padding:22px 20px}.welcome-heading h2{font-size:39px}.inspiration-strip{gap:8px}.template-card,.template-art{min-height:165px}.template-overlay strong{font-size:12px}.template-overlay small{font-size:7px}.recent-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-view{padding:24px 18px}.history-grid{grid-template-columns:1fr 1fr;gap:10px}.filter-tabs{gap:2px}.filter-tabs button{font-size:12px;padding:7px 10px}.job-card-content{padding:10px}.job-card-content small{font-size:11px}.modal{padding:35px 25px}.account-card{align-items:flex-start;flex-direction:column}.account-balance{text-align:left}.toast{bottom:78px}.canvas-footer span:last-child{font-size:10px}}
/* Shared surfaces keep every screen consistent in both themes. */
:root{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark;--bg:#15141b;--paper:#1c1b23;--surface-raised:#25232e;--soft:#25232f;--ink:#eeecf3;--muted:#aba5b9;--line:#35313f;--accent:#b197fc;--accent-dark:#c1a9ff;--accent-soft:#332941;--negative:#ff9ab3;--shadow:0 2px 4px #00000014,0 12px 32px #00000026;--image-outline:rgba(255,255,255,.1)}
h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}button:active:not(:disabled){transform:scale(.96)}
.topbar{height:76px}.topbar-right{gap:18px}.sidebar{padding-top:28px}.sidebar .nav-badge{display:none}
.brand small{font-size:9px;letter-spacing:2.3px}.brand{margin-bottom:38px}.space-label{font-size:10px;letter-spacing:1.5px}
.balance-card{box-shadow:var(--shadow);border:0}.balance-card .button,.button.small{min-height:40px}
.button.primary{background:#8253e8;box-shadow:0 2px 4px #5327a81a,0 6px 14px #5327a81a}
.button.primary:hover:not(:disabled){background:#7345d4}.button.light{color:var(--accent-dark)}
.avatar,.nav-badge{color:var(--accent-dark)}.tip-icon{color:var(--accent)}
.icon-button{width:40px;height:40px}.text-button{min-height:40px}.text-button:focus-visible{border-radius:6px}
.theme-toggle{position:relative;border:1px solid var(--line);background:var(--paper);color:var(--ink)}
.theme-toggle>span{position:absolute;inset:0;transition:opacity .2s,transform .2s,filter .2s}
.theme-sun{opacity:0;transform:scale(.25);filter:blur(4px)}.theme-moon{opacity:1;transform:scale(1);filter:blur(0)}
[data-theme=dark] .theme-sun{opacity:1;transform:scale(1);filter:blur(0)}[data-theme=dark] .theme-moon{opacity:0;transform:scale(.25);filter:blur(4px)}
.composer-heading h1{font-size:20px}.tiny-spark{color:var(--accent)}.mode-tabs{background:var(--soft);border:0;padding:4px;border-radius:12px}
.mode-tabs button{min-height:40px;border-radius:8px}.mode-tabs button[aria-selected=true]{background:var(--paper);box-shadow:var(--shadow)}
.field-note{line-height:1.7}.prompt-wrap{background:var(--paper);border-radius:14px}.prompt-footer{gap:12px;font-variant-numeric:tabular-nums}
.label-row{min-height:40px}.select-wrap select{background:var(--paper)}.model-select-wrap select{background:var(--soft)}
.upload-zone{border-radius:14px;min-height:110px;padding:12px;text-align:center}.upload-zone strong{color:var(--ink)}.upload-zone>span:last-of-type{max-width:100%;line-height:1.6}.upload-zone:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.attachment{width:72px;height:72px;margin:4px}.attachment img{outline:1px solid var(--image-outline);outline-offset:-1px;border:0;border-radius:12px}
.attachment button{width:40px;height:40px;right:-8px;top:-8px;display:grid;place-items:center;background:var(--surface-raised);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow)}
.generation-caption kbd{font-size:10px}.generation-caption{align-items:flex-start}.cost-pill,.account-balance,.balance-card strong{font-variant-numeric:tabular-nums}
.welcome-heading h2{font-size:clamp(34px,3.6vw,58px);letter-spacing:-2.2px;font-weight:650}.welcome-heading h2>span{color:var(--accent-dark)}
.welcome-heading p{font-size:15px;line-height:1.85}.welcome-heading>.eyebrow{color:var(--muted)}.canvas-tip{border-color:var(--line)}
.template-card,.job-card{box-shadow:var(--shadow)}.template-card{outline:1px solid var(--image-outline);outline-offset:-1px;border:0;border-radius:16px}
.result-stage{background:var(--soft)}.result-text{background:var(--paper)}.form-error{background:var(--accent-soft)}
[data-theme=dark] .status-badge.completed{background:#21372f;color:#8bddb4}[data-theme=dark] .status-badge.failed{background:#402634}
.topup-panel input{background:var(--paper)}.plan-card.featured{border-color:var(--accent)}
.history-dialog{max-width:780px;text-align:left;padding:28px;max-height:90dvh;overflow:auto}.history-dialog .result-header{margin-top:16px;padding-right:24px}.history-dialog .result-text{max-height:45dvh}.history-dialog .result-actions .button{margin-top:0}.history-dialog .result-stage{min-height:180px}
/* Conversation mode: settings on the left, messages and composer together. */
.is-chat .canvas-topline,.is-chat .canvas-footer,.is-chat .recent-section{display:none}
.is-chat .canvas-section{padding:0 32px;min-height:0;height:calc(100dvh - 76px)}
.chat-panel{display:flex;flex-direction:column;width:100%;max-width:860px;margin:0 auto;min-height:0;height:100%}
.chat-header{display:flex;justify-content:space-between;align-items:center;padding:24px 0 20px;border-bottom:1px solid var(--line);gap:16px}
.chat-header h2{display:flex;align-items:center;gap:10px;font-size:23px;letter-spacing:-.7px;margin:4px 0}
.chat-header p{font-size:12px;color:var(--muted)}.chat-live-dot{width:7px;height:7px;border-radius:50%;background:#46ac85;box-shadow:0 0 0 4px #46ac8512}
.chat-context-note{font-size:11px;color:var(--muted);text-align:right;line-height:1.7}
.chat-messages{flex:1;min-height:140px;overflow-y:auto;overscroll-behavior:contain;padding:24px 4px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.chat-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:100%;padding:24px 0;max-width:610px;margin:auto}
.chat-mark{width:58px;height:58px;background:var(--accent-soft);border:1px solid var(--line);color:var(--accent);display:grid;place-items:center;border-radius:19px;margin-bottom:22px;box-shadow:var(--shadow)}
.chat-mark svg{width:28px;height:28px}.chat-welcome .eyebrow{font-size:9px;letter-spacing:1.5px}
.chat-welcome h2{font-size:38px;letter-spacing:-1.5px;margin:12px 0}.chat-welcome>p{max-width:340px;color:var(--muted);font-size:14px;line-height:1.8}
.chat-suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin-top:30px}
.chat-suggestion{border:1px solid var(--line);border-radius:14px;padding:16px 14px;text-align:left;background:var(--paper);position:relative;transition:background .16s,transform .16s;min-width:0}
.chat-suggestion:hover{background:var(--soft)}.chat-suggestion strong{display:block;font-size:12px;font-weight:650;margin-bottom:6px}.chat-suggestion span{display:block;font-size:11px;line-height:1.6;color:var(--muted);max-width:130px}.chat-suggestion svg{margin-top:16px;width:14px;height:14px;color:var(--muted)}
.chat-message{display:flex;align-items:flex-start;gap:10px;margin-bottom:24px;max-width:90%;overflow-wrap:anywhere}
.chat-avatar{width:30px;height:30px;flex-shrink:0;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-dark);font-size:17px;margin-top:22px}
.chat-message-body{min-width:0}.chat-author{font-size:10px;color:var(--muted);display:block;margin-bottom:7px;font-weight:650}
.chat-bubble{background:var(--paper);border:1px solid var(--line);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.85;box-shadow:0 2px 4px #00000003}
.chat-message-text{white-space:pre-wrap}.chat-message.user{margin-left:auto;flex-direction:row-reverse}.user .chat-author{text-align:right}.user .chat-avatar{font-size:10px;background:var(--soft);color:var(--muted)}
.user .chat-bubble{background:var(--accent-soft);border-color:transparent;border-radius:16px 4px 16px 16px}.chat-copy{font-size:10px;min-height:40px}.chat-image{display:block;max-width:100%;max-height:200px;border-radius:10px;outline:1px solid var(--image-outline);margin-top:10px}
.chat-bubble.is-pending{color:var(--muted)}.chat-bubble.is-pending .chat-message-text::after{content:' ●';color:var(--accent);animation:breathe 1.6s ease-in-out infinite;display:inline-block;font-size:9px}.chat-bubble.is-failed{color:var(--negative)}
.chat-notice{text-align:center;color:var(--muted);font-size:12px;padding:16px}.chat-notice .button{display:flex;margin:12px auto}
.chat-composer{flex-shrink:0;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:14px 16px 12px}
.chat-composer #prompt-label-row{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;min-height:0}
.chat-composer #clear-prompt{display:none}
.chat-composer .prompt-wrap{border:0;box-shadow:none;margin:0;background:transparent}.chat-composer #prompt{min-height:74px;max-height:180px;padding:4px 2px 10px;resize:vertical;font-size:14px}
.chat-composer .prompt-footer{padding:0 2px;font-size:10px}.chat-composer .prompt-footer>span:first-child{display:none}
.chat-composer #reference-section>.label-row,.chat-composer #upload-note{display:none}.chat-composer .upload-zone{display:inline-flex;flex-direction:row;min-height:40px;padding:4px 10px;gap:8px;border:1px solid var(--line);border-radius:8px;margin-top:10px;background:var(--paper)}
.chat-composer .upload-zone>[data-icon]{margin:0}.chat-composer .upload-zone>span:last-of-type{display:none}.chat-composer .upload-zone strong{font-size:11px}.chat-composer .attachments:empty{display:none}
.chat-composer .generation-bottom{margin-top:10px}.chat-composer .generate-button{display:flex;min-height:42px;width:fit-content;margin-left:auto;font-size:12px;gap:12px;border-radius:10px}.chat-composer .generation-caption{margin-top:8px;font-size:10px}
.chat-footnote{text-align:center;font-size:10px;color:var(--muted);padding:12px 0 16px}
@media(min-width:761px){.is-chat #text-settings{margin-top:12px}.is-chat .settings-grid{display:none}}
@media(max-width:980px){.is-chat .canvas-section{padding:0 20px}.chat-suggestions{grid-template-columns:1fr}.chat-suggestion{padding:12px 34px 12px 14px}.chat-suggestion strong{margin-bottom:2px}.chat-suggestion span{max-width:none}.chat-suggestion svg{position:absolute;right:12px;top:14px;margin:0}.chat-welcome h2{font-size:30px}.chat-context-note{display:none}}
@media(max-width:760px){.topbar{height:64px}.topbar-right{gap:10px}.is-chat .composer{padding:16px 20px}.is-chat .composer-heading{margin-bottom:12px}.is-chat .mode-tabs{margin-bottom:16px}.is-chat .field-note{margin-bottom:12px}.is-chat #text-settings{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.is-chat #text-settings>label{display:none}.is-chat #text-settings>.field-note{grid-column:1/-1;grid-row:2;margin:0;font-size:10px}.is-chat #text-settings>.advanced{margin:0;font-size:12px;grid-column:1/-1}.is-chat #new-chat{justify-self:start;font-size:11px}.is-chat .canvas-section{height:78dvh;min-height:560px;padding:0 20px}.chat-header{padding:20px 0 12px}.chat-composer{padding:12px;border-radius:16px}.chat-welcome{padding:16px 0}.chat-mark{width:42px;height:42px;border-radius:14px;margin-bottom:14px}.chat-suggestions{margin-top:18px;gap:6px}.chat-message{max-width:100%;gap:7px}.chat-bubble{padding:12px 14px}.chat-avatar{width:25px;height:25px}.chat-footnote{font-size:9px}.chat-composer .generation-caption{flex-wrap:wrap}.is-chat .settings-grid{display:none}}
@media(max-width:450px){.topbar{height:60px}.sidebar{padding-bottom:env(safe-area-inset-bottom);height:calc(64px + env(safe-area-inset-bottom))}.app-shell{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.canvas-topline{gap:8px}.canvas-topline .section-eyebrow{letter-spacing:.6px}.chat-suggestion span{font-size:10px}.chat-composer .prompt-footer{display:none}.chat-composer #prompt{font-size:16px}.chat-message{font-size:13px}.welcome-heading h2{font-size:38px}}
@media(min-width:761px) and (max-height:850px){.chat-welcome{padding:8px 0}.chat-welcome .chat-mark,.chat-welcome>.eyebrow{display:none}.chat-welcome h2{font-size:30px;margin:0 0 10px}.chat-welcome>p{font-size:12px}.chat-suggestions{margin-top:18px}.chat-suggestion{padding:12px}.chat-suggestion svg{display:none}.chat-header{padding:16px 0 12px}.chat-suggestion span{font-size:10px}}
/* The same brand asset as the Telegram Mini App. */
.brand-logo{display:block;width:42px;height:42px;flex-shrink:0;object-fit:cover;border-radius:13px;outline:1px solid var(--image-outline);outline-offset:-1px}
.brand small{white-space:nowrap;letter-spacing:1.6px}
.mobile-brand-logo{display:none;width:28px;height:28px;object-fit:cover;border-radius:9px;outline:1px solid var(--image-outline);outline-offset:-1px}
.dialog-logo{display:block;margin:0 auto 18px;border-radius:20px;outline:1px solid var(--image-outline);outline-offset:-1px}
.brand-mini{display:inline-flex;align-items:center;gap:6px}.brand-mini img{border-radius:6px;outline:1px solid var(--image-outline);outline-offset:-1px}
.chat-brand-logo,.chat-avatar:is(img){object-fit:cover;outline:1px solid var(--image-outline);outline-offset:-1px}
/* Model selection is part of the page, so it follows the active theme. */
.model-picker{position:relative;display:block;min-width:0;z-index:5}
.model-picker-trigger{width:100%;min-height:52px;display:flex;align-items:center;gap:10px;padding:11px 12px;background:var(--soft);border:1px solid var(--line);border-radius:12px;text-align:left;transition:border-color .16s,background .16s,box-shadow .16s}
.model-picker-trigger:hover:not(:disabled),.model-picker-trigger[aria-expanded=true]{border-color:var(--accent);background:var(--paper)}
.model-picker-trigger[aria-expanded=true]{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.model-picker-symbol{display:grid;place-items:center;color:var(--accent);flex-shrink:0}.model-picker-symbol svg{width:18px;height:18px}
.model-picker-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:650}
.model-picker-price{font-size:10px;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.model-picker-trigger>svg{width:14px;height:14px;color:var(--muted);transition:transform .16s}.model-picker-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}
.model-picker-popup{position:absolute;inset:calc(100% + 8px) 0 auto;display:flex;flex-direction:column;min-width:0;border-radius:16px;border:1px solid var(--line);background:var(--surface-raised);box-shadow:0 4px 10px #0000000a,0 16px 48px #00000024;overflow:hidden;padding:6px}
.model-picker-popup.opens-up{inset:auto 0 calc(100% + 8px)}
.model-picker-search{display:flex;align-items:center;gap:10px;padding:4px 10px 10px;border-bottom:1px solid var(--line);margin:4px 4px 6px;flex-shrink:0}
.model-picker-search>svg{width:16px;height:16px;color:var(--muted)}
.model-picker-search input{min-width:0;width:100%;min-height:32px;border:0;outline:none;background:transparent;color:var(--ink);font-size:12px}.model-picker-search:focus-within{border-bottom-color:var(--accent)}
.model-picker-search input::placeholder{color:var(--muted)}
.model-picker-options{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-height:0;padding:2px}
.model-option-group+.model-option-group{margin-top:8px}
.model-option-group-label{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;background:var(--paper);color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.04em}
.model-option-group-count{font-variant-numeric:tabular-nums;font-weight:500}
.model-preview{margin:26px 0 32px;min-width:0}.model-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.model-preview-heading h2{font-size:27px;letter-spacing:-.035em;margin-top:7px;text-wrap:balance}.model-preview-description{margin-top:10px;max-width:62ch;color:var(--muted);font-size:13px;line-height:1.7;text-wrap:pretty}.model-preview-heading>.text-button{min-height:40px;flex-shrink:0}
.model-preview-figure{margin:0;padding:8px;background:var(--paper);border-radius:20px;box-shadow:var(--shadow)}.model-preview-stage{position:relative;display:grid;place-items:center;width:100%;height:clamp(260px,40vw,520px);overflow:hidden;border-radius:12px;background:var(--soft)}.model-preview-stage>img,.model-preview-stage>video{display:block;width:100%;height:100%;min-height:0;object-fit:contain}.model-preview-stage>img{outline:1px solid var(--image-outline);outline-offset:-1px}
.model-preview-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:12px}.model-preview-loading svg{width:32px;height:32px}.model-preview-stage>img{position:relative}
.model-preview-play{position:absolute;display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;border-radius:12px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);font-size:13px;font-weight:650;transition:transform .16s,background .16s}.model-preview-play:hover{background:var(--soft)}.model-preview-play:active{transform:scale(.96)}.model-preview-expand{position:absolute;right:12px;bottom:12px;min-height:40px;display:flex;align-items:center;padding:8px 12px;border-radius:10px;background:var(--paper);font-size:11px;box-shadow:var(--shadow)}
.model-preview-caption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 14px;padding:8px 10px 0;color:var(--muted);font-size:10px;line-height:1.5}.model-preview-caption a{min-height:40px;display:inline-flex;align-items:center;color:var(--accent-dark)}.model-preview-dimensions{font-variant-numeric:tabular-nums}.model-preview-dimensions:empty{display:none}.model-preview-note{margin:14px 2px 0;color:var(--muted);font-size:11px;line-height:1.7;text-wrap:pretty}.model-preview-empty{display:grid;justify-items:center;gap:12px;text-align:center;padding:28px;max-width:430px}.model-preview-empty>svg{width:38px;height:38px;color:var(--accent)}.model-preview-empty strong{font-size:17px}.model-preview-empty p{color:var(--muted);font-size:12px;line-height:1.7}.model-preview-status{padding:12px;color:var(--muted);font-size:12px}
@media(max-width:760px){.composer .model-preview{margin:18px 0 24px}.model-preview-heading{margin-bottom:12px;gap:10px}.model-preview-heading .eyebrow{font-size:9px}.model-preview-heading h2{font-size:20px}.model-preview-description{font-size:12px;margin-top:6px}.model-preview-stage{height:clamp(180px,55vw,250px)}.model-preview-caption{font-size:10px;padding:6px 4px 0}.model-preview-note{font-size:10px}.model-preview-heading>.text-button{font-size:10px}}
@media(prefers-reduced-motion:reduce){.model-preview-play{transition:none}}
.model-option{display:flex;align-items:center;gap:9px;min-height:64px;width:100%;padding:10px 9px;border-radius:10px;text-align:left;transition:background .14s}
.model-option:hover,.model-option:focus-visible{background:var(--soft)}.model-option:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.model-option[aria-selected=true]{background:var(--accent-soft)}.model-option:active{transform:none!important}
.model-option-check{width:17px;flex-shrink:0;color:var(--accent-dark);visibility:hidden}.model-option-check svg{width:17px;height:17px}.model-option[aria-selected=true] .model-option-check{visibility:visible}
.model-option-copy{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.model-option-name{font-size:12px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.model-option-note{font-size:10px;color:var(--muted);line-height:1.5}
.model-option-price{font-size:10px;font-weight:600;color:var(--accent-dark);white-space:nowrap;font-variant-numeric:tabular-nums}.model-option-price.is-shortfall{color:var(--negative)}
.model-picker-empty{padding:20px 14px;font-size:12px;line-height:1.7;text-align:center;color:var(--muted)}
.choice-picker{position:relative;display:block;min-width:0;z-index:4}.choice-picker:focus-within{z-index:9}.choice-picker-trigger{min-height:52px;background:var(--soft)}.choice-picker-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:2px}.choice-picker-note{overflow:hidden;color:var(--muted);font-size:9px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.choice-picker-popup{z-index:30;padding:6px}.choice-picker-options{max-height:320px}.choice-option{min-height:56px}.choice-option:disabled{cursor:not-allowed;opacity:.45}.choice-option .model-option-copy{gap:2px}.choice-option .model-option-note{font-size:9px}.chat-setting-label:not(:first-child){margin-top:18px}
@media(max-width:1190px){.brand-logo{width:36px;height:36px;border-radius:11px}}
@media(max-width:450px){.mobile-brand-logo{display:block}.model-picker-search input{font-size:16px}.model-option{min-height:66px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.plan-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-head h3{margin:0}.plan-benefits{position:relative;flex:0 0 auto}.plan-benefits>summary{list-style:none}.plan-benefits>summary::-webkit-details-marker{display:none}.plan-benefits-trigger{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;background:var(--soft);color:var(--muted);font-weight:800;line-height:1;cursor:pointer;transition:color .16s ease,background-color .16s ease,border-color .16s ease}.plan-benefits-trigger:hover,.plan-benefits:focus-within .plan-benefits-trigger,.plan-benefits[open] .plan-benefits-trigger{color:var(--accent);background:var(--accent-soft);border-color:var(--accent)}.plan-benefits-tooltip{position:absolute;z-index:12;top:calc(100% + 9px);right:0;width:248px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);box-shadow:0 18px 36px rgba(0,0,0,.12);color:var(--ink);opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s ease}.plan-benefits:hover .plan-benefits-tooltip,.plan-benefits:focus-within .plan-benefits-tooltip,.plan-benefits[open] .plan-benefits-tooltip{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.plan-benefits-tooltip strong{display:block;font-size:13px}.plan-benefits-tooltip ul{display:grid;gap:7px;margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.35}.result-image{cursor:zoom-in;transition:filter .16s ease}.result-image:hover{filter:brightness(1.04)}.result-image:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:10px}.media-dialog{position:relative;width:min(960px,calc(100vw - 28px));max-width:none;margin:auto;padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--paper);color:var(--ink);box-shadow:0 24px 80px rgba(0,0,0,.5)}.media-dialog::backdrop{background:rgba(7,9,16,.74);backdrop-filter:blur(4px)}.media-close{position:absolute;z-index:1;top:24px;right:24px;width:40px;height:40px;background:rgba(12,16,27,.78);color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.28)}.media-dialog-stage{display:flex;align-items:center;justify-content:center;min-height:min(65vh,620px);max-height:70vh;overflow:auto;border-radius:12px;background:var(--soft)}.media-dialog-stage img{width:calc(100% * var(--media-zoom,1));max-width:none;height:auto;display:block;transform-origin:center;transition:width .16s ease}.media-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 2px 2px}.media-zoom-controls{display:flex;align-items:center;gap:7px}.media-zoom-controls .icon-button{width:40px;height:40px}.media-zoom-reset{min-width:70px}.media-dialog-status{margin:10px 2px 0;color:var(--muted);font-size:13px}.media-dialog-status[hidden]{display:none}@media(max-width:560px){.plan-benefits-tooltip{right:-8px;width:min(248px,calc(100vw - 48px))}.media-dialog{width:calc(100vw - 16px);padding:8px}.media-dialog-stage{min-height:48vh;max-height:68vh}.media-close{top:16px;right:16px}.media-dialog-actions{align-items:stretch;flex-direction:column}.media-zoom-controls{justify-content:center}.media-dialog-actions>.button{justify-content:center}}
@media(prefers-reduced-motion:reduce){.plan-benefits-trigger,.plan-benefits-tooltip,.result-image,.media-dialog-stage img{transition:none}}

/* Workflow turns the existing Studio flow into a clear, reusable campaign path. */
.workflow-view{max-width:1280px;padding-top:48px;padding-bottom:56px}.workflow-heading{margin-bottom:34px}.workflow-heading p{max-width:660px}.workflow-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:28px;padding:clamp(26px,4vw,52px);border-radius:28px;background:linear-gradient(135deg,var(--paper),var(--accent-soft));box-shadow:var(--shadow);overflow:hidden;position:relative}.workflow-hero::after{content:'';position:absolute;width:420px;height:420px;right:-210px;top:-205px;border-radius:50%;background:color-mix(in srgb,var(--accent) 18%,transparent);filter:blur(2px);pointer-events:none}.workflow-hero-copy{position:relative;z-index:1}.workflow-kicker{display:block;font-size:10px;letter-spacing:1.7px;font-weight:700;color:var(--accent-dark)}.workflow-hero h2{font-size:clamp(38px,4.2vw,60px);line-height:1.06;letter-spacing:-.055em;margin:14px 0 18px}.workflow-hero h2 span{color:var(--accent-dark)}.workflow-hero p{max-width:550px;color:var(--muted);font-size:15px;line-height:1.85}.workflow-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}.workflow-hero-actions .button{min-height:44px}.workflow-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;align-content:center;position:relative;z-index:1}.workflow-step{display:grid;grid-template-columns:36px minmax(0,1fr) 28px;align-items:center;gap:13px;padding:15px 16px;background:color-mix(in srgb,var(--paper) 88%,transparent);border-radius:16px;box-shadow:0 2px 5px #241b3308;animation:workflow-enter .42s cubic-bezier(.2,0,0,1) both}.workflow-step:nth-child(2){animation-delay:.1s}.workflow-step:nth-child(3){animation-delay:.2s}.workflow-step>div{min-width:0}.workflow-number{font-size:11px;color:var(--accent-dark);font-weight:750;font-variant-numeric:tabular-nums}.workflow-step strong{display:block;font-size:13px;font-weight:700}.workflow-step p{font-size:11px;line-height:1.55;margin-top:2px}.workflow-step>[data-icon]{color:var(--accent-dark);justify-self:end}.workflow-step svg{width:18px;height:18px}.workflow-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.workflow-lane{display:flex;flex-direction:column;align-items:flex-start;min-height:260px;padding:24px;border-radius:20px;background:var(--paper);box-shadow:var(--shadow);position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s}.workflow-lane:hover{transform:translateY(-3px);box-shadow:0 4px 10px #0000000a,0 18px 38px #00000016}.workflow-lane-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;margin-bottom:24px}.workflow-lane-photo .workflow-lane-icon{background:#f1eafc;color:#8c61d8}.workflow-lane-video .workflow-lane-icon{background:#e9f3ff;color:#4b7cc4}.workflow-lane-chat .workflow-lane-icon{background:#e7f6ef;color:#3d946f}.workflow-lane-icon svg{width:21px;height:21px}.workflow-lane h2{font-size:21px;letter-spacing:-.035em;margin:8px 0 9px}.workflow-lane p{font-size:13px;color:var(--muted);line-height:1.75;max-width:270px}.workflow-lane .text-button{margin-top:auto;padding-top:20px;color:var(--accent-dark);font-weight:650}.workflow-lane .text-button:hover{color:var(--accent)}.workflow-note{display:flex;gap:14px;align-items:flex-start;margin-top:22px;padding:18px 4px;border-top:1px solid var(--line)}.workflow-note .tip-icon{flex-shrink:0}.workflow-note strong{display:block;font-size:13px}.workflow-note p{margin-top:3px;color:var(--muted);font-size:12px;line-height:1.7}.workflow-hero .button:active:not(:disabled),.workflow-lane .text-button:active:not(:disabled){transform:scale(.96)}
@keyframes workflow-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){.workflow-view{padding-top:36px}.workflow-hero{grid-template-columns:1fr;gap:24px}.workflow-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.workflow-step{grid-template-columns:1fr;gap:6px;min-height:126px}.workflow-step>[data-icon]{justify-self:start;margin-top:4px}.workflow-lanes{gap:12px}.workflow-lane{padding:20px;min-height:250px}}
@media(max-width:760px){.workflow-view{padding-top:30px;padding-bottom:40px}.workflow-hero{padding:26px 22px;border-radius:22px}.workflow-hero h2{font-size:42px}.workflow-steps{grid-template-columns:1fr}.workflow-step{grid-template-columns:34px minmax(0,1fr) 28px;min-height:0}.workflow-step>[data-icon]{justify-self:end;margin-top:0}.workflow-lanes{grid-template-columns:1fr}.workflow-lane{min-height:220px}.workflow-note{padding-top:16px}}
@media(max-width:450px){.workflow-view{padding:24px 18px 34px}.workflow-heading{margin-bottom:24px}.workflow-heading .button{width:100%}.workflow-hero{padding:24px 18px}.workflow-hero h2{font-size:37px}.workflow-hero-actions{display:grid;grid-template-columns:1fr;margin-top:24px}.workflow-hero-actions .button{width:100%}.workflow-lane{min-height:205px}}
@media(prefers-reduced-motion:reduce){.workflow-step{animation:none}.workflow-lane{transition:none}}

/* Node-based Workflow editor: real typed pipelines, not a marketing landing page. */
.workflow-view{max-width:none;margin:0;padding:0;height:calc(100dvh - 76px);overflow:hidden;background:var(--bg)}
.workflow-toolbar{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 20px;background:var(--paper);border-bottom:1px solid var(--line)}
.workflow-title-wrap,.workflow-toolbar-actions{display:flex;align-items:center;gap:10px;min-width:0}.workflow-mark{width:38px;height:38px;border-radius:12px;background:var(--accent-soft);color:var(--accent-dark)}.workflow-mark svg{width:19px;height:19px}.workflow-title-wrap>label{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.workflow-title-wrap input{width:min(320px,35vw);min-height:40px;padding:7px 10px;border:1px solid transparent;border-radius:9px;background:transparent;font-size:15px;font-weight:700}.workflow-title-wrap input:hover,.workflow-title-wrap input:focus{border-color:var(--line);background:var(--soft);outline:none}.workflow-save-state{font-size:10px;color:var(--muted);white-space:nowrap}.workflow-toolbar-actions .button{min-height:42px}.workflow-toolbar-actions .primary strong{margin-left:6px;padding:2px 7px;border-radius:6px;background:#ffffff22;font-size:10px;font-variant-numeric:tabular-nums}
.workflow-editor{display:grid;grid-template-columns:220px minmax(0,1fr) 230px;height:calc(100% - 70px);min-height:0}.workflow-palette,.workflow-run-panel{min-height:0;overflow-y:auto;background:var(--paper);scrollbar-width:thin;scrollbar-color:var(--line) transparent}.workflow-palette{padding:20px 14px;border-right:1px solid var(--line)}.workflow-palette-heading{padding:0 6px 18px}.workflow-palette-heading h2{margin:5px 0 4px;font-size:17px}.workflow-palette-heading p{font-size:10px;color:var(--muted);line-height:1.6}.workflow-palette-group{display:grid;gap:5px;margin-top:17px}.workflow-palette-group>span{padding:0 7px 5px;color:var(--muted);font-size:9px;font-weight:700;letter-spacing:1.15px;text-transform:uppercase}.workflow-palette-group>button{display:grid;grid-template-columns:9px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;min-height:54px;padding:8px 9px;border-radius:12px;text-align:left;transition-property:background-color,box-shadow,transform;transition-duration:.16s}.workflow-palette-group>button:hover{background:var(--soft);box-shadow:var(--shadow)}.workflow-palette-group>button:active{transform:scale(.96)}.workflow-palette-group>button>span:nth-child(2){min-width:0}.workflow-palette-group strong,.workflow-palette-group small{display:block}.workflow-palette-group strong{font-size:11px}.workflow-palette-group small{margin-top:2px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-palette-group svg{width:14px;height:14px;color:var(--muted)}.workflow-type-dot{width:8px;height:8px;border-radius:50%}.workflow-type-dot.is-text,.workflow-port.is-text{background:#f59a4a}.workflow-type-dot.is-image,.workflow-port.is-image{background:#5c9cf2}.workflow-type-dot.is-video,.workflow-port.is-video{background:#4fbd82}.workflow-type-dot.is-any{background:linear-gradient(135deg,#f59a4a 0 33%,#5c9cf2 33% 66%,#4fbd82 66%)}
.workflow-canvas-shell{min-width:0;min-height:0;background:var(--bg)}.workflow-canvas{position:relative;width:100%;height:100%;overflow:hidden;touch-action:pan-x pan-y;overscroll-behavior:contain;background-color:var(--bg);background-image:radial-gradient(circle,color-mix(in srgb,var(--muted) 25%,transparent) 1px,transparent 1px);background-size:20px 20px;outline:none;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.workflow-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.workflow-stage{position:absolute;left:0;top:0;width:2400px;height:1400px;transform-origin:0 0}.workflow-edges{position:absolute;inset:0;overflow:visible;pointer-events:none}.workflow-edge{fill:none;stroke-width:2.2;stroke-linecap:round;opacity:.78;filter:drop-shadow(0 1px 1px #00000010)}.workflow-edge.is-text{stroke:#e98b37}.workflow-edge.is-image{stroke:#4a8fe8}.workflow-edge.is-video{stroke:#3aa971}
.workflow-node{position:absolute;width:292px;background:var(--surface-raised);border-radius:20px;box-shadow:0 0 0 1px #0000000b,0 4px 12px #1e142b0c,0 18px 42px #1e142b12;user-select:none;transition-property:box-shadow,opacity;transition-duration:.16s}.workflow-node:hover{box-shadow:0 0 0 1px #00000012,0 7px 18px #1e142b10,0 24px 52px #1e142b18}.workflow-node.is-selected{box-shadow:0 0 0 2px var(--accent),0 8px 20px #4c287c1a,0 25px 56px #4c287c20}.workflow-node.is-running{box-shadow:0 0 0 2px #d49b48,0 8px 34px #d49b4824}.workflow-node.is-error{box-shadow:0 0 0 2px var(--negative),0 8px 34px #b9365720}.workflow-node.is-locked{opacity:.9}.workflow-node-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 12px;cursor:grab;border-radius:20px 20px 0 0}.workflow-node-head:active{cursor:grabbing}.workflow-node-identity{display:flex;align-items:center;gap:10px;min-width:0}.workflow-node-icon{width:34px;height:34px;border-radius:11px}.workflow-node.is-text .workflow-node-icon{background:#fff0e2;color:#d97927}.workflow-node.is-image .workflow-node-icon{background:#e9f2ff;color:#397fd8}.workflow-node.is-video .workflow-node-icon{background:#e8f7ef;color:#2b9663}.workflow-node.is-any .workflow-node-icon{background:var(--accent-soft);color:var(--accent-dark)}[data-theme=dark] .workflow-node.is-text .workflow-node-icon{background:#412d22}[data-theme=dark] .workflow-node.is-image .workflow-node-icon{background:#213349}[data-theme=dark] .workflow-node.is-video .workflow-node-icon{background:#203a30}.workflow-node-icon svg{width:17px;height:17px}.workflow-node-identity>div{min-width:0}.workflow-node-identity strong,.workflow-node-identity small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-node-identity strong{font-size:12px}.workflow-node-identity small{margin-top:1px;color:var(--muted);font-size:8px}.workflow-node-actions{display:flex;align-items:center}.workflow-node-action{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;color:var(--muted);opacity:.25;transition-property:opacity,background-color,color,transform;transition-duration:.15s}.workflow-node:hover .workflow-node-action,.workflow-node.is-selected .workflow-node-action{opacity:1}.workflow-node-action:hover{background:var(--soft);color:var(--ink)}.workflow-node-action:active{transform:scale(.96)}.workflow-node-action svg{width:14px;height:14px}
.workflow-node-body{padding:3px 14px 14px;border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.workflow-node-text,.workflow-node-select{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink);font-size:10px;outline:none}.workflow-node-text{min-height:62px;margin-top:11px;padding:9px 10px;line-height:1.6;resize:vertical}.workflow-node-select{appearance:none;min-height:38px;padding:7px 9px}.workflow-node-text:focus,.workflow-node-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.workflow-node-field{display:grid;gap:5px;margin-top:10px}.workflow-node-field>span{font-size:8px;font-weight:700;color:var(--muted);letter-spacing:.5px;text-transform:uppercase}.workflow-node-settings-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.workflow-node-note{padding:12px 2px 2px;color:var(--muted);font-size:10px;line-height:1.65}.workflow-node-capability{display:flex;align-items:center;gap:7px;margin-top:10px;color:var(--muted);font-size:9px}.workflow-node-capability i{width:7px;height:7px;border-radius:50%;background:#4fbd82}.workflow-node-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:112px;margin-top:11px;padding:14px;border:1px dashed var(--line);border-radius:12px;background:var(--soft);text-align:center;cursor:pointer}.workflow-node-upload:hover{border-color:var(--accent);background:var(--accent-soft)}.workflow-node-upload>[data-icon]{width:32px;height:32px;margin-bottom:8px;border-radius:10px;background:var(--paper);color:var(--accent)}.workflow-node-upload svg{width:15px;height:15px}.workflow-node-upload strong{max-width:100%;font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-node-upload small{margin-top:3px;color:var(--muted);font-size:8px}.workflow-node-ports{display:grid;grid-template-columns:1fr 1fr;padding:0 0 13px}.workflow-inputs,.workflow-outputs{display:grid;gap:5px}.workflow-port-row{position:relative;display:flex;align-items:center;gap:7px;min-height:28px;padding:4px 11px;color:var(--muted);font-size:8px}.workflow-outputs .workflow-port-row{justify-content:flex-end;text-align:right}.workflow-port{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 3px var(--surface-raised),0 0 0 4px var(--line);transition-property:transform,box-shadow;transition-duration:.14s}.workflow-inputs .workflow-port{margin-left:-16px}.workflow-outputs .workflow-port{margin-right:-16px}.workflow-port-row:hover .workflow-port,.workflow-port-row.is-compatible .workflow-port{transform:scale(1.28);box-shadow:0 0 0 3px var(--surface-raised),0 0 0 5px color-mix(in srgb,var(--accent) 35%,transparent)}.workflow-port-row.is-compatible{color:var(--ink)}.workflow-node-result{margin:0 14px 14px;padding:10px;border-radius:12px;background:var(--soft);font-size:9px;line-height:1.6;max-height:130px;overflow:auto}.workflow-node-result img{display:block;width:100%;max-height:110px;object-fit:cover;border-radius:8px;outline:1px solid var(--image-outline);outline-offset:-1px}.workflow-node-result a{display:flex;align-items:center;justify-content:center;min-height:40px;color:var(--accent-dark);font-weight:700}.workflow-connection-hint{position:sticky;z-index:5;left:50%;bottom:18px;width:max-content;transform:translateX(-50%);padding:8px 13px;border-radius:10px;background:var(--ink);color:var(--paper);font-size:10px;box-shadow:0 10px 28px #0003}.workflow-canvas-controls{position:absolute;z-index:6;left:16px;bottom:16px;display:flex;width:max-content;align-items:center;gap:3px;padding:4px;border-radius:12px;background:color-mix(in srgb,var(--paper) 92%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(10px)}.workflow-canvas-controls button{width:40px;height:40px;display:grid;place-items:center;border-radius:9px;color:var(--muted)}.workflow-canvas-controls button:hover{background:var(--soft);color:var(--ink)}.workflow-canvas-controls button:active{transform:scale(.96)}.workflow-canvas-controls output{width:48px;text-align:center;color:var(--muted);font-size:9px;font-variant-numeric:tabular-nums}
.workflow-run-panel{padding:20px 16px;border-left:1px solid var(--line)}.workflow-run-head{padding:0 3px 17px;border-bottom:1px solid var(--line)}.workflow-run-head strong{display:block;margin:6px 0 5px;font-size:14px}.workflow-run-head p{font-size:9px;color:var(--muted);line-height:1.65}.workflow-run-list{display:grid;gap:5px;padding:16px 0}.workflow-run-item{display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;column-gap:9px;min-height:46px;padding:7px 8px;border-radius:11px}.workflow-run-item>span:first-child{grid-row:1/3;width:30px;height:30px;border-radius:9px;background:var(--soft);color:var(--muted)}.workflow-run-item>span:nth-child(2){font-size:10px;font-weight:700}.workflow-run-item small{font-size:8px;color:var(--muted)}.workflow-run-item.is-running{background:#fff7e8}.workflow-run-item.is-running>span:first-child{color:#c9882b}.workflow-run-item.is-done{background:#ebf8f1}.workflow-run-item.is-done>span:first-child{color:#2c9463}[data-theme=dark] .workflow-run-item.is-running{background:#392f20}[data-theme=dark] .workflow-run-item.is-done{background:#20372d}.workflow-run-summary{display:grid;grid-template-columns:1fr auto;gap:8px;padding:14px 3px;border-top:1px solid var(--line);font-size:9px}.workflow-run-summary span{color:var(--muted)}.workflow-run-summary strong{text-align:right;font-variant-numeric:tabular-nums}.workflow-clear{margin-top:14px;color:var(--negative)}.workflow-template-dialog{max-width:700px;text-align:left}.workflow-template-dialog>p{max-width:520px}.workflow-template-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.workflow-template-card{display:flex;flex-direction:column;align-items:flex-start;min-height:190px;padding:20px;border-radius:16px;background:var(--soft);text-align:left;box-shadow:var(--shadow);transition-property:transform,box-shadow;transition-duration:.16s}.workflow-template-card:hover{transform:translateY(-3px);box-shadow:0 0 0 1px #0000000b,0 16px 38px #00000016}.workflow-template-card:active{transform:scale(.96)}.workflow-template-card>[data-icon]{width:42px;height:42px;margin-bottom:22px;border-radius:13px;background:var(--paper);color:var(--accent-dark)}.workflow-template-card strong{font-size:15px}.workflow-template-card p{margin:7px 0 18px;font-size:10px}.workflow-template-card small{margin-top:auto;color:var(--accent-dark);font-weight:700}
@media(max-width:1190px){.workflow-editor{grid-template-columns:190px minmax(0,1fr)}.workflow-run-panel{display:none}.workflow-palette{padding-inline:10px}}
@media(max-width:760px){.workflow-view{height:calc(100dvh - 64px)}.workflow-toolbar{height:auto;min-height:68px;padding:10px 14px}.workflow-save-state,.workflow-toolbar-actions>.button:first-child{display:none}.workflow-title-wrap input{width:min(240px,42vw)}.workflow-editor{height:calc(100% - 68px);grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.workflow-palette{display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:8px;border-right:0;border-bottom:1px solid var(--line)}.workflow-palette-heading,.workflow-palette-group>span{display:none}.workflow-palette-group{display:flex;flex:0 0 auto;margin:0;gap:6px}.workflow-palette-group>button{display:flex;flex:0 0 auto;width:auto;min-height:44px;padding:7px 10px}.workflow-palette-group>button>span:nth-child(2) small,.workflow-palette-group>button>[data-icon]{display:none}.workflow-palette-group strong{white-space:nowrap}.workflow-canvas-shell{height:100%}.workflow-node{width:272px}.workflow-canvas-controls{left:10px;bottom:10px}.workflow-template-grid{grid-template-columns:1fr}}
@media(max-width:450px){.workflow-view{height:calc(100dvh - 124px)}.workflow-toolbar-actions .button{padding:9px 11px}.workflow-toolbar-actions .primary strong{display:none}.workflow-mark{display:none}.workflow-title-wrap input{width:38vw;padding-inline:3px}.workflow-node-action{opacity:1}.workflow-template-dialog{padding:30px 20px}}
@media(prefers-reduced-motion:reduce){.workflow-node,.workflow-node-action,.workflow-port,.workflow-palette-group>button,.workflow-template-card{transition:none}}

/* Saved workflow library and direct-manipulation states. */
.workflow-library{height:100%;overflow-y:auto;padding:clamp(28px,5vw,64px);scrollbar-width:thin;scrollbar-color:var(--line) transparent}.workflow-library-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;max-width:1180px;margin:0 auto 34px}.workflow-library-head h1{margin:10px 0 8px;font-size:clamp(34px,4vw,54px);line-height:1;letter-spacing:-.055em}.workflow-library-head p{max-width:620px;color:var(--muted);font-size:13px;line-height:1.7}.workflow-library-head .button{min-height:44px;flex:0 0 auto}.workflow-library-content,.workflow-library-recipes{max-width:1180px;margin-inline:auto}.workflow-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.workflow-library-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:0 4px 14px #1e142b0a;transition-property:transform,box-shadow,border-color;transition-duration:.18s}.workflow-library-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 25%,var(--line));box-shadow:0 16px 38px #1e142b16}.workflow-library-preview{position:relative;display:grid;place-items:center;width:100%;min-height:150px;background-color:var(--soft);background-image:radial-gradient(circle,color-mix(in srgb,var(--muted) 28%,transparent) 1px,transparent 1px);background-size:18px 18px;color:var(--accent-dark)}.workflow-card-diagram{width:52px;height:52px;border-radius:16px;background:var(--paper);box-shadow:var(--shadow)}.workflow-card-diagram svg{width:24px;height:24px}.workflow-card-node-count{position:absolute;right:12px;bottom:12px;padding:5px 8px;border-radius:8px;background:color-mix(in srgb,var(--paper) 92%,transparent);color:var(--muted);font-size:9px;box-shadow:0 2px 8px #0001;backdrop-filter:blur(8px)}.workflow-library-card-body{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:center;gap:8px;padding:11px 12px 12px}.workflow-library-card-copy{min-width:0;padding:5px 3px;text-align:left}.workflow-library-card-copy strong,.workflow-library-card-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-library-card-copy strong{font-size:13px}.workflow-library-card-copy small{margin-top:4px;color:var(--muted);font-size:9px}.workflow-library-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:40px;border:1px dashed var(--line);border-radius:22px;background:var(--paper);text-align:center}.workflow-library-empty>[data-icon]{width:48px;height:48px;margin-bottom:18px;border-radius:15px;background:var(--accent-soft);color:var(--accent-dark)}.workflow-library-empty h2{font-size:20px}.workflow-library-empty p{max-width:430px;margin:7px 0 20px;color:var(--muted);font-size:12px;line-height:1.7}.workflow-library-loading{display:grid;place-items:center;min-height:280px;color:var(--muted);font-size:12px}.workflow-library-recipes{margin-top:44px}.workflow-library-recipes .section-heading{margin-bottom:14px}.workflow-library-recipes h2{margin-top:6px;font-size:20px}.workflow-library-templates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workflow-library-template{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;align-items:center;gap:13px;min-height:82px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--paper);text-align:left;transition-property:transform,box-shadow,border-color;transition-duration:.16s}.workflow-library-template:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 25%,var(--line));box-shadow:var(--shadow)}.workflow-library-template:active,.workflow-library-head .button:active{transform:scale(.96)}.workflow-library-template>[data-icon]:first-child{width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent-dark)}.workflow-library-template-copy{min-width:0}.workflow-library-template-copy strong,.workflow-library-template-copy small{display:block}.workflow-library-template-copy strong{font-size:12px}.workflow-library-template-copy small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}.workflow-library-template-arrow{color:var(--muted)}.workflow-library-template-arrow svg{width:16px;height:16px}.workflow-canvas-view{height:100%;overflow:hidden}
.workflow-edge-hit{fill:none;stroke:transparent;stroke-width:34;pointer-events:stroke}.workflow-edge{transition-property:stroke-width,opacity,filter;transition-duration:.14s;pointer-events:none}.workflow-edge.is-insert-target{stroke-width:5;opacity:1;filter:drop-shadow(0 0 5px currentColor)}.workflow-edge-preview{stroke-dasharray:8 6;opacity:1;animation:workflow-wire .55s linear infinite}@keyframes workflow-wire{to{stroke-dashoffset:-14}}.workflow-node.is-insert-ready{box-shadow:0 0 0 3px #42a873,0 10px 32px #42a87330}.workflow-port-row.is-drop-target{color:var(--ink);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:8px}.workflow-port-row.is-drop-target .workflow-port{transform:scale(1.5);box-shadow:0 0 0 3px var(--surface-raised),0 0 0 6px color-mix(in srgb,var(--accent) 48%,transparent)}
@media(max-width:1190px){.workflow-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.workflow-library{padding:28px 18px 42px}.workflow-library-head{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:26px}.workflow-library-head .button{width:100%}.workflow-card-grid,.workflow-library-templates{grid-template-columns:1fr}.workflow-library-recipes{margin-top:34px}}
@media(prefers-reduced-motion:reduce){.workflow-library-card,.workflow-library-template,.workflow-edge{transition:none}.workflow-edge-preview{animation:none}}

/* Keep the workflow library inside the same visual system as History and Account. */
.workflow-view.page-view{width:100%;max-width:none;height:calc(100dvh - 76px);padding:0;margin:0}.workflow-library{min-height:100%;height:auto;padding:40px;background:var(--bg)}.workflow-library-head{align-items:center;max-width:1120px;margin:0 auto 30px}.workflow-library-head h1{margin:10px 0 8px;font-size:32px;line-height:1.2;letter-spacing:-.04em}.workflow-library-head p{font-size:14px;line-height:1.7}.workflow-library-content,.workflow-library-recipes{max-width:1120px}.workflow-library-empty{min-height:220px;padding:32px;border:0;border-radius:20px;box-shadow:0 0 0 1px rgba(0,0,0,.06),var(--shadow)}[data-theme=dark] .workflow-library-empty{box-shadow:0 0 0 1px rgba(255,255,255,.08)}.workflow-library-recipes{margin-top:34px}.workflow-library-recipes h2{font-size:19px}.workflow-library-card{border:0;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 4px 14px #1e142b0a}.workflow-library-card:hover{box-shadow:0 0 0 1px rgba(0,0,0,.08),0 16px 38px #1e142b16}.workflow-library-template{border:0;box-shadow:0 0 0 1px rgba(0,0,0,.06),var(--shadow)}.workflow-library-template:hover{box-shadow:0 0 0 1px rgba(0,0,0,.08),0 10px 26px #1e142b12}[data-theme=dark] .workflow-library-card,[data-theme=dark] .workflow-library-template{box-shadow:0 0 0 1px rgba(255,255,255,.08)}[data-theme=dark] .workflow-library-card:hover,[data-theme=dark] .workflow-library-template:hover{box-shadow:0 0 0 1px rgba(255,255,255,.13),0 16px 38px #0004}.workflow-library-head .button,.workflow-library-empty .button{border-radius:10px}
@media(max-width:980px){.workflow-view.page-view{height:calc(100dvh - 68px)}.workflow-library{padding:30px}.workflow-library-head h1{font-size:30px}}
@media(max-width:760px){.workflow-view.page-view{height:calc(100dvh - 64px)}.workflow-library{padding:28px 22px 42px}.workflow-library-head{gap:18px}.workflow-library-head h1{font-size:30px}.workflow-library-empty{min-height:210px;padding:28px 20px}.is-chat #text-settings .choice-picker-note{display:none}}
@media(max-width:450px){.workflow-view.page-view{height:calc(100dvh - 124px)}.workflow-library{padding:24px 18px 36px}.workflow-library-head{margin-bottom:24px}.workflow-library-head h1{font-size:28px}.workflow-library-head p{font-size:13px}.choice-picker-trigger{min-height:50px;padding-inline:10px}.choice-picker-symbol svg{width:16px;height:16px}.is-chat #text-settings{grid-template-columns:1fr}.is-chat #text-settings>.field-note{grid-column:1;grid-row:auto}.is-chat #text-settings .choice-picker-note{display:block}}
/* Assistant Markdown stays readable in chat bubbles and saved results. */
.rich-text{white-space:normal;overflow-wrap:anywhere;min-width:0;max-width:100%}
.rich-text-fallback{white-space:pre-wrap}
.rich-text>:first-child{margin-top:0}.rich-text>:last-child{margin-bottom:0}
.rich-text p,.rich-text ul,.rich-text ol,.rich-text blockquote,.rich-text .code-block,.rich-text .rich-table,.rich-text .math-block{margin:0 0 1em}
.rich-text h1,.rich-text h2,.rich-text h3,.rich-text h4,.rich-text h5,.rich-text h6{line-height:1.35;margin:1.25em 0 .6em;font-weight:650;text-wrap:balance}
.rich-text h1{font-size:1.5em}.rich-text h2{font-size:1.3em}.rich-text h3{font-size:1.15em}
.rich-text ul,.rich-text ol{padding-left:1.5em}.rich-text li+li{margin-top:.35em}.rich-text li>p{margin-bottom:.4em}
.rich-text a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.rich-text blockquote{padding:4px 14px;border-left:3px solid var(--accent);color:var(--muted)}
.rich-text hr{border:0;border-top:1px solid var(--line);margin:1.5em 0}
.rich-text code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.9em;background:var(--soft);border-radius:4px;padding:2px 5px}
.rich-text .code-block{border-radius:10px;background:var(--soft);overflow:hidden;box-shadow:0 0 0 1px var(--line)}
.code-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:2px 12px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line)}
.code-copy{background:transparent;color:var(--ink);font:inherit;min-height:40px;padding:6px 8px;border:0;border-radius:6px;cursor:pointer;flex-shrink:0}
.code-copy:hover{background:var(--paper)}.code-copy:focus-visible,.rich-text pre:focus-visible,.rich-table:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.rich-text pre{margin:0;padding:14px 16px;overflow:auto;max-width:100%;line-height:1.65;tab-size:4;white-space:pre;overflow-wrap:normal}
.rich-text pre code{display:block;background:transparent;padding:0;border-radius:0;font-size:13px;white-space:pre;word-break:normal;overflow-wrap:normal}
.rich-table{max-width:100%;overflow-x:auto}.rich-text table{border-collapse:collapse;font-size:.95em;width:100%}
.rich-text th,.rich-text td{border:1px solid var(--line);padding:8px 12px;min-width:100px;vertical-align:top}.rich-text th{background:var(--soft);font-weight:650}
.rich-text .katex{font-size:1.1em}.rich-text .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;padding:6px 0;margin:.5em 0}
.rich-text .math-fallback{white-space:pre-wrap}.rich-text .math-block{overflow-x:auto}
.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:#8253b9}.hljs-string,.hljs-regexp,.hljs-addition{color:#287453}.hljs-number,.hljs-built_in,.hljs-type{color:#98602a}.hljs-title,.hljs-attr,.hljs-attribute{color:#316caa}.hljs-comment,.hljs-quote{color:#706c7a;font-style:italic}.hljs-meta,.hljs-deletion{color:#b54262}
:root[data-theme=dark] .hljs-keyword,:root[data-theme=dark] .hljs-selector-tag,:root[data-theme=dark] .hljs-literal{color:#c7a1f2}
:root[data-theme=dark] .hljs-string,:root[data-theme=dark] .hljs-regexp,:root[data-theme=dark] .hljs-addition{color:#8fd1ae}
:root[data-theme=dark] .hljs-number,:root[data-theme=dark] .hljs-built_in,:root[data-theme=dark] .hljs-type{color:#edbe86}
:root[data-theme=dark] .hljs-title,:root[data-theme=dark] .hljs-attr,:root[data-theme=dark] .hljs-attribute{color:#9cbff2}
:root[data-theme=dark] .hljs-comment,:root[data-theme=dark] .hljs-quote{color:#aba5b9}
:root[data-theme=dark] .hljs-meta,:root[data-theme=dark] .hljs-deletion{color:#ff9ab3}
@media(max-width:760px){.rich-text.result-text{padding:18px}.rich-text pre{padding:12px}.rich-text pre code{font-size:12px}.code-toolbar{padding-inline:8px}}

.chat-metadata-actions,.chat-message-actions{display:flex;flex-wrap:wrap;gap:4px 12px}.chat-metadata-actions .text-button,.chat-message-actions .text-button{min-height:40px;font-size:11px;transition:transform .16s,background .16s}.chat-message-actions .text-button:active,.chat-metadata-actions .text-button:active{transform:scale(.96)}
.chat-search-bar{display:flex;align-items:center;gap:8px;padding-top:12px;flex-shrink:0}.chat-search-bar input{width:100%;min-width:0;min-height:40px;border-radius:10px;background:var(--soft);border:1px solid var(--line);padding:8px 12px;color:var(--ink);font:inherit;font-size:12px}.chat-search-bar .text-button{min-height:40px;flex-shrink:0}
.chat-action-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 0 8px;color:var(--muted);font-size:11px;line-height:1.5;text-wrap:pretty}.chat-action-note .text-button{flex-shrink:0;min-height:40px;font-size:11px}.chat-action-note[hidden]{display:none}.chat-bubble.is-pending .rich-text{color:var(--ink)}.chat-metadata-actions{grid-column:1/-1}.generation-cost{font-variant-numeric:tabular-nums}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* Keep native field scrolling; node handles own their drag gestures. */
.workflow-canvas.is-panning,.workflow-canvas.is-panning *{cursor:grabbing!important}
.workflow-node-head,.workflow-port-row{touch-action:none}
#motion-video-input,.workflow-node input[type=file]{max-width:100%;min-height:40px;font:inherit;font-size:12px;color:var(--ink)}
#motion-video-input::file-selector-button,.workflow-node input[type=file]::file-selector-button{min-height:40px;margin-right:8px;padding:8px 12px;border:0;border-radius:10px;background:var(--soft);color:var(--ink);font:inherit;cursor:pointer}
.model-preview-toggle{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);opacity:0;transition:opacity .16s,transform .16s}.model-preview-stage:hover .model-preview-toggle,.model-preview-stage:focus-within .model-preview-toggle{opacity:1}.model-preview-toggle:active{transform:scale(.96)}@media(hover:none){.model-preview-toggle{opacity:1}}@media(prefers-reduced-motion:reduce){.model-preview-toggle{transition:none}}