:root{--font-mono: "JetBrains Mono", "Consolas", "Monaco", "Courier New", monospace;--gh-light-canvas-default: #ffffff;--gh-light-canvas-subtle: #f6f8fa;--gh-light-canvas-inset: #f6f8fa;--gh-light-fg-default: #1f2328;--gh-light-fg-muted: #656d76;--gh-light-fg-subtle: #6e7781;--gh-light-border-default: #d0d7de;--gh-light-border-muted: #d8dee4;--gh-light-accent: #0969da;--gh-light-accent-hover: #0550ae;--gh-light-success: #1a7f37;--gh-light-success-hover: #136c2e;--gh-light-warning: #9a6700;--gh-light-danger: #cf222e;--gh-light-info: #0969da;--gh-light-code-bg: #f6f8fa;--gh-light-btn-default-bg: #f6f8fa;--gh-light-btn-default-border: rgba(31, 35, 40, .15);--gh-light-btn-default-hover: #f3f4f6;--gh-dark-canvas-default: #1f1f24;--gh-dark-canvas-subtle: #2c2c32;--gh-dark-canvas-inset: #151518;--gh-dark-fg-default: #e5e5e5;--gh-dark-fg-muted: #98989d;--gh-dark-fg-subtle: #6c6c72;--gh-dark-border-default: #38383e;--gh-dark-border-muted: #2c2c32;--gh-dark-accent: #9ec7ff;--gh-dark-accent-hover: #b8d8ff;--gh-dark-success: #4ade80;--gh-dark-success-hover: #22c55e;--gh-dark-warning: #fbbf24;--gh-dark-danger: #f87171;--gh-dark-info: #6b9eff;--gh-dark-code-bg: #2c2c32;--gh-dark-btn-default-bg: #2c2c32;--gh-dark-btn-default-border: rgba(152, 152, 157, .15);--gh-dark-btn-default-hover: #38383e}html[data-bs-theme=light]{--bs-body-bg: var(--gh-light-canvas-default);--bs-body-color: var(--gh-light-fg-default);--bs-secondary-bg: var(--gh-light-canvas-subtle);--bs-secondary-color: var(--gh-light-fg-muted);--bs-border-color: var(--gh-light-border-default);--bs-primary: var(--gh-light-accent);--bs-success: var(--gh-light-success);--bs-warning: var(--gh-light-warning);--bs-danger: var(--gh-light-danger);--bs-info: var(--gh-light-info);--editor-bg: var(--gh-light-code-bg);--editor-fg: var(--gh-light-fg-default);--console-bg: var(--gh-light-canvas-subtle);--console-header-bg: var(--gh-light-canvas-subtle);--border-color: var(--gh-light-border-default);--active-item-bg: rgba(9, 105, 218, .1);--code-bg: var(--gh-light-code-bg);--accent-color: var(--gh-light-accent);--accent-hover: var(--gh-light-accent-hover);--success-color: var(--gh-light-success);--success-hover: var(--gh-light-success-hover);--warning-color: var(--gh-light-warning);--danger-color: var(--gh-light-danger);--btn-default-bg: var(--gh-light-btn-default-bg);--btn-default-border: var(--gh-light-btn-default-border);--btn-default-hover: var(--gh-light-btn-default-hover);--ansi-0: #000;--ansi-1: #c41;--ansi-2: #1a7233;--ansi-3: #9a5;--ansi-4: #1a5fb4;--ansi-5: #873d9e;--ansi-6: #0f7a7a;--ansi-7: #6e7681;--ansi-8: #57606a;--ansi-9: #cf222e;--ansi-10: #116329;--ansi-11: #9a6700;--ansi-12: #0969da;--ansi-13: #8250df;--ansi-14: #1b7c83;--ansi-15: #fff}html[data-bs-theme=dark]{--bs-body-bg: var(--gh-dark-canvas-default);--bs-body-color: var(--gh-dark-fg-default);--bs-secondary-bg: var(--gh-dark-canvas-subtle);--bs-secondary-color: var(--gh-dark-fg-muted);--bs-border-color: var(--gh-dark-border-default);--bs-primary: var(--gh-dark-accent);--bs-success: var(--gh-dark-success);--bs-warning: var(--gh-dark-warning);--bs-danger: var(--gh-dark-danger);--bs-info: var(--gh-dark-info);--editor-bg: var(--gh-dark-code-bg);--editor-fg: var(--gh-dark-fg-default);--console-bg: var(--gh-dark-canvas-subtle);--console-header-bg: var(--gh-dark-canvas-subtle);--border-color: var(--gh-dark-border-default);--active-item-bg: rgba(88, 166, 255, .12);--code-bg: var(--gh-dark-code-bg);--accent-color: var(--gh-dark-accent);--accent-hover: var(--gh-dark-accent-hover);--success-color: var(--gh-dark-success);--success-hover: var(--gh-dark-success-hover);--warning-color: var(--gh-dark-warning);--danger-color: var(--gh-dark-danger);--btn-default-bg: var(--gh-dark-btn-default-bg);--btn-default-border: var(--gh-dark-btn-default-border);--btn-default-hover: var(--gh-dark-btn-default-hover);--ansi-0: #000;--ansi-1: #ff7b72;--ansi-2: #3fb950;--ansi-3: #d29922;--ansi-4: #58a6ff;--ansi-5: #bc8cff;--ansi-6: #39c5cf;--ansi-7: #8b949e;--ansi-8: #484f58;--ansi-9: #ffa198;--ansi-10: #56d364;--ansi-11: #e3b341;--ansi-12: #79c0ff;--ansi-13: #d2a8ff;--ansi-14: #56d4dd;--ansi-15: #f0f6fc}body{font-family:var(--font-mono);font-variant-ligatures:none}.platform-layout{height:100%;display:flex;flex-direction:row;overflow:hidden}.platform-pane{display:flex;flex-direction:column;background-color:var(--bs-body-bg);overflow:hidden;min-width:180px}#sidebarPane{width:20%;min-width:0;overflow:hidden;contain:layout style}body.sidebar-collapsed #sidebarPane,body.sidebar-collapsed #resizerCasesCase{width:0;min-width:0;padding:0;opacity:0;pointer-events:none}body.sidebar-collapsed #questionPane,body.sidebar-collapsed #editorPane{width:50%}#questionPane{position:relative;flex:1 1 auto;width:40%}#editorPane{width:40%;transition:width .25s ease,min-width .25s ease}#editorPane.editor-collapsed{width:0!important;min-width:0!important;padding:0!important;overflow:hidden;border-left:none;flex:0 0 0}.pane-header{flex:0 0 auto;height:42px;min-height:42px;padding:0 .75rem;display:flex;align-items:center}.notes-header{position:sticky;top:0;z-index:5}.pane-header h5{margin:0;line-height:1.2}.center-tabs{display:flex;background:var(--bs-secondary-bg);border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0;min-height:32px}.center-tab{flex-shrink:0;padding:.3rem .75rem;font-size:.8rem;cursor:pointer;color:var(--bs-secondary-color);border-right:1px solid var(--border-color);border-bottom:2px solid transparent;transition:color .15s,border-color .15s,background .15s;white-space:nowrap;user-select:none}.center-tab:hover{color:var(--bs-body-color);background:var(--bs-tertiary-bg)}.center-tab.active{color:var(--bs-body-color);border-bottom-color:var(--accent-color);background:var(--bs-code-bg, var(--bs-body-bg))}.sidebar-tabs{display:flex;background:var(--bs-secondary-bg);border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0;min-height:32px}.sidebar-tab{flex-shrink:0;padding:.3rem .75rem;font-size:.8rem;cursor:pointer;color:var(--bs-secondary-color);border-right:1px solid var(--border-color);border-bottom:2px solid transparent;transition:color .15s,border-color .15s,background .15s;white-space:nowrap;user-select:none}.sidebar-tab:hover{color:var(--bs-body-color);background:var(--bs-tertiary-bg)}.sidebar-tab.active{color:var(--bs-body-color);border-bottom-color:var(--accent-color);background:var(--bs-code-bg, var(--bs-body-bg))}.bi{color:var(--bs-body-color)}#bookmarkBtn .bi-bookmark-fill{color:var(--bs-danger)}.article-content{flex:1 1 auto;overflow:auto}.article-content h1{font-size:1.2rem;margin:2.5rem 0 .75rem;color:var(--bs-body-color)}.article-content h2{font-size:1.05rem;margin:2rem 0 .5rem;color:var(--bs-body-color)}.article-content h3{font-size:.95rem;margin:1.5rem 0 .4rem;color:var(--bs-body-color)}.article-content h4{margin:1.2rem 0 .3rem}.article-content h5,.article-content h6{margin:.8rem 0 .25rem}.article-content p{line-height:1.6;margin-bottom:.75rem;font-size:.875rem;color:var(--bs-secondary-color);text-align:justify}.question-content p{text-align:justify}.article-content li,.article-content ul,.article-content ol{font-size:.875rem;color:var(--bs-secondary-color);line-height:1.6}.article-content li{margin-bottom:.25rem}.article-content .fig-center,.question-content .fig-center{margin:1rem auto;max-width:90%;text-align:center;clear:both}.article-content .fig-left,.question-content .fig-left{float:left;width:40%;margin:.5rem 1rem .5rem 0;clear:both}.article-content .fig-right,.question-content .fig-right{float:right;width:40%;margin:.5rem 0 .5rem 1rem;clear:both}.article-content .fig-pair,.question-content .fig-pair{clear:none}.article-content figure img,.question-content figure img{display:block;max-width:100%;height:auto;margin:0 auto;border:1px solid var(--border-color);border-radius:4px;padding:4px;cursor:pointer;transition:opacity .15s}.article-content figure img:hover,.question-content figure img:hover{opacity:.85}.img-zoom-overlay{position:fixed;inset:0;background:#000000d9;z-index:9999;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.img-zoom-img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:4px}.img-zoom-close{position:fixed;top:1rem;right:1.5rem;font-size:2rem;color:#fff;cursor:pointer;z-index:10000;line-height:1}.article-content figcaption,.question-content figcaption{font-size:.8rem;color:var(--bs-secondary-color);font-style:italic;margin-top:.4rem;text-align:center}.ratio-16x9{aspect-ratio:16 / 9;width:100%;max-width:640px;margin:1rem auto}.ratio-16x9 iframe{width:100%;height:100%;border:none;border-radius:4px}.article-content code{background-color:var(--code-bg);color:var(--editor-fg);padding:.15rem .4rem;font-family:var(--font-mono);font-size:.9em}.article-content pre{background-color:var(--editor-bg);padding:.75rem;border-radius:.375rem;overflow-x:auto}.pane-body{flex:1 1 auto}.pane-resizer{flex:0 0 auto;width:6px;cursor:col-resize;background:linear-gradient(to right,transparent 40%,var(--border-color) 40%,var(--border-color) 60%,transparent 60%);transition:background .15s ease;z-index:10}.pane-resizer:hover,.pane-resizer.resizing{background:linear-gradient(to right,transparent 35%,var(--accent-color) 35%,var(--accent-color) 65%,transparent 65%)}.editor-area{flex:1 1 auto;position:relative;min-height:80px;overflow:hidden}.console-resizer{flex:0 0 auto;height:8px;position:relative;cursor:row-resize;touch-action:none;background:linear-gradient(to bottom,transparent 30%,var(--border-color) 30%,var(--border-color) 70%,transparent 70%);transition:background .15s ease;z-index:10}.console-resizer:hover,.console-resizer.resizing{background:linear-gradient(to bottom,transparent 25%,var(--accent-color) 25%,var(--accent-color) 75%,transparent 75%)}.text-pass{color:var(--success-color);font-weight:600}.text-fail{color:var(--danger-color);font-weight:600}.sidebar-pane,.editor-pane,.question-pane{background-color:var(--bs-body-bg)}.question-pane-body{position:relative;flex:1 1 auto;display:grid;grid-template-rows:1fr 8px auto;overflow:hidden}.question-content{min-height:60px;overflow:auto}.notes-resizer{position:relative;cursor:row-resize;touch-action:none;background:linear-gradient(to bottom,transparent 30%,var(--border-color) 30%,var(--border-color) 70%,transparent 70%);transition:background .15s ease;z-index:10}.notes-resizer:hover,.notes-resizer.resizing{background:linear-gradient(to bottom,transparent 25%,var(--accent-color) 25%,var(--accent-color) 75%,transparent 75%)}.notes-area{height:200px;background-color:var(--bs-body-bg);display:flex;flex-direction:column;overflow:hidden}.question-pane-body.notes-maximized{grid-template-rows:1fr 8px 4fr}.question-pane-body.notes-maximized .notes-area{height:auto}.notes-header{flex:0 0 auto;height:36px;min-height:36px;padding:0 1rem;display:flex;align-items:center;border-color:var(--border-color)!important}.notes-body{flex:1 1 auto;position:relative;overflow:hidden}.notes-editor-wrapper{position:absolute;inset:0}.CodeMirror-line span{font-variant-ligatures:none!important}.notes-editor-wrapper .CodeMirror{height:100%;font-family:var(--font-mono);font-size:.9rem;line-height:1.5;border:none}.notes-editor{display:none;background-color:var(--editor-bg);color:var(--editor-fg);font-family:var(--font-mono);font-size:.9rem;line-height:1.5;border:none;outline:none;resize:none;tab-size:4}.notes-preview{position:absolute;inset:0;background-color:var(--bs-body-bg);color:var(--bs-body-color);font-size:.9rem;line-height:1.6}.notes-preview h1,.notes-preview h2,.notes-preview h3,.notes-preview h4,.notes-preview h5,.notes-preview h6{margin-top:0;margin-bottom:.75rem;font-weight:600}.notes-preview p{margin-bottom:.75rem}.notes-preview pre{background-color:var(--editor-bg);padding:.75rem;border-radius:.375rem;overflow-x:auto}.notes-preview code{font-family:var(--font-mono)}.notes-preview pre code{background-color:transparent;padding:0}.notes-preview ul,.notes-preview ol{padding-left:1.5rem;margin-bottom:.75rem}.notes-preview blockquote{border-left:4px solid var(--border-color);padding-left:1rem;margin-left:0;color:var(--bs-secondary-color)}.navbar{background-color:var(--bs-secondary-bg)!important}#themeToggle{width:31px;height:31px;padding:0;display:flex;align-items:center;justify-content:center}.navbar-brand,.navbar{color:var(--bs-body-color)}.typed-cursor{animation:typedBlink 1s step-end infinite;font-weight:700}@keyframes typedBlink{50%{opacity:0}}.border-bottom,.border-end,.border-start,.border-top{border-color:var(--border-color)!important}.form-control,.form-select{background-color:var(--editor-bg);color:var(--editor-fg);border-color:var(--border-color);border-radius:0}#questionSearch{background-color:transparent}.form-control:focus,.form-select:focus{background-color:var(--editor-bg);color:var(--editor-fg);border-color:var(--accent-color);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--accent-color) 25%,transparent)}.list-group-item{cursor:pointer;border:none;border-left:3px solid transparent;border-radius:0;margin-bottom:.25rem;padding:.75rem 1rem;transition:background-color .15s ease;background-color:transparent;color:var(--bs-body-color)}.list-group-item:hover{background-color:var(--bs-secondary-bg)}.list-group-item.active{background-color:var(--active-item-bg);color:var(--bs-body-color);border-left-color:var(--accent-color)}.list-group-item.solved{border-left-color:var(--success-color)}.question-title{font-weight:600;font-size:.75rem}.question-meta{font-size:.6rem;color:var(--bs-secondary-color)}#authUserMenu .dropdown-item,#authUserMenu .dropdown-item-text{font-size:.875rem}.auth-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background-color:var(--accent-color);color:#fff;font-size:.8rem;font-weight:600;text-transform:uppercase;overflow:hidden}#authAvatarBtn{border:none;background:none;padding:2px .5rem;box-shadow:none;outline:none;transition:background .15s}#authAvatarBtn:hover,#authAvatarBtn:active,#authAvatarBtn.show{background:var(--bs-border-color);color:var(--bs-body-color)}.auth-avatar img{width:100%;height:100%;object-fit:cover}#authUserMenu .dropdown-menu{min-width:200px}#authLogoutLink{cursor:pointer}.vm-thumb:hover .vm-playbtn{background:#00000080}.vm-thumb:hover .vm-playbtn i{transform:scale(1.1)}.vm-thumb .vm-playbtn i{transition:transform .15s}.vm-player iframe{width:100%;height:100%;display:block;border:none}.vm-shield{position:absolute;inset:0;z-index:2;cursor:pointer;pointer-events:auto}.vm-thumb:hover .vm-controls,.vm-wrapper:hover .vm-controls{opacity:1}.vmc-btn{background:none;border:none;color:#fff;font-size:1.1rem;padding:.2rem;cursor:pointer;opacity:.9;transition:opacity .15s;flex-shrink:0;line-height:1}.vmc-btn:hover{opacity:1}.vmc-track:hover{height:6px}.vmc-fill{pointer-events:none}.vmc-dropdown-content a{display:block;padding:.25rem .75rem;color:#ccc;font-size:.8rem;text-decoration:none;cursor:pointer;white-space:nowrap}.vmc-dropdown-content a:hover{background:#444;color:#fff}.vmc-dropdown-content a.active{color:#00adef;font-weight:600}.vm-wrapper:fullscreen{display:flex;align-items:center;justify-content:center;background:#000;border:none;border-radius:0}.vm-wrapper:fullscreen .vm-thumb{max-width:100%;max-height:100vh;aspect-ratio:16 / 9}.vm-wrapper:fullscreen .vm-thumb iframe{width:100%;height:100%}.content-blurred-force{filter:blur(6px);pointer-events:none;user-select:none;position:relative}.article-content-blurred{position:relative;filter:blur(6px);pointer-events:none;user-select:none}.article-content-blurred:after{content:"";position:absolute;inset:0;z-index:1}.gated-overlay{display:none;position:absolute;inset:0;z-index:5;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;text-align:center;background:#00000059;backdrop-filter:blur(2px);pointer-events:auto;cursor:pointer}.gated-overlay.show{display:flex}.gated-overlay p{color:#fff;font-size:1rem;margin:0;text-shadow:0 1px 3px rgba(0,0,0,.5);line-height:1.4}.reset-dialog{background:var(--bs-body-bg);border:1px solid var(--border-color);border-radius:8px;padding:2rem;max-width:420px;width:90vw;color:var(--bs-body-color)}.reset-code-display{font-size:1.8rem;letter-spacing:.3em;font-weight:700;text-align:center;font-family:Courier New,Courier,monospace;background:var(--bs-dark);color:var(--bs-light);border-radius:6px;padding:.4rem .2rem;user-select:all}.reset-dialog::backdrop{background:#00000080}.reset-dialog h3{margin:0 0 .5rem;font-size:1.1rem}.reset-dialog p{margin:0 0 .5rem;line-height:1.5;font-size:.9rem}.dashboard-courses{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:1rem 0}.course-card{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bs-body-bg);display:flex;flex-direction:column;min-width:0}.course-card-img{width:100%;aspect-ratio:40 / 21;object-fit:cover;display:block}.course-card-body{padding:.75rem;flex:1;display:flex;flex-direction:column}.course-card-title{font-size:.95rem;font-weight:600;margin:0 0 .25rem}.course-card-desc{font-size:.8rem;color:var(--bs-secondary-color);margin:0 0 .5rem;line-height:1.4;text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.course-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.5rem}.course-card-stat{font-size:.8rem;color:var(--bs-secondary-color)}@media(max-width:900px){.dashboard-courses{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.dashboard-courses{grid-template-columns:1fr}}.statusbar{display:flex;align-items:center;justify-content:space-between;padding:0;font-size:.75rem;color:var(--bs-secondary-color);background:var(--bs-body-bg);border-top:1px solid var(--border-color);flex-shrink:0;min-height:24px}.statusbar-left,.statusbar-right{display:flex;align-items:center;gap:.5rem;flex:1}.statusbar-center{text-align:center;flex:2}.statusbar-right{justify-content:flex-end;padding-right:20px}#syncBtn{display:flex!important;align-items:center;gap:.3rem;cursor:pointer;color:var(--bs-body-color);transition:background .2s ease,color .2s ease}.sync-dropdown-item{display:flex!important;align-items:center;gap:.4rem;padding:.25rem 1rem;cursor:pointer;color:var(--bs-body-color);transition:background .2s ease,color .2s ease;white-space:nowrap}.sync-dropdown-item:hover{background-color:var(--btn-default-hover)}.sync-btn-footer{display:inline-flex;align-items:center;gap:.3rem;cursor:pointer;color:var(--bs-body-color);transition:background .2s ease,color .2s ease;padding:0 .5rem}#syncBtn.synced,.sync-dropdown-item.synced,.sync-btn-footer.synced{color:var(--bs-success)}#syncBtn.synced:hover,.sync-dropdown-item.synced:hover{background:color-mix(in srgb,var(--bs-success) 15%,transparent)}#syncBtn.dirty,.sync-dropdown-item.dirty,.sync-btn-footer.dirty{color:var(--bs-danger)}#syncBtn.dirty:hover,.sync-dropdown-item.dirty:hover{background:color-mix(in srgb,var(--bs-danger) 15%,transparent)}#syncBtn.syncing,.sync-dropdown-item.syncing,.sync-btn-footer.syncing{color:var(--accent-color)}#syncBtn.syncing:hover,.sync-dropdown-item.syncing:hover{background:color-mix(in srgb,var(--accent-color) 20%,transparent)}.sync-indicator{line-height:1;display:inline-flex;align-items:center;transition:color .3s ease}.sync-label{line-height:1}#syncBtn.syncing .sync-indicator{animation:syncSpinner 1s linear infinite}@keyframes syncSpinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-dot{position:absolute;top:-2px;right:-2px;width:8px;height:8px;border-radius:50%;border:2px solid var(--bs-body-bg);transition:background .3s ease}.sync-dot.synced{background:var(--bs-success)}.sync-dot.dirty{background:var(--bs-danger)}.auth-modal-backdrop{display:none;position:fixed;inset:0;background:#00000080;z-index:1050;align-items:center;justify-content:center}.text-in-progress{color:#d97706}.auth-modal-backdrop.show{display:flex}.auth-modal{background:var(--bs-body-bg);border:1px solid var(--border-color);border-radius:8px;padding:2rem;width:360px;max-width:90vw}.auth-modal h3{margin:0 0 1.25rem;font-size:1.2rem;color:var(--bs-body-color)}.auth-modal .form-control{margin-bottom:.75rem}.auth-modal .auth-error{color:var(--bs-danger);font-size:.85rem;margin-bottom:.5rem;display:none}.auth-modal .auth-toggle{font-size:.85rem;text-align:center;margin-top:.75rem;color:var(--bs-secondary-color)}.auth-modal .auth-toggle a{cursor:pointer;color:var(--accent-color)}:root{--topic-color-0: #4FC3F7;--topic-color-1: #81C784;--topic-color-2: #FFB74D;--topic-color-3: #BA68C8;--topic-color-4: #E57373;--topic-color-5: #4DB6AC}.tree-container{padding:.25rem 0}.tree-topic{padding:.4rem .75rem .4rem .5rem;cursor:pointer;font-weight:700;font-size:.9rem;color:var(--bs-body-color);display:flex;align-items:center;gap:.4rem;user-select:none;border-left:3px solid transparent}.tree-topic:hover{background-color:var(--bs-secondary-bg)}.tree-subtopic{padding:.3rem .75rem .3rem 1.25rem;cursor:pointer;font-weight:600;font-size:.85rem;color:var(--bs-body-color);display:flex;align-items:center;gap:.4rem;user-select:none;border-left:3px solid var(--topic-color);opacity:.7}.tree-subtopic:hover{background-color:var(--bs-secondary-bg)}.tree-leaf{padding:.4rem .75rem .4rem 2rem;cursor:pointer;border-left:3px solid var(--topic-color);transition:background-color .15s ease;background-color:transparent;color:var(--bs-body-color);opacity:.5}.tree-leaf:hover{background-color:var(--bs-secondary-bg);opacity:.7}.tree-leaf.active{background-color:var(--active-item-bg);color:var(--bs-body-color);border-left-color:var(--topic-color);opacity:1;font-weight:700}.tree-leaf.solved{border-left-color:var(--success-color);opacity:1}.tree-toggle{display:inline-flex;align-items:center;font-size:.7rem;flex-shrink:0;width:.85rem}.tree-label{flex:1}[data-topic-index="0"]{--topic-color: var(--topic-color-0)}[data-topic-index="1"]{--topic-color: var(--topic-color-1)}[data-topic-index="2"]{--topic-color: var(--topic-color-2)}[data-topic-index="3"]{--topic-color: var(--topic-color-3)}[data-topic-index="4"]{--topic-color: var(--topic-color-4)}[data-topic-index="5"]{--topic-color: var(--topic-color-5)}.tree-topic[data-topic-index]{border-left-color:var(--topic-color)}.file-tabs{display:flex;background:var(--bs-secondary-bg);border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0;min-height:32px}.file-tabs.d-none{display:none}.file-tab{flex-shrink:0;padding:.3rem .75rem;font-size:.8rem;cursor:pointer;color:var(--bs-secondary-color);border-right:1px solid var(--border-color);border-bottom:2px solid transparent;transition:color .15s,border-color .15s,background .15s;white-space:nowrap;user-select:none}.file-tab:hover{color:var(--bs-body-color);background:var(--bs-tertiary-bg)}.file-tab .bi-dot,#notesUnsavedDot{color:#e3b341;visibility:hidden}.file-tab .bi-dot.d-unsaved,#notesUnsavedDot.d-unsaved{visibility:visible}.file-tab.active{color:var(--bs-body-color);border-bottom-color:var(--accent-color);background:var(--bs-code-bg, var(--bs-body-bg))}.code-editor-wrapper{position:absolute;inset:0}.code-editor-wrapper .CodeMirror{height:100%;font-family:var(--font-mono);font-size:.875rem;line-height:1.5;border:none;font-variant-ligatures:none}.CodeMirror-lines{border-left:1px solid var(--border-color)}.cm-s-github-light.CodeMirror{background-color:#fff;color:#1f2328}.cm-s-github-light .cm-comment{color:#6e7781;font-style:italic}.cm-s-github-light .cm-keyword{color:#cf222e}.cm-s-github-light .cm-string,.cm-s-github-light .cm-string-2{color:#0a3069}.cm-s-github-light .cm-number,.cm-s-github-light .cm-atom{color:#0550ae}.cm-s-github-light .cm-operator{color:#1f2328}.cm-s-github-light .cm-variable,.cm-s-github-light .cm-variable-2,.cm-s-github-light .cm-variable-3{color:#953800}.cm-s-github-light .cm-property,.cm-s-github-light .cm-def{color:#8250df}.cm-s-github-light .cm-type{color:#953800}.cm-s-github-light .cm-builtin{color:#8250df}.cm-s-github-light .cm-tag{color:#116329}.cm-s-github-light .cm-attribute{color:#953800}.cm-s-github-light .cm-meta{color:#1f2328}.cm-s-github-light .cm-qualifier{color:#953800}.cm-s-github-light .cm-bracket{color:#1f2328}.cm-s-github-light .cm-error{color:#cf222e}.cm-s-github-light .cm-header{color:#953800;font-weight:600}.cm-s-github-light .cm-quote{color:#6e7781;font-style:italic}.cm-s-github-light .cm-link{color:#0969da;text-decoration:underline}.cm-s-github-light .cm-url{color:#0969da}.cm-s-github-light .cm-strong{font-weight:600}.cm-s-github-light .cm-em{font-style:italic}.cm-s-github-light .CodeMirror-gutters{background-color:#fff;border-right:1px solid #d0d7de}.cm-s-github-light .CodeMirror-linenumber{color:#6e7781;padding-right:.75rem}.cm-s-github-light .CodeMirror-cursor{border-left:1px solid #1f2328}.cm-s-github-light .CodeMirror-selected{background-color:#b4d7ff}.cm-s-github-light .CodeMirror-activeline-background,.cm-s-github-light .CodeMirror-activeline-gutter-background{background:#e8ecf0}.cm-s-github-light .CodeMirror-activeline .CodeMirror-linenumber{font-weight:700;color:#1f2328}.cm-s-github-dark.CodeMirror{background-color:#1f1f24;color:#e5e5e5}.cm-s-github-dark .cm-comment{color:#6c6c72;font-style:italic}.cm-s-github-dark .cm-keyword{color:#fc5fa3}.cm-s-github-dark .cm-string,.cm-s-github-dark .cm-string-2{color:#d4a574}.cm-s-github-dark .cm-number,.cm-s-github-dark .cm-atom{color:#d0bf69}.cm-s-github-dark .cm-operator{color:#e5e5e5}.cm-s-github-dark .cm-variable,.cm-s-github-dark .cm-variable-2,.cm-s-github-dark .cm-variable-3{color:#c2a5df}.cm-s-github-dark .cm-property,.cm-s-github-dark .cm-def,.cm-s-github-dark .cm-type,.cm-s-github-dark .cm-builtin{color:#6b9eff}.cm-s-github-dark .cm-tag{color:#fc5fa3}.cm-s-github-dark .cm-attribute{color:#c2a5df}.cm-s-github-dark .cm-meta{color:#e5e5e5}.cm-s-github-dark .cm-qualifier{color:#6b9eff}.cm-s-github-dark .cm-bracket{color:#98989d}.cm-s-github-dark .cm-error{color:#fc5fa3}.cm-s-github-dark .cm-header{color:#6b9eff;font-weight:600}.cm-s-github-dark .cm-quote{color:#6c6c72;font-style:italic}.cm-s-github-dark .cm-link{color:#6b9eff;text-decoration:underline}.cm-s-github-dark .cm-url{color:#6b9eff}.cm-s-github-dark .cm-strong{font-weight:600}.cm-s-github-dark .cm-em{font-style:italic}.cm-s-github-dark .CodeMirror-gutters{background-color:#1f1f24;border-right:1px solid #38383e}.cm-s-github-dark .CodeMirror-linenumber{color:#8b949e;padding-right:.75rem}.cm-s-github-dark .CodeMirror-cursor{border-left:1px solid #e5e5e5}.cm-s-github-dark .CodeMirror-selected{background-color:#4a4a52}.cm-s-github-dark .CodeMirror-activeline-background,.cm-s-github-dark .CodeMirror-activeline-gutter-background{background:#38383e}.cm-s-github-dark .CodeMirror-activeline .CodeMirror-linenumber{font-weight:700;color:#e5e5e5}[data-bs-theme=light] .chroma{background:#fff;color:#1f2328}[data-bs-theme=light] .chroma .c{color:#6e7781;font-style:italic}[data-bs-theme=light] .chroma .k{color:#cf222e}[data-bs-theme=light] .chroma .s{color:#0a3069}[data-bs-theme=light] .chroma .m{color:#0550ae}[data-bs-theme=light] .chroma .o{color:#1f2328}[data-bs-theme=light] .chroma .n{color:#953800}[data-bs-theme=light] .chroma .p{color:#1f2328}[data-bs-theme=light] .chroma .err,[data-bs-theme=light] .chroma .kc,[data-bs-theme=light] .chroma .kd,[data-bs-theme=light] .chroma .kp,[data-bs-theme=light] .chroma .kr{color:#cf222e}[data-bs-theme=light] .chroma .kt{color:#953800}[data-bs-theme=light] .chroma .nb{color:#8250df}[data-bs-theme=light] .chroma .nc,[data-bs-theme=light] .chroma .no{color:#953800}[data-bs-theme=light] .chroma .nd,[data-bs-theme=light] .chroma .nf{color:#8250df}[data-bs-theme=light] .chroma .nx{color:#953800}[data-bs-theme=light] .chroma .nt{color:#116329}[data-bs-theme=light] .chroma .nv,[data-bs-theme=light] .chroma .na{color:#953800}[data-bs-theme=light] .chroma .bp{color:#8250df}[data-bs-theme=light] .chroma .vc,[data-bs-theme=light] .chroma .vg,[data-bs-theme=light] .chroma .vi{color:#953800}[data-bs-theme=light] .chroma .sb,[data-bs-theme=light] .chroma .sc,[data-bs-theme=light] .chroma .dl,[data-bs-theme=light] .chroma .s2,[data-bs-theme=light] .chroma .se,[data-bs-theme=light] .chroma .sh,[data-bs-theme=light] .chroma .si,[data-bs-theme=light] .chroma .sx,[data-bs-theme=light] .chroma .sr,[data-bs-theme=light] .chroma .s1{color:#0a3069}[data-bs-theme=light] .chroma .ss{color:#8250df}[data-bs-theme=light] .chroma .il,[data-bs-theme=light] .chroma .mb,[data-bs-theme=light] .chroma .mf,[data-bs-theme=light] .chroma .mh,[data-bs-theme=light] .chroma .mi,[data-bs-theme=light] .chroma .mo{color:#0550ae}[data-bs-theme=light] .chroma .gd{color:#cf222e;background:#ffeef0}[data-bs-theme=light] .chroma .ge{font-style:italic}[data-bs-theme=light] .chroma .gh{color:#0550ae;font-weight:600}[data-bs-theme=light] .chroma .gi{color:#116329;background:#dafbe1}[data-bs-theme=light] .chroma .gs{font-weight:700}[data-bs-theme=light] .chroma .gu,[data-bs-theme=light] .chroma .go,[data-bs-theme=light] .chroma .gp{color:#6e7781}[data-bs-theme=dark] .chroma{background:#1f1f24;color:#e5e5e5}[data-bs-theme=dark] .chroma .c{color:#6c6c72;font-style:italic}[data-bs-theme=dark] .chroma .k{color:#fc5fa3}[data-bs-theme=dark] .chroma .s{color:#d4a574}[data-bs-theme=dark] .chroma .m{color:#d0bf69}[data-bs-theme=dark] .chroma .o{color:#e5e5e5}[data-bs-theme=dark] .chroma .n{color:#c2a5df}[data-bs-theme=dark] .chroma .p{color:#98989d}[data-bs-theme=dark] .chroma .err,[data-bs-theme=dark] .chroma .kc,[data-bs-theme=dark] .chroma .kd,[data-bs-theme=dark] .chroma .kp,[data-bs-theme=dark] .chroma .kr{color:#fc5fa3}[data-bs-theme=dark] .chroma .kt,[data-bs-theme=dark] .chroma .nb{color:#6b9eff}[data-bs-theme=dark] .chroma .nc,[data-bs-theme=dark] .chroma .no{color:#c2a5df}[data-bs-theme=dark] .chroma .nd,[data-bs-theme=dark] .chroma .nf{color:#6b9eff}[data-bs-theme=dark] .chroma .nx{color:#c2a5df}[data-bs-theme=dark] .chroma .nt{color:#fc5fa3}[data-bs-theme=dark] .chroma .nv,[data-bs-theme=dark] .chroma .na{color:#c2a5df}[data-bs-theme=dark] .chroma .bp{color:#6b9eff}[data-bs-theme=dark] .chroma .vc,[data-bs-theme=dark] .chroma .vg,[data-bs-theme=dark] .chroma .vi{color:#c2a5df}[data-bs-theme=dark] .chroma .sb,[data-bs-theme=dark] .chroma .sc,[data-bs-theme=dark] .chroma .dl,[data-bs-theme=dark] .chroma .s2,[data-bs-theme=dark] .chroma .se,[data-bs-theme=dark] .chroma .sh,[data-bs-theme=dark] .chroma .si,[data-bs-theme=dark] .chroma .sx,[data-bs-theme=dark] .chroma .sr,[data-bs-theme=dark] .chroma .s1{color:#d4a574}[data-bs-theme=dark] .chroma .ss{color:#6b9eff}[data-bs-theme=dark] .chroma .il,[data-bs-theme=dark] .chroma .mb,[data-bs-theme=dark] .chroma .mf,[data-bs-theme=dark] .chroma .mh,[data-bs-theme=dark] .chroma .mi,[data-bs-theme=dark] .chroma .mo{color:#79c0ff}[data-bs-theme=dark] .chroma .gd{color:#fc5fa3;background:#2d1b2e}[data-bs-theme=dark] .chroma .ge{font-style:italic}[data-bs-theme=dark] .chroma .gh{color:#6b9eff;font-weight:600}[data-bs-theme=dark] .chroma .gi{color:#d4a574;background:#1a2e1b}[data-bs-theme=dark] .chroma .gs{font-weight:700}[data-bs-theme=dark] .chroma .gu,[data-bs-theme=dark] .chroma .go,[data-bs-theme=dark] .chroma .gp{color:#6c6c72}.code-editor{display:none;background-color:var(--editor-bg);color:var(--editor-fg);font-family:var(--font-mono);font-size:.95rem;line-height:1.5;border:none;outline:none;resize:none;tab-size:4}.code-editor::selection,.code-editor ::selection{background-color:var(--bs-secondary-bg)}.console-area{flex:0 0 auto;height:200px;min-height:80px;background-color:var(--editor-bg);display:flex;flex-direction:column}.console-header{flex:0 0 auto;height:36px;min-height:36px;padding:0 1rem;display:flex;align-items:center;background-color:var(--bs-body-bg);border-color:var(--border-color)!important}.terminal-body{flex:1;min-height:0;background-color:var(--bs-body-bg)}.console-output{flex:1;overflow-y:auto;font-family:var(--font-mono);font-size:.85rem;color:var(--editor-fg);white-space:pre-wrap;background-color:transparent}.terminal-input-line{flex:0 0 auto;background-color:transparent}.prompt{color:var(--ansi-2);font-family:var(--font-mono);font-size:.85rem;user-select:none}.terminal-input{font-family:var(--font-mono);font-size:.85rem;color:var(--editor-fg);background:transparent;border:none;outline:none;padding:0;caret-color:var(--editor-fg)}.terminal-input::placeholder{color:var(--bs-secondary-color);font-style:italic}#questionContentWrapper{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column}.question-content{font-size:.875rem;color:var(--bs-secondary-color);line-height:1.6}.question-content h1,.quiz-content h1{font-size:1.25rem;margin:2.5rem 0 .75rem;color:var(--bs-body-color);padding-bottom:.4rem;border-bottom:1px solid var(--border-color)}.question-content h2,.quiz-content h2{font-size:1.1rem;margin:2rem 0 .5rem;color:var(--bs-body-color)}.question-content h3,.quiz-content h3{font-size:1rem;margin:1.5rem 0 .4rem;color:var(--bs-body-color)}.question-content h4,.quiz-content h4{font-size:.95rem;margin:1.2rem 0 .3rem;color:var(--bs-body-color)}.question-content h5,.question-content h6,.quiz-content h5,.quiz-content h6{font-size:.9rem;margin:.8rem 0 .25rem;color:var(--bs-secondary-color)}.question-content p{line-height:1.6;margin-bottom:.75rem}.question-content li,.question-content ul,.question-content ol{font-size:inherit;color:var(--bs-secondary-color);line-height:1.6}.question-content li{margin-bottom:.25rem}.question-content code{background-color:var(--code-bg);color:var(--editor-fg);padding:.15rem .4rem;border-radius:0;font-family:var(--font-mono);font-size:.9em}.cb-wrapper{margin:1rem 0 0;border-radius:6px;overflow:hidden;border:1px solid var(--border-color)}.cb-titlebar{display:flex;align-items:center;justify-content:space-between;padding:.35rem .75rem;background-color:var(--bs-secondary-bg);border-bottom:1px solid var(--border-color);font-size:.8rem;font-family:var(--font-mono)}.cb-code-area{border-bottom:1px solid var(--border-color)}.cb-title{color:var(--bs-secondary-color)}.cb-copy{background:none;border:1px solid var(--border-color);border-radius:4px;padding:.15rem .5rem;font-size:.75rem;color:var(--bs-secondary-color);cursor:pointer;transition:background .15s}.cb-copy:hover{background-color:var(--bs-secondary-bg)}.cb-code-area{overflow-x:auto}.cb-code-area pre{margin:0;padding:0;background:none;border:none}.cb-code-area code{display:block;padding:0!important;background:none!important;font-size:.85rem;line-height:1.5}.cb-line{display:flex;cursor:pointer;transition:background-color .1s}.cb-line:hover{background-color:var(--bs-secondary-bg)}.cb-line.active{background-color:var(--active-item-bg)}.cb-line.active .cb-ln{font-weight:700;color:var(--bs-body-color)}.cb-ln{display:inline-block;width:3rem;min-width:3rem;text-align:right;padding-right:.75rem;color:var(--bs-secondary-color);user-select:none;font-size:.8rem;border-right:1px solid var(--border-color);margin-right:.75rem}.cb-code{white-space:pre}.cb-note{text-align:center;padding:.15rem .75rem .3rem;margin-bottom:1rem}.cb-listing-link{font-size:.75rem;color:var(--bs-secondary-color);text-decoration:none;transition:color .15s}.cb-listing-link:hover{color:var(--accent-color);text-decoration:underline}.question-content h2:first-of-type{margin:0 -.75rem;padding:.75rem;border-radius:6px 6px 0 0;display:flex;align-items:center;justify-content:space-between}.question-content.diff-easy h2:first-of-type{background-color:#2ea04314}.question-content.diff-medium h2:first-of-type{background-color:#db992214}.question-content.diff-hard h2:first-of-type{background-color:#da363314}.question-content h2:first-of-type+*{margin:0 -.75rem;padding:0 .75rem .75rem}.question-content.diff-easy h2:first-of-type+*{background-color:#2ea04308}.question-content.diff-medium h2:first-of-type+*{background-color:#db992208}.question-content.diff-hard h2:first-of-type+*{background-color:#da363308}.diff-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;margin-left:auto}.btn{border-radius:.375rem!important;font-weight:500}.btn-info{background-color:var(--accent-color);border:1px solid var(--accent-color);color:#fff!important}.btn-info:hover,.btn-info:focus{background-color:var(--accent-hover);border-color:var(--accent-hover);color:#fff!important}.btn-success{background-color:var(--success-color);border:1px solid var(--success-color);color:#fff!important}.btn-success:hover,.btn-success:focus{background-color:var(--success-hover);border-color:var(--success-hover);color:#fff!important}#notesMinimizeBtn,#notesMaximizeBtn,#notesRestoreBtn,#notesModeBtn,#exportNotesBtn{background:none;border:none}#notesMinimizeBtn:hover,#notesMaximizeBtn:hover,#notesRestoreBtn:hover,#notesModeBtn:hover,#exportNotesBtn:hover{background-color:var(--btn-default-hover)}.btn-outline-secondary{background-color:var(--btn-default-bg);border:1px solid var(--btn-default-border);color:var(--bs-body-color)}.btn-outline-secondary:hover,.btn-outline-secondary:focus{background-color:var(--btn-default-hover);border-color:var(--btn-default-border);color:var(--bs-body-color)}#submitBtn,#resetBtn,#resetAllBtn{background:none;border:none}#submitBtn:hover,#resetBtn:hover,#resetAllBtn:hover{background-color:var(--btn-default-hover)}.btn-link{color:var(--accent-color)!important}.pane-header .btn-link{font-size:.875rem;line-height:1}.pane-header .btn-link:hover{background-color:var(--btn-default-hover);border-radius:4px}.text-bg-success{background-color:var(--success-color)!important;color:#fff!important}.text-bg-warning{background-color:var(--warning-color)!important;color:#fff!important}.text-bg-danger{background-color:var(--danger-color)!important;color:#fff!important}.text-bg-info{background-color:var(--accent-color)!important;color:#fff!important}.text-bg-secondary{background-color:var(--bs-secondary-color)!important;color:var(--bs-body-bg)!important}#statusText{font-size:.85rem}#questionPane .landing-content{position:relative;z-index:1}#circuitBg{z-index:0}#circuitBg canvas{display:block;width:100%!important;height:100%!important}#questionPane:before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 20% 50%,rgba(9,105,218,.06) 0%,transparent 50%),radial-gradient(ellipse at 80% 30%,rgba(9,105,218,.04) 0%,transparent 50%),radial-gradient(ellipse at 50% 80%,rgba(9,105,218,.05) 0%,transparent 50%);pointer-events:none;animation:circuitPulse 8s ease-in-out infinite}@keyframes circuitPulse{0%,to{opacity:.6}50%{opacity:1}}#questionPane .landing-content h1{text-shadow:0 2px 20px var(--bs-body-bg)}#questionPane .landing-content p,#questionPane .landing-content div{filter:drop-shadow(0 1px 4px var(--bs-body-bg))}footer{background-color:var(--bs-secondary-bg);color:var(--bs-secondary-color);font-size:.75rem}@media(max-width:767px){.platform-layout{flex-direction:column;overflow:auto}.platform-pane{width:100%!important;min-width:auto;height:auto}#editorPane{width:100%;min-height:400px}.pane-resizer,.console-resizer{display:none}.editor-area{min-height:200px}.console-area{height:160px}}.quiz-option{border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s;font-size:.8rem}.quiz-option:hover{background:var(--bs-tertiary-bg)}.quiz-option input[type=radio]{accent-color:var(--accent-color)}.quiz-option .option-letter{font-weight:600;color:var(--bs-secondary-color)}.quiz-feedback{padding:.5rem .75rem;border-radius:6px}.course-landing-content{font-size:.95rem;line-height:1.7;color:var(--bs-body-color)}.course-landing-content h1{font-size:1.5rem;font-weight:700;margin:2.5rem 0 .75rem}.course-landing-content h2{font-size:1.15rem;font-weight:600;margin:2rem 0 .5rem}.course-landing-content h3{font-size:1rem;font-weight:600;margin:1.5rem 0 .4rem}.course-landing-content h4{margin:1.2rem 0 .3rem}.course-landing-content h5,.course-landing-content h6{margin:.8rem 0 .25rem}.course-landing-content p{margin-bottom:.75rem;text-align:justify}.course-landing-content ul,.course-landing-content ol{margin-bottom:.75rem;padding-left:1.5rem}.course-landing-content li{margin-bottom:.25rem}.course-landing-content code{background-color:var(--code-bg);padding:.1em .3em;border-radius:3px;font-size:.9em}.course-landing-content pre{background-color:var(--code-bg);border:1px solid var(--border-color);border-radius:6px;padding:1rem;overflow-x:auto;margin-bottom:1rem}.course-landing-content img{max-width:100%;height:auto;border:1px solid var(--border-color);border-radius:4px;margin:1rem 0}.fig-link{text-decoration:none;color:var(--bs-body-color);font-weight:600}.fig-link:hover{text-decoration:underline}
