:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f4f4f5;background:#09090b;color-scheme:dark;font-size:16px;--bg:#09090b;--surface:#111113;--surface-2:#18181b;--surface-3:#202024;--border:#2b2b31;--border-strong:#3f3f46;--text:#f4f4f5;--muted:#a1a1aa;--subtle:#71717a;--accent:#a78bfa;--accent-strong:#7c3aed;--accent-soft:rgba(124,58,237,.14);--success:#34d399;--danger:#fb7185;--shadow:0 18px 50px rgba(0,0,0,.28);--sidebar:248px}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{width:100%;max-width:100%;overflow-x:hidden}body{margin:0;background:var(--bg);color:var(--text);transition:background .25s ease,color .25s ease}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:var(--sidebar);display:flex;flex-direction:column;padding:24px 16px;background:#0d0d0f;border-right:1px solid var(--border)}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:0 8px 25px;color:var(--text);text-decoration:none}.sidebar-brand img{width:38px;height:38px;object-fit:contain}.sidebar-brand span{display:grid;gap:2px}.sidebar-brand strong{letter-spacing:-.02em}.sidebar-brand small{font-size:.62rem;color:var(--muted);letter-spacing:.15em}.side-nav{display:grid;gap:6px}.side-nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:10px;color:var(--muted);font-size:.91rem;font-weight:650;text-decoration:none;transition:background .18s,color .18s,transform .18s}.side-nav a span:first-child{width:20px;color:var(--subtle);text-align:center}.side-nav a:hover{background:var(--surface-2);color:var(--text);transform:translateX(2px)}.side-nav a.active{background:var(--accent-soft);color:#ddd6fe}.side-nav a.active span:first-child{color:var(--accent)}.sidebar-note{display:flex;align-items:center;gap:10px;margin-top:auto;padding:14px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.sidebar-note div{display:grid;gap:2px;font-size:.78rem}.sidebar-note small{color:var(--muted)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 4px rgba(52,211,153,.1)}main{min-height:100vh;margin-left:var(--sidebar)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 32px;border-bottom:1px solid var(--border);background:rgba(9,9,11,.82);backdrop-filter:blur(18px)}.topbar-title{display:grid;gap:2px}.topbar-title small{font-size:.6rem;color:var(--subtle);letter-spacing:.15em}.topbar-title strong{font-size:.94rem}.topbar-actions{display:flex;align-items:center;gap:12px}.icon-button{display:grid;place-items:center;width:42px;min-height:42px;padding:0;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--muted);cursor:pointer}.icon-button:hover{border-color:var(--border-strong);color:var(--text)}.menu-button{display:none}.page-content{width:min(calc(100% - 64px),1360px);margin:auto;padding:48px 0 72px}.hero{display:flex;align-items:end;justify-content:space-between;gap:48px;margin-bottom:34px;padding:24px 4px 12px}.eyebrow,.section-kicker{color:var(--accent);font-size:.66rem;font-weight:800;letter-spacing:.18em}.hero h1{max-width:760px;margin:12px 0 15px;font-size:clamp(2.5rem,5vw,4.75rem);line-height:.98;letter-spacing:-.055em}.hero h1 em{color:var(--accent);font-style:normal}.hero p{max-width:620px;margin:0}.hero-stat{display:grid;flex:0 0 230px;gap:5px;padding:18px;border-left:2px solid var(--accent);background:linear-gradient(90deg,var(--accent-soft),transparent)}.hero-stat span,.hero-stat small{color:var(--muted);font-size:.75rem}.hero-stat strong{font-size:.92rem}.content-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"trends" "actions" "editor" "schedule" "history";gap:18px}.actions,#editor,#schedule-dashboard,.history-section,.trend-reference{min-width:0;margin:0;padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 1px 0 rgba(255,255,255,.025);transition:border-color .2s,transform .2s}.actions:hover,#editor:hover,#schedule-dashboard:hover,.history-section:hover,.trend-reference:hover{border-color:var(--border-strong)}.trend-reference{grid-area:trends}.actions{grid-area:actions}#editor{grid-area:editor}#schedule-dashboard{grid-area:schedule}.history-section{grid-area:history}.section-kicker{margin-bottom:9px}h2{margin:0 0 20px;font-size:clamp(1.25rem,2vw,1.55rem);line-height:1.2;letter-spacing:-.025em}h3{line-height:1.35}p{color:var(--muted);font-size:.94rem;line-height:1.65;overflow-wrap:anywhere}.trend-summary,.history-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.trend-copy{min-width:0}.trend-copy h2{margin:3px 0 5px}.trend-copy p{margin:0}.trend-actions,.generate-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px}button,.outline{min-height:44px;border:0;border-radius:10px;padding:11px 16px;background:var(--accent-strong);color:#fff;font-weight:700;line-height:1.25;text-decoration:none;cursor:pointer;transition:transform .16s,filter .16s,background .16s,border-color .16s}button:hover,.outline:hover{filter:brightness(1.1);transform:translateY(-1px)}button:active,.outline:active{transform:translateY(0)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(167,139,250,.38);outline-offset:2px}.outline{background:transparent;border:1px solid var(--border-strong);color:var(--text)}.outline.connected{background:rgba(16,185,129,.12);border-color:#10b981;color:#a7f3d0;cursor:default}.danger{background:#7f1d2d;color:#ffe4e6}.hidden{display:none!important}.trend-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;padding-top:22px;border-top:1px solid var(--border)}.trend-keywords,.trend-patterns{grid-column:1/-1}.tiktok-connection{display:flex;align-items:center;gap:9px}.tiktok-actions{display:flex;align-items:center;gap:8px}.tiktok-connection [data-tiktok-connect],.tiktok-connection [data-tiktok-reconnect],.tiktok-connection [data-tiktok-disconnect]{display:none}.tiktok-connection[data-state="disconnected"] [data-tiktok-connect]{display:inline-flex}.tiktok-connection[data-state="connected"] [data-tiktok-reconnect],.tiktok-connection[data-state="connected"] [data-tiktok-disconnect]{display:inline-flex}.tiktok-connection[data-state="connecting"]{opacity:.7;pointer-events:none}.tiktok-toast{position:fixed;z-index:110;right:24px;bottom:24px;display:flex;align-items:center;gap:14px;max-width:min(420px,calc(100vw - 28px));padding:13px 14px 13px 17px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface-2);color:var(--text);box-shadow:var(--shadow);opacity:0;transform:translateY(14px);pointer-events:none;transition:.2s}.tiktok-toast.show{opacity:1;transform:none;pointer-events:auto}.tiktok-toast[data-type="success"]{border-color:rgba(52,211,153,.5)}.tiktok-toast[data-type="error"]{border-color:rgba(251,113,133,.6)}.tiktok-toast button{width:30px;min-height:30px;padding:0;background:transparent;color:var(--muted)}label{display:grid;gap:8px;color:#d4d4d8;font-size:.88rem;font-weight:650;line-height:1.45}input,select,textarea{width:100%;min-width:0;min-height:46px;padding:11px 13px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg);color:var(--text);transition:border-color .18s,box-shadow .18s}input:hover,select:hover,textarea:hover{border-color:#52525b}textarea{resize:vertical;line-height:1.5}.option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.actions>label{margin-bottom:16px}.topic-source{min-width:0;border:0;padding:0;margin:0 0 20px}.topic-source legend{font-size:.88rem;font-weight:700;margin-bottom:10px}.segment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.segment-options label{display:block}.segment-options input,.switch-row input{position:absolute;width:1px;height:1px;min-height:0;opacity:0}.segment-options span{display:flex;min-height:46px;align-items:center;justify-content:center;padding:9px;border:1px solid var(--border-strong);border-radius:9px;background:var(--bg);text-align:center;cursor:pointer}.segment-options input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:#ddd6fe}.switch-row{position:relative;display:flex;align-items:center;gap:11px;cursor:pointer}.switch-control{position:relative;width:44px;height:25px;flex:0 0 44px;border-radius:99px;background:#3f3f46;transition:.2s}.switch-control::after{content:"";position:absolute;left:3px;top:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:.2s}.switch-row input:checked+.switch-control{background:var(--accent-strong)}.switch-row input:checked+.switch-control::after{transform:translateX(19px)}.mode-help{margin:5px 0 20px 55px}.warning,.error{color:#fda4af}.slides{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;margin:14px 0 22px;padding-bottom:10px}.slide-button{flex:0 0 min(72vw,250px);height:auto;min-height:0;aspect-ratio:9/16;padding:0;border:1px solid var(--border);border-radius:11px;overflow:hidden;background:var(--bg);scroll-snap-align:start}.slide-button img{display:block;width:100%;height:100%;object-fit:contain}.preview-help{margin-top:-10px}.badge{display:inline-flex;max-width:100%;margin:5px 4px 0 0;padding:5px 9px;border-radius:99px;background:#27272a;color:#d4d4d8;font-size:.73rem}.source-manual{background:#831843}.source-trending,.trend-badge{background:#115e59}.history-heading h2{margin:0}#history{display:grid;grid-template-columns:1fr;gap:14px;margin-top:20px}.history-item,.schedule-card{padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--bg);transition:border-color .18s,transform .18s}.history-item{display:flex;min-width:0;flex-direction:column;gap:15px}.history-item:hover{border-color:var(--accent);transform:translateY(-2px)}.history-content{flex:1;min-width:0;cursor:pointer}.history-content p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}.delete-item{align-self:flex-start;margin-top:auto}.schedule-card{margin-top:14px}.job{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.job button{min-height:40px;padding:8px 11px;margin:3px}.job code{color:#c4b5fd;overflow-wrap:anywhere}.loading-state,.empty-state,.error-state{display:grid;place-items:center;min-height:130px;padding:24px;text-align:center;border:1px dashed var(--border-strong);border-radius:12px;background:linear-gradient(135deg,var(--surface-2),transparent)}.loading-state p,.empty-state p,.error-state p{margin:8px 0 0}.empty-state strong,.error-state strong{font-size:.95rem}.state-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--surface-3);color:var(--accent)}.spinner{width:23px;height:23px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}footer{display:flex;justify-content:space-between;gap:20px;width:min(calc(100% - 64px),1360px);margin:auto;padding:24px 0 32px;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem}footer nav{display:flex;gap:20px}footer a,.legal-page a{color:var(--muted)}#slide-preview{width:min(92vw,720px);max-height:92vh;padding:20px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface);color:var(--text)}#slide-preview::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(4px)}#slide-preview img{display:block;max-width:100%;height:min(72vh,760px);margin:auto;object-fit:contain;aspect-ratio:9/16}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-heading h2{margin:0}.trend-use{width:100%;margin:22px 0 0;padding:14px;border:1px solid var(--border);border-radius:10px}.trend-use p{margin:0 0 10px}.trend-use label,.trend-pattern-options label{display:flex;align-items:center;gap:9px}.trend-use input,.trend-pattern-options input{width:18px;height:18px;min-height:18px;accent-color:var(--accent-strong)}.trend-patterns{margin:0;padding:14px;border:1px solid var(--border);border-radius:10px}.trend-pattern-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.brand img{object-fit:contain}
[data-theme="light"]{color-scheme:light;--bg:#f5f5f7;--surface:#fff;--surface-2:#f4f4f5;--surface-3:#e4e4e7;--border:#e4e4e7;--border-strong:#d4d4d8;--text:#18181b;--muted:#52525b;--subtle:#71717a;--accent:#7c3aed;--accent-soft:rgba(124,58,237,.09);--shadow:0 18px 50px rgba(24,24,27,.08)}[data-theme="light"] .sidebar{background:#fff}[data-theme="light"] .topbar{background:rgba(245,245,247,.84)}[data-theme="light"] label{color:#3f3f46}[data-theme="light"] .danger{color:#fff}
.mobile-backdrop{display:none}
@media(max-width:767px){.sidebar{transform:translateX(-100%);transition:transform .25s ease;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.mobile-backdrop{position:fixed;inset:0;z-index:25;background:rgba(0,0,0,.56)}.mobile-backdrop.open{display:block}main{margin-left:0}.topbar{height:64px;padding:0 14px}.menu-button{display:grid}.topbar-title{margin-right:auto;margin-left:10px}.topbar-actions{gap:7px}.tiktok-connection .outline{min-height:40px;padding:9px 11px;font-size:.77rem}.tiktok-connection #connection-message{right:14px;top:56px}.page-content{width:min(calc(100% - 28px),1360px);padding:28px 0 48px}.hero{display:block;margin-bottom:20px;padding:12px 2px}.hero h1{font-size:clamp(2.25rem,13vw,3.4rem)}.hero-stat{display:none}.actions,#editor,#schedule-dashboard,.history-section,.trend-reference{padding:19px}.trend-summary,.history-heading{align-items:flex-start;flex-direction:column}.trend-actions{width:100%}.trend-actions button{flex:1 1 auto}.trend-details,.option-grid{grid-template-columns:1fr}.trend-keywords,.trend-patterns{grid-column:auto}.segment-options{grid-template-columns:1fr}.mode-help{margin-left:0}.generate-row>button,#upload,#activate-schedule,#stop-schedule{width:100%}.job{display:block}.job>div+div{margin-top:10px}footer{display:block;width:min(calc(100% - 28px),1360px)}footer nav{margin-top:12px;flex-direction:column;gap:9px}}
@media(min-width:768px){#auto-times{display:flex;flex-wrap:wrap;gap:12px}#auto-times label{flex:0 1 140px}#history{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.content-layout{grid-template-columns:minmax(380px,2fr) minmax(0,3fr);grid-template-areas:"trends trends" "actions editor" "schedule schedule" "history history";gap:18px;align-items:start}.slides{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.slide-button{width:100%;min-width:0}#history{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1360px){.slides{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Milestone 2: Project Workspace */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-divider{height:1px;margin:10px 12px;background:var(--border)}.side-nav a small{margin-left:auto;padding:2px 5px;border-radius:4px;background:var(--surface-3);color:var(--subtle);font-size:.58rem;text-transform:uppercase;letter-spacing:.08em}.project-workspace,.project-detail,.workspace-placeholder{min-height:calc(100vh - 185px)}.workspace-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 32px}.workspace-heading h1,.detail-hero h1,.workspace-placeholder h1{margin:5px 0 7px;font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.045em}.workspace-heading p{margin:0;max-width:650px}.project-toolbar{display:flex;gap:12px}.project-search{display:flex;align-items:center;gap:10px;flex:1;margin:0;padding:0 15px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.project-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.project-search span:first-child{font-size:1.25rem;color:var(--muted)}.project-search input{min-height:46px;padding:0;border:0;background:transparent;box-shadow:none}.project-search input:focus{box-shadow:none}.filter-toggle{white-space:nowrap}.filter-count{display:inline-grid;place-items:center;width:20px;height:20px;margin-left:4px;border-radius:50%;background:var(--accent-strong);color:#fff;font-size:.7rem}.project-filters{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr)) auto;align-items:end;gap:12px;margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.project-filters label{margin:0}.project-filters select,.project-filters input{min-height:42px}.text-button{min-height:auto;padding:8px;border:0;background:transparent;color:var(--accent);box-shadow:none}.text-button:hover{background:var(--accent-soft)}.results-label{min-height:20px;margin:20px 0 10px;color:var(--muted);font-size:.82rem}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.project-card{overflow:hidden;border:1px solid var(--border);border-radius:15px;background:var(--surface);cursor:pointer;transition:border-color .18s,transform .18s,box-shadow .18s}.project-card:hover,.project-card:focus-visible{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow);outline:0}.project-thumbnail{position:relative;display:grid;place-items:center;overflow:hidden;height:138px;background:linear-gradient(135deg,#312e81,#7c3aed 56%,#db2777);color:#fff}.project-thumbnail>span{position:relative;z-index:2;font-size:2rem;font-weight:800;letter-spacing:-.05em}.project-thumbnail i{position:absolute;width:150px;height:150px;border:1px solid rgba(255,255,255,.16);border-radius:38px;transform:rotate(28deg)}.project-thumbnail i:last-child{left:-35px;bottom:-110px;width:190px;height:190px}.project-card-body{padding:17px}.project-card-top{display:flex;justify-content:space-between;align-items:center}.status-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:99px;background:var(--surface-3);color:var(--muted);font-size:.72rem;font-weight:700}.status-pill i{width:6px;height:6px;border-radius:50%;background:#fbbf24}.status-aktif i{background:var(--success)}.status-selesai i{background:#60a5fa}.status-diarsipkan i{background:var(--subtle)}.project-menu{min-height:28px;padding:2px 6px;border:0;background:transparent;color:var(--muted);letter-spacing:2px;box-shadow:none}.project-card h2{margin:12px 0 4px;font-size:1.08rem}.project-product{margin:0 0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.85rem}.category-label{display:inline-block;color:var(--muted);font-size:.74rem}.project-counts{display:flex;gap:18px;margin:17px 0;padding:13px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--muted);font-size:.77rem}.project-counts b{color:var(--text)}.project-dates{display:flex;justify-content:space-between;gap:8px;color:var(--subtle);font-size:.68rem}.project-empty{grid-column:1/-1;display:grid;justify-items:center;min-height:430px;padding:55px 24px;border:1px dashed var(--border-strong);border-radius:16px;background:linear-gradient(145deg,var(--surface),transparent);text-align:center}.project-empty h2{margin:24px 0 7px}.project-empty p{max-width:460px;margin:0 0 22px}.project-empty.compact{min-height:320px}.empty-illustration{position:relative;display:grid;place-items:center;width:150px;height:110px}.empty-illustration:before,.empty-illustration:after,.empty-illustration i{content:"";position:absolute;width:88px;height:64px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2);transform:rotate(-10deg)}.empty-illustration:after{transform:rotate(10deg)}.empty-illustration i{z-index:2;transform:none;background:linear-gradient(135deg,var(--surface-3),var(--accent-soft))}.empty-illustration span{position:relative;z-index:3;color:var(--accent);font-size:1.5rem}.empty-illustration.small{width:90px;height:70px}.empty-illustration.small:before,.empty-illustration.small:after{display:none}.back-button{margin:0 0 22px}.detail-hero{display:flex;align-items:center;gap:18px;padding:26px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.detail-hero>button{margin-left:auto}.detail-thumbnail{display:grid;place-items:center;width:76px;height:76px;flex:0 0 76px;border-radius:16px;background:linear-gradient(135deg,#312e81,#7c3aed,#db2777);color:#fff;font-size:1.4rem;font-weight:800}.detail-hero h1{font-size:clamp(1.8rem,3vw,2.7rem)}.detail-hero p{margin:0}.project-overview{display:grid;grid-template-columns:2fr 1fr;gap:28px;margin:18px 0;padding:24px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.project-overview small,.module-heading small{display:block;color:var(--subtle);font-size:.66rem;letter-spacing:.12em}.project-overview p{margin-bottom:0}.overview-dates{display:grid;grid-template-columns:1fr 1fr;gap:16px}.overview-dates span{font-size:.82rem}.overview-dates small{margin-bottom:7px}.module-heading{display:flex;align-items:end;justify-content:space-between;margin:34px 0 15px}.module-heading h2{margin:4px 0 0}.module-heading p{margin:0}.module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.module-card{position:relative;padding:17px;border:1px solid var(--border);border-radius:12px;background:var(--surface);transition:.18s}.module-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.module-card>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--accent-soft);color:var(--accent)}.module-card h3{margin:20px 0 4px;font-size:.9rem}.module-card p{margin:0;font-size:.7rem}.module-card>small{position:absolute;top:17px;right:17px;color:var(--subtle)}.workspace-placeholder{display:grid;place-content:center;justify-items:center;text-align:center}.workspace-placeholder p{max-width:530px}.project-dialog{width:min(92vw,650px);padding:0;border:1px solid var(--border-strong);border-radius:17px;background:var(--surface);color:var(--text)}.project-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.project-dialog form{display:grid;gap:17px;padding:25px}.project-dialog .dialog-heading{margin-bottom:-4px}.project-dialog .dialog-heading h2{margin-top:4px}.project-dialog label{position:relative;margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.required{color:var(--danger)}.field-hint{position:absolute;right:10px;bottom:8px;color:var(--subtle)}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:6px}
@media(max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.project-filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.workspace-heading{align-items:stretch;flex-direction:column;margin-bottom:22px}.workspace-heading button{width:100%}.project-toolbar{align-items:stretch;flex-direction:column}.project-search{min-height:46px}.project-filters{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.project-empty{min-height:380px}.project-thumbnail{height:120px}.detail-hero{align-items:flex-start;flex-wrap:wrap;padding:19px}.detail-hero>button{width:100%;margin:0}.detail-thumbnail{width:58px;height:58px;flex-basis:58px}.project-overview{grid-template-columns:1fr;padding:19px}.overview-dates{grid-template-columns:1fr 1fr}.module-heading{align-items:flex-start;flex-direction:column}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.project-dialog form{padding:20px}.dialog-actions button{flex:1}.project-dates{font-size:.64rem}}
@media(max-width:390px){.module-grid{grid-template-columns:1fr}.overview-dates{grid-template-columns:1fr}}
/* Milestone 3: Prompt Studio */
.project-tabs{display:flex;gap:8px;margin:24px 0;border-bottom:1px solid var(--border)}.project-tab{min-height:42px;border-radius:8px 8px 0 0;background:transparent;color:var(--muted)}.project-tab.active{background:var(--accent-soft);color:var(--accent)}.prompt-heading,.editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.prompt-heading h2{margin:4px 0}.prompt-heading p{margin:0}.prompt-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) 180px 180px auto;gap:10px}.favorite-filter{display:flex;align-items:center;gap:7px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.favorite-filter input{width:18px;min-height:18px}.prompt-table{overflow-x:auto;border:1px solid var(--border);border-radius:12px}.prompt-row{display:grid;grid-template-columns:36px minmax(190px,1.5fr) repeat(5,minmax(110px,1fr));align-items:center;gap:12px;width:100%;min-width:900px;padding:13px 15px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--surface);color:var(--text);text-align:left}.prompt-row:last-child{border-bottom:0}.prompt-row:not(.prompt-table-head):hover{background:var(--surface-2);transform:none}.prompt-table-head{min-height:38px;background:var(--surface-2);color:var(--subtle);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.favorite-star{color:#fbbf24;font-size:1.3rem}.prompt-row time,.prompt-row>span{font-size:.78rem;color:var(--muted)}.prompt-empty{display:grid;justify-items:center;min-height:330px;place-content:center;padding:30px;border:1px dashed var(--border-strong);border-radius:14px;text-align:center}.prompt-empty>span{font-size:2rem;color:var(--accent)}.prompt-empty h3{margin:16px 0 0}.prompt-empty p{max-width:430px}.prompt-empty.compact{min-height:230px}.editor-toolbar>div{display:flex;flex-wrap:wrap;gap:8px}.prompt-editor-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(230px,1fr);gap:18px}.prompt-editor-form,.version-history{padding:20px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.prompt-editor-form{display:grid;gap:16px}.version-history h3{margin:8px 0 18px}.version-history button{display:flex;justify-content:space-between;width:100%;margin-bottom:8px;background:var(--surface-2);color:var(--text);font-size:.8rem}.version-history time{color:var(--muted);font-weight:400}
@media(max-width:1000px){.prompt-toolbar{grid-template-columns:1fr 1fr}.prompt-toolbar .project-search{grid-column:1/-1}.prompt-editor-grid{grid-template-columns:1fr}}
@media(max-width:767px){.prompt-heading,.editor-toolbar{align-items:stretch;flex-direction:column}.prompt-heading button,.editor-toolbar>div button{flex:1}.prompt-toolbar{grid-template-columns:1fr}.prompt-toolbar .project-search{grid-column:auto}.project-tabs{overflow-x:auto}.prompt-editor-form,.version-history{padding:15px}}
/* Milestone 4: Consistency Engine */
.consistency-engine{min-height:calc(100vh - 185px)}.consistency-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 34px}.consistency-heading h1{max-width:760px;margin:7px 0 9px;font-size:clamp(2.25rem,4.5vw,4rem);letter-spacing:-.055em;line-height:1.04}.consistency-heading p{max-width:680px;margin:0}.engine-status{display:flex;align-items:center;gap:11px;padding:13px 16px;border:1px solid var(--border);border-radius:13px;background:rgba(24,24,27,.72);box-shadow:0 8px 28px rgba(0,0,0,.12)}.engine-status i{width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px rgba(52,211,153,.1)}.engine-status span{display:grid}.engine-status b{font-size:.8rem}.engine-status small{color:var(--muted);font-size:.68rem}.consistency-tabs{display:flex;gap:5px;margin-bottom:30px;padding:5px;border:1px solid var(--border);border-radius:13px;background:var(--surface)}.consistency-tabs button{flex:1;min-height:42px;background:transparent;color:var(--muted)}.consistency-tabs button.active{background:var(--surface-3);color:var(--text);box-shadow:0 2px 8px rgba(0,0,0,.14)}.library-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.library-heading h2{margin:0 0 4px}.library-heading p{margin:0}.library-actions{display:flex;gap:8px}.consistency-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 180px auto;gap:10px;margin-bottom:20px}.library-filters{display:flex;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.library-filters button{min-height:38px;padding:7px 11px;background:transparent;color:var(--muted);font-size:.78rem}.library-filters button.active{background:var(--accent-soft);color:var(--accent)}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.consistency-card{position:relative;overflow:visible;border:1px solid var(--border);border-radius:15px;background:rgba(17,17,19,.82);box-shadow:0 10px 30px rgba(0,0,0,.1);transition:.2s}.consistency-card:hover{border-color:var(--border-strong);transform:translateY(-3px)}.library-cover{position:relative;display:grid;place-items:center;height:150px;border-radius:14px 14px 0 0;background:radial-gradient(circle at 25% 20%,rgba(167,139,250,.32),transparent 35%),linear-gradient(135deg,#18181b,#312e81);background-size:cover;background-position:center;color:#ddd6fe;font-size:2rem;font-weight:800}.library-cover.has-image:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(0,0,0,.6))}.favorite-button{position:absolute;z-index:2;top:10px;right:10px;display:grid;place-items:center;width:34px;min-height:34px;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(9,9,11,.7);color:#71717a;backdrop-filter:blur(8px)}.favorite-button.active{color:#fbbf24}.version-chip{position:absolute;z-index:2;bottom:10px;left:11px;padding:4px 7px;border-radius:6px;background:rgba(9,9,11,.72);color:#d4d4d8;font-size:.66rem}.library-card-body{position:relative;padding:17px}.library-card-body>small{color:var(--accent);font-size:.61rem;font-weight:800;letter-spacing:.11em}.library-card-body h3{margin:7px 0 5px}.library-card-body>p{height:44px;margin:0;overflow:hidden;font-size:.79rem;line-height:1.45}.library-meta{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding-top:12px;border-top:1px solid var(--border)}.library-meta span{color:var(--subtle);font-size:.67rem}.library-meta button{min-height:28px;padding:0 5px;background:transparent;color:var(--muted)}.card-actions{position:absolute;z-index:5;right:13px;bottom:48px;display:grid;width:150px;padding:5px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2);box-shadow:var(--shadow)}.card-actions button{min-height:34px;padding:7px 9px;background:transparent;color:var(--text);text-align:left;font-size:.75rem}.card-actions button:hover{background:var(--surface-3);transform:none}.card-actions .danger-text{color:var(--danger)}.consistency-empty{grid-column:1/-1;display:grid;place-items:center;min-height:360px;padding:40px;border:1px dashed var(--border-strong);border-radius:16px;background:linear-gradient(145deg,var(--surface),transparent);text-align:center}.consistency-empty>span{font-size:2rem;color:var(--accent)}.consistency-empty h3{margin:18px 0 0}.consistency-empty p{max-width:450px}.consistency-dialog{width:min(94vw,820px);max-height:90vh}.consistency-dialog form{overflow-y:auto;max-height:90vh}.consistency-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.consistency-form-grid .wide{grid-column:1/-1}.image-drop{place-items:center;margin-top:16px!important;padding:23px;border:1px dashed var(--border-strong);border-radius:12px;background:var(--surface-2);text-align:center;cursor:pointer}.image-drop input{position:absolute;width:1px;height:1px;opacity:0}.image-drop>span{font-size:1.4rem;color:var(--accent)}.image-drop small{color:var(--muted)}.image-previews{display:flex;gap:9px;overflow:auto}.image-previews img{width:76px;height:76px;border-radius:9px;object-fit:cover}.consistency-toast{position:fixed;z-index:100;right:24px;bottom:24px;max-width:360px;padding:14px 18px;border:1px solid rgba(52,211,153,.35);border-radius:11px;background:#052e25;color:#a7f3d0;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);pointer-events:none;transition:.22s}.consistency-toast.show{opacity:1;transform:none}.consistency-toast.error{border-color:#fb7185;background:#4c0519;color:#ffe4e6}.confirm-dialog{width:min(92vw,430px);text-align:center}.confirm-dialog form{justify-items:center}.confirm-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:rgba(251,113,133,.13);color:var(--danger);font-weight:800}.settings-panel{display:grid;gap:15px}.settings-block{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:24px;border:1px solid var(--border);border-radius:15px;background:rgba(17,17,19,.75)}.settings-block h3{margin:2px 0 3px}.settings-block p{margin:0 0 20px}.settings-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:var(--accent-soft);color:var(--accent)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.setting-switch{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-top:1px solid var(--border)}.setting-switch span{display:grid;gap:4px}.setting-switch small{color:var(--muted);font-weight:400}.setting-switch input{position:absolute;opacity:0}.setting-switch i{position:relative;width:45px;height:25px;flex:0 0 45px;border-radius:99px;background:var(--surface-3);transition:.2s}.setting-switch i:after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:#fff;transition:.2s}.setting-switch input:checked+i{background:var(--accent-strong)}.setting-switch input:checked+i:after{transform:translateX(20px)}.settings-save{display:flex;align-items:center;justify-content:flex-end;gap:20px}.settings-save span{color:var(--muted);font-size:.75rem}
[data-theme="light"] .engine-status,[data-theme="light"] .consistency-card,[data-theme="light"] .settings-block{background:rgba(255,255,255,.82)}
@media(max-width:1050px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.consistency-toolbar{grid-template-columns:1fr 180px}.library-filters{grid-column:1/-1}}
@media(max-width:767px){.consistency-heading,.library-heading{align-items:stretch;flex-direction:column}.engine-status{align-self:flex-start}.consistency-tabs{overflow-x:auto}.consistency-tabs button{flex:0 0 auto}.library-actions{display:grid;grid-template-columns:1fr 1fr}.library-actions button:last-child{grid-column:1/-1}.consistency-toolbar{grid-template-columns:1fr}.library-filters{grid-column:auto;overflow:auto}.library-grid{grid-template-columns:1fr}.consistency-form-grid,.settings-grid{grid-template-columns:1fr}.consistency-form-grid .wide{grid-column:auto}.settings-block{grid-template-columns:1fr;padding:18px}.settings-save{align-items:stretch;flex-direction:column}.settings-save button{width:100%}.consistency-toast{right:14px;bottom:14px;left:14px}.library-cover{height:175px}}
/* Milestone 5: Prompt Generator Engine */
.prompt-generator{min-height:calc(100vh - 185px)}.generator-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 28px}.generator-heading h1{margin:7px 0;font-size:clamp(2.1rem,4vw,3.7rem);letter-spacing:-.055em}.generator-heading p{max-width:680px;margin:0}.autosave-state{display:flex;align-items:center;gap:11px;padding:12px 15px;border:1px solid var(--border);border-radius:13px;background:rgba(24,24,27,.72)}.autosave-state i{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 0 5px rgba(52,211,153,.1)}.autosave-state span{display:grid}.autosave-state b{font-size:.78rem}.autosave-state small{color:var(--muted);font-size:.66rem}.generator-layout{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(400px,1.5fr) minmax(240px,.85fr);gap:14px;align-items:start}.generator-panel{min-width:0;border:1px solid var(--border);border-radius:17px;background:rgba(17,17,19,.78);box-shadow:0 16px 50px rgba(0,0,0,.13);backdrop-filter:blur(18px)}.generator-inputs,.generator-analysis{padding:18px}.panel-title{display:flex;align-items:center;gap:10px;margin-bottom:19px}.panel-title>span{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:.7rem;font-weight:800}.panel-title h2{margin:0;font-size:1rem}.panel-title p{margin:1px 0 0;font-size:.68rem}.generator-fields{display:grid;gap:13px}.generator-fields label{font-size:.73rem}.generator-fields select,.generator-fields textarea{min-height:40px;padding:8px 10px;font-size:.77rem}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.prompt-canvas{overflow:hidden}.editor-title{min-height:70px;margin:0;padding:14px 17px;border-bottom:1px solid var(--border)}.editor-title>div:nth-child(2){flex:1}.editor-actions{display:flex;gap:6px}.editor-actions button{min-height:36px;padding:7px 11px;font-size:.72rem}.editor-actions .icon-button{width:36px;padding:0}.module-toggles{display:flex;gap:6px;overflow-x:auto;padding:11px 14px;border-bottom:1px solid var(--border);scrollbar-width:thin}.module-toggles label{display:block;flex:0 0 auto}.module-toggles input{position:absolute;opacity:0}.module-toggles span{display:block;padding:6px 9px;border:1px solid var(--border);border-radius:7px;color:var(--subtle);font-size:.65rem;cursor:pointer}.module-toggles input:checked+span{border-color:rgba(167,139,250,.35);background:var(--accent-soft);color:#ddd6fe}.syntax-editor{position:relative;height:570px;background:#0b0b0d}.syntax-editor pre,.syntax-editor textarea{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:24px;border:0;border-radius:0;overflow:auto;white-space:pre-wrap;word-wrap:break-word;font:500 .84rem/1.75 ui-monospace,SFMono-Regular,Consolas,monospace}.syntax-editor pre{pointer-events:none;color:var(--muted)}.syntax-editor pre mark{background:transparent;color:#c4b5fd;font-weight:800}.syntax-editor pre b{color:#67e8f9}.syntax-editor textarea{z-index:2;resize:none;background:transparent;color:transparent;caret-color:#fff;-webkit-text-fill-color:transparent}.syntax-editor textarea::selection{background:rgba(124,58,237,.4)}.syntax-editor.folded textarea{visibility:hidden}.syntax-editor.folded pre{pointer-events:auto;line-height:2.5}.syntax-editor.folded pre mark{display:block;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.canvas-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;border-top:1px solid var(--border)}.canvas-footer>div{display:flex;gap:6px}.canvas-footer button{min-height:34px;padding:7px 9px;font-size:.68rem}.prompt-preview{min-height:135px;margin-bottom:14px;padding:16px;border:1px solid var(--border);border-radius:12px;background:linear-gradient(145deg,var(--surface-2),rgba(124,58,237,.08))}.preview-target{padding:4px 7px;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-size:.62rem;font-weight:800}.prompt-preview h3{margin:12px 0 3px;font-size:.93rem}.prompt-preview p{display:-webkit-box;margin:0;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:.7rem}.mini-empty{text-align:center}.mini-empty span{color:var(--accent);font-size:1.4rem}.quality-score{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.quality-score>div{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle,var(--surface-2) 58%,transparent 60%),conic-gradient(var(--success) var(--score),var(--surface-3) 0)}.quality-score strong{grid-area:1/1;font-size:1rem}.quality-score div small{grid-area:1/1;margin-top:25px;font-size:.5rem;color:var(--muted)}.quality-score>span{display:grid}.quality-score>span small{color:var(--muted);font-size:.62rem}.analysis-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:13px 0}.analysis-grid span{display:grid;gap:2px;padding:10px;border-radius:9px;background:var(--surface-2)}.analysis-grid small{color:var(--subtle);font-size:.57rem}.analysis-grid b{font-size:.68rem}.warning-list{padding-top:4px}.warning-list h3,.mini-heading{display:flex;justify-content:space-between;align-items:center;font-size:.78rem}.warning-list h3 span,.mini-heading span{padding:2px 6px;border-radius:99px;background:var(--surface-3);color:var(--muted);font-size:.6rem}.warning-list p{margin:5px 0;padding:7px 8px;border-radius:7px;background:rgba(251,113,133,.08);color:#fda4af;font-size:.65rem}.warning-list .all-good{background:rgba(52,211,153,.08);color:#6ee7b7}.preset-library{margin-top:16px;padding-top:8px;border-top:1px solid var(--border)}.preset-chip{position:relative;display:grid;grid-template-columns:25px 1fr;grid-template-rows:auto auto;width:100%;min-height:48px;margin:6px 0;padding:8px 24px 8px 8px;background:var(--surface-2);color:var(--text);text-align:left}.preset-chip>span{grid-row:1/3;color:var(--accent)}.preset-chip b{font-size:.68rem}.preset-chip small{color:var(--muted);font-size:.56rem}.preset-chip i{position:absolute;right:8px;top:13px;color:var(--subtle);font-size:1rem}.preset-empty{font-size:.66rem}.generator-panel .loading-state{min-height:240px}
[data-theme="light"] .generator-panel,[data-theme="light"] .autosave-state{background:rgba(255,255,255,.8)}[data-theme="light"] .syntax-editor{background:#f7f7fa}[data-theme="light"] .syntax-editor textarea{caret-color:#18181b}
@media(max-width:1150px){.generator-layout{grid-template-columns:minmax(220px,.7fr) minmax(400px,1.3fr)}.generator-analysis{grid-column:1/-1}.generator-analysis{display:grid;grid-template-columns:1fr 1fr;gap:14px}.generator-analysis>.panel-title{grid-column:1/-1}.preset-library{grid-column:1/-1}}
@media(max-width:767px){.generator-heading{align-items:stretch;flex-direction:column}.autosave-state{align-self:flex-start}.generator-layout{grid-template-columns:1fr}.generator-analysis{grid-column:auto;display:block}.syntax-editor{height:520px}.editor-title{align-items:flex-start;flex-wrap:wrap}.editor-actions{width:100%}.editor-actions button:last-child{margin-left:auto}.canvas-footer{align-items:stretch;flex-direction:column}.canvas-footer>div{display:grid;grid-template-columns:repeat(4,1fr)}.field-pair{grid-template-columns:1fr}.generator-inputs,.generator-analysis{padding:15px}}
/* Milestone 6: AI Provider Engine */
.provider-engine{min-height:calc(100vh - 185px)}.provider-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 24px}.provider-heading h1{margin:7px 0;font-size:clamp(2.1rem,4vw,3.7rem);letter-spacing:-.055em}.provider-heading p{max-width:700px;margin:0}.provider-defaults{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px;padding:16px;border:1px solid var(--border);border-radius:16px;background:rgba(17,17,19,.72);backdrop-filter:blur(18px)}.provider-defaults label{font-size:.72rem}.provider-defaults select{min-height:40px;padding:8px 10px}.provider-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:720px;border:1px solid var(--border);border-radius:18px;background:rgba(17,17,19,.75);box-shadow:var(--shadow);overflow:hidden;backdrop-filter:blur(20px)}.provider-sidebar{padding:14px;border-right:1px solid var(--border);background:rgba(9,9,11,.4)}.provider-search{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding:0 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}.provider-search span{color:var(--subtle)}.provider-search input{min-height:40px;padding:8px 0;border:0}.provider-list{display:grid;gap:6px}.provider-item{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;width:100%;padding:10px;background:transparent;color:var(--text);text-align:left}.provider-item>span,.provider-avatar{display:grid;place-items:center;border:1px solid rgba(167,139,250,.22);border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:.72rem;font-weight:850}.provider-item>span{width:38px;height:38px}.provider-item>div{display:grid;gap:2px}.provider-item b{font-size:.78rem}.provider-item small{font-size:.59rem}.provider-item>i{padding:3px 6px;border-radius:99px;background:var(--surface-3);color:var(--subtle);font-size:.56rem;font-style:normal}.provider-item>i.enabled{background:rgba(52,211,153,.1);color:var(--success)}.provider-item.active{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.connection-connected{color:var(--success)}.connection-disconnected{color:var(--subtle)}.connection-pending{color:#fbbf24}.provider-detail{min-width:0;padding:26px}.detail-heading{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid var(--border)}.provider-avatar{width:54px;height:54px;font-size:.9rem}.detail-heading>div:nth-child(2){flex:1}.detail-heading h2{margin:3px 0 0}.detail-heading p{margin:0;font-size:.72rem}.detail-heading>div>span{font-size:.65rem;font-weight:750}.mini-switch{display:flex;align-items:center;gap:8px}.mini-switch input{position:absolute;opacity:0}.mini-switch span{position:relative;width:42px;height:24px;border-radius:99px;background:var(--surface-3)}.mini-switch span:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s}.mini-switch input:checked+span{background:var(--accent-strong)}.mini-switch input:checked+span:after{transform:translateX(18px)}.provider-form{display:grid;gap:16px;padding:22px 0}.provider-form label{font-size:.73rem}.provider-form .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.provider-form input,.provider-form textarea{min-height:41px;padding:9px 11px;font-size:.78rem}.secret-field{display:grid;grid-template-columns:1fr auto auto auto;gap:6px}.secret-field button{min-height:41px;padding:8px 11px;font-size:.68rem}.provider-form label>small{color:var(--subtle);font-size:.61rem}.provider-detail-actions{display:flex;gap:8px;padding-top:18px;border-top:1px solid var(--border)}.provider-detail-actions .danger{margin-left:auto}.provider-empty{padding:30px;color:var(--muted);text-align:center;font-size:.8rem}.provider-empty.large{display:grid;place-items:center;height:500px}.provider-empty.large span{font-size:3rem;color:var(--accent)}.pipeline-card{margin-top:16px;padding:24px;border:1px solid var(--border);border-radius:18px;background:rgba(17,17,19,.75);backdrop-filter:blur(20px)}.pipeline-title{display:flex;align-items:center;justify-content:space-between}.pipeline-title h2{margin:5px 0 18px}.local-badge{padding:7px 10px;border:1px solid rgba(52,211,153,.25);border-radius:99px;background:rgba(52,211,153,.08);color:var(--success);font-size:.68rem}.pipeline-flow{display:flex;align-items:center;justify-content:center;gap:9px;margin-bottom:20px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--bg)}.pipeline-flow span{padding:7px 10px;border-radius:8px;background:var(--surface-2);font-size:.7rem;font-weight:750}.pipeline-flow i{color:var(--accent);font-style:normal}.pipeline-actions{display:flex;align-items:center;gap:14px;margin-top:12px}.pipeline-progress{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.75rem}.pipeline-progress .spinner{width:18px;height:18px}.complete-mark{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(52,211,153,.12);color:var(--success)}.history-title{display:flex;align-items:center;gap:8px;margin-top:28px;border-top:1px solid var(--border);padding-top:20px}.history-title h3{margin:0}.history-title span{padding:2px 7px;border-radius:99px;background:var(--surface-3);font-size:.65rem}.history-table{margin-top:12px;overflow-x:auto}.history-row{display:grid;grid-template-columns:1.1fr 2fr .6fr .7fr 1fr;gap:12px;min-width:760px;padding:11px;border-bottom:1px solid var(--border);font-size:.7rem}.history-row.head{color:var(--subtle);font-weight:800}.history-row>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-row b,.history-row small{display:block}.history-row small{color:var(--subtle)}.history-success{color:var(--success)}[data-theme="light"] .provider-layout,[data-theme="light"] .provider-defaults,[data-theme="light"] .pipeline-card{background:rgba(255,255,255,.8)}
@media(max-width:900px){.provider-layout{grid-template-columns:220px minmax(0,1fr)}.secret-field{grid-template-columns:1fr repeat(3,auto)}.provider-detail{padding:18px}.pipeline-flow{justify-content:flex-start;overflow-x:auto}}
@media(max-width:767px){.provider-heading{align-items:stretch;flex-direction:column}.provider-heading button{width:100%}.provider-defaults{grid-template-columns:1fr}.provider-layout{display:block}.provider-sidebar{border-right:0;border-bottom:1px solid var(--border)}.provider-list{display:flex;overflow-x:auto}.provider-item{flex:0 0 210px}.provider-form .form-grid{grid-template-columns:1fr}.secret-field{grid-template-columns:repeat(3,1fr)}.secret-field input{grid-column:1/-1}.provider-detail-actions{flex-wrap:wrap}.provider-detail-actions .danger{margin-left:0}.pipeline-flow{align-items:stretch;flex-direction:column;text-align:center}.pipeline-flow i{transform:rotate(90deg)}.pipeline-actions{align-items:stretch;flex-direction:column}.pipeline-actions button{width:100%}}
/* Milestone 7: Generation Queue */
.generation-queue{position:relative;min-height:calc(100vh - 185px)}.queue-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:8px 0 24px}.queue-heading h1{margin:7px 0;font-size:clamp(2.1rem,4vw,3.7rem);letter-spacing:-.055em}.queue-heading p{margin:0}.queue-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.queue-summary article{display:grid;gap:4px;padding:17px;border:1px solid var(--border);border-radius:15px;background:rgba(17,17,19,.74);backdrop-filter:blur(18px)}.queue-summary small{color:var(--subtle);font-size:.58rem;font-weight:800;letter-spacing:.08em}.queue-summary strong{font-size:1.65rem}.queue-summary span{color:var(--muted);font-size:.67rem}.queue-toolbar{display:flex;justify-content:space-between;gap:12px;margin:15px 0}.queue-toolbar>div{display:flex;gap:7px;flex-wrap:wrap}.queue-toolbar button{min-height:36px;padding:7px 10px;font-size:.68rem}.queue-settings{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.queue-settings label{font-size:.66rem}.queue-settings input{min-height:37px;padding:7px}.queue-settings .queue-check{display:flex;align-items:center;gap:7px}.queue-settings .queue-check input{width:auto}.queue-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:17px;background:rgba(17,17,19,.76);backdrop-filter:blur(18px)}.queue-table{width:100%;min-width:1500px;border-collapse:collapse;font-size:.68rem}.queue-table th,.queue-table td{padding:12px 10px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}.queue-table th{position:sticky;top:0;background:var(--surface-2);color:var(--subtle);font-size:.59rem;letter-spacing:.05em}.queue-table select{min-height:32px;padding:5px 25px 5px 7px;font-size:.63rem}.queue-status{padding:5px 8px;border-radius:99px;background:var(--surface-3);font-weight:750}.status-completed{color:var(--success);background:rgba(52,211,153,.1)}.status-failed,.status-cancelled{color:var(--danger);background:rgba(251,113,133,.1)}.status-running,.status-generating,.status-processing,.status-uploading,.status-preparing,.status-retrying{color:#c4b5fd;background:var(--accent-soft)}.table-progress,.queue-progress{overflow:hidden;height:5px;border-radius:99px;background:var(--surface-3)}.table-progress{width:72px;margin-bottom:4px}.table-progress i,.queue-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent-strong),#22d3ee);transition:width .4s}.job-detail{position:fixed;z-index:60;top:0;right:0;width:min(680px,100vw);height:100vh;padding:25px;overflow:auto;border-left:1px solid var(--border);background:rgba(9,9,11,.96);box-shadow:-20px 0 60px rgba(0,0,0,.4);backdrop-filter:blur(24px)}.job-detail .detail-heading{display:flex;justify-content:space-between}.detail-progress{display:grid;grid-template-columns:1fr 2fr auto;align-items:center;gap:15px;margin:22px 0;padding:16px;border:1px solid var(--border);border-radius:13px}.detail-progress>div:first-child{display:grid}.detail-progress span{color:var(--muted);font-size:.65rem}.job-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:15px}.job-detail-grid section{padding:17px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.job-detail h3{margin:17px 0 8px;font-size:.75rem}.job-detail pre,.job-logs{max-height:230px;padding:12px;overflow:auto;border-radius:9px;background:#050507;color:#d4d4d8;white-space:pre-wrap;font-size:.68rem}.mock-output{display:grid;place-items:center;gap:8px;min-height:150px;padding:15px;border:1px dashed var(--border-strong);border-radius:11px;text-align:center}.mock-output>span:not(.spinner){font-size:2rem;color:var(--accent)}.mock-output code{color:var(--muted)}.job-timeline{padding:0;list-style:none}.job-timeline li{display:flex;gap:9px;padding:0 0 13px}.job-timeline i{width:8px;height:8px;margin-top:4px;border-radius:50%;background:var(--accent)}.job-timeline span{display:grid}.job-timeline small{color:var(--muted)}.job-logs p{margin:4px 0}.job-logs time{color:#67e8f9}[data-theme="light"] .queue-summary article,[data-theme="light"] .queue-table-wrap{background:rgba(255,255,255,.82)}
@media(max-width:1050px){.queue-summary{grid-template-columns:repeat(3,1fr)}.queue-settings{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.queue-heading,.queue-toolbar{align-items:stretch;flex-direction:column}.queue-summary{grid-template-columns:repeat(2,1fr)}.queue-settings,.job-detail-grid{grid-template-columns:1fr}.queue-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.job-detail{padding:16px}.detail-progress{grid-template-columns:1fr auto}.detail-progress .queue-progress{grid-column:1/-1;grid-row:2}}
/* Milestone 8: AI Integration Layer */
.ai-integration{min-height:calc(100vh - 185px)}.integration-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:8px 0 24px}.integration-heading h1{margin:7px 0;font-size:clamp(2.1rem,4vw,3.7rem);letter-spacing:-.055em}.integration-heading p{margin:0}.integration-grid{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(410px,1.45fr) minmax(220px,.78fr);gap:14px;align-items:start}.integration-card{border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,rgba(24,24,27,.86),rgba(12,12,15,.72));box-shadow:var(--shadow);backdrop-filter:blur(20px)}.integration-overview,.integration-pipeline,.live-monitor{padding:19px}.integration-card-title{display:flex;align-items:center;gap:10px;margin-bottom:19px}.integration-card-title>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:.66rem;font-weight:850}.integration-card-title h2{margin:0;font-size:.95rem}.integration-card-title p{margin:2px 0 0;font-size:.65rem}.integration-provider{display:grid;grid-template-columns:34px 1fr;grid-template-rows:1fr 1fr;align-items:center;gap:0 9px;width:100%;margin:6px 0;padding:9px;background:transparent;color:var(--text);text-align:left}.integration-provider>span{display:grid;grid-row:1/3;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--surface-3);color:var(--accent);font-size:.65rem;font-weight:850}.integration-provider b{font-size:.7rem}.integration-provider i{font-size:.56rem;font-style:normal}.integration-provider.active{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}.health-healthy,.log-completed{color:var(--success)}.health-warning{color:#fbbf24}.health-offline,.log-error{color:var(--danger)}.integration-facts{display:grid;gap:0;margin:18px 0}.integration-facts div,.live-monitor dl div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--border)}.integration-facts dt,.live-monitor dt{color:var(--subtle);font-size:.62rem}.integration-facts dd,.live-monitor dd{margin:0;font-size:.64rem;font-weight:750;text-align:right}.integration-overview>button{width:100%}.integration-flow{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:18px}.integration-flow div{display:grid;place-items:center;gap:5px;min-width:0;text-align:center}.integration-flow div span{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border);border-radius:50%;color:var(--subtle);font-size:.58rem}.integration-flow div b{font-size:.54rem}.integration-flow i{color:var(--subtle);font-style:normal;transform:rotate(-90deg)}.integration-flow div.active span{border-color:var(--accent);background:var(--accent-soft);color:#ddd6fe;box-shadow:0 0 18px rgba(124,58,237,.35)}.integration-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:10px 0}.integration-pipeline label{font-size:.67rem}.integration-pipeline input,.integration-pipeline select,.integration-pipeline textarea{min-height:39px;padding:8px 10px;font-size:.72rem}.integration-actions{display:flex;gap:8px;margin-top:12px}.integration-error{display:grid;gap:3px;margin-top:12px;padding:11px;border:1px solid rgba(251,113,133,.3);border-radius:10px;background:rgba(251,113,133,.08);color:#fda4af;font-size:.68rem}.integration-result{min-height:100px;margin-top:13px;padding:15px;border:1px dashed var(--border-strong);border-radius:12px;color:var(--muted);font-size:.7rem}.integration-result>span{font-size:1.4rem;color:var(--accent)}.integration-result>div{display:flex;align-items:center;gap:7px;color:var(--success)}.integration-result p{color:var(--text)}.integration-result ul{padding-left:18px}.stream-state{padding:14px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--subtle);font-size:.78rem;font-weight:800;text-align:center}.stream-connecting,.stream-streaming,.stream-receiving{color:#c4b5fd;animation:pulse 1s infinite}.stream-completed{color:var(--success)}.monitor-note{margin-top:18px;padding:13px;border:1px solid rgba(167,139,250,.2);border-radius:11px;background:var(--accent-soft)}.monitor-note b{font-size:.7rem}.monitor-note p{margin:5px 0 0;font-size:.61rem}.integration-logs{margin-top:15px;padding:20px}.logs-heading{display:flex;align-items:center;justify-content:space-between}.logs-heading h2{margin:4px 0 15px}.integration-log-table{overflow-x:auto}.integration-log-table table{width:100%;min-width:720px;border-collapse:collapse;font-size:.68rem}.integration-log-table th,.integration-log-table td{padding:11px;border-bottom:1px solid var(--border);text-align:left}.integration-log-table th{color:var(--subtle);font-size:.58rem;letter-spacing:.06em}.integration-log-table .empty-state{min-height:110px}[data-theme="light"] .integration-card{background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(245,243,255,.75))}
@media(max-width:1150px){.integration-grid{grid-template-columns:240px minmax(400px,1fr)}.live-monitor{grid-column:1/-1}.live-monitor dl{display:grid;grid-template-columns:repeat(4,1fr);gap:0 14px}}@media(max-width:767px){.integration-heading{align-items:stretch;flex-direction:column}.integration-heading .local-badge{align-self:flex-start}.integration-grid{grid-template-columns:1fr}.live-monitor{grid-column:auto}.live-monitor dl{display:block}.integration-fields{grid-template-columns:1fr 1fr}.integration-flow{align-items:stretch;flex-direction:column}.integration-flow i{transform:none;text-align:center}.integration-flow div{grid-template-columns:30px 1fr;text-align:left}.integration-actions{display:grid;grid-template-columns:1fr 1fr}}

/* Milestone 9: local-first workflow orchestrator */
.workflow-orchestrator{max-width:1280px;margin:auto}.workflow-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.workflow-heading h1{margin:7px 0;font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.055em}.workflow-heading p{margin:0}.workflow-save{display:flex;align-items:center;gap:10px;padding:12px 15px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.workflow-save i{width:8px;height:8px;border-radius:50%;background:var(--success)}.workflow-save span{display:grid}.workflow-save small{color:var(--muted)}.workflow-recovery{display:flex;align-items:center;gap:10px;margin-bottom:15px;padding:12px 15px;border:1px solid rgba(52,211,153,.3);border-radius:12px;background:rgba(52,211,153,.08)}.workflow-recovery span{flex:1;color:var(--muted);font-size:.83rem}.workflow-recovery button{min-height:30px;padding:2px 9px;background:transparent}.workflow-progress{margin-bottom:16px;padding:14px 17px;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.workflow-progress div{display:flex;justify-content:space-between;margin-bottom:9px;font-size:.75rem}.workflow-progress span{color:var(--muted)}.workflow-progress progress{display:block;width:100%;height:7px;border:0;border-radius:99px;overflow:hidden;background:var(--surface-3)}.workflow-progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--accent-strong),var(--accent));border-radius:99px}.workflow-stepper{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:16px}.workflow-stepper button{display:grid;justify-items:start;gap:3px;min-width:0;padding:11px;background:var(--surface);border:1px solid var(--border);color:var(--muted);text-align:left}.workflow-stepper button span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--surface-3);font-size:.65rem}.workflow-stepper button b{overflow:hidden;width:100%;font-size:.7rem;text-overflow:ellipsis}.workflow-stepper button small{font-size:.56rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.workflow-stepper button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.workflow-stepper button.complete span{background:rgba(52,211,153,.15);color:var(--success)}.workflow-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.65fr);gap:16px;align-items:start}.workflow-builder,.workflow-summary,.workflow-history{padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.workflow-builder-toolbar,.summary-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-bottom:18px;border-bottom:1px solid var(--border)}.workflow-builder-toolbar h2,.summary-heading h2{margin:4px 0 0}.workflow-builder-toolbar>div:last-child{display:flex;gap:7px}.workflow-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:22px 0;min-height:280px;align-content:start}.workflow-form label:has(textarea),.workflow-checkbox{grid-column:1/-1}.workflow-checkbox{display:flex;align-items:center}.workflow-checkbox input{width:18px;min-height:18px}.workflow-errors{margin-bottom:15px;padding:13px;border:1px solid rgba(251,113,133,.35);border-radius:10px;background:rgba(251,113,133,.08);color:#fda4af}.workflow-errors ul{margin:7px 0 0;padding-left:20px}.workflow-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:17px;border-top:1px solid var(--border)}.workflow-navigation span{color:var(--muted);font-size:.72rem}.workflow-summary{position:sticky;top:88px}.workflow-summary-content{padding:12px 0}.workflow-summary dl{display:flex;justify-content:space-between;gap:12px;margin:0;padding:11px 0;border-bottom:1px solid var(--border)}.workflow-summary dt{color:var(--muted);font-size:.72rem}.workflow-summary dd{margin:0;max-width:60%;font-size:.75rem;font-weight:750;text-align:right;overflow-wrap:anywhere}.workflow-summary>button{width:100%;margin-top:12px}.workflow-summary>button:disabled{opacity:.45;cursor:not-allowed}.local-note{text-align:center;font-size:.65rem}.workflow-history{margin-top:16px}.workflow-history-list{display:grid;gap:8px}.workflow-history article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px;border:1px solid var(--border);border-radius:11px}.workflow-history article p{margin:3px 0 0;font-size:.7rem}
@media(max-width:1000px){.workflow-stepper{grid-template-columns:repeat(4,1fr)}.workflow-layout{grid-template-columns:1fr}.workflow-summary{position:static}}
@media(max-width:767px){.workflow-heading{align-items:stretch;flex-direction:column}.workflow-save{align-self:flex-start}.workflow-stepper{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.workflow-stepper button{flex:0 0 128px;scroll-snap-align:start}.workflow-form{grid-template-columns:1fr}.workflow-form label{grid-column:1}.workflow-builder,.workflow-summary,.workflow-history{padding:16px}.workflow-navigation button{padding:10px}.workflow-navigation span{display:none}}
/* Milestone 10: backend readiness, account workspace, and operational status */
.connection-status,.account-button{display:flex;align-items:center;gap:9px;border:1px solid var(--border);background:var(--surface, #fff);color:inherit;padding:7px 11px;border-radius:12px}.connection-status i{width:9px;height:9px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px color-mix(in srgb,#22c55e 15%,transparent)}.connection-status span{display:grid;text-align:left}.connection-status b{font-size:12px}.connection-status small{font-size:10px;color:var(--muted)}.connection-status[data-status="offline"] i,.connection-status[data-status="failed"] i{background:#ef4444}.connection-status[data-status="syncing"] i,.connection-status[data-status="connecting"] i{background:#f59e0b;animation:pulse 1s infinite}.account-button{font-weight:700}.account-avatar{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:linear-gradient(135deg,#6d5dfc,#a855f7);color:white}.notification-button{position:relative}.notification-count{position:absolute;right:-4px;top:-6px;min-width:17px;height:17px;border-radius:9px;background:#ef4444;color:#fff;font-size:10px;display:grid;place-items:center}.profile-workspace{max-width:1150px;margin:auto}.profile-hero{display:flex;align-items:center;gap:20px;padding:28px;border:1px solid var(--border);border-radius:20px;background:var(--surface, #fff)}.profile-avatar{width:76px;height:76px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#6d5dfc,#a855f7);color:#fff;font-size:25px;font-weight:800}.profile-hero h1{margin:3px 0}.subscription-badge{margin-left:auto;padding:8px 12px;border-radius:99px;background:#ede9fe;color:#6d28d9;font-weight:800}.profile-stats,.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:16px}.profile-stats article,.profile-grid section{border:1px solid var(--border);border-radius:18px;background:var(--surface, #fff);padding:22px}.profile-stats article{display:grid;gap:8px}.profile-stats small{color:var(--muted);font-weight:800}.profile-stats progress{width:100%;accent-color:#6d5dfc}.profile-grid{grid-template-columns:1fr 1fr}.profile-grid label{display:grid;gap:6px;margin:14px 0}.activity-item{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--border)}.activity-item i{width:10px;height:10px;border-radius:50%;background:#22c55e;margin-top:5px}.profile-empty{text-align:center;padding:70px 20px;border:1px dashed var(--border);border-radius:20px}.profile-empty>span{font-size:42px}.notification-panel{position:fixed;z-index:40;right:20px;top:78px;width:min(390px,calc(100vw - 32px));max-height:calc(100vh - 100px);overflow:auto;padding:18px;background:var(--surface,#fff);border:1px solid var(--border);border-radius:18px;box-shadow:0 24px 70px #1113}.notification-panel header{display:flex;justify-content:space-between}.notification-panel h2{margin:4px 0 12px}.notice{display:flex;gap:12px;padding:14px 0;border-top:1px solid var(--border)}.notice>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:#eef2ff;color:#4f46e5;font-weight:800}.notice p{margin:4px 0;color:var(--muted);font-size:13px}.notice small{color:var(--muted)}.notice-error>span{background:#fee2e2;color:#dc2626}.notice-success>span{background:#dcfce7;color:#15803d}.notification-empty{padding:30px;text-align:center;color:var(--muted)}.auth-dialog{max-width:450px}.auth-remember{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center}.auth-remember input{width:auto}.auth-links{display:flex;justify-content:center;flex-wrap:wrap}.auth-error{color:#dc2626;min-height:20px}
@media(max-width:800px){.connection-status span,.account-button>span:last-child{display:none}.connection-status{padding:10px}.profile-hero{align-items:flex-start;flex-wrap:wrap}.subscription-badge{margin-left:0}.profile-stats,.profile-grid{grid-template-columns:1fr}.topbar-actions{gap:5px}.profile-avatar{width:58px;height:58px}.notification-panel{right:16px;top:68px}}
.account-welcome{margin-bottom:16px}.account-welcome>.eyebrow{display:block;font-size:.67rem}.account-welcome>div{display:flex;justify-content:center;gap:9px;margin:20px 0 12px}.account-welcome>small{color:var(--muted)}.account-status-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.account-status-grid article{display:grid;align-content:start;gap:7px;padding:19px;border:1px solid var(--border);border-radius:16px;background:var(--surface,#fff)}.account-status-grid small{color:var(--muted);font-weight:800}.account-status-grid p{margin:0;color:var(--muted);font-size:.72rem}.account-status-grid .text-button{justify-self:start;padding:3px 0}.status-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#fee2e2;color:#dc2626}.status-icon.ok{background:#dcfce7;color:#15803d}@media(max-width:1000px){.account-status-grid{grid-template-columns:1fr 1fr}}@media(max-width:800px){.account-status-grid{grid-template-columns:1fr}}
.provider-health{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;padding:16px;border:1px solid var(--border);border-radius:14px;background:rgba(14,18,28,.56)}
.provider-health b{grid-column:1/-1;color:var(--text)}.provider-health span{color:var(--muted);font-size:12px}
@media(max-width:767px){.provider-health{grid-template-columns:1fr}}

/* Milestone 19: additive AI Content Factory */
.content-factory{max-width:1400px;margin:auto}.factory-heading,.factory-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.factory-heading{margin:8px 0 20px}.factory-heading h1{margin:6px 0;font-size:clamp(2.2rem,5vw,4.3rem);letter-spacing:-.055em}.factory-heading p{margin:0}.factory-workflow-badge{padding:10px 13px;border:1px solid rgba(167,139,250,.3);border-radius:99px;background:var(--accent-soft);color:#c4b5fd;font-size:.7rem;font-weight:800;white-space:nowrap}.factory-progress{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:15px;border:1px solid var(--border);border-radius:13px;overflow:hidden;background:var(--surface)}.factory-progress span{padding:11px;border-right:1px solid var(--border);color:var(--subtle);font-size:.65rem;font-weight:800;text-align:center}.factory-progress span.active{background:linear-gradient(90deg,rgba(109,40,217,.24),rgba(124,58,237,.08));color:#ddd6fe}.factory-panel{padding:20px;border:1px solid var(--border);border-radius:19px;background:linear-gradient(145deg,rgba(27,25,34,.9),rgba(13,12,17,.78));box-shadow:var(--shadow)}.factory-section-title{margin-bottom:17px}.factory-section-title h2{margin:4px 0 0}.factory-search{display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.factory-search input{width:180px;min-height:36px;padding:6px;border:0;background:transparent}.factory-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:390px;overflow:auto}.factory-template{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:13px;border:1px solid var(--border);border-radius:13px;background:rgba(10,10,13,.6);color:var(--text);text-align:left}.factory-template:hover,.factory-template.active{border-color:#8b5cf6;background:var(--accent-soft);transform:translateY(-1px)}.factory-template-icon,.factory-selected-icon{display:grid;place-items:center;flex:0 0 35px;height:35px;border-radius:10px;background:linear-gradient(135deg,#6d28d9,#a855f7);color:white;font-weight:900}.factory-template-copy{display:grid;min-width:0;width:100%;gap:3px}.factory-template-copy small{color:#a78bfa;font-size:.54rem;font-weight:850;text-transform:uppercase}.factory-template-copy b{font-size:.72rem}.factory-template-copy em{height:26px;overflow:hidden;color:var(--muted);font-size:.58rem;font-style:normal}.factory-template-copy i{display:flex;flex-wrap:wrap;gap:7px;color:var(--subtle);font-size:.53rem;font-style:normal}.factory-template-copy strong{margin-top:3px;color:#c4b5fd;font-size:.53rem}.factory-builder-grid{display:grid;grid-template-columns:minmax(480px,.9fr) minmax(0,1.1fr);gap:14px;margin-top:14px;align-items:start}.factory-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.factory-form label{font-size:.65rem}.factory-form input,.factory-form select{min-height:39px;padding:8px 10px}.factory-assets{display:flex;align-items:center;gap:10px;margin:14px 0;padding:12px;border:1px dashed var(--border-strong);border-radius:12px}.factory-assets>div:first-child{display:grid;flex:1}.factory-assets small{color:var(--muted)}#factory-assets-list{display:flex;flex-wrap:wrap;gap:4px}#factory-assets-list span{padding:4px 7px;border-radius:7px;background:var(--accent-soft);font-size:.58rem}.factory-prompts{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;padding:10px;border:1px solid var(--border);border-radius:12px}.factory-prompts legend{padding:0 5px;color:var(--muted);font-size:.6rem}.factory-prompts label{display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:8px;background:var(--surface-3)}.factory-prompts input{width:auto;min-height:auto}.factory-form>button{width:100%}#factory-status{min-height:18px;margin-bottom:0;color:#a7f3d0;font-size:.68rem}.factory-preview{position:sticky;top:85px;min-width:0}.factory-preview-tabs{display:flex;gap:5px;overflow-x:auto}.factory-preview-tabs button{min-height:33px;padding:6px 10px;background:var(--surface-3);color:var(--muted);font-size:.6rem}.factory-preview-tabs button.active{background:#6d28d9;color:white}.factory-preview-body{min-height:390px;margin-top:11px;padding:12px;border:1px solid var(--border);border-radius:13px;background:rgba(5,5,8,.55);overflow:auto}.factory-empty{display:grid;place-items:center;align-content:center;min-height:360px;text-align:center}.factory-empty>span{font-size:2.4rem;color:#a78bfa}.factory-empty p{max-width:330px}.factory-slides{display:flex;gap:10px;overflow-x:auto;padding-bottom:7px;scroll-snap-type:x mandatory}.factory-slides article{flex:0 0 205px;min-height:330px;padding:16px;border:1px solid rgba(167,139,250,.25);border-radius:15px;background:linear-gradient(155deg,#251547,#111118 65%);scroll-snap-align:start}.factory-slides small,.factory-copy small{color:#a78bfa;font-weight:850}.factory-slides h3{margin-top:55px}.factory-slides p{font-size:.7rem}.factory-slides details{margin-top:25px;padding-top:10px;border-top:1px solid var(--border);font-size:.6rem}.factory-copy,.factory-prompt-list article{padding:15px}.factory-copy pre{white-space:pre-wrap;color:var(--text);font:inherit;line-height:1.8}.factory-prompt-list{display:grid;gap:7px}.factory-prompt-list article{border:1px solid var(--border);border-radius:10px;background:var(--surface)}.factory-prompt-list p{font-size:.68rem}.factory-thumbnail{display:grid;align-content:center;gap:9px;aspect-ratio:9/12;max-height:385px;margin:auto;padding:35px;border-radius:18px;background:radial-gradient(circle at 70% 20%,#7c3aed,#1b1230 40%,#09090b 75%);text-align:center}.factory-thumbnail>span{font-size:3rem}.factory-thumbnail strong{font-size:clamp(1.4rem,4vw,2.5rem);text-transform:uppercase}.factory-thumbnail em{color:#c4b5fd;font-size:.6rem;letter-spacing:.2em}.factory-export{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.factory-export button{min-height:32px;padding:6px 10px;background:var(--surface-3);font-size:.6rem}.factory-asset-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:55vh;overflow:auto}.factory-asset-options label{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;padding:10px;border:1px solid var(--border);border-radius:10px}.factory-asset-options label input{grid-row:1/3}.factory-asset-options label span{grid-row:1/3;font-size:1.3rem}.factory-asset-options label small{grid-column:3;color:var(--muted)}
[data-theme="light"] .factory-panel{background:linear-gradient(145deg,#fff,rgba(245,243,255,.8))}[data-theme="light"] .factory-template{background:#fff}[data-theme="light"] .factory-preview-body{background:#fafafa}
@media(max-width:1100px){.factory-template-grid{grid-template-columns:repeat(3,1fr)}.factory-builder-grid{grid-template-columns:1fr}.factory-preview{position:static}}
@media(max-width:767px){.content-factory{width:100%;overflow:hidden}.factory-heading{align-items:flex-start;flex-direction:column}.factory-heading h1{font-size:2.35rem}.factory-progress{display:flex;overflow-x:auto}.factory-progress span{flex:0 0 115px}.factory-panel{padding:14px}.factory-section-title{align-items:stretch;flex-direction:column}.factory-search input{width:100%}.factory-template-grid{display:flex;max-height:none;overflow-x:auto;scroll-snap-type:x mandatory}.factory-template{flex:0 0 240px;scroll-snap-align:start}.factory-builder-grid{display:block}.factory-form{margin-top:12px}.factory-fields{grid-template-columns:1fr}.factory-assets{align-items:stretch;flex-direction:column}.factory-assets button{width:100%}.factory-preview{margin-top:12px}.factory-slides article{flex-basis:min(78vw,245px)}.factory-asset-options{grid-template-columns:1fr}.factory-export{display:grid;grid-template-columns:1fr 1fr}.factory-workflow-badge{white-space:normal}}

/* Milestone 13 — Template & Automation Engine */
.template-manager{max-width:1440px;margin:auto}.template-heading,.template-toolbar,.template-card-top,.template-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.template-heading{margin-bottom:24px}.template-heading h1{margin:4px 0}.template-toolbar{padding:16px;background:var(--surface,#fff);border:1px solid var(--border,#dfe3ea);border-radius:14px;margin-bottom:20px}.template-toolbar .project-search{flex:1}.template-layout{display:grid;grid-template-columns:220px 1fr;gap:20px}.template-layout>aside,.template-card{background:var(--surface,#fff);border:1px solid var(--border,#dfe3ea);border-radius:16px;padding:18px}.template-layout>aside h2{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;margin:5px 0 12px}.template-layout>aside button{display:block}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.template-card{position:relative}.template-card h2{font-size:1.08rem}.template-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.template-card dl div{display:flex;flex-direction:column}.template-card dt{font-size:.7rem;color:var(--muted,#677)}.template-card dd{margin:3px 0;font-size:.8rem;overflow:hidden;text-overflow:ellipsis}.template-tags span{display:inline-block;padding:3px 7px;border-radius:20px;background:var(--soft,#eef2f7);font-size:.7rem;margin:2px}.template-actions button{flex:1}.template-menu{position:absolute;right:16px;top:52px;z-index:3;display:grid;min-width:170px;padding:8px;background:var(--surface,#fff);border:1px solid var(--border,#ddd);box-shadow:0 12px 30px #0002;border-radius:10px}.template-menu button,.template-menu a{border:0;background:none;color:inherit;text-align:left;padding:8px;text-decoration:none;font:inherit}.template-preview{white-space:pre-wrap;max-height:220px;overflow:auto;padding:12px;border-radius:8px;background:#111827;color:#d1fae5}.template-dialog{max-width:850px}.template-dialog form{max-height:85vh;overflow:auto}@media(max-width:800px){.template-layout{grid-template-columns:1fr}.template-toolbar{align-items:stretch;flex-direction:column}}
.asset-heading,.asset-toolbar,.storage-settings header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.asset-toolbar{margin:1.5rem 0}.asset-layout{display:grid;grid-template-columns:220px 1fr;gap:1.25rem}.asset-layout aside,.asset-drop,.storage-settings form{background:var(--surface,#fff);border:1px solid var(--border,#dce2ea);border-radius:14px;padding:1rem}.asset-layout aside button{display:block;margin:.4rem 0}.asset-drop{text-align:center;border-style:dashed;cursor:pointer;margin-bottom:1rem}.asset-drop.dragging{border-color:#6d5dfc;background:#f3f1ff}.asset-drop span{display:block;color:#687386}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem}.asset-card{background:var(--surface,#fff);border:1px solid var(--border,#dce2ea);border-radius:14px;overflow:hidden}.asset-card>div:last-child{padding:.8rem}.asset-card h3{font-size:.95rem;margin:.4rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-preview{height:135px;background:#eef1f6;display:grid;place-items:center}.asset-preview img{width:100%;height:100%;object-fit:cover}.asset-icon{font-size:2rem}.provider-badge{font-size:.7rem;text-transform:uppercase;color:#6958db}.storage-settings{max-width:950px}.storage-settings header{display:block}.storage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.storage-checks{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0}.storage-checks label{display:flex;flex-direction:row;align-items:center}#storage-status{margin-top:1rem}#storage-status dl{display:flex;gap:1rem;flex-wrap:wrap}#storage-status dl div{padding:.6rem;background:#eef1f6;border-radius:8px}@media(max-width:800px){.asset-layout{grid-template-columns:1fr}.storage-grid{grid-template-columns:1fr}.asset-heading,.asset-toolbar{align-items:stretch;flex-direction:column}}

/* Milestone 15 — reusable asset integration */
.asset-attachment{display:grid;gap:10px;margin:16px 0;padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2,#17171b)}.asset-attachment>div:first-child{display:flex;justify-content:space-between;gap:10px}.asset-attachment small{color:var(--muted)}.selected-assets{display:flex;flex-wrap:wrap;gap:8px}.selected-asset{display:grid;grid-template-columns:34px minmax(0,1fr) 22px;align-items:center;gap:7px;max-width:220px;padding:5px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.selected-asset img{width:34px;height:34px;border-radius:6px;object-fit:cover}.selected-asset b{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.selected-asset button{min-height:22px;padding:0;background:transparent;color:var(--muted)}.workflow-assets{grid-column:1/-1}.asset-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.asset-card-actions a{text-decoration:none}.asset-card-actions details{position:relative}.asset-card-actions summary{padding:5px;color:var(--muted);cursor:pointer;font-size:.7rem}.asset-card-actions details button{position:absolute;z-index:2;right:0;min-width:90px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow)}
.asset-selector{width:min(1120px,calc(100vw - 32px));max-width:none;padding:0;border:1px solid var(--border);border-radius:20px;background:var(--surface);color:var(--text)}.asset-selector::backdrop{background:rgba(4,4,8,.76);backdrop-filter:blur(5px)}.asset-selector-shell{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;max-height:min(850px,calc(100vh - 32px));padding:20px}.asset-selector h2{margin:4px 0}.asset-selector header p{margin:5px 0 0}.asset-selector-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 170px 170px auto;gap:10px;margin:18px 0}.favorite-filter{display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border);border-radius:9px}.favorite-filter input{width:auto}.asset-selector-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px;min-height:380px;overflow:hidden}.asset-selector-body>div:first-child{overflow:auto}.asset-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.selector-card{position:relative;display:grid;grid-template-rows:110px auto auto;gap:5px;min-width:0;padding:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);text-align:left}.selector-card img{width:100%;height:110px;border-radius:8px;object-fit:cover}.selector-card b,.selector-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selector-card small{color:var(--muted);font-size:.62rem}.selector-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.selector-check{position:absolute;z-index:1;right:13px;top:13px;display:grid;place-items:center;width:21px;height:21px;border:1px solid #fff8;border-radius:50%;background:#111b;color:white}.asset-selector-preview{padding:14px;border:1px solid var(--border);border-radius:13px;background:var(--surface-2);overflow:auto}.asset-selector-preview>img{width:100%;max-height:240px;border-radius:10px;object-fit:contain;background:#0a0a0c}.asset-selector-preview dl div{display:flex;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);font-size:.68rem}.asset-selector-preview dd{margin:0;text-align:right;overflow-wrap:anywhere}.asset-selector-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:15px;border-top:1px solid var(--border)}
.asset-selection-toolbar{position:sticky;z-index:4;top:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:10px 12px;border:1px solid var(--accent);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.asset-selection-toolbar strong{margin-right:auto}.asset-card{position:relative}.asset-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.asset-card-check{position:absolute;z-index:2;top:9px;right:9px;display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#111c;cursor:pointer}.asset-card-check input{width:17px;height:17px;margin:0;accent-color:var(--accent)}button.asset-preview{width:100%;padding:0;border:0;border-radius:0;color:inherit;cursor:zoom-in}.asset-preview-modal{width:min(820px,calc(100vw - 28px));max-width:none;padding:0;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:var(--text)}.asset-preview-modal::backdrop{background:#040408c9;backdrop-filter:blur(5px)}.asset-preview-shell{padding:18px}.asset-preview-shell header,.asset-preview-shell footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.asset-preview-shell footer{justify-content:flex-end;flex-wrap:wrap}.asset-preview-media{display:grid;place-items:center;min-height:260px;max-height:60vh;margin:14px 0;border-radius:13px;background:#09090b;overflow:hidden}.asset-preview-media img,.asset-preview-media video{width:100%;max-height:60vh;object-fit:contain}.asset-preview-media audio{width:min(500px,90%)}.asset-preview-shell dl div{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--border)}.asset-preview-shell dd{margin:0;overflow-wrap:anywhere}.asset-preview-shell footer a{text-decoration:none}
@media(max-width:767px){.asset-selector{width:100vw;height:100dvh;max-height:none;border:0;border-radius:0}.asset-selector-shell{height:100%;max-height:none;padding:14px}.asset-selector-toolbar{grid-template-columns:1fr 1fr}.asset-selector-toolbar .project-search{grid-column:1/-1}.asset-selector-body{grid-template-columns:1fr;min-height:0}.asset-selector-preview{display:none}.asset-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-selector-actions{align-items:stretch;flex-direction:column}.asset-selector-actions>div{display:grid;grid-template-columns:1fr 1fr}.asset-attachment>div:first-child{flex-direction:column}}

/* Content Studio */
.content-studio{min-height:calc(100vh - 170px)}.studio-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:8px 0 24px}.studio-heading h1{margin:7px 0;font-size:clamp(2.2rem,4vw,3.8rem);letter-spacing:-.055em}.studio-heading p{margin:0}.storage-badge{padding:9px 13px;border:1px solid var(--border);border-radius:99px;background:var(--surface);color:var(--muted);font-size:.72rem}.studio-tabs{display:flex;gap:8px;margin-bottom:16px;overflow:auto}.studio-tabs button{flex:0 0 auto;background:var(--surface);color:var(--muted);border:1px solid var(--border)}.studio-tabs button.active{background:var(--accent-soft);color:#ddd6fe;border-color:var(--accent)}.studio-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:16px;margin-bottom:16px}.studio-card{padding:20px;border:1px solid var(--border);border-radius:17px;background:rgba(17,17,19,.78);backdrop-filter:blur(18px)}.card-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.card-title h2{margin:5px 0}.prompt-source{display:flex;gap:18px;padding:12px;margin:0 0 15px;border:1px solid var(--border);border-radius:11px}.prompt-source legend{padding:0 5px;color:var(--muted);font-size:.67rem}.prompt-source label{display:flex;align-items:center;gap:7px}.prompt-source input{width:auto}.studio-assets{display:grid;gap:10px;margin:15px 0;padding:14px;border:1px dashed var(--border-strong);border-radius:12px}.studio-assets>div:first-child{display:grid}.studio-assets small{color:var(--muted)}.asset-choice-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:230px;overflow:auto}.asset-choice-list label>input{position:absolute;opacity:0}.asset-choice-list label>span{display:grid;gap:5px;padding:7px;border:1px solid var(--border);border-radius:9px;font-size:.66rem}.asset-choice-list input:checked+span{border-color:var(--accent);background:var(--accent-soft)}.asset-choice-list img{width:100%;height:70px;object-fit:cover;border-radius:6px}.selected-assets button{min-height:0;padding:0 3px;background:none}.studio-submit{display:flex;align-items:center;gap:12px}.studio-submit .error{color:var(--danger)}.live-jobs{align-self:start}.active-job{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;border-bottom:1px solid var(--border);cursor:pointer}.active-job>div:first-child{display:flex;gap:8px;align-items:center}.active-job p{grid-column:1/-1;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.studio-history{margin-bottom:20px}.studio-history.history-only{min-height:55vh}.studio-filters{display:flex;gap:8px;flex-wrap:wrap}.studio-filters input{min-width:230px}.studio-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.result-card{overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.result-preview{display:block;width:100%;height:190px;padding:0;border:0;border-radius:0;background:#09090b}.result-preview img,.result-preview video,.viewer-preview img,.viewer-preview video{width:100%;height:100%;object-fit:contain}.result-placeholder{display:grid;place-items:center;height:100%;color:var(--muted)}.result-card-body{padding:13px}.result-card-body>div:first-child{display:flex;justify-content:space-between}.result-card-body p{height:2.8em;overflow:hidden;font-size:.72rem}.result-actions,.viewer-actions{display:flex;gap:6px;flex-wrap:wrap}.result-actions button,.result-actions .button{min-height:32px;padding:6px 8px;font-size:.62rem}.viewer-preview{height:340px;margin:18px 0;border:1px solid var(--border);border-radius:14px;background:#050507;overflow:hidden}.result-metadata{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border)}.result-metadata>div{padding:12px;background:var(--surface)}.result-metadata .wide{grid-column:1/-1}.result-metadata dt{margin-bottom:5px;color:var(--subtle);font-size:.6rem}.result-metadata dd{margin:0;white-space:pre-wrap;word-break:break-word}.result-metadata .error-box{color:var(--danger)}.viewer-actions{margin-top:18px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:900px){.studio-grid{grid-template-columns:1fr}.studio-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studio-heading,.studio-history .history-heading{align-items:flex-start;flex-direction:column}.studio-filters{width:100%}.studio-filters>*{flex:1}}@media(max-width:600px){.studio-card{padding:14px}.studio-result-grid{grid-template-columns:1fr}.asset-choice-list{grid-template-columns:repeat(2,1fr)}.viewer-preview{height:240px}.result-metadata{grid-template-columns:1fr}.result-metadata .wide{grid-column:auto}}
/* Unified workflow additions keep the existing workspace layout intact. */
.workflow-result{margin-top:24px;padding:24px;border:1px solid var(--border,#e2e8f0);border-radius:18px;background:var(--surface,#fff)}
.workflow-result-grid{display:grid;grid-template-columns:minmax(260px,1fr) 1fr;gap:24px;margin-top:18px}.workflow-result-preview{min-height:240px;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:#f6f7fb;text-align:center}.workflow-result-preview img,.workflow-result-preview video{width:100%;height:100%;max-height:480px;object-fit:contain}.workflow-result-preview>span{font-size:42px}.workflow-result dl{display:grid;grid-template-columns:90px 1fr;gap:10px;margin:0 0 20px}.workflow-result dt{font-weight:700}.workflow-result dd{margin:0;overflow-wrap:anywhere}.workflow-history-thumb{width:48px;height:48px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#f1f5f9}.workflow-history-thumb img{width:100%;height:100%;object-fit:cover}.workflow-history article{gap:12px}.workflow-history article>div:nth-child(2){min-width:0;flex:1}.workflow-history article p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:720px){.workflow-result{padding:16px}.workflow-result-grid{grid-template-columns:1fr}.workflow-result dl{grid-template-columns:72px 1fr}.workflow-history article{align-items:flex-start;flex-wrap:wrap}.workflow-history article button{margin-left:60px}}
.workflow-history-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:10px;align-items:center;margin:16px 0}.workflow-history-heading-actions,.workflow-history-actions,.workflow-history-badges{display:flex;gap:7px;flex-wrap:wrap}.workflow-history-badges span{padding:3px 7px;border:1px solid var(--border);border-radius:99px;color:var(--muted);font-size:.6rem}.workflow-history-actions{justify-content:flex-end}.workflow-history-actions button{min-height:32px;padding:6px 9px;font-size:.62rem}.workflow-history-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.7)}.workflow-history-modal.hidden{display:none}.workflow-history-dialog{position:relative;width:min(760px,100%);max-height:min(88vh,900px);overflow:auto;padding:28px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.workflow-history-dialog>#workflow-history-modal-close{position:absolute;top:14px;right:14px}.workflow-detail-grid{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1px;margin-top:20px;background:var(--border)}.workflow-detail-grid dt,.workflow-detail-grid dd{margin:0;padding:10px;background:var(--surface);white-space:pre-wrap;overflow-wrap:anywhere}.workflow-detail-grid dt{color:var(--muted);font-size:.68rem}.workflow-history-thumb span{font-size:1.4rem;color:var(--accent)}
@media(max-width:767px){.workflow-history-tools{grid-template-columns:1fr}.workflow-history-actions{width:100%;justify-content:flex-start;margin-left:60px}.workflow-history-actions button{margin-left:0!important}.workflow-detail-grid{grid-template-columns:1fr}.workflow-history-dialog{padding:20px 14px}.workflow-history-heading-actions{width:100%}}

/* Milestone 20 — mobile-first interaction and layout polish. */
html{min-height:100%;overscroll-behavior-y:none;scroll-padding-top:88px}
body{min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent}
.app-shell{min-height:100vh;min-height:100dvh}
.sidebar{height:100vh;height:100dvh;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-top:max(24px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}
.sidebar-brand,.sidebar-note{flex:0 0 auto}.side-nav{flex:0 0 auto}.sidebar-note{margin-top:18px}
main{min-width:0;min-height:100vh;min-height:100dvh}
.topbar{padding-top:env(safe-area-inset-top);height:calc(72px + env(safe-area-inset-top));padding-right:max(32px,env(safe-area-inset-right))}
.page-content{max-width:100%;min-width:0}
.page-content section,.page-content article,.page-content aside,.page-content form,.page-content div{min-width:0}
img,video,canvas,svg{max-width:100%}
button,.button,.outline,input,select{min-height:48px}
button:disabled,.button[aria-disabled="true"],input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;filter:saturate(.35);opacity:.55;transform:none}
button[aria-busy="true"]{cursor:progress;pointer-events:none}
button[aria-busy="true"]::before{content:"";display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:spin .7s linear infinite}
.workflow-stepper,.factory-progress,.studio-tabs,.generator-tabs{scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.workflow-stepper>* ,.factory-progress>* ,.studio-tabs>* ,.generator-tabs>*{scroll-snap-align:start}
.workflow-stepper{position:sticky;top:calc(72px + env(safe-area-inset-top));z-index:10;background:var(--bg)}
table{width:100%;max-width:100%;border-collapse:collapse}th,td{overflow-wrap:anywhere}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
#slide-preview img,.viewer-preview img,.viewer-preview video,.workflow-result-preview img,.workflow-result-preview video{object-fit:contain}

@media (hover:none){button:hover,.outline:hover{filter:none;transform:none}button:active,.outline:active{filter:brightness(.9);transform:scale(.98)}}

/* Tablet uses the same non-blocking drawer while retaining two-column content. */
@media(max-width:1023px){
  .sidebar{z-index:40;transform:translateX(-105%);transition:transform .25s ease,visibility .25s;visibility:hidden;box-shadow:var(--shadow)}
  .sidebar.open{transform:translateX(0);visibility:visible}
  .mobile-backdrop{position:fixed;inset:0;z-index:35;display:block;background:rgba(0,0,0,.62);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s;backdrop-filter:blur(2px)}
  .mobile-backdrop.open{opacity:1;visibility:visible}
  body.drawer-open{overflow:hidden;touch-action:none}
  main{margin-left:0}
  .menu-button{display:grid;flex:0 0 48px}
  .topbar{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .page-content{width:min(calc(100% - 36px),1360px);padding-top:32px}
  .project-grid,.provider-grid,.studio-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-layout,.factory-builder-grid,.studio-grid{grid-template-columns:1fr}
  .workflow-summary,.factory-preview{position:static}
}

@media(max-width:767px){
  html{scroll-padding-top:76px}
  .sidebar{width:min(86vw,320px)}
  .side-nav a{min-height:48px;padding:12px 13px}
  .topbar{height:calc(64px + env(safe-area-inset-top));padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
  .topbar-title,.connection-status,.notification-button,.account-button{display:none}
  .topbar-actions{gap:5px}.topbar-actions .icon-button,.account-button{min-width:48px;min-height:48px;padding:0}
  .page-content{width:100%;padding:24px max(14px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
  .project-grid,.provider-grid,.studio-result-grid,.template-grid,.asset-grid{grid-template-columns:1fr}
  .workspace-heading,.template-heading,.asset-heading,.workflow-heading{align-items:stretch;flex-direction:column}
  .workspace-heading>button,.template-heading>button,.asset-heading>button{width:100%}
  .project-toolbar,.template-toolbar,.asset-toolbar,.dialog-actions,.workflow-navigation{align-items:stretch;flex-direction:column}
  .project-filters,.factory-fields,.form-grid,.storage-grid{grid-template-columns:1fr}
  .actions,#editor,#schedule-dashboard,.history-section,.trend-reference,.studio-card,.factory-panel,.workflow-result{padding:16px;border-radius:14px}
  .workflow-stepper{top:calc(64px + env(safe-area-inset-top));margin-inline:-14px;padding-inline:14px;overflow-x:auto}
  .workflow-stepper>*{flex:0 0 auto;min-width:132px}
  .asset-layout>aside,.template-layout>aside{max-height:220px;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .asset-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .asset-preview{height:auto;aspect-ratio:4/3}
  .factory-preview-body{min-height:300px;max-height:70dvh}
  .viewer-preview{height:auto;min-height:220px;max-height:65dvh;aspect-ratio:9/16}
  footer{padding-bottom:max(32px,env(safe-area-inset-bottom))}
}

@media(max-width:359px){
  .page-content{padding-inline:10px}.topbar-title{display:none}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .factory-export,.asset-selector-actions>div{grid-template-columns:1fr}
}

/* Milestone 21A: mobile presentation polish */
.tiktok-status{font-size:.8rem;font-weight:750}.tiktok-status.connected{color:var(--success)}.tiktok-status.disconnected{color:var(--muted)}
.form-section{margin-top:12px;border:1px solid var(--border);border-radius:12px;background:var(--bg);overflow:clip}
.form-section summary{display:flex;align-items:center;gap:8px;min-height:50px;padding:12px 14px;color:var(--text);font-weight:750;cursor:pointer;list-style:none}
.form-section summary::-webkit-details-marker{display:none}.form-section summary::after{content:"⌄";margin-left:auto;color:var(--muted);transition:transform .18s}.form-section[open] summary::after{transform:rotate(180deg)}
.form-section summary small{color:var(--muted);font-size:.72rem;font-weight:500}.form-section-body{display:grid;gap:14px;padding:2px 14px 14px;border-top:1px solid var(--border)}.form-section-body>.form-grid,.form-section-body>.prompt-source,.form-section-body>.studio-assets{margin-top:14px;margin-bottom:0}
.provider-empty-warning{margin-top:14px;padding:14px;border:1px solid rgba(245,158,11,.48);border-radius:12px;background:rgba(245,158,11,.09);color:var(--text)}.provider-empty-warning strong{display:block;margin-bottom:6px;color:#fbbf24}.provider-empty-warning p{margin:0 0 12px;color:var(--muted);line-height:1.55}.provider-empty-warning button{min-height:36px}

@media(max-width:1023px){
  .sidebar-brand{position:sticky;top:calc(-1 * max(24px,env(safe-area-inset-top)));z-index:2;margin:-24px -16px 8px;padding:24px 24px 16px;background:#0d0d0f;border-bottom:1px solid var(--border)}
  [data-theme="light"] .sidebar-brand{background:#fff}
  .side-nav{flex:0 0 auto}
  .tiktok-connection{display:grid;align-items:stretch;margin:0 0 14px;padding:0 8px 14px;border-bottom:1px solid var(--border)}
  .tiktok-actions{display:grid;grid-template-columns:1fr 1fr}.tiktok-connection [data-tiktok-connect]{grid-column:1/-1;width:100%;justify-content:center}.tiktok-connection [data-tiktok-reconnect],.tiktok-connection [data-tiktok-disconnect]{width:100%;justify-content:center}
}

@media(max-width:767px){
  body{font-size:15px}.topbar{gap:5px}.topbar-title{min-width:0}.topbar-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .topbar-actions{min-width:0;flex:0 0 auto}.topbar-actions .icon-button,.account-button,.menu-button{width:40px;min-width:40px!important;min-height:40px!important;height:40px}
  .tiktok-connection{gap:9px}.tiktok-connection .outline,.tiktok-connection .text-button{min-height:40px;padding:8px 10px;font-size:.76rem}.tiktok-toast{right:14px;bottom:14px;left:14px;max-width:none}
  .workspace-heading{margin-bottom:22px}.workspace-heading h1,.detail-hero h1,.workspace-placeholder h1{font-size:2rem}
  h2{margin-bottom:16px}.studio-heading,.factory-heading{margin-bottom:20px}.studio-tabs{margin-inline:-14px;padding:0 14px 8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.studio-tabs::-webkit-scrollbar{display:none}.studio-tabs button{min-height:42px;padding:9px 13px;white-space:nowrap}
  .asset-card{min-width:0;border-radius:12px;overflow:hidden}.asset-preview{height:90px!important;aspect-ratio:auto!important;border-radius:10px}.asset-preview img{object-fit:cover}.asset-card>div:last-child{min-width:0;padding:10px}.asset-card h3{margin:7px 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.asset-card p{margin:3px 0;font-size:.7rem}.asset-card-actions{gap:2px}.asset-card-actions button,.asset-card-actions a,.asset-card-actions summary{padding:5px;font-size:.68rem}
  .asset-selector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.selector-card{grid-template-rows:90px auto auto;padding:7px;border-radius:11px}.selector-card img{height:90px;border-radius:8px;object-fit:cover}.selector-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent),0 0 0 2px var(--accent-soft)}
  .live-jobs .card-title{margin-bottom:8px}.live-jobs #studio-active-jobs>.empty-state{min-height:120px;padding:14px}.live-jobs #studio-active-jobs>.empty-state::before{content:"≋";display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--surface-3);color:var(--accent);font-size:1rem}
  .form-section{margin-top:9px}.form-section summary{min-height:48px;padding:10px 12px}.form-section summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-section-body{padding:2px 12px 12px}.studio-submit button{width:100%}
}

@media(max-width:430px){.notification-button{display:none}.topbar-title{margin-left:5px}.topbar-actions{gap:3px}}

/* Milestone 21B: shared, image-first asset selector */
.selector-card{position:relative;display:grid;grid-template-rows:110px auto;gap:5px;min-width:0;padding:8px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);color:var(--text)}
.selector-thumbnail{position:relative;width:100%;height:110px;min-height:0;padding:0;overflow:hidden;border:0;border-radius:8px;background:#0a0a0c}
.selector-thumbnail img{width:100%;height:100%;object-fit:cover}.selector-caption{display:grid;gap:3px;min-width:0}.selector-caption b,.selector-caption small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selector-caption small{color:var(--muted);font-size:.62rem}
.selector-favorite{position:absolute;left:5px;bottom:4px;color:#ffd45c;text-shadow:0 1px 4px #000;font-size:.85rem}.selector-check{position:absolute;z-index:2;right:12px;top:12px;width:23px;height:23px;min-height:23px;padding:0;border:1px solid #fff;border-radius:50%;background:#17171bcc;color:#fff}.selector-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}
.mobile-preview-close{display:none;position:absolute;right:12px;top:12px}.selected-assets,.factory-assets-list,#factory-assets-list{display:grid;grid-template-columns:repeat(auto-fill,48px);gap:8px}.selected-asset{position:relative;display:block;width:48px;height:48px;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface);overflow:visible}.selected-asset img{width:38px;height:38px;border-radius:7px;object-fit:cover}.selected-asset b{display:none}.selected-asset button{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;width:19px;height:19px;min-height:19px;padding:0;border-radius:50%;background:var(--surface-3,#29292f);color:var(--text)}
.asset-selector-body>div:first-child{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
@media(max-width:767px){
 .asset-selector-shell{grid-template-rows:auto auto minmax(0,1fr) auto}.asset-selector header p{display:none}.asset-selector-toolbar{margin:10px 0}.asset-selector-body{position:relative;gap:0}.asset-selector-grid{grid-template-columns:repeat(3,minmax(72px,80px));justify-content:space-between;align-content:start;gap:8px}
 .selector-card{display:block;width:100%;aspect-ratio:1;padding:0;border:0;border-radius:10px;background:#111;overflow:hidden}.selector-thumbnail{width:100%;height:100%;border-radius:10px}.selector-caption{display:none}.selector-check{right:4px;top:4px;width:20px;height:20px;min-height:20px;font-size:.68rem}.selector-card.selected{box-shadow:inset 0 0 0 3px var(--accent)}
 .asset-selector-preview{display:none;position:absolute;z-index:8;inset:0;padding:14px;border-radius:14px;background:var(--surface);box-shadow:0 10px 40px #0008}.asset-selector-preview.mobile-open{display:block}.asset-selector-preview.mobile-open>img{height:60%;max-height:none;object-fit:contain}.mobile-preview-close{display:grid}
 .asset-selector-actions{margin-top:10px;padding-top:10px}.asset-selector-actions>div button{min-height:42px}
}

/* Content Studio OrcaRouter model selector */
.studio-model-select{display:block;width:100%;max-width:100%;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.studio-model-select option{white-space:normal;overflow-wrap:anywhere}.studio-model-status{display:block;margin-top:7px;color:var(--muted);overflow-wrap:anywhere}#studio-model-retry{width:100%;margin-top:8px}@media(max-width:767px){#studio-model-field{min-width:0;max-width:100%;overflow:hidden}.studio-model-select{width:100%;max-width:100%}}

/* Project card actions */
.project-card{overflow:visible}.project-thumbnail{border-radius:14px 14px 0 0}.project-menu-wrap{position:relative}.project-menu{position:relative;z-index:3}.project-card-menu{position:absolute;z-index:15;top:calc(100% + 6px);right:0;display:grid;width:min(180px,calc(100vw - 32px));padding:6px;border:1px solid var(--border-strong);border-radius:10px;background:var(--surface-2);box-shadow:var(--shadow)}.project-card-menu button{min-height:42px;padding:9px 11px;background:transparent;color:var(--text);text-align:left;font-size:.82rem}.project-card-menu button:hover{background:var(--surface-3);transform:none}.project-card-menu .danger-text{color:var(--danger)}button:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.project-dialog{max-height:min(92vh,760px);overflow:hidden}.project-dialog form{max-height:min(92vh,760px);overflow-y:auto;overscroll-behavior:contain}.project-dialog .dialog-actions{position:sticky;bottom:-25px;margin:0 -25px -25px;padding:16px 25px 25px;background:linear-gradient(transparent,var(--surface) 18%)}
@media(max-width:767px){.project-card-menu{position:fixed;top:auto;right:16px;bottom:16px;left:16px;width:auto;padding:8px}.project-card-menu button{min-height:48px}.project-dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px)}.project-dialog form{max-height:calc(100dvh - 24px);padding:18px}.project-dialog .dialog-actions{bottom:-18px;margin:0 -18px -18px;padding:15px 18px calc(18px + env(safe-area-inset-bottom))}}
.capability-mapping label{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:12px}.capability-mapping label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-form input{min-width:0;text-overflow:ellipsis}

/* Content Studio carousel background selector */
.carousel-background{margin:20px 0;padding:18px;border:1px solid var(--border);border-radius:16px;min-width:0}.background-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.background-heading h3{margin:0}.background-heading p{margin:4px 0 14px;color:var(--muted)}.carousel-background fieldset{padding:0;border:0}.background-options{display:grid;grid-template-columns:repeat(4,minmax(92px,1fr));gap:12px}.background-option{position:relative;display:flex;min-width:0;cursor:pointer;flex-direction:column;gap:7px}.background-option input{position:absolute;opacity:0;pointer-events:none}.background-swatch{display:grid;place-items:center;aspect-ratio:1.45;min-height:64px;border:2px solid var(--border);border-radius:12px;background:var(--swatch);overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat}.background-swatch i{display:none;width:25px;height:25px;border-radius:50%;background:#7c3aed;color:#fff;font-style:normal;text-align:center;line-height:25px}.background-option input:checked+.background-swatch{border-color:#8b5cf6;box-shadow:0 0 0 3px rgb(139 92 246 / .22)}.background-option input:checked+.background-swatch i{display:block}.upload-swatch em{font-size:25px;font-style:normal}.background-upload-actions{display:flex;gap:8px;margin-top:12px}.background-error{min-height:20px;color:#ef4444;margin:8px 0}.slide-background-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.slide-background-options label{display:grid;gap:4px}.slide-background-options select{min-width:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:700px){.background-options{grid-template-columns:repeat(3,minmax(82px,1fr))}.background-upload-option{grid-column:1/-1}.background-upload-option .background-swatch{aspect-ratio:3.5}.background-heading{flex-direction:column}.slide-background-options{grid-template-columns:1fr}.carousel-background{padding:14px}.background-swatch{min-height:58px}}
.slide-button{position:relative;overflow:hidden}.slide-button>img{position:relative;z-index:1}.slide-background-preview{position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .12s ease;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;mix-blend-mode:color}.slide-background-preview.image{mix-blend-mode:normal}.slide-background-preview.pending{opacity:.32}.slide-background-preview.pending:not(.image){opacity:.72}
