*,:before,:after{box-sizing:border-box}body{background:#0d1117;margin:0}*{box-sizing:border-box;margin:0;padding:0}body{color:#e6edf3;background:#0d1117;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:100;background:#161b22;border-bottom:1px solid #30363d;align-items:center;gap:12px;padding:16px 24px;display:flex;position:sticky;top:0}.logo{color:#4a9eff;font-size:20px;font-weight:700}.mode-badge{color:#fff;background:#1f6feb;border-radius:20px;padding:2px 8px;font-size:11px;font-weight:600}.app-main{flex-direction:column;gap:20px;width:100%;max-width:860px;margin:0 auto;padding:24px 16px;display:flex}.error-banner{color:#f44336;background:#2d1b1b;border:1px solid #f44336;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.error-banner button{color:#f44336;cursor:pointer;background:0 0;border:none;font-size:18px}.session-card,.progress-card,.hook-card,.explain-card,.reflect-card,.check-card,.result-card{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:24px}.section-label{letter-spacing:1.5px;color:#8b949e;margin-bottom:16px;font-size:11px;font-weight:700}.session-fields{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.field-group{flex-direction:column;gap:6px;display:flex}.field-group label{color:#8b949e;font-size:13px}.field-group input,.field-group select{color:#e6edf3;background:#0d1117;border:1px solid #30363d;border-radius:6px;width:120px;padding:8px 12px;font-size:15px}.field-group select{width:160px}.error-msg{color:#f44336;margin-top:10px;font-size:13px}.btn-primary{color:#fff;cursor:pointer;background:#238636;border:none;border-radius:6px;padding:10px 20px;font-size:15px;font-weight:600;transition:background .2s}.btn-primary:hover:not(:disabled){background:#2ea043}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-full{width:100%;margin-top:20px;padding:14px}.btn-submit{color:#fff;cursor:pointer;background:#1f6feb;border:none;border-radius:6px;width:100%;margin-top:20px;padding:12px 24px;font-size:15px;font-weight:600}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.btn-next{color:#fff;cursor:pointer;background:#238636;border:none;border-radius:6px;width:100%;padding:12px 24px;font-size:15px;font-weight:600}.btn-retry{color:#fff;cursor:pointer;background:#b08800;border:none;border-radius:6px;width:100%;padding:12px 24px;font-size:15px;font-weight:600}.btn-reset{color:#8b949e;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:6px;margin-top:8px;padding:6px 12px;font-size:13px}.progress-row{color:#8b949e;justify-content:space-between;margin-bottom:6px;font-size:13px;display:flex}.progress-bar-bg{background:#21262d;border-radius:4px;height:6px;overflow:hidden}.progress-bar-fill{background:#1f6feb;border-radius:4px;height:100%;transition:width .4s}.breadcrumb{margin-bottom:12px;font-size:13px}.breadcrumb-exam{color:#4a9eff}.breadcrumb-sep{color:#8b949e}.breadcrumb-subtopic{color:#f78166}.difficulty-badge{letter-spacing:1px;color:#fff;text-transform:uppercase;border-radius:20px;margin-left:12px;padding:2px 8px;font-size:10px;font-weight:700}.hook-label{color:#f78166}.hook-text{color:#c9d1d9;margin-bottom:16px;font-size:16px;line-height:1.8}.thinking-question{color:#c9d1d9;background:#1c2128;border-left:3px solid #4a9eff;border-radius:0 8px 8px 0;gap:10px;margin-bottom:8px;padding:12px 16px;font-size:15px;display:flex}.explain-body{margin-bottom:8px}.explain-section-header{letter-spacing:1.5px;margin-top:20px;margin-bottom:4px;font-size:12px;font-weight:700}.explain-section-divider{opacity:.3;border:none;border-top:1px solid;margin-bottom:10px}.explain-text{color:#c9d1d9;margin-bottom:8px}.explain-bullet{color:#c9d1d9;margin-bottom:6px;padding-left:8px}.reflect-intro{color:#8b949e;margin-bottom:20px;font-size:14px}.reflect-question{margin-bottom:28px}.coaching-response{color:#c9d1d9;background:#1c2128;border-left:3px solid #f78166;border-radius:0 8px 8px 0;align-items:flex-start;gap:8px;margin-top:10px;padding:10px 14px;font-size:14px;display:flex}.question-text{margin-bottom:14px;font-size:16px;font-weight:600;line-height:1.6}.question-block{border-bottom:1px solid #21262d;margin-bottom:32px;padding-bottom:32px}.question-block:last-child{border-bottom:none}.question-type-badge{letter-spacing:1px;border-radius:4px;margin-bottom:10px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.badge-recall{color:#4a9eff;background:#1c3a5e}.badge-application{color:#4caf50;background:#1a3a1a}.badge-scenario{color:#f78166;background:#3a2800}.attempt-bar{color:#8b949e;background:#21262d;border-radius:6px;margin-bottom:24px;padding:10px 14px;font-size:13px}.options-list{flex-direction:column;gap:10px;display:flex}.option-btn{color:#e6edf3;cursor:pointer;text-align:left;background:#21262d;border:1px solid #30363d;border-radius:8px;align-items:center;gap:12px;padding:12px 16px;font-size:15px;transition:border-color .2s;display:flex}.option-btn:hover:not(:disabled){border-color:#58a6ff}.option-selected{background:#1c2d4a!important;border-color:#1f6feb!important}.option-selected-reflect{background:#2d1f1a!important;border-color:#f78166!important}.option-radio{border:2px solid #30363d;border-radius:50%;flex-shrink:0;width:18px;height:18px}.option-radio-selected{background:#1f6feb;border-color:#1f6feb}.option-checkbox{border:2px solid #30363d;border-radius:4px;flex-shrink:0;width:18px;height:18px}.option-checkbox-selected{background:#1f6feb;border-color:#1f6feb}.match-instruction{color:#8b949e;margin-bottom:14px;font-size:13px}.match-container{grid-template-columns:1fr 1fr;gap:16px;display:grid}.match-column{flex-direction:column;gap:8px;display:flex}.match-col-header{letter-spacing:1px;color:#8b949e;margin-bottom:4px;font-size:11px;font-weight:700}.match-term,.match-def{cursor:pointer;background:#21262d;border:1px solid #30363d;border-radius:6px;padding:10px 12px;font-size:14px;transition:border-color .2s}.match-term:hover{border-color:#4a9eff}.match-selected{background:#1c2d4a!important;border-color:#4a9eff!important}.match-paired{background:#1a3a1a!important;border-color:#238636!important}.match-arrow{color:#4caf50;font-size:12px}.match-def-clickable:hover{border-color:#f78166}.match-def-used{opacity:.4;cursor:not-allowed}.sequence-list{flex-direction:column;gap:8px;display:flex}.sequence-item{cursor:grab;background:#21262d;border:1px solid #30363d;border-radius:6px;align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.sequence-num{color:#fff;background:#1f6feb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.sequence-drag{color:#8b949e;flex-shrink:0;font-size:18px}.result-passed{border-color:#238636!important}.result-failed{border-color:#b08800!important}.result-card h2{margin-bottom:12px;font-size:22px;font-weight:700}.score-badge{border-radius:20px;margin-bottom:14px;padding:4px 16px;font-size:16px;font-weight:700;display:inline-block}.score-pass{color:#4caf50;background:#1a3a1a}.score-fail{color:#f78166;background:#3a2800}.result-summary{color:#8b949e;margin-bottom:20px}.result-question{background:#21262d;border-left:3px solid;border-radius:8px;margin-bottom:12px;padding:14px}.rq-correct{border-color:#238636}.rq-wrong{border-color:#f44336}.rq-header{justify-content:space-between;margin-bottom:8px;font-weight:600;display:flex}.rq-badge{border-radius:20px;padding:2px 8px;font-size:12px}.badge-correct{color:#4caf50;background:#1a3a1a}.badge-wrong{color:#f44336;background:#2d1b1b}.rq-why{color:#c9d1d9;margin-top:4px;font-size:14px}.concepts-section{margin-top:16px}.concept-tags{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.concept-tag{color:#4caf50;background:#1a3a1a;border-radius:20px;padding:4px 10px;font-size:13px}.concept-tag-review{color:#f44336;background:#2d1b1b}.result-actions{margin-top:20px}@media (width<=600px){.match-container{grid-template-columns:1fr}.session-fields{flex-direction:column}}.rq-question-text{color:#8b949e;margin-bottom:6px;font-size:13px;font-style:italic}.rq-correct-answer{color:#4caf50;margin-bottom:4px;font-size:14px}.rq-why-wrong{color:#f78166;margin-top:4px;font-size:14px}.rq-type{color:#8b949e;font-size:11px;font-weight:400}
