: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: #0d1117;--gh-dark-canvas-subtle: #161b22;--gh-dark-canvas-inset: #010409;--gh-dark-fg-default: #c9d1d9;--gh-dark-fg-muted: #8b949e;--gh-dark-fg-subtle: #6e7681;--gh-dark-border-default: #30363d;--gh-dark-border-muted: #21262d;--gh-dark-accent: #58a6ff;--gh-dark-accent-hover: #79c0ff;--gh-dark-success: #238636;--gh-dark-success-hover: #2ea043;--gh-dark-warning: #d29922;--gh-dark-danger: #da3633;--gh-dark-info: #58a6ff;--gh-dark-code-bg: #161b22;--gh-dark-btn-default-bg: #21262d;--gh-dark-btn-default-border: rgba(240, 246, 252, .1);--gh-dark-btn-default-hover: #30363d}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)}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)}body{font-family:var(--font-mono)}.platform-layout{display:flex;flex-direction:row;height:100%;overflow:hidden}.platform-pane{display:flex;flex-direction:column;background-color:var(--bs-body-bg);overflow:hidden;min-width:180px}#sidebarPane{width:20%}#questionPane{flex:1 1 auto;width:40%}#editorPane{width:40%}.pane-header{flex:0 0 auto;height:56px;min-height:56px;padding:0 1rem;display:flex;align-items:center}.pane-header h5{margin:0;line-height:1.2}.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}.console-area{flex:0 0 auto;height:200px;background-color:var(--console-bg);display:flex;flex-direction:column;min-height:80px}.sidebar-pane,.editor-pane,.question-pane{background-color:var(--bs-body-bg)}.question-pane-body{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;min-height:80px;background-color:var(--bs-body-bg);display:flex;flex-direction:column;overflow:hidden}.question-pane-body.notes-maximized{grid-template-rows:1fr}.question-pane-body.notes-maximized .question-content,.question-pane-body.notes-maximized .notes-resizer{display:none}.question-pane-body.notes-maximized .notes-area{height:100%!important;min-height:0}.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}.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}.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:.95rem}.question-meta{font-size:.8rem;color:var(--bs-secondary-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)}.code-editor-wrapper{position:absolute;inset:0}.code-editor-wrapper .CodeMirror{height:100%;font-family:var(--font-mono);font-size:.95rem;line-height:1.5;border: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:#0d1117;color:#c9d1d9}.cm-s-github-dark .cm-comment{color:#8b949e;font-style:italic}.cm-s-github-dark .cm-keyword{color:#ff7b72}.cm-s-github-dark .cm-string,.cm-s-github-dark .cm-string-2{color:#a5d6ff}.cm-s-github-dark .cm-number,.cm-s-github-dark .cm-atom{color:#79c0ff}.cm-s-github-dark .cm-operator{color:#c9d1d9}.cm-s-github-dark .cm-variable,.cm-s-github-dark .cm-variable-2,.cm-s-github-dark .cm-variable-3{color:#ffa657}.cm-s-github-dark .cm-property,.cm-s-github-dark .cm-def{color:#d2a8ff}.cm-s-github-dark .cm-type{color:#ffa657}.cm-s-github-dark .cm-builtin{color:#d2a8ff}.cm-s-github-dark .cm-tag{color:#7ee787}.cm-s-github-dark .cm-attribute{color:#ffa657}.cm-s-github-dark .cm-meta{color:#c9d1d9}.cm-s-github-dark .cm-qualifier{color:#ffa657}.cm-s-github-dark .cm-bracket{color:#c9d1d9}.cm-s-github-dark .cm-error{color:#ff7b72}.cm-s-github-dark .cm-header{color:#ffa657;font-weight:600}.cm-s-github-dark .cm-quote{color:#8b949e;font-style:italic}.cm-s-github-dark .cm-link{color:#58a6ff;text-decoration:underline}.cm-s-github-dark .cm-url{color:#58a6ff}.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:#0d1117;border-right:1px solid #30363d}.cm-s-github-dark .CodeMirror-linenumber{color:#8b949e;padding-right:.75rem}.cm-s-github-dark .CodeMirror-cursor{border-left:1px solid #c9d1d9}.cm-s-github-dark .CodeMirror-selected{background-color:#264f78}.cm-s-github-dark .CodeMirror-activeline-background,.cm-s-github-dark .CodeMirror-activeline-gutter-background{background:#1c2128}.cm-s-github-dark .CodeMirror-activeline .CodeMirror-linenumber{font-weight:700;color:#c9d1d9}.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{height:200px;background-color:var(--console-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}.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}.question-content{font-size:.875rem;color:var(--bs-secondary-color);line-height:1.6}.question-content h1{font-size:1.25rem;margin:0 0 .75rem;color:var(--bs-body-color);padding-bottom:.4rem;border-bottom:1px solid var(--border-color)}.question-content h2{font-size:1.1rem;margin:1.5rem 0 .5rem;color:var(--bs-body-color)}.question-content h3{font-size:1rem;margin:1rem 0 .4rem;color:var(--bs-body-color)}.question-content h4{font-size:.95rem;margin:.8rem 0 .3rem;color:var(--bs-body-color)}.question-content h5,.question-content h6{font-size:.9rem;margin:.6rem 0 .25rem;color:var(--bs-secondary-color)}.question-content p{line-height:1.6;margin-bottom:.75rem}.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}.question-content h2:first-of-type{background-color:var(--active-item-bg);margin:0 -.75rem;padding:.75rem;border-radius:6px 6px 0 0}.question-content h2:first-of-type+*{background-color:var(--active-item-bg);margin:0 -.75rem;padding:0 .75rem .75rem}.btn{border-radius:0!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}.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)}.btn-link{color:var(--accent-color)!important}.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}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}}
