*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}[v-cloak]{display:none!important}:root{--sidebar-width: 18rem;--bg-body: #f8fafc;--bg-header: #ffffff;--bg-sidebar: #ffffff;--bg-theory: #f8fafc;--bg-editor: #0f172a;--bg-output: #f1f5f9;--bg-output-header: #e2e8f0;--text-primary: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--accent: #ea580c;--accent-hover: #c2410c;--accent-active: #9a3412;--theory-text: #334155;--theory-heading: #0f172a;--theory-h1-border: #cbd5e1;--theory-code-bg: #e2e8f0;--theory-code-text: #92400e;--theory-pre-bg: #0f172a;--theory-pre-border: #334155;--theory-pre-text: #e2e8f0;--theory-link: #2563eb;--theory-strong: #0f172a;--hint-bg: #dbeafe;--hint-border: #93c5fd;--hint-text: #1e3a8a;--exercise-bg: #ffffff;--exercise-border: #e2e8f0;--exercise-title: #0f172a;--exercise-text: #475569;--chapter-btn-text: #475569;--chapter-btn-hover-bg: #f1f5f9;--chapter-btn-active-bg: #e2e8f0;--chapter-btn-active-text: #0f172a;--chapter-num-bg: #e2e8f0;--chapter-num-text: #64748b;--output-empty: #94a3b8;--output-success: #15803d;--output-error: #dc2626;--scrollbar-track: #e2e8f0;--scrollbar-thumb: #94a3b8;--scrollbar-thumb-hover: #64748b}[data-theme=dark]{--bg-body: #111827;--bg-header: #1f2937;--bg-sidebar: #1f2937;--bg-theory: #111827;--bg-editor: #111827;--bg-output: #020617;--bg-output-header: #1f2937;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-muted: #9ca3af;--border-color: #374151;--accent: #ea580c;--accent-hover: #f97316;--accent-active: #c2410c;--theory-text: #d1d5db;--theory-heading: #f9fafb;--theory-h1-border: #374151;--theory-code-bg: #374151;--theory-code-text: #fbbf24;--theory-pre-bg: #111827;--theory-pre-border: #374151;--theory-pre-text: #e5e7eb;--theory-link: #60a5fa;--theory-strong: #f9fafb;--hint-bg: rgba(30, 64, 175, .3);--hint-border: rgba(29, 78, 216, .5);--hint-text: #dbeafe;--exercise-bg: #1f2937;--exercise-border: #374151;--exercise-title: #f9fafb;--exercise-text: #d1d5db;--chapter-btn-text: #d1d5db;--chapter-btn-hover-bg: #374151;--chapter-btn-active-bg: #374151;--chapter-btn-active-text: #ffffff;--chapter-num-bg: #374151;--chapter-num-text: #9ca3af;--output-empty: #9ca3af;--output-success: #4ade80;--output-error: #f87171;--scrollbar-track: #1f2937;--scrollbar-thumb: #4b5563;--scrollbar-thumb-hover: #6b7280}body{background:var(--bg-body);color:var(--text-primary)}header{background:var(--bg-header);border-color:var(--border-color)!important}#sidebar{background:var(--bg-sidebar);border-color:var(--border-color)!important}.collapse-toggle{position:relative;z-index:10;background:transparent;border:none;color:inherit;cursor:pointer;padding:0}.collapse-knob{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:48px;border-radius:6px;background:var(--bg-header);border:1px solid var(--border-color);box-shadow:0 1px 4px #0003;color:var(--text-primary, #334155);opacity:.75}.collapse-toggle:hover .collapse-knob{color:#f97316;border-color:#f97316;opacity:1}@media(min-width:768px){#sidebar,#theory,#editor-panel{transition:width .2s ease}}#theory{background:var(--bg-theory);border-color:var(--border-color)!important}#editor{background:var(--bg-editor)}#editor .cm-editor,#editor .cm-scroller,#editor .cm-gutters{background:var(--bg-editor)!important}[data-theme=light] #editor .cm-editor,[data-theme=light] #editor .cm-scroller,[data-theme=light] #editor .cm-gutters{background:#fff!important}#editor .cm-content{background:transparent!important}section:has(>#editor){background:var(--bg-editor)}[data-theme=light] section:has(>#editor){background:#fff}[data-theme=light] section:has(>#editor)>div:first-child,[data-theme=light] section:has(>#editor)>div:last-child{background:#f8fafc}[data-theme=light] section:has(>#editor)>div:last-child #output{background:#f8fafc}section:has(>#editor)>div:first-child,section:has(>#editor)>div:last-child{background:var(--bg-output-header);border-color:var(--border-color)!important}#output{background:var(--bg-output);color:var(--text-secondary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}#theme-toggle,#github-link{background:var(--bg-theory);border-color:var(--border-color)!important;color:var(--text-primary)}#theme-toggle:hover,#github-link:hover{background:var(--chapter-btn-hover-bg)}#menu-toggle{color:var(--text-secondary)}#menu-toggle:hover{background:var(--chapter-btn-hover-bg);color:var(--text-primary)}.theory-content{color:var(--theory-text);line-height:1.75}.theory-content h1{font-size:1.875rem;font-weight:700;color:var(--theory-heading);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--theory-h1-border)}.theory-content h2{font-size:1.5rem;font-weight:600;color:var(--theory-heading);margin-top:1.75rem;margin-bottom:.75rem}.theory-content h3{font-size:1.25rem;font-weight:600;color:var(--theory-heading);margin-top:1.5rem;margin-bottom:.5rem}.theory-content p{margin-bottom:1rem}.theory-content ul,.theory-content ol{margin-bottom:1rem;padding-left:1.5rem}.theory-content li{margin-bottom:.35rem}.theory-content code{background:var(--theory-code-bg);color:var(--theory-code-text);padding:.15rem .35rem;border-radius:.25rem;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.9em}.theory-content pre{background:var(--theory-pre-bg);border:1px solid var(--theory-pre-border);border-radius:.5rem;padding:1rem;overflow-x:auto;margin-bottom:1rem}.theory-content pre code{background:transparent;color:var(--theory-pre-text);padding:0;font-size:.875rem}.theory-content table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.875rem;border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden}.theory-content th,.theory-content td{border:1px solid var(--border-color);padding:.5rem .75rem;text-align:left}.theory-content th{background:var(--theory-code-bg);color:var(--theory-heading);font-weight:600}.theory-content tbody tr:nth-child(2n) td{background:var(--chapter-btn-hover-bg)}.theory-content td:first-child{font-family:JetBrains Mono,Fira Code,Consolas,monospace;white-space:nowrap;color:var(--accent);font-weight:600}.theory-content strong{color:var(--theory-strong)}.theory-content a{color:var(--theory-link);text-decoration:none}.theory-content a:hover{text-decoration:underline}#chapter-hint{background:var(--hint-bg);border-color:var(--hint-border)!important;color:var(--hint-text)}#chapter-exercises{background:var(--exercise-bg);border-color:var(--exercise-border);color:var(--exercise-text)}#chapter-exercises h2{color:var(--exercise-title)}.exercise-card{background:var(--bg-theory);border-color:var(--exercise-border)}.exercise-card h3{color:var(--exercise-title)}.exercise-load-btn{background:var(--accent);color:#fff}.exercise-load-btn:hover{background:var(--accent-hover)}.exercise-load-btn:active{background:var(--accent-active)}.chapter-nav-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;border:1px solid var(--border-color);background:var(--bg-theory);color:var(--text-primary);font-size:.875rem;font-weight:500;transition:background-color .2s,border-color .2s}.chapter-nav-btn:hover:not(:disabled){background:var(--chapter-btn-hover-bg);border-color:var(--accent);color:var(--accent)}.chapter-nav-btn:disabled{opacity:.45;cursor:not-allowed}#output{white-space:pre-wrap;word-break:break-word}#output:empty:before{content:"点击「运行」按钮查看输出结果";color:var(--output-empty)}.cm-editor{height:100%}.cm-focused{outline:none}:root{--sidebar-width: 18rem}#chapter-list>div>h3{position:sticky;top:0;background:var(--bg-sidebar);z-index:1;border-radius:.375rem}.chapter-btn{color:var(--chapter-btn-text)}.chapter-btn:hover{background:var(--chapter-btn-hover-bg);color:var(--text-primary)}.chapter-btn.active{background:var(--chapter-btn-active-bg);color:var(--chapter-btn-active-text)}.chapter-btn span:first-child{background:var(--chapter-num-bg)!important;color:var(--chapter-num-text)!important}.chapter-btn.active span:first-child{background:var(--accent)!important;color:#fff!important}#run-btn{background:var(--accent)}#run-btn:hover{background:var(--accent-hover)}#run-btn:active{background:var(--accent-active)}#clear-output{color:var(--text-muted)}#clear-output:hover{color:var(--text-primary)}section:has(>#editor)>div:first-child{color:var(--text-secondary)}section:has(>#editor)>div:last-child>div:first-child{color:var(--text-muted);background:var(--bg-output-header)}@media(max-width:768px){#theory{border-right:none;border-bottom:1px solid var(--border-color)}}@keyframes pulse-orange{0%,to{opacity:1}50%{opacity:.7}}.running #run-btn{animation:pulse-orange 1.5s infinite}.text-green-400{color:var(--output-success)!important}.text-red-400{color:var(--output-error)!important}.text-gray-200,.text-gray-400{color:var(--text-secondary)!important}
