:root{color-scheme:dark;--bg: #131313;--hdr-bg: #353534;--surface: #2a2a2a;--surface-low: #1c1b1b;--surface-high: #353534;--titlebar: linear-gradient(90deg, #1a237e, #311b92);--text: #e5e2e1;--text-muted: #bcc9c6;--bev-out: inset 1px 1px 0 rgba(255, 255, 255, .15), inset -1px -1px 0 #000;--bev-in: inset 1px 1px 0 #000, inset -1px -1px 0 rgba(255, 255, 255, .1);--wb-top: rgba(255, 255, 255, .12);--wb-bot: #000;--wb-sz: 1px;--wb-outline: #2a2a2a;--hdr-shadow: inset 1px 1px 0 rgba(255, 255, 255, .08), inset -1px -1px 0 rgba(0, 0, 0, .5);--sep-bg: rgba(255, 255, 255, .12);--sep-sh: rgba(0, 0, 0, .5);--sel-bg: rgba(102, 217, 204, .12);--sel-border: #66d9cc;--btn-primary-outline: #66d9cc;--danger: #ff6b81;--ok: #66d9cc}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:Courier Prime,monospace;background:var(--bg);color:var(--text);min-height:100vh}.mat-icon{font-family:Material Symbols Outlined;font-style:normal;font-size:20px;line-height:1;display:inline-block;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;-webkit-user-select:none;user-select:none;vertical-align:middle}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--bg)}.topbar{height:28px;background:var(--hdr-bg);color:var(--text);display:flex;align-items:center;justify-content:space-between;padding:0 8px;flex-shrink:0;box-shadow:var(--hdr-shadow);z-index:50}.brand{font-family:IBM Plex Sans,sans-serif;font-size:12px;font-weight:700;display:flex;align-items:center;gap:6px}.brand .mat-icon{font-size:18px;color:var(--sel-border);font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.brand span.meta{font-family:JetBrains Mono,monospace;font-weight:400;font-size:10px;color:var(--text-muted);margin-left:4px}.topbar-actions{display:flex;gap:4px;align-items:center}.wborder{border-width:var(--wb-sz);border-style:solid;border-top-color:var(--wb-top);border-left-color:var(--wb-top);border-right-color:var(--wb-bot);border-bottom-color:var(--wb-bot);outline:var(--wb-sz) solid var(--wb-outline)}.titlebar{background:var(--titlebar);display:flex;align-items:center;justify-content:space-between;padding:2px 4px;height:22px;flex-shrink:0;-webkit-user-select:none;user-select:none}.titlebar-left{display:flex;align-items:center;gap:4px;font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:700;color:#fff;overflow:hidden;white-space:nowrap}.titlebar-left .mat-icon{font-size:14px;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;color:#fff}.tb-btns{display:flex;gap:2px;flex-shrink:0}.tb-btn{width:16px;height:14px;background:var(--surface);border:none;cursor:pointer;font-size:9px;font-weight:700;font-family:IBM Plex Sans,sans-serif;color:var(--text);box-shadow:var(--bev-out);display:flex;align-items:center;justify-content:center;padding:0}.tb-btn:active{box-shadow:var(--bev-in);transform:translate(.5px,.5px)}.btn{font-family:IBM Plex Sans,sans-serif;font-size:12px;font-weight:700;padding:4px 14px;background:var(--surface);border:none;color:var(--text);box-shadow:var(--bev-out);min-width:72px;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:4px}.btn:hover:not(:disabled){text-decoration:underline}.btn:active:not(:disabled){box-shadow:var(--bev-in);transform:translate(.5px,.5px)}.btn-primary{outline:2px solid var(--btn-primary-outline);outline-offset:-4px}.btn-danger{color:#ffb3c1}.btn-ghost{background:transparent;box-shadow:none}.btn-ghost:hover:not(:disabled){background:#ffffff0f}.chip{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;padding:2px 8px;background:var(--sel-bg);outline:1px solid var(--sel-border);color:var(--sel-border);text-decoration:none;white-space:nowrap}a.chip:hover{filter:brightness(1.15);text-decoration:none}.usage-chip.usage-low{outline-color:#ff6b81;color:#ffb3c1;background:#ff6b811f}.usage-sub{opacity:.75;font-weight:400}.panel,.win{background:var(--surface);display:flex;flex-direction:column;box-shadow:3px 3px 8px #00000073}.win-body{padding:10px 12px;display:flex;flex-direction:column;gap:10px;min-height:0;flex:1}.panel h2,.section-label{font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:700;color:var(--text);text-transform:none;letter-spacing:0}.sep{height:2px;background:var(--sep-bg);box-shadow:0 1px 0 var(--sep-sh);margin:2px 0}.empty{color:var(--text-muted);font-size:12px;line-height:1.45}.meta{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--text-muted);line-height:1.5}.field{display:flex;flex-direction:column;gap:4px}.field label{font-family:IBM Plex Sans,sans-serif;font-size:11px;font-weight:700;color:var(--text-muted)}.field input,.field textarea,.music-select,.field-input{background:var(--surface-low);border:none;box-shadow:var(--bev-in);color:var(--text);padding:8px 10px;outline:none;font-family:Courier Prime,monospace;font-size:13px;width:100%}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field textarea:focus,.music-select:focus{outline:1px dotted var(--sel-border);outline-offset:1px}.error-banner{background:#ff6b811f;box-shadow:var(--bev-in);color:#ffb3c1;padding:8px 10px;font-size:12px}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.login-card{width:min(420px,100%);background:var(--surface);box-shadow:3px 3px 8px #0009}.login-card .win-body h1{font-family:IBM Plex Sans,sans-serif;font-size:15px;font-weight:700;margin-bottom:4px}.login-card .win-body p{font-size:13px;color:var(--text-muted);line-height:1.45;margin-bottom:8px}.projects-page{max-width:1100px;margin:0 auto;padding:16px;width:100%;flex:1}.projects-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;flex-wrap:wrap}.projects-header h1{font-family:IBM Plex Sans,sans-serif;font-size:18px;font-weight:700}.projects-header p{font-size:12px;color:var(--text-muted);margin-top:4px;max-width:520px;line-height:1.45}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.project-card{background:var(--surface)}.project-card .win-body h3{font-family:IBM Plex Sans,sans-serif;font-size:13px;font-weight:700}.project-card .actions{display:flex;gap:6px;margin-top:4px}.row{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.workspace{display:grid;grid-template-columns:300px 1fr 340px;gap:10px;padding:10px;min-height:calc(100vh - 58px);flex:1}@media(max-width:1200px){.workspace{grid-template-columns:1fr}}.preview-wrap{background:#000;box-shadow:var(--bev-in);aspect-ratio:16 / 9;display:grid;place-items:center;overflow:hidden}.preview-wrap .remotion-player{width:100%!important;height:100%!important}.asset-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow:auto;background:var(--surface-low);box-shadow:var(--bev-in);padding:4px}.asset-row{display:flex;align-items:center;gap:8px;padding:4px 6px;background:var(--surface);box-shadow:var(--bev-out)}.asset-row img{width:36px;height:36px;object-fit:cover;background:#111;box-shadow:var(--bev-in)}.asset-row .name{flex:1;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-row.selected{outline:1px dotted var(--sel-border);background:var(--sel-bg)}.asset-row .track-badge{font-family:JetBrains Mono,monospace;font-size:9px;color:var(--sel-border);margin-left:4px}.icon-btn.play-btn{width:24px;min-width:24px;color:var(--sel-border);font-size:10px}.track-duration{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;color:var(--text-muted);flex-shrink:0;min-width:2.5em;text-align:right}.dropzone{border:none;box-shadow:var(--bev-in);background:var(--surface-low);padding:12px;text-align:center;color:var(--text-muted);font-size:12px;cursor:pointer}.dropzone:hover{color:var(--text);outline:1px dotted var(--sel-border)}.icon-btn{border:none;background:var(--surface);box-shadow:var(--bev-out);color:var(--text-muted);width:20px;height:18px;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.icon-btn:hover{color:var(--text)}.icon-btn:active{box-shadow:var(--bev-in)}.history{display:flex;flex-direction:column;gap:4px;max-height:140px;overflow:auto;font-size:11px;background:var(--surface-low);box-shadow:var(--bev-in);padding:6px;font-family:JetBrains Mono,monospace}.history .user{color:#cfe}.history .assistant{color:var(--text-muted)}.status-line{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--text-muted);min-height:1.2em}.status-line.ok{color:var(--ok)}.status-line.err{color:var(--danger)}.gen-console{background:#0c0c0c;box-shadow:var(--bev-in);padding:8px;font-family:JetBrains Mono,monospace;font-size:10px;line-height:1.55;color:#9fd;max-height:220px;overflow:auto;min-height:120px}.gen-console .line{white-space:pre-wrap;word-break:break-word}.gen-console .line .ts{color:#666;margin-right:6px}.gen-console .line.ok{color:var(--ok)}.gen-console .line.err{color:var(--danger)}.gen-console .line.warn{color:#ffd166}.gen-console .line.info{color:#9fd}.progress-track{height:14px;background:var(--surface-low);box-shadow:var(--bev-in);position:relative;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#1a237e,#66d9cc);transition:width .35s ease;min-width:2px}.progress-label{font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;display:flex;justify-content:space-between;color:var(--text-muted)}.gen-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;z-index:5;padding:16px;text-align:center}.gen-overlay .big{font-family:IBM Plex Sans,sans-serif;font-weight:700;font-size:14px;color:#fff}.gen-overlay .sub{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--sel-border);max-width:90%}.preview-panel{position:relative}.taskbar{height:30px;background:var(--surface);box-shadow:var(--bev-out);border-top:1px solid var(--wb-top);display:flex;align-items:center;justify-content:space-between;padding:0 4px;flex-shrink:0;z-index:50}.taskbar-left{display:flex;gap:2px;align-items:center}.start-btn{display:flex;align-items:center;gap:4px;padding:2px 10px;height:22px;background:var(--surface);border:none;cursor:pointer;font-family:IBM Plex Sans,sans-serif;font-size:12px;font-weight:700;color:var(--text);box-shadow:var(--bev-out);text-decoration:none}.start-btn:active{box-shadow:var(--bev-in)}.taskbar-sep{width:2px;height:20px;background:var(--sep-bg);box-shadow:1px 0 0 var(--sep-sh);margin:0 2px}.taskbar-clock{padding:2px 8px;height:22px;display:flex;align-items:center;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;box-shadow:var(--bev-in);color:var(--text)}.blink{animation:blink 1s step-end infinite}@keyframes blink{50%{opacity:0}}
