:root{color-scheme:dark;--bg:#101211;--panel:#181c19;--panel2:#202622;--line:#303a33;--muted:#9ba79e;--text:#edf3ee;--accent:#b4f5c7;--warn:#ffd58c;--red:#ffaaa4}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer;transition:background .15s,transform .15s}button:active{transform:translateY(1px)}button:disabled,fieldset:disabled button{cursor:not-allowed;opacity:.45}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(24px,3.2vw,36px);letter-spacing:-1.2px;line-height:1.25;margin-bottom:0;font-weight:560}h2{font-size:21px;letter-spacing:-.5px;margin-bottom:8px;font-weight:560}h3{font-size:16px;font-weight:550}p{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:650;color:var(--muted);margin-bottom:12px}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:#141815;border-right:1px solid var(--line);padding:30px 22px;display:flex;flex-direction:column}.brand{display:flex;gap:10px;align-items:center;font-size:20px;letter-spacing:-.5px;margin-bottom:50px}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--accent);color:#15351e;display:grid;place-items:center;font-size:22px;font-weight:800}.sidebar nav{display:grid;gap:6px}.sidebar nav a{padding:12px;border-radius:9px;color:#c3cfc5}.sidebar nav a:hover{background:var(--panel2);color:var(--accent)}.sidebar-bottom{margin-top:auto;display:grid;gap:13px;font-size:12px;color:var(--muted)}.sidebar-bottom p{font-size:11px;margin:10px 0 0}.workspace{max-width:1480px;margin-left:232px;padding:38px 48px 28px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:35px}.session{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted)}.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;margin-bottom:22px;box-shadow:0 14px 36px #00000015}.auth-card{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.auth-card p{margin:0}.inline{display:flex;gap:10px}.inline input{min-width:0;flex:1}.primary,.secondary,.danger,.quiet{padding:10px 18px;border-radius:10px;border:1px solid var(--line);font-weight:600;white-space:nowrap}.primary{background:var(--accent);color:#15351e;border-color:var(--accent)}.primary:hover{background:#cffbdc}.secondary{background:#252e28;color:var(--text)}.secondary:hover{background:#313d34}.danger{background:#3a2423;color:var(--red);border-color:#68403a}.quiet{background:transparent;color:var(--muted);padding:6px 12px}.notice{border:1px solid var(--line);background:#18241c;border-radius:12px;padding:12px 18px;margin-bottom:24px;color:#bfd7c6;font-size:13px}.notice.warning{background:#2c261b;border-color:#5b4c2d;color:var(--warn)}.notice.error{background:#31211f;border-color:#69433d;color:var(--red)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:6px}.pill{font-size:11px;letter-spacing:.2px;border:1px solid var(--line);border-radius:30px;padding:5px 12px;color:#bacabf;white-space:nowrap}.mode-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.segmented{display:inline-flex;border:1px solid var(--line);border-radius:12px;padding:4px;background:#121613}.segmented button{padding:9px 24px;background:transparent;color:var(--muted);border:0;border-radius:8px;font-weight:600}.segmented .selected{background:#304336;color:var(--accent)}label{display:block;font-size:12px;font-weight:560;color:#c6d4ca;margin-bottom:7px}input,select,textarea{display:block;width:100%;color:var(--text);background:#111612;border:1px solid var(--line);border-radius:9px;padding:11px 12px;margin-top:7px;transition:border-color .15s}input:hover,select:hover,textarea:hover{border-color:#526157}input::placeholder,textarea::placeholder{color:#718177}textarea{resize:vertical;min-height:60px;line-height:1.65}#prompt{min-height:152px;font-size:16px;padding:19px 20px;margin-bottom:22px;border-radius:13px}fieldset{padding:0;border:0;margin:0;min-width:0}fieldset:disabled{opacity:.6}input:disabled,select:disabled{color:var(--muted)}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:15px;align-items:start}.options-grid label{min-width:0}.help{font-size:11px;line-height:1.6;color:var(--muted);font-weight:400;margin:6px 0 12px}.field{margin-bottom:18px}.compact{max-width:220px;min-width:100px;margin:0}.compact select,.compact input{padding:8px 10px}.advanced{border-top:1px solid var(--line);margin-top:20px}.advanced summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;padding:20px 0;font-weight:560;font-size:13px}.advanced-content{display:grid;gap:16px}.advanced-content>div{margin:0}.advanced-content .section-heading{margin-bottom:5px}input[type=file]{font-size:12px;padding:10px}input[type=file]::file-selector-button{background:#304336;border:0;border-radius:6px;padding:7px 10px;color:var(--accent);margin-right:12px;cursor:pointer}select[multiple]{min-height:100px}select[multiple] option{padding:6px;border-radius:5px;margin:2px}#audio-fields textarea{margin-bottom:8px}.submit-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:26px}.submit-row p{max-width:370px;margin:0}.generate{padding:13px 24px;font-size:14px;box-shadow:0 5px 25px #b4f5c718}.gallery-heading{margin:40px 0 22px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:20px}.job-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--panel)}.job-head{padding:17px 18px 0;display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted)}.job-body{padding:12px 18px 18px}.job-prompt{font-size:13px;color:#d5e0d8;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:12px}.job-meta{font-size:10px;color:var(--muted);margin:0}.job-status{font-size:11px;margin:10px 0;color:var(--accent)}.job-status.failure{color:var(--red)}.error-text{color:var(--red);font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}.job-media{display:grid;gap:1px;background:#0a0d0b}.job-media img,.job-media video{display:block;width:100%;max-height:420px;object-fit:contain;background:#0a0d0b}.media-footer{padding:10px 16px;background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.download{color:var(--accent)}.empty{text-align:center;border:1px dashed var(--line);border-radius:18px;padding:48px 22px;color:var(--muted)}.empty>span{font-size:32px;color:var(--accent);display:block;margin-bottom:15px}.empty h3{color:#c6d7cb}.empty p{margin:0;font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats .card{padding:24px}.stats strong{font-size:29px;letter-spacing:-.7px}.stats p:last-child{font-size:12px;margin:8px 0 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.lane-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.lane-card{min-height:165px}.queue-row{border-top:1px solid var(--line);padding:17px 0;display:flex;gap:20px;justify-content:space-between;align-items:start}.queue-row p{margin:0 0 7px;color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere}.queue-row small{color:var(--muted)}.queue-row button{font-size:11px;padding:6px 11px}.lane-card p{font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}footer{margin:38px 0 0;font-size:11px;color:#7d9183}
@media(max-width:1100px){.workspace{padding:30px 25px}.sidebar{width:205px;padding:25px 16px}.workspace{margin-left:205px}.auth-card{grid-template-columns:1fr}.stats{gap:12px}.stats .card{padding:18px}.stats strong{font-size:24px}}
@media(max-width:750px){.sidebar{position:static;width:auto;border-right:0;border-bottom:1px solid var(--line);padding:15px 20px}.brand{margin:0 0 12px;font-size:18px}.sidebar .eyebrow,.sidebar-bottom{display:none}.sidebar nav{display:flex;flex-wrap:wrap;gap:3px}.sidebar nav a{font-size:11px;padding:6px 8px}.workspace{margin:0;padding:24px 16px}.topbar{align-items:start;gap:12px}.topbar h1{font-size:25px}.session{max-width:150px;flex-wrap:wrap;justify-content:end}.card{padding:20px;border-radius:14px}.mode-row{align-items:end;gap:12px}.segmented button{padding:8px 12px}.compact{max-width:180px}.options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.submit-row{align-items:stretch;flex-direction:column;gap:16px}.inline{flex-wrap:wrap}.inline input{min-width:180px}.stats{grid-template-columns:1fr;gap:0}.stats .card{margin-bottom:12px}.lane-grid{grid-template-columns:1fr;gap:0}.section-heading{flex-wrap:wrap}.gallery{grid-template-columns:1fr}.advanced-content .section-heading .help{margin:0}.queue-row{gap:12px}}

.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,460px);margin:0}.login-card .brand{margin-bottom:32px}.login-card h1{margin-bottom:16px}.login-card form{display:grid;gap:10px}.login-card input{width:100%}.login-card form button{margin:12px 0}.login-card #login-notice{min-height:20px;margin:8px 0}

/* User compositor and gallery; admin styles stay independent. */
.user-studio .generation-settings{margin:18px 0;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.user-studio .generation-settings summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;font-weight:600}
.user-studio .generation-settings .help{margin:0;font-weight:400}.user-studio .generation-settings[open] summary{margin-bottom:18px}
.user-studio .gallery-toolbar{display:grid;grid-template-columns:minmax(180px,1fr) 150px 220px;gap:14px;margin-bottom:22px}
.user-studio .gallery-toolbar input,.user-studio .gallery-toolbar select{width:100%}
.user-studio .gallery.is-list{grid-template-columns:1fr}.user-studio .gallery.is-list .job-card:has(.job-media){display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,360px)}
.user-studio .gallery.is-list .job-media{grid-column:2;grid-row:1 / span 2}.user-studio .gallery.is-list .job-body{grid-column:1}
.user-studio .job-media img,.user-studio .job-media video{display:block;width:100%;height:auto;min-height:120px;background:#090c0a;object-fit:contain}
.user-studio .job-media img{cursor:zoom-in}.user-studio .job-card[hidden]{display:none!important}
.user-studio #media-viewer{width:min(1000px,94vw);max-width:94vw;max-height:94vh;border:1px solid #385042;border-radius:18px;background:#101712;color:#edf6ee;padding:20px}
.user-studio #media-viewer::backdrop{background:rgba(0,0,0,.8)}.user-studio .viewer-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.user-studio .viewer-heading h2{font-size:16px;overflow-wrap:anywhere}.user-studio #viewer-image{display:block;width:100%;max-height:75vh;object-fit:contain}
@media(max-width:750px){.user-studio .gallery-toolbar{grid-template-columns:1fr 1fr}.user-studio .gallery-toolbar label:first-child{grid-column:1 / -1}.user-studio .gallery-heading{align-items:flex-start;flex-wrap:wrap}.user-studio .gallery.is-list .job-card:has(.job-media){display:block}.user-studio .generation-settings summary{align-items:flex-start;flex-direction:column;gap:8px}}
