:root{--bg:#f5f6f8;--surface:#fff;--border:#d9dce1;--text:#1c1f24;--text-muted:#6b7280;--accent:#2f6feb;--accent-contrast:#fff;--error-bg:#fdeceb;--error-border:#e5534b;--error-text:#8a1f16;--graph-lane-0:#2f6feb;--graph-lane-1:#d6934c;--graph-lane-2:#2e9e5b;--graph-lane-3:#a24fd6;--graph-lane-4:#d64f7a;--graph-lane-5:#4fb3d6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:15px/1.5 system-ui,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--bg:#14161a;--surface:#1b1e24;--border:#2e333c;--text:#e6e8eb;--text-muted:#9aa1ac;--accent:#5b9dff;--accent-contrast:#0b1220;--error-bg:#3a1c1c;--error-border:#e5534b;--error-text:#ffb4ac;--graph-lane-0:#5b9dff;--graph-lane-1:#e5a862;--graph-lane-2:#4fc27f;--graph-lane-3:#c07bf0;--graph-lane-4:#f0729a;--graph-lane-5:#72c9f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--text);margin:0}code,pre{font-family:ui-monospace,Consolas,monospace}.site-header{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 16px;display:flex}.site-header__brand{color:var(--accent);white-space:nowrap;font-size:15px;font-weight:700;text-decoration:none}.site-header__brand:hover{text-decoration:underline}.site-header__divider{color:var(--text-muted);font-weight:400}.site-header__title{color:var(--text-muted);white-space:nowrap;font-size:15px;font-weight:600}.toolbar-spacer{flex:1}.btn,.toggle-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.btn:hover,.toggle-btn:hover{border-color:var(--accent)}.icon-btn{padding:6px 10px}.app{flex-direction:column;min-height:100svh;display:flex}.app__main{flex-direction:column;flex:1;min-height:0;display:flex}.tab-nav{border-bottom:1px solid var(--border);gap:4px;padding:0 16px;display:flex}.tab-nav__tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:10px 14px;font-size:13px;font-weight:600}.tab-nav__tab:hover{color:var(--text)}.tab-nav__tab--active{color:var(--accent);border-bottom-color:var(--accent)}.challenges-view{flex:1;gap:16px;min-height:0;padding:16px;display:flex}.track-list{flex-shrink:0;width:240px;overflow-y:auto}.track-list__track{margin-bottom:16px}.track-list__track-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:6px;font-size:11px;font-weight:700}.track-list__challenge{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.track-list__challenge:hover{background:var(--bg)}.track-list__challenge--active{background:var(--accent-bg,var(--bg));color:var(--accent);font-weight:600}.track-list__marker{color:var(--text-muted);width:14px}.challenge-detail{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex:1;min-width:0;padding:20px;overflow-y:auto}.challenge-detail__title{margin:0 0 4px;font-size:18px}.challenge-detail__description{color:var(--text-muted);margin:0 0 16px;font-size:13px}.challenge-detail__steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.challenge-detail__step{border:1px solid #0000;border-radius:8px;gap:10px;padding:10px;display:flex}.challenge-detail__step--active{border-color:var(--border);background:var(--bg)}.challenge-detail__step p{margin:0;font-size:13px}.challenge-detail__step--done p{color:var(--text-muted);text-decoration:line-through}.challenge-detail__step-marker{background:var(--surface);border:1px solid var(--border);width:22px;height:22px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.challenge-detail__step--done .challenge-detail__step-marker{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.challenge-detail__step-body{flex:1;min-width:0}.challenge-detail__complete{background:var(--accent-bg,var(--bg));color:var(--accent);border-radius:8px;margin-top:16px;padding:10px 12px;font-size:13px;font-weight:600}.step-hints{flex-direction:column;align-items:flex-start;gap:6px;margin-top:8px;display:flex}.step-hints__hint{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:12px}.step-hints__button{font-size:12px}.cheatsheet-view{flex:1;gap:16px;min-height:0;padding:16px;display:flex}.topic-list{flex-direction:column;flex-shrink:0;gap:4px;width:200px;display:flex}.topic-list__item{text-align:left;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 10px;font-size:13px}.topic-list__item:hover{background:var(--bg)}.topic-list__item--active{background:var(--accent-bg,var(--bg));color:var(--accent);font-weight:600}.cheatsheet-view__main{flex-direction:column;flex:1;gap:16px;min-width:0;display:flex;overflow-y:auto}.topic-detail{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:16px}.topic-detail h2{margin:0 0 6px;font-size:17px}.topic-detail__summary{color:var(--text-muted);margin:0 0 10px;font-size:13px}.topic-detail__points{margin:0 0 12px;padding-left:18px;font-size:13px}.topic-detail__points li{margin-bottom:4px}.topic-detail__example{background:var(--bg);border:1px solid var(--border);white-space:pre-wrap;border-radius:6px;margin:0;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:12px}.cheatsheet-view__reference{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px;overflow-x:auto}.cheatsheet-view__search{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text);border-radius:6px;margin-bottom:10px;padding:6px 10px;font-size:13px}.cheatsheet-view__table{border-collapse:collapse;width:100%;font-size:12px}.cheatsheet-view__table td{border-bottom:1px solid var(--border);vertical-align:top;padding:6px 8px}.cheatsheet-view__table td:first-child{white-space:nowrap;color:var(--accent);font-family:ui-monospace,Consolas,monospace}.cheatsheet-view__table td:last-child{color:var(--text-muted)}.quiz-topic-picker{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;padding:16px;display:grid}.quiz-topic-picker__card{text-align:left;border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:8px;padding:14px}.quiz-topic-picker__card:hover{border-color:var(--accent)}.quiz-topic-picker__title{margin-bottom:6px;font-weight:700}.quiz-topic-picker__summary{color:var(--text-muted);font-size:12px}.quiz-topic-picker__score{color:var(--accent);margin-top:8px;font-size:12px;font-weight:600}.quiz-view{max-width:640px;margin:0 auto;padding:20px 16px}.quiz-view__progress{color:var(--text-muted);margin-bottom:8px;font-size:12px}.quiz-view__next{margin-top:16px}.quiz-question__prompt{margin:0 0 14px;font-size:16px;font-weight:600}.quiz-question__choices{flex-direction:column;gap:8px;display:flex}.quiz-question__choice{text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:10px 12px;font-size:13px}.quiz-question__choice:hover:not(:disabled),.quiz-question__choice--selected{border-color:var(--accent)}.quiz-question__choice--correct{border-color:var(--accent);background:var(--accent-bg,var(--bg));color:var(--accent);font-weight:600}.quiz-question__choice--wrong{border-color:var(--error-border);background:var(--error-bg);color:var(--error-text)}.quiz-question__explanation{color:var(--text-muted);margin-top:12px;font-size:13px}.quiz-results{text-align:center;max-width:480px;margin:40px auto}.quiz-results__actions{justify-content:center;gap:8px;margin-top:16px;display:flex}.commit-graph{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex:1;min-height:160px;padding:8px 4px;overflow:auto}.commit-graph--empty{color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:16px;font-size:12px;display:flex}.commit-graph--empty p{margin:0}.commit-graph__label{fill:var(--text);font-family:ui-monospace,Consolas,monospace}.commit-graph__id{fill:var(--text-muted)}.commit-graph__refs{fill:var(--accent);font-weight:600}.simulator-view{flex-direction:column;flex:1;gap:10px;min-height:0;padding:12px 16px;display:flex}.simulator-view__toolbar{gap:8px;display:flex}.simulator-view__body{flex:1;gap:12px;min-height:420px;display:flex}.simulator-view__terminal{flex:2;min-width:0}.simulator-view__panel{flex-direction:column;flex:1;gap:12px;min-width:220px;max-width:320px;display:flex;overflow-y:auto}.terminal{border:1px solid var(--border);background:var(--surface);cursor:text;border-radius:8px;flex-direction:column;height:100%;display:flex;overflow:hidden}.terminal__log{flex:1;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.5;overflow-y:auto}.terminal-line{white-space:pre-wrap;word-break:break-word;margin:0 0 4px;font-family:inherit}.terminal-line--input{color:var(--text)}.terminal-line__prompt{color:var(--accent);font-weight:700}.terminal-line--output{color:var(--text-muted)}.terminal-line--error{color:var(--error-text)}.terminal__form{border-top:1px solid var(--border);align-items:center;gap:6px;padding:8px 12px;display:flex}.terminal__prompt{color:var(--accent);font-family:ui-monospace,Consolas,monospace;font-weight:700}.terminal__input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:ui-monospace,Consolas,monospace;font-size:13px}.status-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px;font-size:13px}.status-panel__hint{color:var(--text-muted);margin:0}.status-panel__section{margin-bottom:12px}.status-panel__section:last-child{margin-bottom:0}.status-panel__section--warn{border-left:3px solid var(--error-border);padding-left:8px}.status-panel__label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px;font-size:11px;font-weight:700}.status-panel__value{font-family:ui-monospace,Consolas,monospace;font-weight:600}.status-panel__muted{color:var(--text-muted);word-break:break-word;font-family:ui-monospace,Consolas,monospace;font-size:12px}.status-panel__branch{padding:2px 0;font-family:ui-monospace,Consolas,monospace}.status-panel__branch--current{color:var(--accent);font-weight:700}.status-panel__branch--current:before{content:"* "}.status-panel__file{word-break:break-word;padding:2px 0;font-family:ui-monospace,Consolas,monospace;font-size:12px}.status-panel__file--staged{color:var(--accent)}.status-panel__file--unstaged{color:var(--error-text)}.status-panel__file--untracked{color:var(--text-muted)}
