:root{--bg:#0b161c;--surface:#10202a;--surface-2:#162b36;--line:#22404c;--text:#e6f1f3;--muted:#8fb0ba;--accent:#02c7d9;--accent-ink:#04201f;--accent-bright:#04f9fa;--video:#2fb7a7;--ai:#8f7be8;--audio:#6fb86a;--warn:#e8c55a;--crit:#e06a5c;--danger:#e05a5a;--mono:ui-monospace, "SF Mono", Menlo, monospace;--ok:#5dbe7a;--sans:"IBM Plex Sans", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-size:13px;line-height:1.4;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}#app{grid-template-rows:44px 1fr 6px minmax(180px,34%);grid-template-columns:1fr;height:100%;display:grid}.hdr{background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:0 12px;display:flex}.is-electron .hdr{-webkit-app-region:drag;padding-left:84px}.is-electron .hdr button,.is-electron .hdr input,.is-electron .hdr select{-webkit-app-region:no-drag}.hdr .logo{object-fit:contain;border-radius:7px;width:28px;height:28px;display:block}.hdr .title{font-size:14px;font-weight:600}.hdr .pname{min-width:160px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:6px;padding:4px 8px}.hdr .pname:hover,.hdr .pname:focus{border-color:var(--line);background:var(--bg)}.hdr .spacer{flex:1}.hdr .status{font-family:var(--mono);color:var(--muted);font-size:11px}.hdr .cloud-ind{font-size:13px}.hdr .cloud-ind[data-state=done]{color:#4cc38a}.hdr .cloud-ind[data-state=pending]{color:var(--muted)}.hdr .cloud-ind[data-state=uploading]{color:var(--accent)}.hdr .cloud-ind[data-state=error]{color:var(--danger,#e05a5a)}.btn{background:var(--surface-2);border:1px solid var(--line);color:var(--text);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:default}.btn.hist{gap:6px;padding:5px 12px;font-weight:600}.btn.hist:disabled{opacity:.35}.btn.hist:not(:disabled){color:var(--accent-bright);border-color:var(--accent);background:#02c7d91f}.btn.hist:not(:disabled):hover{background:#02c7d940}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.btn.primary:hover{background:var(--accent-bright);border-color:var(--accent-bright)}.btn.icon{padding:5px 7px}.btn.danger{color:var(--crit)}.seg{border:1px solid var(--line);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{background:var(--surface-2);color:var(--muted);border:0;padding:5px 9px;font-size:12px}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:600}.main{grid-template-columns:260px 1fr 300px;min-height:0;display:grid}.panel{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.panel:last-child{border-right:0;border-left:1px solid var(--line)}.panel-h{border-bottom:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-family:var(--mono);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.panel-b{flex:1;min-height:0;overflow:auto}.bin-drop{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:8px;margin:10px;padding:14px;font-size:12px}.bin-drop.over{border-color:var(--accent);color:var(--accent);background:#e8a04514}.bin-list{gap:6px;padding:0 10px 10px;display:grid}.bin-item{background:var(--surface-2);cursor:grab;border:1px solid #0000;border-radius:6px;grid-template-columns:64px 1fr auto;align-items:center;gap:8px;padding:6px;display:grid}.bin-item:hover{border-color:var(--line)}.bin-item .th{width:64px;height:40px;color:var(--muted);background:#000 50%/cover no-repeat;border-radius:4px;place-items:center;font-size:16px;display:grid;overflow:hidden}.bin-item .th canvas{object-fit:cover;width:100%;height:100%}.bin-item .nm{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.bin-item .mt{font-family:var(--mono);color:var(--muted);font-size:10px}.bin-item .acts{gap:2px;display:flex}.bin-item .acts button{color:var(--muted);background:0 0;border:0;border-radius:4px;padding:3px 5px;font-size:13px}.bin-item .acts button:hover{background:var(--bg);color:var(--text)}.bin-prog{background:var(--surface-2);color:var(--muted);border-radius:6px;margin:0 10px 8px;padding:8px;font-size:11px}.bin-prog .bar{background:var(--line);border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.bin-prog .bar i{background:var(--accent);width:0%;height:100%;transition:width .15s;display:block}.stage{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.preview-host{flex:1;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.preview-host canvas.render{box-shadow:0 0 0 1px var(--line);background:#000;position:absolute}.transport{border-top:1px solid var(--line);background:var(--surface);align-items:center;gap:8px;padding:6px 12px;display:flex}.transport .tc{font-family:var(--mono);font-variant-numeric:tabular-nums;min-width:96px;font-size:13px}.transport .tc.dur{color:var(--muted)}.transport .spacer{flex:1}.splitter{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line);cursor:row-resize}.tl-host{background:var(--bg);flex-direction:column;min-height:0;display:flex}.dlg-back{z-index:50;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.web-bg body{background:#0b0d10 url(/start-bg.jpg) 50%/cover no-repeat fixed}.dlg{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex-direction:column;width:min(520px,92vw);max-height:88vh;display:flex;box-shadow:0 20px 60px #00000080}.dlg-h{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;display:flex}.dlg-b{gap:12px;padding:14px 16px;display:grid;overflow:auto}.dlg-f{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.row{grid-template-columns:130px 1fr;align-items:center;gap:10px;display:grid}.row label{color:var(--muted);font-size:12px}.row select,.row input[type=text],.row input[type=number]{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:6px;width:100%;padding:6px 8px}.prog{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.prog i{background:var(--accent);width:0%;height:100%;display:block}.hint{color:var(--muted);font-size:12px}.proj-list{gap:6px;display:grid}.proj-item{background:var(--surface-2);cursor:pointer;border:1px solid #0000;border-radius:6px;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;padding:8px 10px;display:grid}.proj-item:hover{border-color:var(--line)}.proj-item .m{font-family:var(--mono);color:var(--muted);font-size:10px}.toast{background:var(--surface-2);border:1px solid var(--line);z-index:60;border-radius:8px;padding:8px 14px;font-size:12px;position:fixed;bottom:40%;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}.toast.err{border-color:var(--crit)}.task-toast{background:var(--surface-2);border:1px solid var(--line);z-index:61;border-radius:8px;grid-template-columns:minmax(0,1fr) 160px auto;align-items:center;gap:12px;min-width:380px;max-width:90vw;padding:8px 8px 8px 14px;font-size:12px;display:grid;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0006}.task-toast span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.task-bar{background:var(--line);border-radius:3px;height:5px;overflow:hidden}.task-bar i{background:var(--accent);width:0;height:100%;transition:width .2s;display:block}.task-toast .btn{padding:3px 10px;font-size:11px}.unsupported{max-width:60ch;margin:0 auto;padding:40px;line-height:1.6}.unsupported h1{font-size:20px}.main{grid-template-columns:var(--lib-w,470px) 6px 1fr 300px}.vsplit{background:var(--surface);border-right:1px solid var(--line);cursor:col-resize}.vsplit:hover{background:var(--surface-2)}.panel.lib{grid-template-rows:auto 1fr;display:grid}.lib-tabs{border-bottom:1px solid var(--line);gap:2px;padding:6px 8px;display:flex}.lib-tab{min-width:64px;color:var(--muted);background:0 0;border:0;border-radius:6px;justify-items:center;gap:3px;padding:6px 10px;font-size:11px;display:grid}.lib-tab svg{display:block}.lib-tab:hover{background:var(--surface-2);color:var(--text)}.lib-tab.on{color:var(--accent)}.lib-body{min-height:0;overflow:clip auto}.lib-pane{max-width:100%;min-height:100%;overflow-x:clip}.lib-filters{border-bottom:1px solid var(--line);align-items:center;gap:4px;padding:8px 10px;display:flex}.lib-filters .spacer{flex:1}.lib-filter{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:999px;padding:3px 9px;font-size:11px}.lib-filter.on{background:var(--surface-2);color:var(--text);border-color:var(--line)}.lib-empty{text-align:center;color:var(--muted);padding:20px;font-size:12px}.lib-hint{color:var(--muted);margin:10px 10px 6px;font-size:11px;line-height:1.45}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;padding:4px 10px 12px;display:grid}.lib-card{color:var(--text);cursor:grab;text-align:left;background:0 0;border:0;gap:5px;padding:0;display:grid}.lib-card:active{cursor:grabbing}.lib-thumb{aspect-ratio:16/9;background:#000;border:2px solid #0000;border-radius:6px;width:100%;height:auto;display:block}.lib-card:hover .lib-thumb{border-color:var(--accent)}.lib-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:0 2px;font-size:11px;overflow:hidden}.lib-card:hover .lib-name{color:var(--text)}.lib-group{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:12px 10px 4px;font-size:10px}.lib-grid--small{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.lib-thumb--square{aspect-ratio:1}.lib-row{color:var(--muted);align-items:center;gap:8px;margin:4px 10px 8px;font-size:11px;display:flex}.lib-row input[type=range]{accent-color:var(--accent);flex:1}.lib-row-value{font-family:var(--mono);text-align:right;min-width:40px}.lib-tabs{flex-wrap:wrap;gap:2px;padding:6px}.lib-tab{white-space:nowrap;flex:1 0 auto;gap:3px;min-width:80px;padding:5px 6px;font-size:11px}.lib-tab svg{width:17px;height:17px}.bin-tools{align-items:center;gap:6px;padding:6px 10px 0;display:flex}.bin-search{background:var(--bg);border:1px solid var(--line);min-width:0;color:var(--text);font:inherit;border-radius:6px;flex:1;padding:4px 8px;font-size:11px}.bin-sort{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:4px 6px;font-size:11px}.bin-tool{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:3px;padding:3px 8px;font-size:11px;display:inline-flex}.bin-tool.on{background:var(--surface-2);color:var(--accent);border-color:var(--accent)}.bin-stars{gap:1px;margin-top:2px;display:flex}.bin-stars button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:0 1px;line-height:0}.bin-stars button:hover,.bin-item .bin-stars svg[fill=currentColor]{color:var(--accent)}.pal-list{gap:6px;margin:8px 0;display:grid}.pal-row{align-items:center;gap:6px;display:flex}.pal-chip{border:1px solid var(--line);cursor:pointer;border-radius:6px;width:34px;height:26px}.pal-hex{font-family:var(--mono);min-width:110px;color:var(--muted);font-size:11px}.pal-row .btn.small,.pres-row .btn.small{padding:3px 8px;font-size:11px}.pal-preview{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.pal-role{align-items:center;gap:6px;font-size:11px;display:inline-flex}.pal-role i{border:1px solid var(--line);border-radius:4px;width:16px;height:16px;display:inline-block}.insp-subgroup{gap:4px;display:grid}.bin-tags{flex-wrap:wrap;gap:4px;padding:4px 10px 0;display:flex}.bin-tag{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:10px;padding:2px 8px;font-size:11px}.bin-tag.on{background:var(--accent);color:var(--accent-ink,#111);border-color:var(--accent)}.bin-tag.bin-clean{color:var(--muted);margin-left:auto}.bin-item .tags{color:var(--accent)}.ico{vertical-align:middle;align-items:center;display:inline-flex}.bin-item .acts button .ico{color:var(--muted)}.bin-item .acts button:hover .ico{color:var(--text)}.lib-thumb--sticker{object-fit:contain;background:var(--surface-2);padding:8px}
