body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@media (max-width:768px){body{zoom:.8}}:root{--s-950:#0b0e12;--s-900:#12161b;--s-850:#171c22;--s-800:#1c222a;--s-700:#262e38;--s-600:#333e4a;--s-500:#4a5563;--s-400:#6b7684;--s-300:#8f99a6;--s-200:#b7c0cb;--s-100:#dde2e7;--s-50:#f2f4f6;--bg:var(--s-950);--panel:var(--s-900);--panel-raised:var(--s-850);--border:var(--s-700);--border-soft:var(--s-800);--text:var(--s-100);--text-muted:var(--s-400);--text-dim:var(--s-500);--accent:#4d8dff;--accent-dim:#2c4c85;--accent-text:#eaf1ff;--danger:#ef5350;--danger-dim:#7a2b29;--warn:#f0b429;--radius-sm:3px;--radius:5px;--mono:ui-monospace,"SF Mono","Cascadia Code",Menlo,Consolas,monospace;--sans:-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--row-h:34px}*{box-sizing:border-box}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;background:#0b0e12;background:var(--bg);color:#dde2e7;color:var(--text);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--sans);margin:0}::selection{background:#2c4c85;background:var(--accent-dim);color:#fff}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#333e4a;background:var(--s-600);border:2px solid #12161b;border:2px solid var(--panel);border-radius:6px}:focus-visible{outline:2px solid #4d8dff;outline:2px solid var(--accent);outline-offset:-1px}.workspace{background:#0b0e12;background:var(--bg);display:grid;grid-template-rows:48px 1fr;height:100vh;overflow:hidden}.ws-toolbar{align-items:center;background:#12161b;background:var(--panel);border-bottom:1px solid #262e38;border-bottom:1px solid var(--border);display:flex;gap:8px;padding:0 10px}.ws-toolbar .ws-logo{border-right:1px solid #1c222a;border-right:1px solid var(--border-soft);color:#dde2e7;color:var(--text);font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-family:var(--mono);font-size:13px;font-weight:600;margin-right:4px;padding-right:10px;white-space:nowrap}.ws-toolbar .ws-spacer{flex:1 1}.ws-toolbar .ws-group{align-items:center;display:flex;gap:4px}.ws-btn{align-items:center;background:#1c222a;background:var(--s-800);border:1px solid #262e38;border:1px solid var(--border);border-radius:3px;border-radius:var(--radius-sm);color:#dde2e7;color:var(--text);cursor:pointer;display:inline-flex;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--sans);font-size:12.5px;gap:6px;height:30px;padding:0 10px;transition:background-color .12s ease,border-color .12s ease;white-space:nowrap}.ws-btn:hover{background:#262e38;background:var(--s-700);border-color:#4a5563;border-color:var(--s-500)}.ws-btn:active{background:#333e4a;background:var(--s-600)}.ws-btn.primary{background:#4d8dff;background:var(--accent);border-color:#4d8dff;border-color:var(--accent);color:#fff}.ws-btn.primary:hover{background:#3d7de0}.ws-btn.danger{background:#0000;border-color:#7a2b29;border-color:var(--danger-dim);color:#ff8b88}.ws-btn.danger:hover{background:#ef53501f}.ws-btn:disabled{cursor:not-allowed;opacity:.4}.ws-kbd{border:1px solid #262e38;border:1px solid var(--border);border-radius:3px;color:#4a5563;color:var(--text-dim);font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-family:var(--mono);font-size:10px;margin-left:4px;padding:1px 4px}.ws-main{display:grid;grid-template-columns:38% 1fr 300px}.ws-main,.ws-pane{min-height:0;overflow:hidden}.ws-pane{display:flex;flex-direction:column;min-width:0}.ws-pane+.ws-pane{border-left:1px solid #262e38;border-left:1px solid var(--border)}.ws-pane-header{align-items:center;background:#12161b;background:var(--panel);border-bottom:1px solid #1c222a;border-bottom:1px solid var(--border-soft);color:#6b7684;color:var(--text-muted);display:flex;flex:none;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-family:var(--mono);font-size:11px;height:34px;justify-content:space-between;letter-spacing:.06em;padding:0 12px;text-transform:uppercase}.ws-pane-body{flex:1 1;min-height:0;overflow:auto}.ws-video-wrap{background:#000}.ws-video-wrap .react-player{display:block}.ws-video-meta{align-items:center;background:#12161b;background:var(--panel);border-bottom:1px solid #1c222a;border-bottom:1px solid var(--border-soft);color:#6b7684;color:var(--text-muted);display:flex;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-family:var(--mono);font-size:12px;gap:10px;padding:8px 12px}.ws-video-meta .tc{color:#dde2e7;color:var(--text)}.ws-empty-video{align-items:center;background:repeating-linear-gradient(45deg,#12161b,#12161b 10px,#171c22 0,#171c22 20px);background:repeating-linear-gradient(45deg,var(--s-900),var(--s-900) 10px,var(--s-850) 10px,var(--s-850) 20px);color:#6b7684;color:var(--text-muted);display:flex;flex:1 1;flex-direction:column;gap:10px;justify-content:center;padding:40px 20px}.ws-quick-add{grid-gap:8px;background:#12161b;background:var(--panel);border-top:1px solid #1c222a;border-top:1px solid var(--border-soft);display:grid;gap:8px;grid-template-columns:1fr 1fr auto;padding:10px 12px}.ws-field{display:flex;flex-direction:column;gap:3px}.ws-field label{color:#4a5563;color:var(--text-dim);font-size:10px;letter-spacing:.05em;text-transform:uppercase}.ws-input{background:#171c22;background:var(--s-850);border:1px solid #262e38;border:1px solid var(--border);border-radius:3px;border-radius:var(--radius-sm);color:#dde2e7;color:var(--text);font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-family:var(--mono);font-size:13px;padding:6px 8px;width:100%}.ws-input:focus{border-color:#4d8dff;border-color:var(--accent)}.ws-input.text{font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--sans)}.ws-timeline-list{contain:content;display:flex;flex-direction:column}.ws-row{grid-gap:8px;align-items:center;border-bottom:1px solid #1c222a;border-bottom:1px solid var(--border-soft);contain:layout style;cursor:pointer;display:grid;font-size:12.5px;gap:8px;grid-template-columns:34px 84px 84px 1fr 64px;height:34px;height:var(--row-h);padding:0 10px}.ws-row:hover{background:#171c22;background:var(--s-850)}.ws-row.active{background:#2c4c85;background:var(--accent-dim);border-bottom-color:#2c4c85;border-bottom-color:var(--accent-dim)}.ws-row.error{box-shadow:inset 2px 0 0 #ef5350;box-shadow:inset 2px 0 0 var(--danger)}.ws-row .idx{color:#4a5563;color:var(--text-dim);font-size:11px}.ws-row .idx,.ws-row .tc{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-family:var(--mono)}.ws-row .tc{color:#8f99a6;color:var(--s-300);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-row.active .tc{color:#eaf1ff;color:var(--accent-text)}.ws-row .txt{color:#dde2e7;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-row .row-actions{display:flex;gap:4px;justify-content:flex-end;opacity:0}.ws-row.active .row-actions,.ws-row:hover .row-actions{opacity:1}.ws-icon-btn{align-items:center;background:#0000;border:1px solid #262e38;border:1px solid var(--border);border-radius:3px;color:#6b7684;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:12px;height:22px;justify-content:center;line-height:1;width:22px}.ws-icon-btn:hover{border-color:#6b7684;border-color:var(--s-400);color:#fff}.ws-icon-btn.danger:hover{border-color:#7a2b29;border-color:var(--danger-dim);color:#ff8b88}.ws-timeline-empty{color:#6b7684;color:var(--text-muted);font-size:13px;padding:40px 16px;text-align:center}.ws-props-body{display:flex;flex-direction:column;gap:14px;padding:14px}.ws-props-empty{color:#6b7684;color:var(--text-muted);font-size:13px;padding:20px 4px}.ws-props-field{display:flex;flex-direction:column;gap:5px}.ws-props-field label{color:#4a5563;color:var(--text-dim);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.ws-props-row{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}textarea.ws-input{font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--sans);font-size:13.5px;min-height:70px;resize:vertical}.ws-props-actions{display:flex;gap:8px;margin-top:4px}.ws-props-meta{font-size:11px;padding-top:10px}.ws-hotkey-bar,.ws-props-meta{border-top:1px solid #1c222a;border-top:1px solid var(--border-soft);color:#4a5563;color:var(--text-dim);font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-family:var(--mono)}.ws-hotkey-bar{background:#12161b;background:var(--panel);display:flex;flex-wrap:wrap;font-size:10.5px;gap:14px;padding:8px 12px}.ws-hotkey-bar b{color:#6b7684;color:var(--text-muted);font-weight:600}@media (max-width:900px){.ws-main{display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto}.ws-pane{overflow:visible}.ws-pane+.ws-pane{border-left:none;border-top:1px solid #262e38;border-top:1px solid var(--border)}.ws-pane.video{flex:none;order:1}.ws-pane.timeline{flex:1 1 auto;min-height:320px;order:2}.ws-pane.props{flex:none;order:3}.ws-pane-body{overflow:visible}.ws-pane.timeline .ws-pane-body{max-height:55vh;overflow:auto}.ws-toolbar{overflow-x:auto}.ws-hotkey-bar,.ws-toolbar .ws-logo{display:none}.ws-row{grid-template-columns:26px 68px 1fr 30px}.ws-row .tc:nth-of-type(2){display:none}}@media (max-width:480px){.ws-quick-add{grid-template-columns:1fr 1fr}.ws-quick-add .ws-btn{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.ws-toolbar .ws-logo-btn{background:none;border:0;border-radius:0;border-right:1px solid #1c222a;border-right:1px solid var(--border-soft);cursor:pointer}.ws-toolbar .ws-logo-btn:hover{color:#4d8dff;color:var(--accent)}.ws-project-name{color:#6b7684;color:var(--text-muted);font-size:12px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-save-state{border:1px solid #0000;border-radius:3px;border-radius:var(--radius-sm);color:#4a5563;color:var(--text-dim);font-size:11px;padding:2px 6px;white-space:nowrap}.ws-save-state.saving{color:#6b7684;color:var(--text-muted)}.ws-save-state.error{border-color:#7a2b29;border-color:var(--danger-dim);color:#ff8b88}.ws-empty-video-name{color:#dde2e7;color:var(--text);font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font-family:var(--mono);font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-form-check{align-items:center;color:#6b7684;color:var(--text-muted);cursor:pointer;display:flex;font-size:13px;gap:6px;margin:4px 0 12px}.ws-icon-btn:disabled{cursor:not-allowed;opacity:.3}@media (max-width:900px){.ws-project-name,.ws-save-state{display:none}}.ws-row.selected{background:#4d8dff24}.ws-row.selected .tc{color:#b7c0cb;color:var(--s-200)}.ws-row.playing{box-shadow:inset 3px 0 0 #f0b429;box-shadow:inset 3px 0 0 var(--warn)}.ws-row.playing.error{box-shadow:inset 3px 0 0 #f0b429,inset 5px 0 0 #ef5350;box-shadow:inset 3px 0 0 var(--warn),inset 5px 0 0 var(--danger)}.ws-row.match .txt{text-decoration:underline;text-decoration-color:#f0b429;text-decoration-color:var(--warn);text-underline-offset:3px}.ws-row .txt .nl,.ws-row .txt-empty{color:#4a5563;color:var(--text-dim)}.ws-row .txt-empty{font-style:italic}.ws-timeline-list:focus{outline:none}.ws-btn.ws-btn-icon{font-size:15px;justify-content:center;padding:0;width:30px}.ws-chip{background:#0000;border:1px solid #262e38;border:1px solid var(--border);border-radius:11px;color:#6b7684;color:var(--text-muted);cursor:pointer;font:11px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:11px var(--mono);height:22px;letter-spacing:0;padding:0 8px;text-transform:none}.ws-chip:hover{border-color:#4a5563;border-color:var(--s-500);color:#dde2e7;color:var(--text)}.ws-chip.on{background:#2c4c85;background:var(--accent-dim);border-color:#2c4c85;border-color:var(--accent-dim);color:#eaf1ff;color:var(--accent-text)}.ws-pane-header-right{align-items:center;display:inline-flex;gap:10px}.ws-linklike{background:none;border:0;cursor:pointer;font:inherit;padding:0}.ws-linklike,.ws-linklike b{color:#4d8dff;color:var(--accent)}.ws-label-hint{color:#4a5563;color:var(--text-dim);font-size:10.5px;letter-spacing:0;margin-left:6px;text-transform:none}textarea.ws-quick-text{line-height:1.35;min-height:0;padding-bottom:6px;padding-top:6px;resize:none}.ws-find{background:#171c22;background:var(--panel-raised);border-bottom:1px solid #262e38;border-bottom:1px solid var(--border);display:flex;flex:none;flex-direction:column;gap:6px;padding:8px 10px}.ws-find-row{align-items:center;display:flex;gap:6px}.ws-find-row .ws-input{flex:1 1;height:28px;min-width:0}.ws-find-count{color:#6b7684;color:var(--text-muted);font:11px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:11px var(--mono);max-width:40%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-input.invalid{border-color:#ef5350;border-color:var(--danger)}.ws-props-field label{align-items:center;display:flex;gap:6px;justify-content:space-between}.ws-mini-btn{background:none;border:1px solid #262e38;border:1px solid var(--border);border-radius:3px;color:#6b7684;color:var(--text-muted);cursor:pointer;font:10px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:10px var(--mono);letter-spacing:0;padding:1px 5px;text-transform:none}.ws-mini-btn:hover:not(:disabled){border-color:#4d8dff;border-color:var(--accent);color:#eaf1ff;color:var(--accent-text)}.ws-mini-btn:disabled{cursor:not-allowed;opacity:.35}.ws-props-actions{flex-wrap:wrap}.ws-props-group{display:flex;flex-direction:column;gap:6px}.ws-props-group>label{color:#4a5563;color:var(--text-dim);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.ws-props-multi .big{color:#dde2e7;color:var(--text);font-size:15px}.ws-props-meta-inline{color:#4a5563;color:var(--text-dim);font:11px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:11px var(--mono);margin-top:4px}.ws-stats{display:flex;flex-wrap:wrap;gap:6px}.ws-stats span{border:1px solid #1c222a;border:1px solid var(--border-soft);border-radius:3px;color:#8f99a6;color:var(--s-300);font:11px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:11px var(--mono);padding:2px 6px}.ws-stats span.warn{background:#f0b42914;border-color:#f0b42973;color:#f0b429;color:var(--warn)}.ws-segmented{border:1px solid #262e38;border:1px solid var(--border);border-radius:5px;border-radius:var(--radius);display:inline-flex;overflow:hidden}.ws-segmented button{background:#0000;border:0;color:#6b7684;color:var(--text-muted);cursor:pointer;font:13px -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font:13px var(--sans);padding:6px 12px}.ws-segmented button+button{border-left:1px solid #262e38;border-left:1px solid var(--border)}.ws-segmented button.on{background:#2c4c85;background:var(--accent-dim);color:#eaf1ff;color:var(--accent-text)}.ws-shortcuts{grid-gap:18px 28px;display:grid;gap:18px 28px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.ws-shortcuts h3{color:#6b7684;color:var(--text-muted);font:600 11px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:600 11px var(--mono);letter-spacing:.06em;margin:0 0 8px;text-transform:uppercase}.ws-shortcuts dl{grid-gap:6px 12px;align-items:baseline;display:grid;gap:6px 12px;grid-template-columns:auto 1fr;margin:0}.ws-shortcuts dt{white-space:nowrap}.ws-shortcuts dd{color:#b7c0cb;color:var(--s-200);font-size:13px;margin:0}.ws-shortcuts kbd{background:#171c22;background:var(--s-850);border:1px solid #262e38;border:solid var(--border);border-radius:3px;border-width:1px 1px 2px;color:#dde2e7;color:var(--text);font:11px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:11px var(--mono);padding:1px 6px}@media (max-width:900px){.ws-find-count{display:none}}.ws-row.active .idx{color:#eaf1ff;color:var(--accent-text);opacity:.75}.ws-row.warn{box-shadow:inset 2px 0 0 #f0b429;box-shadow:inset 2px 0 0 var(--warn)}.ws-row.tip{box-shadow:inset 2px 0 0 #6b7684;box-shadow:inset 2px 0 0 var(--s-400)}.ws-row.playing.warn{box-shadow:inset 3px 0 0 #f0b429,inset 5px 0 0 #f0b429;box-shadow:inset 3px 0 0 var(--warn),inset 5px 0 0 var(--warn)}.workspace{position:relative}.ws-drop-overlay{align-items:center;background:#0b0e12c7;border:2px dashed #4d8dff;border:2px dashed var(--accent);border-radius:6px;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute;z-index:1500}.ws-drop-card{color:#6b7684;color:var(--text-muted);font-size:13px;text-align:center}.ws-drop-card .big{color:#dde2e7;color:var(--text);font-size:20px;margin-bottom:6px}.ws-qc-btn.on{border-color:#4d8dff;border-color:var(--accent);color:#eaf1ff;color:var(--accent-text)}.ws-badge{align-items:center;border-radius:8px;display:inline-flex;font:600 10.5px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:600 10.5px var(--mono);height:16px;justify-content:center;line-height:1;min-width:18px;padding:0 5px}.ws-badge.error{background:#ef5350;background:var(--danger);color:#fff}.ws-badge.warning{background:#f0b429;background:var(--warn);color:#1b1300}.ws-badge.ok{background:#0000;border:1px solid #3fb37f80;color:#3fb37f}.ws-qc{background:#171c22;background:var(--panel-raised);border-top:1px solid #262e38;border-top:1px solid var(--border);display:flex;flex:none;flex-direction:column;max-height:42%;min-height:120px}.ws-qc-head{align-items:center;border-bottom:1px solid #1c222a;border-bottom:1px solid var(--border-soft);display:flex;gap:8px;padding:6px 10px}.ws-qc-title{font:600 11px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase}.ws-qc-summary,.ws-qc-title{color:#6b7684;color:var(--text-muted)}.ws-qc-summary{display:inline-flex;font-size:12px;gap:8px}.ws-qc-summary .sev.error{color:#ff8b88}.ws-qc-summary .sev.warning{color:#f0b429;color:var(--warn)}.ws-qc-head .ws-btn{height:26px}.ws-qc-chips{border-bottom:1px solid #1c222a;border-bottom:1px solid var(--border-soft);display:flex;flex-wrap:wrap;gap:5px;padding:6px 10px}.ws-chip.sev-error:not(.on){border-color:#7a2b29;border-color:var(--danger-dim);color:#ff8b88}.ws-chip.sev-warning:not(.on){border-color:#f0b42959;color:#f0b429;color:var(--warn)}.ws-qc-list{flex:1 1;min-height:0;overflow:auto}.ws-qc-item{grid-gap:8px;align-items:center;border-bottom:1px solid #1c222a;border-bottom:1px solid var(--border-soft);cursor:pointer;display:grid;font-size:12px;gap:8px;grid-template-columns:10px 40px 120px 1fr auto;padding:5px 10px}.ws-qc-item:hover{background:#171c22;background:var(--s-850)}.ws-qc-item.current{background:#4d8dff1f}.ws-qc-item .dot{background:#6b7684;background:var(--s-400);border-radius:50%;height:8px;width:8px}.ws-qc-item.error .dot{background:#ef5350;background:var(--danger)}.ws-qc-item.warning .dot{background:#f0b429;background:var(--warn)}.ws-qc-item .idx{color:#4a5563;color:var(--text-dim);font:11px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:11px var(--mono)}.ws-qc-item .rule{color:#dde2e7;color:var(--text)}.ws-qc-item .msg,.ws-qc-item .rule{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-qc-item .msg{color:#6b7684;color:var(--text-muted)}.ws-qc-empty{color:#3fb37f;font-size:13px;padding:18px 12px}.ws-qc-more{font-size:12px;padding:8px 10px}.ws-qc-fields{grid-gap:10px 16px;display:grid;gap:10px 16px;grid-template-columns:1fr 1fr;margin-bottom:12px}.ws-qc-field{grid-gap:8px;align-items:center;color:#b7c0cb;color:var(--s-200);display:grid;font-size:13px;gap:8px;grid-template-columns:1fr 90px 64px}.ws-qc-field em{color:#4a5563;color:var(--text-dim);font-style:normal;font:11px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:11px var(--mono)}.ws-file-drop{cursor:pointer}.ws-import-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.ws-tag{background:#1c222a;background:var(--s-800);border:1px solid #262e38;border:1px solid var(--border);border-radius:3px;color:#b7c0cb;color:var(--s-200);font:11px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:11px var(--mono);padding:2px 8px}.ws-import-preview{border:1px solid #1c222a;border:1px solid var(--border-soft);border-radius:4px;margin-bottom:14px}.ws-import-preview .row{grid-gap:10px;border-bottom:1px solid #1c222a;border-bottom:1px solid var(--border-soft);display:grid;font-size:12.5px;gap:10px;grid-template-columns:96px 1fr;padding:5px 10px}.ws-import-preview .row:last-child{border-bottom:0}.ws-import-preview .tc{color:#8f99a6;color:var(--s-300);font:11.5px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:11.5px var(--mono)}.ws-import-preview .txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-import-preview .more{color:#4a5563;color:var(--text-dim);font-size:12px;padding:5px 10px}.ws-format-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr)}.ws-format{align-items:flex-start;background:#0000;border:1px solid #262e38;border:1px solid var(--border);border-radius:5px;color:#6b7684;color:var(--text-muted);cursor:pointer;display:flex;flex-direction:column;font:12px -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font:12px var(--sans);gap:2px;padding:8px 10px;text-align:left}.ws-format b{color:#dde2e7;color:var(--text);font:600 13px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:600 13px var(--mono)}.ws-format:hover{border-color:#4a5563;border-color:var(--s-500)}.ws-format.on{background:#4d8dff1f;border-color:#4d8dff;border-color:var(--accent)}.ws-format.on b{color:#eaf1ff;color:var(--accent-text)}.ws-export-preview{background:#0b0e12;background:var(--s-950);border:1px solid #1c222a;border:1px solid var(--border-soft);border-radius:4px;color:#b7c0cb;color:var(--s-200);font:11.5px/1.5 ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:11.5px/1.5 var(--mono);margin:0;max-height:190px;overflow:auto;padding:10px 12px;white-space:pre-wrap;word-break:break-word}@media (max-width:700px){.ws-format-grid{grid-template-columns:repeat(2,1fr)}.ws-qc-fields{grid-template-columns:1fr}.ws-qc-item{grid-template-columns:10px 36px 1fr auto}.ws-qc-item .msg{display:none}}.ws-row .txt.styled{font-style:italic}.ws-pos-tag{border:1px solid #262e38;border:1px solid var(--border);border-radius:3px;color:#8f99a6;color:var(--s-300);font:9.5px ui-monospace,SF Mono,Cascadia Code,Menlo,Consolas,monospace;font:9.5px var(--mono);font-style:normal;letter-spacing:.04em;margin-right:6px;padding:0 4px;text-transform:uppercase}.ws-modal-backdrop{align-items:center;animation:ws-fade-in .12s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06080ba6;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.ws-modal{animation:ws-rise-in .14s ease;background:#12161b;background:var(--panel,#12161b);border:1px solid #262e38;border:1px solid var(--border,#262e38);border-radius:6px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;max-height:calc(100vh - 40px);max-width:440px;overflow:hidden;width:100%}.ws-modal.wide{max-width:620px}.ws-modal-header{align-items:center;border-bottom:1px solid #1c222a;border-bottom:1px solid var(--border-soft,#1c222a);display:flex;flex:none;justify-content:space-between;padding:14px 18px}.ws-modal-header h2{color:#dde2e7;color:var(--text,#dde2e7);font-size:14.5px;font-weight:600;letter-spacing:-.01em;margin:0}.ws-modal-header .tone-danger{color:#ff8b88}.ws-modal-close{align-items:center;background:#0000;border:1px solid #0000;border-radius:4px;color:#6b7684;color:var(--text-muted,#6b7684);cursor:pointer;display:flex;font-size:15px;height:26px;justify-content:center;line-height:1;width:26px}.ws-modal-close:hover{background:#1c222a;background:var(--s-800,#1c222a)}.ws-modal-body,.ws-modal-close:hover{color:#dde2e7;color:var(--text,#dde2e7)}.ws-modal-body{flex:1 1 auto;font-size:13.5px;line-height:1.55;overflow-y:auto;padding:18px}.ws-modal-body p{margin:0 0 12px}.ws-modal-body p:last-child{margin-bottom:0}.ws-modal-footer{border-top:1px solid #1c222a;border-top:1px solid var(--border-soft,#1c222a);display:flex;flex:none;gap:8px;justify-content:flex-end;padding:12px 18px}.ws-form-group{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.ws-form-group:last-child{margin-bottom:0}.ws-form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:14px}.ws-form-group label{color:#4a5563;color:var(--text-dim,#4a5563);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.ws-form-hint{color:#6b7684;color:var(--text-muted,#6b7684);font-size:12px;margin-top:4px}.ws-form-error{background:#ef53501a;border:1px solid #7a2b29;border:1px solid var(--danger-dim,#7a2b29);border-radius:4px;color:#ff8b88;font-size:12.5px;margin-top:4px;padding:8px 10px}.ws-form-note{background:#f0b42914;border:1px solid #f0b4294d;border-radius:4px;color:#f0b429;color:var(--warn,#f0b429);font-size:12px;margin-top:12px;padding:10px 12px}.ws-form-note ul{margin:6px 0 0;padding-left:18px}.ws-form-note li{margin-bottom:2px}.ws-issue-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.ws-issue{background:#171c22;background:var(--s-850,#171c22);border:1px solid #1c222a;border-left:3px solid #ef5350;border:1px solid var(--border-soft,#1c222a);border-left:3px solid var(--danger,#ef5350);border-radius:4px;padding:10px 12px}.ws-issue .type{color:#ff8b88;font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.ws-issue .msg{color:#dde2e7;color:var(--text,#dde2e7);font-size:13px;margin:4px 0 8px}.ws-issue .subs{display:flex;flex-direction:column;gap:3px;list-style:none;margin:0;padding:0}.ws-issue .subs li{font-family:monospace;font-family:var(--mono,monospace);font-size:11.5px}.ws-empty-state,.ws-issue .subs li{color:#6b7684;color:var(--text-muted,#6b7684)}.ws-empty-state{font-size:13px;padding:24px 10px;text-align:center}.ws-file-drop{background:#171c22;background:var(--s-850,#171c22);border:1px dashed #262e38;border:1px dashed var(--border,#262e38);border-radius:5px;padding:18px;text-align:center}.ws-file-drop input[type=file]{color:#6b7684;color:var(--text-muted,#6b7684);font-size:12.5px;width:100%}.ws-file-drop .picked{color:#4d8dff;color:var(--accent,#4d8dff);font-family:monospace;font-family:var(--mono,monospace);font-size:12px;margin-top:8px}.ws-btn.danger-solid{background:#ef5350;background:var(--danger,#ef5350);border-color:#ef5350;border-color:var(--danger,#ef5350);color:#fff}.ws-btn.danger-solid:hover{background:#e0403c}@keyframes ws-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ws-rise-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ws-modal,.ws-modal-backdrop{animation:none}}@media (max-width:520px){.ws-form-row{gap:0;grid-template-columns:1fr}.ws-modal{max-width:100%}}.ws-toasts{bottom:16px;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 32px));pointer-events:none;position:fixed;right:16px;z-index:2000}.ws-toast{align-items:center;animation:ws-toast-in .16s ease-out;background:#171c22;background:var(--panel-raised,#171c22);border:1px solid #262e38;border-left:3px solid #4d8dff;border:1px solid var(--border,#262e38);border-left:3px solid var(--accent,#4d8dff);border-radius:5px;border-radius:var(--radius,5px);box-shadow:0 8px 24px #00000059;color:#dde2e7;color:var(--text,#dde2e7);display:flex;font:13px/1.4 sans-serif;font:13px/1.4 var(--sans,sans-serif);gap:10px;padding:10px 12px;pointer-events:auto}.ws-toast.success{border-left-color:#3fb37f}.ws-toast.warn{border-left-color:#f0b429;border-left-color:var(--warn,#f0b429)}.ws-toast.error{border-left-color:#ef5350;border-left-color:var(--danger,#ef5350)}.ws-toast .msg{flex:1 1}.ws-toast-action{background:#0000;border:1px solid #333e4a;border:1px solid var(--s-600,#333e4a);border-radius:3px;border-radius:var(--radius-sm,3px);color:#4d8dff;color:var(--accent,#4d8dff);cursor:pointer;font:inherit;padding:3px 8px}.ws-toast-close{background:none;border:0;color:#6b7684;color:var(--text-muted,#6b7684);cursor:pointer;font-size:12px;padding:2px 4px}.ws-toast-close:hover{color:#dde2e7;color:var(--text,#dde2e7)}@keyframes ws-toast-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ws-toast{animation:none}}.projects-page{background:#0b0e12;background:var(--bg,#0b0e12);color:#dde2e7;color:var(--text,#dde2e7);font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-family:var(--sans,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif);min-height:100vh;padding:32px 40px 60px}.projects-header{align-items:center;border-bottom:1px solid #262e38;border-bottom:1px solid var(--border,#262e38);display:flex;gap:16px;justify-content:space-between;margin-bottom:28px;padding-bottom:20px}.projects-header .brand{color:#dde2e7;color:var(--text,#dde2e7);font-family:monospace;font-family:var(--mono,monospace);font-size:15px;font-weight:600;letter-spacing:-.02em}.projects-header .brand .bracket{color:#6b7684;color:var(--text-muted,#6b7684);font-weight:400}.projects-header .sub{font-size:13px;margin-top:2px}.projects-empty,.projects-header .sub{color:#6b7684;color:var(--text-muted,#6b7684)}.projects-empty{align-items:center;display:flex;flex-direction:column;gap:14px;justify-content:center;padding:90px 20px;text-align:center}.projects-empty .headline{color:#dde2e7;color:var(--text,#dde2e7);font-size:16px}.projects-empty .subline{font-size:13.5px}.projects-container{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.project-card{background:#12161b;background:var(--panel,#12161b);border:1px solid #262e38;border:1px solid var(--border,#262e38);border-radius:6px;display:flex;flex-direction:column;overflow:hidden;transition:border-color .12s ease,transform .12s ease}.project-card:hover{border-color:#4a5563;border-color:var(--s-500,#4a5563)}.project-placeholder{align-items:center;background:#171c22;background:var(--s-850,#171c22);border-bottom:1px solid #1c222a;border-bottom:1px solid var(--border-soft,#1c222a);color:#4d8dff;color:var(--accent,#4d8dff);display:flex;font-family:monospace;font-family:var(--mono,monospace);font-size:22px;font-weight:600;height:64px;justify-content:flex-start;padding:0 16px;width:100%}.card-content{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}.card-content .project-name{color:#dde2e7;color:var(--text,#dde2e7);font-size:14.5px;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta{color:#4a5563;color:var(--text-dim,#4a5563);font-family:monospace;font-family:var(--mono,monospace);font-size:11px}.card-actions{display:flex;gap:8px;margin-top:12px}.card-actions .ws-btn{flex:1 1;justify-content:center}@media (max-width:640px){.projects-page{padding:20px}.projects-header{align-items:flex-start;flex-direction:column;gap:12px}.projects-container{grid-template-columns:1fr 1fr}}@media (max-width:420px){.projects-container{grid-template-columns:1fr}}
/*# sourceMappingURL=main.faf3d599.css.map*/