:root{--bg:#090b0a;--panel:#101311;--panel-raised:#151916;--line:#2a302c;--line-soft:#1d221f;--text:#f1f5f2;--muted:#929b95;--muted-2:#606963;--accent:#c7ff45;--accent-ink:#101507;--danger:#ff6a5f;--radius:14px;--font-sans:"Segoe UI Variable","SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;--font-mono:"Cascadia Code","SFMono-Regular",Consolas,monospace}*{box-sizing:border-box}body,html{background:var(--bg)}body{margin:0;min-width:320px;color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit}a,button,label{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.brand-mark{display:inline-flex;width:25px;height:25px;align-items:center;justify-content:center;gap:2px;border:1px solid #3a413c;border-radius:6px}.brand-mark i{width:3px;background:var(--accent);display:block;border-radius:1px}.brand-mark i:first-child{height:7px}.brand-mark i:nth-child(2){height:13px}.brand-mark i:nth-child(3){height:9px}.login-page{min-height:100dvh;display:grid;place-items:center;padding:28px;overflow:hidden;position:relative}.login-atmosphere{position:fixed;inset:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0),radial-gradient(circle at 76% 18%,rgba(199,255,69,.1),transparent 24%);background-size:52px 52px,52px 52px,auto;-webkit-mask-image:linear-gradient(180deg,black,transparent 85%);mask-image:linear-gradient(180deg,black,transparent 85%)}.login-shell{position:relative;width:min(100%,500px);padding:14px}.login-brand,.studio-brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.13em}.login-brand{margin-bottom:92px}.eyebrow,.job-id,.output-topline,.prompt-label-row span,.step-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--muted-2)}.login-copy h1{margin:14px 0 23px;font-size:clamp(44px,8vw,68px);line-height:.96;letter-spacing:-.055em;font-weight:620}.login-copy>p:last-child{max-width:430px;margin:0;color:var(--muted);font-size:14px;line-height:1.8}.login-form{margin-top:58px}.login-form>label{display:block;margin-bottom:10px;font-size:12px;color:#bdc4bf}.password-field{height:58px;display:grid;grid-template-columns:24px 1fr 42px;align-items:center;padding:0 8px 0 17px;border:1px solid var(--line);border-radius:var(--radius);background:rgba(17,20,18,.86);transition:border-color .2s ease,background .2s ease}.password-field:focus-within{border-color:#7a8d67;background:#121613}.password-field.field-error{border-color:rgba(255,106,95,.65)}.password-field svg{color:var(--muted-2)}.password-field input{width:100%;height:100%;border:0;outline:0;color:var(--text);background:none;font-size:14px}.password-field input::placeholder{color:#59615c}.password-field button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--accent);color:var(--accent-ink);cursor:pointer;transition:transform .15s ease,opacity .15s ease}.password-field button:active{transform:scale(.96)}.password-field button:disabled{cursor:not-allowed;opacity:.35}.button-loader{width:16px;height:16px;border:2px solid rgba(10,15,5,.3);border-top:2px solid var(--accent-ink);border-radius:50%;animation:rotate .75s linear infinite}.form-message{min-height:20px;margin:9px 2px 0;color:var(--danger);font-size:12px}.login-footnote{margin:45px 0 0;color:var(--muted-2);font-family:var(--font-mono);font-size:9px;letter-spacing:.08em}.studio-page{min-height:100dvh;background:var(--bg)}.studio-header{height:70px;justify-content:space-between;padding:0 clamp(20px,3vw,48px);border-bottom:1px solid var(--line-soft)}.header-meta,.studio-header{display:flex;align-items:center}.header-meta{gap:17px}.system-monitor{height:38px;display:flex;align-items:center;gap:12px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#0d100e}.compute-status{display:inline-flex;align-items:center;gap:8px;color:#98a19b;font-size:11px;white-space:nowrap}.compute-status i{width:6px;height:6px;border-radius:50%;background:#59615c}.compute-status.ready i{background:var(--accent);box-shadow:0 0 0 4px rgba(199,255,69,.08)}.compute-status.busy i{background:#e7c86a;box-shadow:0 0 0 4px rgba(231,200,106,.08)}.compute-status.offline i{background:var(--danger);box-shadow:0 0 0 4px rgba(255,106,95,.07)}.queue-readout{padding-left:12px;border-left:1px solid var(--line);color:#c7cec9;font:9px var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.gpu-readout{max-width:260px;gap:6px;overflow:hidden;color:var(--muted-2);font:9px var(--font-mono);white-space:nowrap;text-overflow:ellipsis}.gpu-readout,.secure-status{display:inline-flex;align-items:center}.secure-status{gap:8px;color:#8f9a92;font-size:11px}.secure-status i{display:block;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(199,255,69,.08)}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:transparent;cursor:pointer}.icon-button:hover{color:var(--text);border-color:#454e48}.studio-layout{display:grid;grid-template-columns:minmax(420px,47%) 1fr;min-height:calc(100dvh - 70px)}.control-panel{padding:clamp(28px,3.5vw,52px);border-right:1px solid var(--line-soft)}.panel-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:29px}.panel-heading h1{margin:8px 0 0;font-size:clamp(28px,3vw,42px);font-weight:580;letter-spacing:-.045em}.counter{font-family:var(--font-mono);color:var(--accent);font-size:12px;padding-bottom:5px}.upload-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.upload-slot{position:relative;aspect-ratio:1/.68;min-height:82px}.upload-slot label{position:absolute;inset:0;overflow:hidden;display:grid;place-items:center;border:1px dashed #353d38;border-radius:12px;background:#0e110f;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.upload-slot label:hover{border-color:#69736c;background:#121613}.upload-slot label:active{transform:scale(.985)}.upload-slot input{position:absolute;width:1px;height:1px;opacity:0}.upload-slot img{width:100%;height:100%;object-fit:cover}.slot-empty{display:grid;place-items:center;gap:9px;color:#69716c}.slot-empty small{font-family:var(--font-mono);font-size:9px;letter-spacing:.08em}.slot-state{position:absolute;right:7px;top:7px;width:25px;height:25px;display:grid;place-items:center;border-radius:7px;color:white;background:rgba(8,10,9,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ready-mark{color:var(--accent)}.error-mark{color:var(--danger)}.upload-slot.error label{border-color:rgba(255,106,95,.6)}.upload-slot>button{position:absolute;z-index:2;left:7px;top:7px;width:25px;height:25px;display:grid;place-items:center;border:0;border-radius:7px;color:#c9ceca;background:rgba(8,10,9,.82);opacity:0;cursor:pointer;transition:opacity .2s ease}.upload-slot:hover>button,.upload-slot>button:focus-visible{opacity:1}.helper-copy{margin:11px 0 0;color:var(--muted-2);font-size:10px}.upload-error-summary{display:grid;gap:4px;margin-top:9px;color:#ff958b;font-size:10px;line-height:1.45}.prompt-block{margin-top:27px}.prompt-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.prompt-label-row label{color:#b9c1bb;font-size:12px}.prompt-label-row label span{margin-right:10px}.prompt-block textarea{display:block;resize:vertical;width:100%;height:128px;min-height:112px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);outline:none;color:var(--text);background:#0e110f;font-size:13px;line-height:1.75;transition:border-color .2s ease,background .2s ease}.prompt-block textarea::placeholder{color:#505853}.prompt-block textarea:focus{border-color:#66725f;background:#101411}.prompt-block textarea:disabled{opacity:.65}.inline-notice{display:flex;align-items:center;gap:9px;margin-top:13px;padding:11px 13px;border:1px solid rgba(255,106,95,.28);border-radius:10px;color:#ff958d;background:rgba(255,106,95,.06);font-size:12px}.generate-button{width:100%;height:58px;margin-top:20px;padding:0 20px;display:flex;justify-content:space-between;align-items:center;border:0;border-radius:var(--radius);color:var(--accent-ink);background:var(--accent);font-weight:700;font-size:13px;cursor:pointer;transition:transform .16s ease,filter .16s ease,opacity .16s ease}.generate-button:hover:not(:disabled){filter:brightness(1.06)}.generate-button:active:not(:disabled){transform:scale(.99)}.generate-button:disabled{color:#6c746f;background:#242a26;cursor:not-allowed}.spin{animation:rotate .9s linear infinite}@keyframes rotate{to{transform:rotate(1turn)}}.output-panel{padding:clamp(28px,3.5vw,52px);display:flex;flex-direction:column;min-width:0;background:#0b0d0c}.output-topline{display:flex;justify-content:space-between;margin-bottom:16px}.output-stage{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid #252a27;border-radius:var(--radius);background:#070807}.output-stage video{width:100%;height:100%;display:block;object-fit:contain;background:black}.empty-visual,.rendering-visual{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}.empty-visual{background:linear-gradient(145deg,#0c0f0d,#080a09)}.empty-visual:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0);background-size:36px 36px}.empty-frame{width:96px;height:67px;display:grid;place-items:center;border:1px solid #2b312d;border-radius:11px;color:#444d47}.frame-index{position:absolute;right:17px;bottom:14px;font:10px var(--font-mono);color:#363d38}.rendering-visual{background:radial-gradient(circle at center,rgba(199,255,69,.07),transparent 28%),#080a09}.scan-frame{position:absolute;inset:9%;border:1px solid rgba(199,255,69,.19)}.scan-frame span{position:absolute;width:17px;height:17px;border-color:var(--accent);opacity:.6}.scan-frame span:first-child{left:-1px;top:-1px;border-left:1px solid;border-top:1px solid}.scan-frame span:nth-child(2){right:-1px;top:-1px;border-right:1px solid;border-top:1px solid}.scan-frame span:nth-child(3){left:-1px;bottom:-1px;border-left:1px solid;border-bottom:1px solid}.scan-frame span:nth-child(4){right:-1px;bottom:-1px;border-right:1px solid;border-bottom:1px solid}.rendering-core{width:78px;height:78px;display:grid;place-items:center;border:1px solid rgba(199,255,69,.26);border-radius:50%;color:var(--accent);animation:breathe 2.2s ease-in-out infinite}.scanline{position:absolute;left:9%;right:9%;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 0 15px rgba(199,255,69,.25);animation:scan 3s ease-in-out infinite}@keyframes breathe{50%{transform:scale(1.08);opacity:.6}}@keyframes scan{0%,to{top:12%;opacity:.25}50%{top:88%;opacity:.8}}.output-caption{position:relative;padding:27px 2px 0}.status-line{display:flex;align-items:flex-start;gap:13px}.status-indicator{flex:0 0 auto;width:7px;height:7px;margin-top:7px;border-radius:50%;border:1px solid #525b55}.status-indicator.processing,.status-indicator.queued{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px rgba(199,255,69,.07)}.status-indicator.completed{border-color:var(--accent);background:var(--accent)}.status-indicator.failed{border-color:var(--danger);background:var(--danger)}.status-line h2{margin:0 0 7px;font-size:17px;font-weight:600;letter-spacing:-.02em}.status-line p{margin:0;max-width:440px;color:var(--muted);font-size:12px;line-height:1.7}.progress-track{height:2px;margin:24px 0 0 20px;overflow:hidden;background:#232824}.progress-track span{display:block;height:100%;background:var(--accent);transition:width 1s ease}.download-button{width:fit-content;margin:24px 0 0 20px;display:inline-flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #3a433c;border-radius:10px;color:var(--text);text-decoration:none;font-size:12px}.download-button svg:last-child{margin-left:6px;color:var(--accent)}.download-button:hover{border-color:#68736b;background:#111512}.job-id{margin:21px 0 0 20px}@media (max-width:900px){.studio-layout{grid-template-columns:1fr}.control-panel{border-right:0;border-bottom:1px solid var(--line-soft)}.output-panel{min-height:580px}.gpu-readout{display:none}}@media (max-width:560px){.login-page{padding:20px;place-items:start center}.login-shell{padding:8px}.login-brand{margin:28px 0 70px}.login-copy h1{font-size:45px}.studio-header{height:62px;padding:0 17px}.secure-status{display:none}.system-monitor{padding:0 10px;gap:7px}.studio-layout{min-height:calc(100dvh - 62px)}.control-panel,.output-panel{padding:28px 17px 42px}.panel-heading h1{font-size:30px}.upload-grid{gap:6px}.upload-slot{min-height:0}.slot-empty{gap:5px}.upload-slot>button{opacity:1}.prompt-block{margin-top:30px}.output-panel{min-height:480px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}