:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #1c2129;--bg-hover: #21262d;--bg-active: #1f6feb22;--border: #30363d;--border-light: #21262d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--accent-blue: #58a6ff;--accent-green: #3fb950;--accent-orange: #d29922;--accent-red: #f85149;--accent-purple: #bc8cff;--accent-cyan: #39d2c0;--graph-line: #30363d;--radius: 6px;--sidebar-width: 260px;--detail-width: 340px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.toolbar{display:flex;align-items:center;gap:12px;padding:0 16px;height:48px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.toolbar-logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:15px;letter-spacing:-.02em;color:var(--text-primary)}.toolbar-logo svg{width:22px;height:22px}.toolbar-sep{width:1px;height:20px;background:var(--border)}.toolbar-repo{font-size:13px;color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.toolbar-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s;font-family:inherit}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:#484f58}.toolbar-btn.primary{background:#238636;border-color:#3fb95066;color:#fff}.toolbar-btn.primary:hover{background:#2ea043}.main-layout{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.sidebar-section{padding:12px 0;border-bottom:1px solid var(--border-light)}.sidebar-section:last-child{border-bottom:none}.sidebar-heading{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0 16px;margin-bottom:4px}.sidebar-item{display:flex;align-items:center;gap:8px;padding:5px 16px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:background .1s}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active{background:var(--bg-active);color:var(--accent-blue)}.sidebar-item .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sidebar-item .count{margin-left:auto;font-size:11px;color:var(--text-muted);background:var(--bg-tertiary);padding:1px 6px;border-radius:10px}.commit-log{flex:1;display:flex;flex-direction:column;overflow:hidden}.log-header{display:flex;align-items:center;padding:10px 16px;border-bottom:1px solid var(--border);gap:8px;flex-shrink:0}.log-header-title{font-size:13px;font-weight:600}.log-header-branch{font-size:12px;color:var(--accent-blue);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;display:flex;align-items:center;gap:4px}.log-search{margin-left:auto;padding:4px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:12px;width:200px;outline:none;font-family:inherit}.log-search::placeholder{color:var(--text-muted)}.log-search:focus{border-color:var(--accent-blue)}.commit-list{flex:1;overflow-y:auto}.commit-row{display:flex;align-items:center;height:40px;padding:0 16px;cursor:pointer;transition:background .1s;position:relative}.commit-row:hover{background:var(--bg-hover)}.commit-row.selected{background:var(--bg-active)}.graph-col{width:80px;flex-shrink:0;position:relative;height:100%}.graph-node{position:absolute;width:10px;height:10px;border-radius:50%;border:2px solid;background:var(--bg-primary);z-index:2;top:50%;transform:translateY(-50%)}.graph-node.current{background:var(--accent-green);border-color:var(--accent-green)}.commit-msg{flex:1;font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:8px}.commit-msg .msg-text{overflow:hidden;text-overflow:ellipsis}.commit-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted);flex-shrink:0;width:56px;text-align:right}.commit-author{font-size:11px;color:var(--text-muted);flex-shrink:0;width:100px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-date{font-size:11px;color:var(--text-muted);flex-shrink:0;width:70px;text-align:right}.tag-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:3px;font-size:10px;font-weight:600;flex-shrink:0}.tag-badge.local{background:#58a6ff26;color:var(--accent-blue);border:1px solid rgba(88,166,255,.25)}.tag-badge.remote{background:#bc8cff1f;color:var(--accent-purple);border:1px solid rgba(188,140,255,.25)}.tag-badge.tag-label{background:#d2992226;color:var(--accent-orange);border:1px solid rgba(210,153,34,.25)}.detail-panel{width:var(--detail-width);background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto}.detail-header{padding:16px;border-bottom:1px solid var(--border)}.detail-title{font-size:14px;font-weight:600;margin-bottom:8px;line-height:1.4}.detail-meta{display:flex;flex-direction:column;gap:6px}.detail-meta-row{display:flex;align-items:center;gap:8px;font-size:12px}.detail-meta-label{color:var(--text-muted);width:52px;flex-shrink:0}.detail-meta-value{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.detail-avatar{width:20px;height:20px;border-radius:50%;flex-shrink:0}.detail-files-section{padding:12px 16px}.detail-files-heading{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.file-item{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--radius);font-size:12px;cursor:pointer;transition:background .1s}.file-item:hover{background:var(--bg-hover)}.file-status{font-size:10px;font-weight:700;width:16px;text-align:center;flex-shrink:0}.file-status.added{color:var(--accent-green)}.file-status.modified{color:var(--accent-orange)}.file-status.deleted{color:var(--accent-red)}.file-name{color:var(--text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-stats{margin-left:auto;display:flex;gap:6px;font-size:11px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;flex-shrink:0}.file-add{color:var(--accent-green)}.file-del{color:var(--accent-red)}.status-bar{display:flex;align-items:center;padding:0 12px;height:24px;background:#161b22;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted);gap:16px;flex-shrink:0}.status-bar .sync{display:flex;align-items:center;gap:4px;color:var(--accent-green)}.status-bar .branch-label{color:var(--text-secondary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#30363d;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#484f58}.diff-section{padding:12px 16px;border-top:1px solid var(--border-light)}.diff-hunk-header{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;color:var(--text-muted);padding:4px 8px;background:#58a6ff0f;border-radius:var(--radius);margin-bottom:4px}.diff-line{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;padding:1px 8px;border-radius:2px;white-space:pre;overflow-x:auto}.diff-line.add{background:#3fb9501a;color:var(--accent-green)}.diff-line.remove{background:#f851491a;color:var(--accent-red)}.diff-line.context{color:var(--text-muted)}.stash-item{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:13px;gap:8px}.empty-state svg{opacity:.4}
