:root{--base-font-size: 1rem}html{font-size:var(--base-font-size)}body{font-family:Inter,sans-serif;background-color:#111827;color:#f3f4f6}main{transition:opacity .3s ease-in-out}.answer-option{transition:background-color .2s ease-in-out,border-color .2s ease-in-out,opacity .2s ease-in-out;cursor:pointer}.answer-option:hover:not(.disabled){background-color:#374151;border-color:#60a5fa}.answer-option.selected{background-color:#3b82f6;border-color:#93c5fd;color:#fff}.correct{background-color:#166534!important;border-color:#4ade80!important}.incorrect{background-color:#991b1b!important;border-color:#f87171!important}#explanation-box{background-color:#1f2937;border-left:4px solid #4b5563;transition:max-height .5s ease-in-out,opacity .5s ease,padding .5s ease;max-height:0;opacity:0;overflow:hidden;padding-top:0;padding-bottom:0}#explanation-box.visible{max-height:500px;opacity:1;padding-top:1rem;padding-bottom:1rem}#ai-response-container,#quiz-ai-response-container{max-height:300px;overflow-y:auto}.toggle-label{transition:background-color .2s ease-in-out}.toggle-dot{transition:transform .2s ease-in-out}input:checked~.toggle-dot{transform:translate(100%)}input:checked~.toggle-label{background-color:#4f46e5}.view{transition:opacity .2s ease-in-out,transform .2s ease-in-out}.view.hidden{opacity:0;transform:scale(.98);display:none}#question-list-item{border-left-width:4px;transition:background-color .2s ease-in-out,border-color .2s ease-in-out}.question-list-item.unanswered{border-color:#4b5563}.question-list-item.correct{border-color:#4ade80}.question-list-item.incorrect{border-color:#f87171}.question-list-item.current{background-color:#1e40af;border-color:#60a5fa;color:#fff}.flag-btn svg{fill:#6b7280;transition:fill .2s ease-in-out}.flag-btn:hover svg{fill:#d1d5db}.flag-btn.marked svg{fill:#f59e0b}body.high-contrast{background-color:#000;color:#fff}body.high-contrast main,body.high-contrast #question-list-container>div,body.high-contrast #bottom-controls{background-color:#1a1a1a;border:1px solid #ffffff}body.high-contrast select,body.high-contrast input,body.high-contrast textarea{background-color:#333;color:#fff;border:1px solid #ffffff}body.high-contrast button{border:1px solid #ffffff}body.high-contrast button:disabled{opacity:.5;cursor:not-allowed}body.high-contrast .bg-blue-600{background-color:#00f}body.high-contrast .bg-indigo-600{background-color:indigo}body.high-contrast .bg-gray-600{background-color:#555}body.high-contrast .bg-purple-600{background-color:purple}body.high-contrast .bg-yellow-600{background-color:#ff0;color:#000}body.high-contrast .text-gray-300,body.high-contrast .text-gray-400,body.high-contrast .text-white{color:#fff}body.high-contrast .correct{background-color:#005000!important}body.high-contrast .incorrect{background-color:#8b0000!important}#question-list-container{margin-left:10px}.loader{border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tour-tooltip{min-width:300px;max-width:400px;z-index:9999;position:fixed;background:#111827;border:2px solid #4f46e5;box-shadow:0 25px 50px -12px #000c;color:#f3f4f6;font-family:Inter,sans-serif;line-height:1.5;overflow:visible;display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}.tour-tooltip button{transition:all .2s ease;cursor:pointer;border:none;outline:none}.tour-tooltip button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.tour-tooltip button:disabled{opacity:.5;cursor:not-allowed;transform:none}.code-editor-container{position:relative;background:#1e1e1e;border:1px solid #3c3c3c;border-radius:8px;box-shadow:inset 0 1px 3px #0000004d;overflow:hidden;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:14px;line-height:1.5}.code-editor-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.02) 1px,transparent 0);background-size:20px 20px;pointer-events:none;z-index:1}.line-numbers{position:absolute;left:0;top:0;width:60px;height:100%;background:#252526;color:#858585;font-size:13px;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;display:flex;flex-direction:column;align-items:flex-end;padding-right:8px;padding-top:16px;-webkit-user-select:none;user-select:none;border-right:1px solid #3c3c3c;z-index:10;box-sizing:border-box}.line-numbers:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,transparent 85%,rgba(0,122,204,.1) 85%,rgba(0,122,204,.1) 100%);pointer-events:none}#code-textarea{width:100%;height:300px;background:transparent;color:#d4d4d4;font-family:JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-size:14px;line-height:21px;resize:none;border:none;outline:none;padding:16px 16px 16px 76px;caret-color:#007acc;white-space:pre;overflow-wrap:normal;overflow-x:auto;tab-size:4;box-sizing:border-box}#code-textarea:focus{background:#007acc05;box-shadow:inset 0 0 0 1px #007acc1a}#code-textarea::placeholder{color:#6a9955;font-style:italic}#code-textarea::-webkit-scrollbar{width:14px;height:14px}#code-textarea::-webkit-scrollbar-track{background:#1e1e1e}#code-textarea::-webkit-scrollbar-thumb{background:#424242;border-radius:7px;border:2px solid #1e1e1e}#code-textarea::-webkit-scrollbar-thumb:hover{background:#4f4f4f}.line-number{height:21px;font-size:13px;color:#858585;display:flex;align-items:center;justify-content:flex-end;padding-right:8px;transition:color .15s ease;box-sizing:border-box;line-height:21px}.line-number.current-line{color:#007acc;font-weight:600;background:#007acc1a;border-radius:2px;margin:0 2px}.code-editor-overlay{position:absolute;inset:0;pointer-events:none;z-index:5}.code-editor-overlay:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,transparent 0%,transparent 80%,rgba(30,30,30,.4) 100%)}.code-editor-container:focus-within .line-numbers{color:#ccc;border-right-color:#007acc}.code-editor-container:focus-within{border-color:#007acc;box-shadow:inset 0 1px 3px #0000004d,0 0 0 2px #007acc33}.line-number:hover{color:#a0a0a0;background:#ffffff05;border-radius:2px}.code-editor-container::-webkit-scrollbar{width:14px;height:14px}.code-editor-container::-webkit-scrollbar-track{background:#1e1e1e}.code-editor-container::-webkit-scrollbar-thumb{background:#424242;border-radius:7px;border:2px solid #1e1e1e}.code-editor-container::-webkit-scrollbar-thumb:hover{background:#4f4f4f}#code-textarea::selection{background:#007acc4d;color:#fff}#code-textarea::-moz-selection{background:#007acc4d;color:#fff}.context-menu{position:fixed;background:#2d2d30;border:1px solid #3c3c3c;border-radius:6px;box-shadow:0 8px 24px #0009;z-index:1000;min-width:160px;animation:contextMenuFadeIn .15s ease-out}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu-item{padding:8px 12px;color:#ccc;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid #3c3c3c;font-size:13px}.context-menu-item:last-child{border-bottom:none}.context-menu-item:hover{background:#3c3c3c}.context-menu-item:active{background:#4f4f4f}#format-code-btn,#clear-code-btn,#copy-code-btn,#hint-code-btn{transition:all .2s ease;border:none;outline:none;cursor:pointer;font-weight:500}#format-code-btn:hover,#clear-code-btn:hover,#copy-code-btn:hover,#hint-code-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #0003}#format-code-btn:active,#clear-code-btn:active,#copy-code-btn:active,#hint-code-btn:active{transform:translateY(0)}#hint-code-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.code-editor-feedback{box-shadow:0 10px 25px #0000004d;border-radius:8px;font-weight:500;letter-spacing:.025em}.code-editor-feedback:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:#ffffff4d;border-radius:8px 0 0 8px}.test-result-passed{border-left-color:#10b981}.test-result-failed{border-left-color:#ef4444}.console-output{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem}#code-editor{position:relative}#code-editor:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 49%,rgba(255,255,255,.03) 50%,transparent 51%);background-size:20px 20px;pointer-events:none;z-index:0}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#0009}.modal-content{background:#fff;margin:10% auto;padding:20px;border-radius:8px;width:400px}.modal.show{display:block}
