:root{--bg-primary:#0a0b0d;--bg-secondary:#121318;--bg-tertiary:#191a21;--border-color:#ffffff0f;--border-color-hover:#dfb15b4d;--text-primary:#f1f2f4;--text-secondary:#9da1b0;--text-muted:#5e6273;--accent-gold:#dfb15b;--accent-gold-rgb:223, 177, 91;--accent-crimson:#d9383a;--accent-crimson-rgb:217, 56, 58;--accent-success:#3cd070;--accent-success-rgb:60, 208, 112;--accent-info:#3ca2d0;--font-sans:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Courier New", Courier, monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:var(--accent-gold);text-decoration:none;transition:color .2s}a:hover{color:#f1c87a}.glass-panel{-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);background:#121318bf;border-radius:12px}.dojo-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;transition:all .3s cubic-bezier(.2,.8,.2,1)}.dojo-card:hover{border-color:var(--border-color-hover);box-shadow:0 4px 20px rgba(var(--accent-gold-rgb), .05)}.terminal-output{font-family:var(--font-mono);border:1px solid var(--border-color);white-space:pre-wrap;word-break:break-all;background:#07080a;border-radius:8px;padding:12px;font-size:14px;overflow-y:auto}.prose{color:#d1d3db;font-size:15px;line-height:1.6}.prose h1,.prose h2,.prose h3,.prose h4{color:var(--text-primary);margin-top:1.5em;margin-bottom:.5em;font-weight:700}.prose h1{border-bottom:1px solid var(--border-color);padding-bottom:.3em;font-size:1.8rem}.prose h2{font-size:1.4rem}.prose h3{font-size:1.15rem}.prose p{margin-bottom:1em}.prose code{font-family:var(--font-mono);background:var(--bg-tertiary);color:var(--accent-gold);border-radius:4px;padding:.2em .4em;font-size:.9em}.prose pre{border:1px solid var(--border-color);background:#07080a;border-radius:8px;margin-bottom:1.2em;padding:16px;overflow-x:auto}.prose pre code{color:var(--text-primary);background:0 0;border-radius:0;padding:0;font-size:.9em}.prose ul,.prose ol{margin-bottom:1.2em;padding-left:20px}.prose li{margin-bottom:.4em}.prose blockquote{border-left:4px solid var(--accent-gold);background:rgba(var(--accent-gold-rgb), .03);color:var(--text-secondary);border-radius:0 8px 8px 0;margin:1.2em 0;padding:12px 16px;font-style:italic}.prose table{border-collapse:collapse;width:100%;margin-bottom:1.2em;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border-color);text-align:left;padding:8px 12px}.prose th{background:var(--bg-tertiary);font-weight:600}.prose tr:nth-child(2n){background:#ffffff03}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s cubic-bezier(.2,.8,.2,1) forwards fadeIn}.app-container{flex-direction:column;max-width:1440px;min-height:100vh;margin:0 auto;padding:0 16px 24px;display:flex}.dojo-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 0;display:flex}.header-left{align-items:center;gap:12px;display:flex}.header-right-controls{align-items:center;gap:16px;display:flex}.lang-switcher{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;display:flex;overflow:hidden}.lang-switcher button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:6px 12px;font-size:.8rem;font-weight:700;transition:all .2s}.lang-switcher button.active{background:var(--accent-gold);color:var(--bg-primary)}.logo-icon{font-size:2rem;animation:3s ease-in-out infinite pulse}.logo-text h1{letter-spacing:-.5px;color:#fff;font-size:1.5rem;font-weight:800;line-height:1.1}.logo-text p{color:var(--accent-gold);text-transform:uppercase;letter-spacing:1.5px;font-size:.8rem;font-weight:500}.header-status{align-items:center;display:flex}.status-badge{border:1px solid var(--border-color);border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:500;display:inline-flex}.status-badge.online{color:var(--accent-success);background:#3cd07014;border-color:#3cd07033}.status-badge.offline{color:var(--accent-crimson);background:#d9383a14;border-color:#d9383a33}.status-badge.loading{color:var(--accent-gold);background:#dfb15b14;border-color:#dfb15b33}.spinner{border:2px solid #dfb15b33;border-top-color:var(--accent-gold);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin}.kata-selector-bar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;gap:16px;margin-top:16px;padding:16px;display:flex}@media (width>=768px){.kata-selector-bar{flex-direction:row;justify-content:space-between;align-items:center}}.selector-container{flex:1;align-items:center;gap:12px;display:flex}.selector-container label{color:var(--text-secondary);white-space:nowrap;font-size:.9rem;font-weight:500}.selector-container select{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;outline:none;width:100%;max-width:400px;padding:10px 14px;font-weight:600;transition:border-color .2s}.selector-container select:focus{border-color:var(--accent-gold)}.kata-progress-panel{align-items:center;gap:12px;min-width:280px;display:flex}.progress-info{color:var(--text-secondary);white-space:nowrap;font-size:.85rem;font-weight:600}.progress-track{background:var(--bg-primary);border-radius:3px;flex:1;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent-gold), #f1c87a);border-radius:3px;height:100%;transition:width .4s cubic-bezier(.2,.8,.2,1)}.reset-btn{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;width:28px;height:28px;color:var(--text-muted);border-radius:6px;justify-content:center;align-items:center;transition:all .2s;display:flex}.reset-btn:hover{border-color:var(--accent-crimson);color:var(--accent-crimson)}.mobile-tabs{gap:8px;margin-top:16px;display:flex}@media (width>=768px){.mobile-tabs{display:none}}.mobile-tabs button{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.95rem;font-weight:600;display:flex}.mobile-tabs button.active{border-color:var(--accent-gold);color:var(--accent-gold);background:#dfb15b14}.dojo-workspace{flex:1;grid-template-columns:1fr;gap:24px;margin-top:20px;display:grid}@media (width>=768px){.dojo-workspace{flex-direction:row;gap:0;display:flex}}.workspace-pane{flex-direction:column;min-width:0;display:flex}@media (width<=767px){.workspace-pane.mobile-hidden{display:none}.workspace-pane.mobile-active{display:flex}}.theory-slides-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;height:100%;padding:20px;display:flex}.pane-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding-bottom:12px;display:flex}.pane-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:700}.slide-counter{background:var(--bg-tertiary);color:var(--text-secondary);white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:.8rem;font-weight:500}.theory-body{flex:1;min-height:250px;max-height:60vh;padding-right:4px;overflow-y:auto}@media (width>=768px){.theory-body{max-height:calc(100vh - 280px)}}.theory-navigation{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;display:flex}.dot-indicators{gap:6px;display:flex}.dot{background:var(--border-color);cursor:pointer;border-radius:50%;width:8px;height:8px;transition:all .2s}.dot.active{background:var(--accent-gold);transform:scale(1.25)}.practice-container{flex-direction:column;gap:20px;height:100%;display:flex}.exercise-selector-panel{flex-direction:column;gap:8px;display:flex}.exercise-selector-panel h3{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:600}.exercises-list{flex-wrap:wrap;gap:8px;display:flex}.exercise-tab-btn{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;transition:all .2s cubic-bezier(.2,.8,.2,1);display:flex;position:relative}.exercise-tab-btn:hover{border-color:var(--border-color-hover)}.exercise-tab-btn.active{border-color:var(--accent-gold);color:var(--accent-gold);box-shadow:0 0 10px rgba(var(--accent-gold-rgb), .1);background:#dfb15b0d}.exercise-tab-btn.completed{color:var(--accent-success);background:#3cd0700d;border-color:#3cd07040}.exercise-tab-btn.completed.active{border-color:var(--accent-gold)}.ex-check{background:var(--accent-success);width:12px;height:12px;color:var(--bg-primary);border-radius:50%;justify-content:center;align-items:center;font-size:8px;font-weight:900;display:flex;position:absolute;top:-2px;right:-2px}.task-description-card{padding:16px}.card-header{align-items:center;gap:10px;margin-bottom:8px;display:flex}.level-badge{border-radius:4px;padding:2px 6px;font-size:.75rem;font-weight:700}.level-badge.level-1{color:var(--accent-success);background:#3cd0701a;border:1px solid #3cd07033}.level-badge.level-2{color:var(--accent-gold);background:#dfb15b1a;border:1px solid #dfb15b33}.level-badge.level-3{color:var(--accent-crimson);background:#d9383a1a;border:1px solid #d9383a33}.card-header h4{font-size:1.05rem;font-weight:700}.description-text{color:var(--text-secondary);font-size:.95rem;line-height:1.5}.editor-container{flex-direction:column;display:flex}.editor-header{border-bottom:1px solid var(--border-color);background:#ffffff03;border-radius:12px 12px 0 0;padding:12px 16px}.editor-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.85rem;font-weight:600}.editor-inputs-area{padding:16px}.code-textarea{border:1px solid var(--border-color);resize:vertical;background:#07080a;border-radius:8px;outline:none;width:100%;padding:12px;font-size:.95rem;line-height:1.5;transition:border-color .2s}.code-textarea:focus{border-color:var(--accent-gold)}.regex-replace-inputs{flex-direction:column;gap:12px;display:flex}.input-group{flex-direction:column;gap:6px;display:flex}.input-group label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.code-input{border:1px solid var(--border-color);background:#07080a;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:.95rem;transition:border-color .2s}.code-input:focus{border-color:var(--accent-gold)}.mobile-virtual-keys{flex-wrap:wrap;gap:6px;padding:0 16px 12px;display:flex}.helper-key{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center;border-radius:6px;min-width:32px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:background .1s}.helper-key:active{background:var(--border-color-hover);color:var(--accent-gold)}.editor-actions{border-top:1px solid var(--border-color);background:#ffffff03;border-radius:0 0 12px 12px;justify-content:flex-end;padding:12px 16px;display:flex}.console-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.console-header{border-bottom:1px solid var(--border-color);color:var(--text-secondary);background:#0d0e12;align-items:center;gap:8px;padding:12px 16px;font-size:.85rem;font-weight:600;display:flex}.console-body{background:#07080a;min-height:140px;max-height:320px}.general-output-message{border-bottom:1px dashed var(--border-color);margin-bottom:14px;padding:4px 0 8px;font-weight:700}.console-placeholder{color:var(--text-muted);padding:8px 0;font-style:italic}.test-suites-results h5{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;font-size:.85rem}.test-result-row{border:1px solid var(--border-color);background:#ffffff03;border-radius:6px;margin-bottom:12px}.test-result-row.pass{border-left:3px solid var(--accent-success)}.test-result-row.fail{border-left:3px solid var(--accent-crimson)}.result-row-header{border-bottom:1px solid var(--border-color);background:#ffffff05;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:flex}.test-title{font-weight:600}.badge{text-transform:uppercase;border-radius:4px;padding:1px 4px;font-size:.7rem;font-weight:700}.badge.pass{color:var(--accent-success);background:#3cd0701a}.badge.fail{color:var(--accent-crimson);background:#d9383a1a}.icon-pass{color:var(--accent-success)}.icon-fail{color:var(--accent-crimson)}.result-row-details{color:var(--text-secondary);flex-direction:column;gap:6px;padding:10px 12px;font-size:.85rem;display:flex}.result-row-details code{font-family:var(--font-mono);background:var(--bg-tertiary);color:var(--text-primary);border-radius:4px;padding:1px 4px;font-size:.85rem}.stdout-log,.error-log{margin-top:6px;font-size:.8rem}.stdout-log pre,.error-log pre{font-family:var(--font-mono);border:1px solid var(--border-color);white-space:pre-wrap;background:#0f1015;border-radius:4px;margin-top:4px;padding:6px 10px}.error-log pre{color:#f7768e;border-color:#d9383a33}.btn-primary{background:var(--accent-gold);color:var(--bg-primary);cursor:pointer;box-shadow:0 2px 10px rgba(var(--accent-gold-rgb), .15);border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:700;transition:all .2s cubic-bezier(.2,.8,.2,1);display:inline-flex}.btn-primary:hover:not(:disabled){box-shadow:0 4px 15px rgba(var(--accent-gold-rgb), .25);background:#f1c87a;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{background:var(--text-muted);color:var(--bg-secondary);cursor:not-allowed;box-shadow:none}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-secondary:hover:not(:disabled){border-color:var(--border-color-hover);background:#ffffff05}.btn-secondary:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.5}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.97)}}.no-content-state{text-align:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:300px;padding:40px 20px;display:flex}.no-content-state h3{font-size:1.2rem;font-weight:700}.no-content-state p{color:var(--text-secondary);max-width:320px;margin-bottom:8px;font-size:.9rem}.muted-icon{color:var(--text-muted)}.stats-toggle-btn{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.stats-toggle-btn:hover,.stats-toggle-btn.active{border-color:var(--accent-gold);color:var(--accent-gold);background:#dfb15b0d}.stats-drawer-panel{margin-top:16px;padding:24px;animation:.3s cubic-bezier(.2,.8,.2,1) forwards fadeIn}.drawer-grid-local{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=768px){.drawer-grid-local{grid-template-columns:1.2fr 1fr}}.drawer-section-local{border-bottom:1px dashed var(--border-color);flex-direction:column;gap:12px;padding-bottom:20px;display:flex}@media (width>=768px){.drawer-section-local{border-bottom:none;border-right:1px dashed var(--border-color);padding-bottom:0;padding-right:20px}.drawer-section-local:last-child{border-right:none;padding-right:0}}.drawer-section-local h3{color:#fff;border-bottom:1px solid var(--border-color);margin-bottom:4px;padding-bottom:8px;font-size:1.05rem;font-weight:700}.section-help-text{color:var(--text-secondary);font-size:.85rem;line-height:1.4}.stats-metric-row{color:var(--text-secondary);justify-content:space-between;font-size:.9rem;display:flex}.stats-metric-row strong{color:#fff}.global-progress-bar-wrapper{align-items:center;gap:12px;margin-top:8px;margin-bottom:12px;display:flex}.global-progress-track{background:var(--bg-primary);border-radius:4px;flex:1;height:8px;overflow:hidden}.global-progress-fill{background:linear-gradient(90deg, var(--accent-success), #5eead4);border-radius:4px;height:100%;transition:width .4s}.global-percent-text{color:var(--accent-success);font-size:.85rem;font-weight:700}.katas-progress-list{flex-direction:column;gap:8px;max-height:200px;padding-right:4px;display:flex;overflow-y:auto}.kata-progress-row{align-items:center;gap:8px;font-size:.8rem;display:flex}.kata-row-label{white-space:nowrap;text-overflow:ellipsis;width:140px;color:var(--text-secondary);overflow:hidden}.kata-row-bar-track{background:var(--bg-primary);border-radius:2px;flex:1;height:4px;overflow:hidden}.kata-row-bar-fill{background:var(--accent-gold);border-radius:2px;height:100%}.kata-row-pct{text-align:right;width:30px;color:var(--text-muted);font-weight:600}.save-actions-container{flex-direction:column;gap:12px;display:flex}.import-key-wrapper{flex-direction:column;gap:8px;display:flex}.save-key-textarea{background:var(--bg-primary);border:1px solid var(--border-color);resize:none;border-radius:8px;outline:none;width:100%;padding:10px;font-size:.8rem}.save-key-textarea:focus{border-color:var(--accent-gold)}.workspace-divider{display:none}@media (width>=768px){.workspace-divider{cursor:col-resize;-webkit-user-select:none;user-select:none;z-index:10;justify-content:center;align-items:center;width:12px;display:flex;position:relative}.divider-line{background:var(--border-color);width:2px;height:100%;transition:background .2s}.workspace-divider:hover .divider-line,.workspace-divider.active .divider-line,.is-resizing .divider-line{background:var(--accent-gold)}.divider-handle{background:var(--bg-secondary);border:1px solid var(--border-color);width:18px;height:28px;color:var(--text-muted);pointer-events:none;z-index:12;border-radius:4px;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;transition:all .2s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #0006}.workspace-divider:hover .divider-handle,.workspace-divider.active .divider-handle{border-color:var(--accent-gold);color:var(--accent-gold);background:var(--bg-tertiary)}}.is-resizing *{-webkit-user-select:none!important;user-select:none!important;cursor:col-resize!important}.console-tabs-bar{border-bottom:1px solid var(--border-color);background:#0d0e12;display:flex}.console-tab-btn{color:var(--text-muted);cursor:pointer;border:none;border-right:1px solid var(--border-color);background:0 0;align-items:center;gap:6px;padding:10px 16px;font-size:.8rem;font-weight:700;transition:all .2s;display:flex}.console-tab-btn:hover{color:var(--text-secondary)}.console-tab-btn.active{color:var(--accent-gold);background:#07080a;border-bottom:1px solid #07080a}.sandbox-panel-layout{flex-direction:column;gap:16px;display:flex}.sandbox-input-section{flex-direction:column;gap:6px;display:flex}.sandbox-input-section label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:700}.sandbox-input-textarea{background:var(--bg-primary);border:1px solid var(--border-color);resize:vertical;border-radius:8px;outline:none;width:100%;padding:10px 12px;font-size:.9rem;transition:border-color .2s}.sandbox-input-textarea:focus{border-color:var(--accent-gold)}.sandbox-results-display{flex-direction:column;gap:12px;display:flex}.sandbox-inner-results{flex-direction:column;gap:14px;display:flex}.sandbox-metric-display{flex-direction:column;gap:6px;display:flex}.sandbox-metric-display strong{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.sandbox-output-block{font-family:var(--font-mono);border:1px solid var(--border-color);white-space:pre-wrap;color:var(--text-primary);background:#07080a;border-radius:6px;max-height:200px;padding:10px 12px;font-size:.85rem;overflow-y:auto}.stderr-text{color:#f7768e;margin-top:4px;display:block}.matches-list-container{flex-direction:column;gap:6px;max-height:140px;display:flex;overflow-y:auto}.match-detail-row{border:1px solid var(--border-color);background:#ffffff03;border-radius:4px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;font-size:.8rem;display:flex}.match-badge{color:var(--accent-gold);background:#dfb15b1a;border-radius:3px;padding:1px 4px;font-weight:700}.match-span{color:var(--text-muted)}.match-groups-info{color:var(--accent-info)}.git-sandbox-container{flex-direction:column;gap:16px;height:100%;display:flex}.git-sandbox-panels{flex-direction:column;flex:1;gap:16px;display:flex}@media (width>=992px){.git-sandbox-panels{grid-template-columns:1fr 1fr;height:520px;display:grid}}.git-panel{flex-direction:column;height:380px;display:flex;overflow:hidden}@media (width>=992px){.git-panel{height:100%}}.git-panel-header{border-bottom:1px solid var(--border-color);background:#0d0e12;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.panel-title-text{color:var(--text-secondary);align-items:center;gap:6px;font-size:.85rem;font-weight:700;display:flex}.git-terminal-body{background:#07080a;flex-direction:column;flex:1;gap:4px;padding:14px;font-size:.85rem;line-height:1.4;display:flex;overflow-y:auto}.terminal-line{color:#a9b1d6;white-space:pre-wrap;word-break:break-all}.terminal-input-line{color:var(--accent-gold);font-weight:700}.terminal-commit-line{color:#565f89}.terminal-error-line{color:#f7768e}.git-terminal-input-wrapper{border-top:1px solid var(--border-color);background:#0d0e12;border-radius:0 0 12px 12px;align-items:center;gap:8px;padding:8px 12px;display:flex}.terminal-prompt{color:var(--accent-success);white-space:nowrap;font-size:.8rem;font-weight:700}.terminal-input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;width:100%;font-size:.85rem}.git-tab-switcher{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;display:flex;overflow:hidden}.git-tab-switcher button{cursor:pointer;color:var(--text-muted);background:0 0;border:none;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:600;transition:all .2s;display:flex}.git-tab-switcher button.active{background:var(--accent-gold);color:var(--bg-primary)}.git-visualizer-body{background:#07080a;border-radius:0 0 12px 12px;flex-direction:column;flex:1;padding:14px;display:flex;overflow:hidden}.scrollable-inner{flex:1;padding-right:4px;overflow-y:auto}.empty-visualizer-state{text-align:center;height:100%;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.empty-text{max-width:240px;font-size:.85rem;line-height:1.4}.commit-timeline{flex-direction:column;gap:0;padding:10px 0;display:flex}.commit-node-card{padding-bottom:20px;display:flex;position:relative}.commit-node-card:last-child{padding-bottom:0}.commit-dot-wrapper{flex-direction:column;align-items:center;width:24px;display:flex;position:relative}.commit-dot{background:var(--text-muted);z-index:2;border:2px solid #07080a;border-radius:50%;width:10px;height:10px}.commit-dot.active{background:var(--accent-success);box-shadow:0 0 8px var(--accent-success);width:12px;height:12px}.commit-line-connector{background:var(--border-color);z-index:1;width:2px;position:absolute;top:10px;bottom:-10px}.commit-node-card:last-child .commit-line-connector{display:none}.commit-node-details{flex-direction:column;flex:1;gap:4px;padding-left:12px;display:flex}.commit-node-header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.commit-sha{color:var(--accent-gold);font-size:.75rem;font-weight:700}.commit-branch-badge{border-radius:4px;padding:1px 6px;font-size:.65rem;font-weight:700}.commit-branch-badge.head-badge{color:var(--accent-success);background:#3cd0701a;border:1px solid #3cd07033}.commit-branch-badge.branch-badge{color:var(--accent-info);background:#3ca2d01a;border:1px solid #3ca2d033}.commit-msg{color:var(--text-primary);font-size:.85rem;font-weight:500}.commit-meta{color:var(--text-muted);font-size:.7rem}.git-files-view-layout{flex-direction:column;gap:12px;height:100%;display:flex;overflow:hidden}.git-files-split{flex:1;grid-template-columns:1fr;gap:12px;min-height:0;display:grid}@media (width>=576px){.git-files-split{grid-template-columns:1fr 1fr}}.git-files-column{border:1px solid var(--border-color);background:#ffffff03;border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.git-files-column h4{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px;border-bottom:1px solid var(--border-color);margin-bottom:4px;padding-bottom:6px;font-size:.75rem}.files-list-visual{flex-direction:column;gap:6px;display:flex}.file-visual-row,.staged-file-row{background:var(--bg-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;transition:all .2s;display:flex}.file-visual-row:hover,.staged-file-row:hover{border-color:var(--border-color-hover);background:var(--bg-tertiary)}.file-visual-row.selected{border-color:var(--accent-gold);background:#dfb15b08}.file-name-text{color:var(--text-primary);font-size:.8rem;font-weight:500}.file-status-badge{border:1px solid #0000;border-radius:3px;padding:1px 4px;font-size:.65rem;font-weight:700}.staged-file-row{flex-direction:column;align-items:flex-start;gap:2px}.staged-file-header{justify-content:space-between;width:100%;font-size:.8rem;display:flex}.text-gold{color:var(--accent-gold)}.text-xxs{font-size:.65rem}.text-xxxs{font-size:.55rem}.empty-column-state{justify-content:center;align-items:center;height:100px;display:flex}.file-inspector-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;max-height:140px;display:flex}.inspector-header{border-bottom:1px solid var(--border-color);background:#0d0e12;border-radius:8px 8px 0 0;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.75rem;display:flex}.close-btn-inspector{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1rem}.close-btn-inspector:hover{color:var(--text-primary)}.inspector-content{white-space:pre-wrap;background:#07080a;flex:1;padding:8px 10px;font-size:.75rem;overflow-y:auto}.inspector-desc-text{color:var(--text-muted);margin-bottom:12px;font-size:.75rem;line-height:1.3}.objects-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;padding-bottom:10px;display:grid}.object-db-card{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 8px;transition:all .2s;display:flex}.object-db-card:hover,.object-db-card.selected{border-color:var(--accent-gold);background:var(--bg-tertiary)}.obj-type-badge{text-transform:uppercase;border-radius:3px;padding:1px 3px;font-size:.6rem;font-weight:700}.obj-type-badge.type-blob{color:var(--accent-success);background:#3cd0701a}.obj-type-badge.type-tree{color:var(--accent-info);background:#3ca2d01a}.obj-type-badge.type-commit{color:var(--accent-gold);background:#dfb15b1a}.obj-sha-short{color:var(--text-secondary);font-size:.75rem}.card-chevron{color:var(--text-muted)}.object-details-overlay{margin-top:12px;padding:10px}.inspector-meta-row{color:var(--text-secondary);gap:14px;margin-bottom:6px;font-size:.75rem;display:flex}.git-quick-commands{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.quick-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:700}.quick-buttons{flex-wrap:wrap;gap:8px;display:flex}.quick-buttons button{font-family:var(--font-mono);background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);border-radius:6px;padding:6px 12px;font-size:.75rem;transition:all .2s}.quick-buttons button:hover{border-color:var(--border-color-hover);color:var(--accent-gold);background:#ffffff05}.quick-buttons button.btn-script-action{font-family:var(--font-sans);color:var(--accent-gold);background:#dfb15b08;border-color:#dfb15b26}.quick-buttons button.btn-script-action:hover{border-color:var(--accent-gold);background:#dfb15b14}.btn-xs{padding:4px 8px;font-size:.75rem}.theory-body{overflow-x:auto}.prose table{border-collapse:collapse;width:100%;margin:1rem 0;display:block;overflow-x:auto}.prose pre,.prose code{max-width:100%;overflow-x:auto}@media (width<=767px){.workspace-pane{flex:auto!important;width:100%!important;max-width:100%!important}.workspace-pane.mobile-hidden{display:none!important}.workspace-pane.mobile-active{display:flex!important}}
