html,body,#root{width:100%;height:100%;margin:0;padding:0}body{font-family:-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}.app{color:#e0e0e0;background:#1e1e1e;width:100vw;height:100vh;font-family:-apple-system,Segoe UI,sans-serif;display:flex}.login-screen{color:#e0e0e0;background:#1e1e1e;justify-content:center;align-items:center;width:100vw;height:100vh;font-family:-apple-system,Segoe UI,sans-serif;display:flex}.login-card{background:#232326;border:1px solid #3a3a3a;border-radius:8px;flex-direction:column;gap:12px;width:320px;padding:28px;display:flex}.login-card h2{text-align:center;margin:0 0 4px;font-size:17px}.login-tabs{border-bottom:1px solid #333;margin-bottom:4px;display:flex}.login-tabs button{color:#999;cursor:pointer;background:0 0;border:none;flex:1;padding:8px 0;font-size:13px}.login-tabs button.active{color:#fff;border-bottom:2px solid #0e639c}.login-card label{color:#aaa;flex-direction:column;gap:4px;font-size:12.5px;display:flex}.login-card input{color:#e0e0e0;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;padding:8px;font-size:13px}.login-error{color:#f28b82;background:#4a1e1e;border-radius:4px;padding:8px;font-size:12.5px}.login-info{color:#8fd6a8;background:#1e4620;border-radius:4px;padding:8px;font-size:12.5px}.login-forgot-link{color:#6ab0f3;cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:12px}.login-forgot-link:hover{text-decoration:underline}.current-user{color:#999;font-size:12.5px}.branch-sidebar{background:#252526;border-right:1px solid #333;flex-shrink:0;width:250px;overflow-y:auto}.sidebar{background:#252526;border-right:1px solid #333;flex-shrink:0;width:320px;overflow-y:auto}.branch-panel{flex-direction:column;height:100%;display:flex}.branch-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.branch-item{border-bottom:1px solid #2a2a2a;flex-direction:column;gap:6px;padding:12px 14px;display:flex}.branch-item.active{background:#2d3a45;border-left:3px solid #4fa8e0;padding-left:11px}.branch-row{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:7px;width:100%;padding:0;display:flex}.branch-current-dot{color:#4fa8e0;flex-shrink:0;width:9px;font-size:9px}.branch-name{color:#eee;text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.branch-badges{flex-wrap:wrap;gap:5px;display:flex}.badge-main{color:#f0b26b;background:#5a3d1e}.badge-mine{color:#6bcf70;background:#1e4620}.badge-owner{color:#aaa;background:#2a2a2e}.badge-owner-empty{color:#777;background:#2a2a2e;font-style:italic}.branch-last-commit{color:#888;align-items:baseline;gap:6px;font-size:11.5px;display:flex;overflow:hidden}.branch-hash{color:#6ab0f3;flex-shrink:0;font-family:Consolas,monospace}.branch-commit-msg{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.claim-btn{color:#ddd;cursor:pointer;background:#3a3a3a;border:none;border-radius:4px;padding:4px 9px;font-size:11.5px}.claim-btn:hover{background:#4a4a4a}.branch-actions{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.badge-collab{color:#6bc0e8;background:#1e3a4a}.branch-collab-list{flex-wrap:wrap;gap:5px;display:flex}.badge-collab-member{color:#9fd4ee;background:#1e3a4a;align-items:center;gap:4px;padding-right:4px;display:inline-flex}.collab-remove-btn{color:#9fd4ee;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.collab-remove-btn:hover{color:#f28b82}.sync-btn{color:#8fd98f;cursor:pointer;background:#2e4a2e;border:none;border-radius:4px;padding:4px 9px;font-size:11.5px}.sync-btn:hover{background:#3a5c3a}.collab-add-btn{color:#9fd4ee;cursor:pointer;background:#1e3a4a;border:none;border-radius:4px;padding:4px 9px;font-size:11.5px}.collab-add-btn:hover{background:#274a5e}.merge-btn{color:#fff;cursor:pointer;background:#0e639c;border:none;border-radius:4px;padding:4px 9px;font-size:11.5px}.merge-btn:hover{background:#17b}.transfer-btn{color:#c9a6e8;cursor:pointer;background:#4a3a63;border:none;border-radius:4px;padding:4px 9px;font-size:11.5px}.transfer-btn:hover{background:#5a4673}.delete-branch-btn{color:#f28b82;cursor:pointer;background:#4a1e1e;border:none;border-radius:4px;padding:4px 9px;font-size:11.5px}.delete-branch-btn:hover{background:#5a2626}.merge-modal-backdrop{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.merge-modal{background:#232326;border:1px solid #3a3a3a;border-radius:8px;flex-direction:column;gap:10px;width:min(1100px,92vw);height:min(720px,88vh);padding:16px;display:flex}.merge-modal-header{justify-content:space-between;align-items:center;display:flex}.merge-modal-header h3{color:#eee;margin:0;font-size:15px}.merge-modal-actions{justify-content:flex-end;gap:8px;display:flex}.merge-file-tabs{border-bottom:1px solid #333;flex-wrap:wrap;gap:4px;padding-bottom:8px;display:flex}.merge-file-tabs button{color:#ccc;cursor:pointer;background:#2d2d2d;border:none;border-radius:4px;padding:5px 10px;font-size:12px}.merge-file-tabs button.active{color:#fff;background:#0e639c}.merge-body{flex:1;gap:12px;min-height:0;display:flex}.merge-draft-col{flex-direction:column;flex:1.3;gap:6px;min-height:0;display:flex;overflow-y:auto}.merge-draft-col h4{color:#999;text-transform:uppercase;margin:4px 0 0;font-size:11.5px}.merge-draft{flex:1;min-height:200px;font-family:Cascadia Code,Consolas,monospace;font-size:12.5px}.merge-draft-actions{justify-content:flex-end;display:flex}.merge-llm-help{border-top:1px solid #333;flex-direction:column;gap:6px;padding-top:8px;display:flex}.merge-ref-col{flex-direction:column;flex:1;min-height:0;display:flex}.merge-ref-tabs{gap:4px;margin-bottom:6px;display:flex}.merge-ref-tabs button{color:#ccc;cursor:pointer;background:#2d2d2d;border:none;border-radius:4px;padding:4px 8px;font-size:11.5px}.merge-ref-tabs button.active{color:#fff;background:#4a3a63}.merge-ref-content{white-space:pre-wrap;word-break:break-word;background:#0d0d0d;border:1px solid #2a2a2a;border-radius:4px;flex:1;margin:0;padding:10px;font-family:Cascadia Code,Consolas,monospace;font-size:12px;overflow-y:auto}.readonly-badge{color:#f2c94c;font-size:11px;font-weight:600}.llm-readonly-notice{color:#888;padding:16px;font-size:13px;line-height:1.5}.file-list-header{text-transform:uppercase;letter-spacing:.05em;color:#999;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;display:flex}.file-list-header button{color:#ccc;cursor:pointer;background:0 0;border:1px solid #555;border-radius:4px;width:20px;height:20px;line-height:1}.file-list ul{margin:0;padding:0;list-style:none}.file-list li{cursor:default;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:flex}.file-list li.active{background:#37373d}.file-list li:hover{background:#2a2d2e}.file-list .file-name{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;flex:1;overflow:hidden}.file-list .delete-btn{color:#888;cursor:pointer;visibility:hidden;background:0 0;border:none}.file-list li:hover .delete-btn{visibility:visible}.badge{border-radius:3px;padding:1px 4px;font-size:10px;font-weight:600}.badge-rtl{color:#8fd6a8;background:#2d5a3d}.badge-testbench{color:#c9a6e8;background:#4a3a63}.empty{color:#777;padding:12px;font-style:italic}.main{flex-direction:column;flex:1;min-width:0;display:flex}.toolbar{background:#2d2d2d;border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.active-file{color:#ccc;font-size:13px}.dirty-dot{color:#e2c08d}.saving-label{color:#888;font-size:12px}.run-controls{align-items:center;gap:8px;display:flex}.help-btn{color:#ddd;cursor:pointer;background:#3a3a3a;border:none;border-radius:4px;padding:6px 10px;font-size:12.5px}.help-btn:hover{background:#4a4a4a}.help-modal{background:#232326;border:1px solid #3a3a3a;border-radius:8px;flex-direction:column;gap:10px;width:min(720px,92vw);height:min(700px,88vh);padding:16px;display:flex}.help-body{padding-right:4px;overflow-y:auto}.help-body section{margin-bottom:18px}.help-body h4{color:#eee;border-bottom:1px solid #333;margin:0 0 8px;padding-bottom:6px;font-size:13.5px}.help-body ul{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.help-body li{color:#ccc;font-size:13px;line-height:1.5}.help-body ul ul{margin-top:4px}.admin-table{border-collapse:collapse;width:100%;font-size:12.5px}.admin-table th,.admin-table td{text-align:left;color:#ccc;border-bottom:1px solid #333;padding:8px 10px}.admin-table th{color:#999;text-transform:uppercase;font-size:11px}.tb-select{color:#ddd;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;max-width:220px;padding:5px 6px;font-size:12.5px}.run-btn{color:#fff;cursor:pointer;background:#0e639c;border:none;border-radius:4px;padding:6px 16px;font-size:13px}.run-btn:hover:not(:disabled){background:#17b}.run-btn:disabled{opacity:.5;cursor:not-allowed}.editor-wrap{flex:1;min-height:0}.log-wrap{border-top:1px solid #333;flex-shrink:0;height:260px}.log-panel{background:#1a1a1a;flex-direction:column;height:100%;display:flex}.log-panel-header{text-transform:uppercase;letter-spacing:.05em;color:#999;border-bottom:1px solid #333;align-items:center;gap:10px;padding:8px 16px;font-size:12px;display:flex}.status-pill{text-transform:none;letter-spacing:normal;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:700}.status-pass{color:#6bcf70;background:#1e4620}.status-fail{color:#f28b82;background:#4a1e1e}.status-unknown{color:#f2c94c;background:#4a3f1e}.log-running,.log-empty{color:#888;padding:16px;font-size:13px}.log-section{padding:8px 16px}.log-section h4{color:#999;text-transform:uppercase;margin:4px 0;font-size:11px}.log-block{white-space:pre-wrap;word-break:break-word;background:#0d0d0d;border:1px solid #2a2a2a;border-radius:4px;max-height:160px;margin:0;padding:10px;font-family:Cascadia Code,Consolas,monospace;font-size:12.5px;overflow-y:auto}.log-block.error{color:#f28b82}.llm-sidebar{background:#232326;border-left:1px solid #333;flex-direction:column;flex-shrink:0;width:340px;display:flex;overflow-y:auto}.llm-panel{flex-direction:column;gap:8px;padding:12px;display:flex}.llm-panel-header{text-transform:uppercase;letter-spacing:.05em;color:#999;font-size:12px}.llm-input{color:#e0e0e0;resize:vertical;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;padding:8px;font-family:inherit;font-size:13px}.llm-submit{color:#fff;cursor:pointer;background:#6b3fa0;border:none;border-radius:4px;padding:8px 12px;font-size:13px}.llm-submit:hover:not(:disabled){background:#7d4bb8}.llm-submit:disabled{opacity:.5;cursor:not-allowed}.llm-submit.secondary{background:#3a3a3a}.llm-submit.secondary:hover:not(:disabled){background:#4a4a4a}.llm-step{color:#aaa;align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}.llm-step-num{color:#fff;background:#6b3fa0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;font-size:10px;display:inline-flex}.llm-error{color:#f28b82;white-space:pre-wrap;background:#4a1e1e;border-radius:4px;padding:8px;font-size:12.5px}.llm-fallback{flex-direction:column;gap:6px;display:flex}.llm-file-picker{background:#1a1a1a;border:1px solid #3a3a3a;border-radius:4px;flex-wrap:wrap;gap:6px 12px;max-height:110px;padding:8px;display:flex;overflow-y:auto}.llm-file-check{color:#ccc;white-space:nowrap;cursor:pointer;align-items:center;gap:5px;font-size:12px;display:flex}.llm-upload-btn{color:#fff;cursor:pointer;text-align:center;background:#0e639c;border-radius:4px;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;display:inline-flex}.llm-upload-btn:hover{background:#17b}.llm-paste-details{color:#aaa;font-size:12px}.llm-paste-details summary{cursor:pointer;padding:4px 0}.llm-paste-details .llm-input{margin-top:6px;margin-bottom:6px}.llm-response{flex-direction:column;gap:10px;display:flex}.llm-summary{color:#ccc;background:#2a2a2e;border-radius:4px;margin:0;padding:8px;font-size:13px}.llm-empty{color:#888;font-size:13px}.llm-file{border:1px solid #3a3a3a;border-radius:4px;overflow:hidden}.llm-file-header{background:#2d2d2d;justify-content:space-between;align-items:center;gap:6px;padding:6px 8px;font-size:12.5px;display:flex}.llm-file-name{color:#ddd;background:0 0;border:1px solid #0000;border-radius:3px;flex:1;min-width:0;padding:2px 4px;font-family:inherit;font-size:12.5px}.llm-file-name:hover,.llm-file-name:focus{background:#1a1a1a;border-color:#3a3a3a;outline:none}.llm-file-name.invalid{color:#f28b82;border-color:#f28b82}.llm-file-actions{flex-shrink:0;gap:6px;display:flex}.llm-file-actions button{color:#ddd;cursor:pointer;background:#3a3a3a;border:none;border-radius:3px;padding:3px 8px;font-size:11.5px}.llm-file-actions .apply-btn{background:#0e639c}.llm-file-actions .apply-btn:disabled{opacity:.5;cursor:not-allowed}.llm-file-actions button:hover{filter:brightness(1.15)}.sidebar-tabs{border-bottom:1px solid #333;display:flex}.sidebar-tabs button{color:#999;cursor:pointer;background:0 0;border:none;flex:1;padding:8px 0;font-size:12.5px}.sidebar-tabs button.active{color:#fff;border-bottom:2px solid #0e639c}.history-filter{border-bottom:1px solid #2a2a2a;flex-wrap:wrap;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.history-filter label{color:#888;flex-direction:column;gap:2px;font-size:10.5px;display:flex}.history-filter input[type=date],.history-filter select{color:#ddd;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:3px;padding:3px 4px;font-size:11.5px}.history-filter select{max-width:140px}.history-filter-hint{color:#8fbf8f;background:#1c2a1c;border-bottom:1px solid #2a2a2a;padding:6px 12px;font-size:11px}.filter-clear{color:#ddd;cursor:pointer;background:#3a3a3a;border:none;border-radius:3px;height:24px;padding:4px 8px;font-size:11px}.history-list{margin:0;padding:0;list-style:none}.history-item{border-bottom:1px solid #2a2a2a;flex-direction:column;gap:4px;padding:8px 12px;display:flex}.history-row{color:#888;justify-content:space-between;font-size:11px;display:flex}.history-hash{color:#6ab0f3;font-family:Consolas,monospace}.history-message{color:#ddd;font-size:12.5px}.revert-btn{color:#ddd;cursor:pointer;background:#3a3a3a;border:none;border-radius:3px;align-self:flex-start;margin-top:2px;padding:3px 8px;font-size:11px}.revert-btn:hover{background:#4a4a4a}.llm-code{white-space:pre-wrap;word-break:break-word;background:#0d0d0d;max-height:300px;margin:0;padding:8px;font-family:Cascadia Code,Consolas,monospace;font-size:12px;overflow-y:auto}.mobile-tabs{display:none}@media (width<=860px){.app{flex-direction:column;width:100vw;height:100dvh;overflow:hidden}.mobile-tabs{background:#2d2d2d;border-bottom:1px solid #333;flex-shrink:0;display:flex}.mobile-tabs button{color:#999;cursor:pointer;background:0 0;border:none;flex:1;padding:10px 4px;font-size:12.5px}.mobile-tabs button.active{color:#fff;background:#1e1e1e;border-bottom:2px solid #0e639c}.branch-sidebar,.sidebar,.main,.llm-sidebar{flex:1;width:100%;min-height:0;display:none}.branch-sidebar.mobile-active,.sidebar.mobile-active,.main.mobile-active,.llm-sidebar.mobile-active{flex-direction:column;display:flex}.branch-sidebar.mobile-active{flex:none;max-height:40%}.branch-sidebar,.sidebar{border-bottom:1px solid #333;border-right:none;overflow-y:auto}.llm-sidebar{border-left:none;overflow-y:auto}.toolbar{flex-wrap:wrap;gap:6px 8px}.active-file{text-overflow:ellipsis;white-space:nowrap;width:100%;overflow:hidden}.run-controls{flex-wrap:wrap;width:100%}.current-user{display:none}.tb-select{max-width:140px}.editor-wrap{min-height:200px}.log-wrap{height:180px}.merge-modal,.help-modal{width:96vw;height:92dvh}.merge-body{flex-direction:column}}
