/* ===== RESET & VARIABLES ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --bg:#0c111b;
  --surface:#131929;
  --card:#141d2f;
  --border:#1e2d42;
  --accent:#38bdf8;
  --accent2:#f59e0b;
  --accent3:#fb7185;
  --accent4:#34d399;
  --text:#dde4f0;
  --muted:#5e738a;
  --font-head:'Cormorant Garamond',serif;
  --font-body:'Raleway',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}
html,body{min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font-body);}

/* ===== WRAPPER ===== */
.app-wrapper{margin:0 auto;box-shadow:0 0 80px rgba(0,0,0,0.7);}

/* ===== HEADER ===== */
header{
  background:linear-gradient(135deg,#0a1020 0%,#0f1e35 60%,#0a1626 100%);
  padding:28px 36px 22px;
  border-bottom:1px solid var(--border);
  display:flex;align-items:flex-end;justify-content:space-between;
  position:relative;overflow:hidden;
}
header::before{
  content:'';position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,transparent,transparent 40px,rgba(56,189,248,0.03) 40px,rgba(56,189,248,0.03) 41px),
             repeating-linear-gradient(0deg,transparent,transparent 40px,rgba(56,189,248,0.03) 40px,rgba(56,189,248,0.03) 41px);
  pointer-events:none;
}
header h1{font-family:var(--font-head);font-size:2.1rem;font-weight:700;letter-spacing:-0.5px;color:var(--text);}
header h1 span{color:var(--accent);}
header .subtitle{font-size:0.78rem;color:var(--muted);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:4px;}

/* ===== MODE BAR ===== */
.mode-bar{display:flex;gap:2px;padding:8px 20px;background:var(--surface);border-bottom:1px solid var(--border);}
.mode-btn{
  flex:1;padding:9px 0;border:none;cursor:pointer;border-radius:6px;
  background:transparent;color:var(--muted);font-family:var(--font-body);font-weight:600;font-size:0.82rem;
  letter-spacing:0.04em;transition:all .2s;
}
.mode-btn:hover{color:var(--text);background:rgba(56,189,248,0.07);}
.mode-btn.active{background:rgba(56,189,248,0.12);color:var(--accent);}

/* ===== TOPIC STRIP ===== */
.topic-strip{
  display:flex;gap:6px;padding:10px 20px;overflow-x:auto;background:var(--surface);
  border-bottom:1px solid var(--border);scrollbar-width:none;
}
.topic-strip::-webkit-scrollbar{display:none;}
.topic-chip{
  flex-shrink:0;padding:5px 13px;border-radius:20px;border:1px solid var(--border);
  background:transparent;color:var(--muted);cursor:pointer;font-family:var(--font-body);
  font-size:0.76rem;font-weight:600;letter-spacing:0.02em;transition:all .2s;white-space:nowrap;
}
.topic-chip:hover{border-color:var(--accent);color:var(--accent);}
.topic-chip.active{background:rgba(56,189,248,0.12);border-color:var(--accent);color:var(--accent);}

/* ===== MAIN ===== */
main{padding:24px 28px;}

/* ===== SECTION TITLE ===== */
.section-title{font-family:var(--font-head);font-size:1.75rem;font-weight:700;color:var(--text);margin-bottom:4px;}
.section-subtitle{font-size:0.8rem;color:var(--muted);letter-spacing:0.04em;margin-bottom:22px;}

/* ===== OVERVIEW GRID ===== */
.overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:8px;}
.topic-card{
  background:var(--card);border:1px solid var(--border);border-radius:10px;
  padding:18px;cursor:pointer;transition:all .22s;position:relative;overflow:hidden;
}
.topic-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,0.4);}
.topic-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px;}
.topic-card[data-t="1"]::before{background:#38bdf8;}
.topic-card[data-t="2"]::before{background:#f59e0b;}
.topic-card[data-t="3"]::before{background:#34d399;}
.topic-card[data-t="4"]::before{background:#a78bfa;}
.topic-card[data-t="5"]::before{background:#fb7185;}
.topic-card[data-t="6"]::before{background:#38bdf8;}
.topic-card[data-t="7"]::before{background:#f59e0b;}
.topic-card[data-t="8"]::before{background:#34d399;}
.topic-card[data-t="9"]::before{background:#a78bfa;}
.topic-card[data-t="10"]::before{background:#fb7185;}
.topic-card[data-t="11"]::before{background:#22d3ee;}
.topic-card[data-t="12"]::before{background:#fb923c;}
.topic-card[data-t="13"]::before{background:#34d399;}
.topic-card[data-t="14"]::before{background:#a78bfa;}
.topic-num{font-size:0.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:4px;}
.topic-name{font-family:var(--font-head);font-size:1.05rem;font-weight:700;margin-bottom:10px;color:var(--text);}
.topic-bullets{list-style:none;display:flex;flex-direction:column;gap:4px;}
.topic-bullets li{font-size:0.75rem;color:var(--muted);padding-left:12px;position:relative;line-height:1.4;}
.topic-bullets li::before{content:'--';position:absolute;left:0;color:var(--border);}

/* ===== NOTES ===== */
.notes-container{display:none;}
.notes-container.active{display:block;}
.concept-block{
  background:var(--card);border:1px solid var(--border);border-radius:10px;
  padding:22px;margin-bottom:18px;
}
.concept-block h3{font-family:var(--font-head);font-size:1.15rem;font-weight:700;margin-bottom:12px;color:var(--text);}
.concept-block p{font-size:0.85rem;line-height:1.8;color:var(--text);margin-bottom:10px;}
.concept-block p:last-child{margin-bottom:0;}
.concept-block li{font-size:0.85rem;line-height:1.8;color:var(--text);}
.concept-block ul,.concept-block ol{padding-left:20px;display:flex;flex-direction:column;gap:8px;margin-top:8px;margin-bottom:10px;}
.concept-block ul:last-child,.concept-block ol:last-child{margin-bottom:0;}
.concept-block li ul,.concept-block li ol{margin-top:6px;margin-bottom:0;gap:5px;}
.tag{display:inline-block;padding:2px 9px;border-radius:4px;font-size:0.68rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:10px;}
.tag-key{background:rgba(56,189,248,0.1);color:var(--accent);border:1px solid rgba(56,189,248,0.3);}
.tag-model{background:rgba(245,158,11,0.1);color:var(--accent2);border:1px solid rgba(245,158,11,0.3);}
.tag-exam{background:rgba(251,113,133,0.1);color:var(--accent3);border:1px solid rgba(251,113,133,0.3);}
.formula-box{
  background:#0a1120;border:1px solid var(--border);border-radius:6px;
  padding:16px 18px;margin:12px 0;font-family:var(--font-mono);font-size:0.82rem;
  line-height:2.0;overflow-x:auto;scrollbar-width:none;color:#c4d4e8;
}
.formula-box::-webkit-scrollbar{display:none;}
.proof-block{background:rgba(10,20,40,0.7);border-color:rgba(56,189,248,0.2);}
.proof-step{display:flex;gap:14px;margin:8px 0;}
.proof-step-num{font-size:0.7rem;font-weight:700;color:var(--accent);background:rgba(56,189,248,0.1);border:1px solid rgba(56,189,248,0.3);border-radius:4px;padding:3px 8px;white-space:nowrap;height:fit-content;font-family:var(--font-mono);}
.proof-step-body{font-size:0.83rem;color:var(--text);line-height:1.7;flex:1;}
.qed{text-align:right;font-style:italic;color:var(--muted);font-size:0.8rem;margin-top:8px;}

/* ===== KATEX COLORING ===== */
/* Inline math: accent blue */
.katex { color: #7dd3fc !important; }

/* Display (block) math: amber */
.katex-display .katex { color: #fcd34d !important; }

/* Inside formula-box: use green tint so it contrasts with the dark bg */
.formula-box .katex { color: #6ee7b7 !important; }
.formula-box .katex-display .katex { color: #86efac !important; }

/* Inside flashcard back: keep it light */
.fc-back .katex { color: #93c5fd !important; }

/* Quiz options: subtle so they don't clash with correct/wrong state */
.quiz-opt .katex { color: #7dd3fc !important; }
.quiz-exp .katex { color: #6ee7b7 !important; }
.example-block{background:rgba(245,158,11,0.04);border-color:rgba(245,158,11,0.2);}
.graph-block{background:rgba(52,211,153,0.03);border-color:rgba(52,211,153,0.2);}
.graph-canvas-wrap{position:relative;height:230px;margin:14px 0 6px;}
.graph-controls{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;}
.graph-ctrl{display:flex;align-items:center;gap:8px;font-size:0.78rem;color:var(--muted);}
.graph-ctrl label{min-width:130px;}
.graph-ctrl input[type=range]{width:100px;accent-color:var(--accent);}
.val{font-family:var(--font-mono);font-size:0.78rem;color:var(--accent);min-width:36px;}
.graph-stat{display:inline-block;background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:4px 10px;font-family:var(--font-mono);font-size:0.75rem;color:var(--muted);margin:3px 4px 3px 0;}
.graph-stat span{color:var(--accent);}

/* ===== FLASHCARDS ===== */
#flashcard-view{padding:24px 28px;}
.fc-progress{font-size:0.78rem;color:var(--muted);margin-bottom:18px;font-family:var(--font-mono);}
.fc-wrap{perspective:1000px;width:100%;max-width:680px;margin:0 auto 24px;}
.fc-inner{
  width:100%;min-height:240px;border-radius:12px;position:relative;
  transform-style:preserve-3d;transition:transform 0.55s cubic-bezier(.4,2,.6,1);cursor:pointer;
}
.fc-inner.flipped{transform:rotateY(180deg);}
.fc-front,.fc-back{
  position:absolute;inset:0;border-radius:12px;padding:30px;
  backface-visibility:hidden;-webkit-backface-visibility:hidden;
  display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;
}
.fc-front{background:var(--card);border:1px solid var(--border);}
.fc-back{background:linear-gradient(135deg,#0e1a2e,#131d30);border:1px solid rgba(56,189,248,0.25);transform:rotateY(180deg);}
.fc-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);margin-bottom:12px;}
.fc-text{font-size:0.95rem;line-height:1.65;color:var(--text);font-family:var(--font-body);}
.fc-controls{display:flex;justify-content:center;gap:12px;max-width:680px;margin:0 auto;}
.fc-btn{
  padding:9px 22px;border-radius:7px;border:1px solid var(--border);background:var(--card);
  color:var(--muted);font-family:var(--font-body);font-size:0.82rem;font-weight:600;cursor:pointer;transition:all .2s;
}
.fc-btn:hover{border-color:var(--accent);color:var(--accent);}
.fc-btn.primary{background:rgba(56,189,248,0.1);border-color:var(--accent);color:var(--accent);}
.fc-hint{text-align:center;font-size:0.73rem;color:var(--muted);margin-top:14px;}

/* ===== QUIZ ===== */
#quiz-view{padding:24px 28px;}
.quiz-q{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:20px;margin-bottom:14px;}
.quiz-q-num{font-size:0.7rem;color:var(--muted);font-family:var(--font-mono);margin-bottom:8px;}
.quiz-q-text{font-size:0.9rem;line-height:1.6;color:var(--text);margin-bottom:14px;}
.quiz-opts{display:flex;flex-direction:column;gap:7px;}
.quiz-opt{
  padding:9px 14px;border-radius:6px;border:1px solid var(--border);background:var(--surface);
  color:var(--text);font-size:0.82rem;cursor:pointer;transition:all .18s;text-align:left;font-family:var(--font-body);
}
.quiz-opt:hover:not(:disabled){border-color:var(--accent);background:rgba(56,189,248,0.07);}
.quiz-opt.correct{background:rgba(52,211,153,0.12);border-color:#34d399;color:#34d399;}
.quiz-opt.wrong{background:rgba(251,113,133,0.1);border-color:var(--accent3);color:var(--accent3);}
.quiz-opt:disabled{cursor:default;}
.quiz-exp{margin-top:10px;padding:10px 14px;background:#0a1020;border-radius:6px;font-size:0.8rem;line-height:1.6;color:var(--muted);display:none;}
.quiz-exp.show{display:block;}
.quiz-score{font-family:var(--font-mono);font-size:0.82rem;color:var(--muted);margin-bottom:16px;}

/* ===== HAMBURGER NAV ===== */
.hamburger-btn{
  display:none;
  background:none;border:1px solid var(--border);border-radius:7px;
  padding:8px 10px;cursor:pointer;color:var(--text);flex-direction:column;
  gap:5px;align-items:center;justify-content:center;flex-shrink:0;
  transition:border-color .2s;
}
.hamburger-btn:hover{border-color:var(--accent);}
.hamburger-btn span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:all .25s;}

.nav-overlay{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:99;
  backdrop-filter:blur(2px);
}
.nav-overlay.open{display:block;}

.nav-drawer{
  position:fixed;top:0;left:0;bottom:0;width:240px;
  background:var(--surface);border-right:1px solid var(--border);
  z-index:100;padding:20px 0;display:flex;flex-direction:column;gap:2px;
  transform:translateX(-100%);transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.nav-drawer.open{transform:translateX(0);}
.nav-drawer-title{
  font-size:0.65rem;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;
  padding:0 20px 10px;border-bottom:1px solid var(--border);margin-bottom:8px;
}
.nav-drawer-btn{
  display:flex;align-items:center;gap:12px;padding:11px 20px;
  background:none;border:none;color:var(--muted);cursor:pointer;
  font-family:var(--font-body);font-size:0.88rem;font-weight:600;
  letter-spacing:0.02em;transition:all .18s;text-align:left;
}
.nav-drawer-btn:hover{color:var(--text);background:rgba(56,189,248,0.06);}
.nav-drawer-btn.active{color:var(--accent);background:rgba(56,189,248,0.1);}
.nav-drawer-btn .nav-icon{font-size:1rem;width:20px;text-align:center;}

/* ===== RESPONSIVE ===== */
@media(max-width:640px){
  /* Layout */
  header{flex-direction:row;align-items:center;justify-content:space-between;padding:14px 16px;}
  header h1{font-size:1.45rem;}
  .hamburger-btn{display:flex;}
  .mode-bar{display:none;}
  header .subtitle{display:none;}

  main,#flashcard-view,#quiz-view,#homework-view{padding-left:14px;padding-right:14px;}
  .topic-strip{padding-left:10px;padding-right:10px;}
  #hw-main{padding-left:14px;padding-right:14px;}
  .overview-grid{grid-template-columns:1fr;}

  /* Prevent text overflow */
  .concept-block,.formula-box,.proof-block{word-break:break-word;overflow-wrap:break-word;}
  .formula-box{font-size:0.76rem;padding:12px 14px;overflow-x:auto;}
  .graph-controls{flex-direction:column;gap:10px;}
  .graph-ctrl{flex-wrap:wrap;}
  .graph-ctrl label{min-width:unset;width:100%;}
  .graph-stat{font-size:0.7rem;}

  /* Flashcards */
  .fc-wrap{max-width:100%;}
  .fc-front,.fc-back{padding:20px 16px;}
  .fc-text{font-size:0.88rem;}
  .fc-controls{gap:8px;}
  .fc-btn{padding:9px 14px;font-size:0.78rem;}

  /* Quiz */
  .quiz-opt{font-size:0.79rem;padding:8px 12px;}
  .quiz-q-text{font-size:0.85rem;}

  /* Homework */
  .hw-problem-header{padding:12px 14px;gap:8px;}
  .hw-prob-q{font-size:0.82rem;}
  .hw-answer{padding:0 14px 14px;}
  .hw-step-body{font-size:0.79rem;}
  .hw-answer p{font-size:0.79rem;}
  .hw-final{font-size:0.76rem;}

  /* Section titles */
  .section-title{font-size:1.35rem;}
  .hw-part-title{font-size:1.15rem;}
}

/* ===== HOMEWORK ===== */
#homework-view{padding:24px 28px;}
.hw-part{margin-bottom:32px;}
.hw-part-title{
  font-family:var(--font-head);font-size:1.4rem;font-weight:700;color:var(--text);
  border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:16px;
}
.hw-problem{
  background:var(--card);border:1px solid var(--border);border-radius:10px;
  margin-bottom:14px;overflow:hidden;
}
.hw-problem-header{
  display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;
  transition:background .18s;user-select:none;
}
.hw-problem-header:hover{background:rgba(167,139,250,0.06);}
.hw-prob-num{
  font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  background:rgba(167,139,250,0.12);color:#a78bfa;border:1px solid rgba(167,139,250,0.3);
  border-radius:4px;padding:3px 9px;white-space:nowrap;font-family:var(--font-mono);flex-shrink:0;
}
.hw-prob-q{font-size:0.88rem;color:var(--text);line-height:1.55;flex:1;}
.hw-chevron{color:var(--muted);font-size:0.9rem;transition:transform .25s;flex-shrink:0;}
.hw-chevron.open{transform:rotate(90deg);}
.hw-answer{
  display:none;padding:0 18px 18px;border-top:1px solid var(--border);
  background:rgba(10,17,32,0.4);
}
.hw-answer.show{display:block;}
.hw-answer-label{
  font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:#a78bfa;margin:14px 0 8px;
}
.hw-step{display:flex;gap:12px;margin:8px 0;}
.hw-step-num{
  font-size:0.68rem;font-weight:700;color:#a78bfa;background:rgba(167,139,250,0.1);
  border:1px solid rgba(167,139,250,0.3);border-radius:4px;padding:3px 7px;
  white-space:nowrap;height:fit-content;font-family:var(--font-mono);flex-shrink:0;
}
.hw-step-body{font-size:0.83rem;color:var(--text);line-height:1.7;flex:1;}
.hw-answer .formula-box{margin:8px 0;}
.hw-answer p{font-size:0.83rem;line-height:1.7;color:var(--text);margin:6px 0;}
.hw-answer ul{padding-left:18px;margin:6px 0;display:flex;flex-direction:column;gap:5px;}
.hw-answer li{font-size:0.83rem;line-height:1.7;color:var(--text);}
.hw-final{
  background:rgba(167,139,250,0.08);border:1px solid rgba(167,139,250,0.25);
  border-radius:6px;padding:10px 14px;margin-top:10px;
  font-size:0.83rem;color:#c4b5fd;font-family:var(--font-mono);line-height:1.8;
}
.hw-diagram{margin:16px 0 8px;background:#0a1120;border:1px solid var(--border);border-radius:8px;padding:12px;overflow:hidden;}
.hw-diagram svg{display:block;width:100%;max-width:460px;margin:0 auto;}
.hw-diagram-caption{font-size:0.72rem;color:var(--muted);text-align:center;margin-top:6px;font-style:italic;}
.hw-sub{margin-top:12px;}
.hw-sub-label{font-size:0.75rem;font-weight:700;color:#a78bfa;margin-bottom:4px;letter-spacing:0.04em;}
.hw-ps-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;}
.hw-ps-tab{
  font-family:var(--font-mono);font-size:0.75rem;font-weight:700;letter-spacing:0.05em;
  padding:8px 20px;border-radius:6px;border:1px solid rgba(167,139,250,0.3);
  background:transparent;color:var(--muted);cursor:pointer;transition:all .18s;
}
.hw-ps-tab:hover{border-color:rgba(167,139,250,0.6);color:#c4b5fd;}
.hw-ps-tab.active{background:rgba(167,139,250,0.15);border-color:#a78bfa;color:#e9d5ff;}
.hw-ps-pane{display:none;}
.hw-ps-pane.active{display:block;}

/* ===== EXAMS ===== */
#exams-view{padding:24px 28px;}
.exam-header{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:20px;flex-wrap:wrap;gap:10px;
}
.exam-title-block{}
.exam-title-block h2{font-family:var(--font-head);font-size:1.75rem;font-weight:700;color:var(--text);margin-bottom:2px;}
.exam-meta{font-size:0.75rem;color:var(--muted);letter-spacing:0.04em;}
.exam-badge{
  font-family:var(--font-mono);font-size:0.7rem;font-weight:700;letter-spacing:0.06em;
  padding:5px 12px;border-radius:5px;background:rgba(251,146,60,0.12);
  color:#fb923c;border:1px solid rgba(251,146,60,0.35);white-space:nowrap;
}
.exam-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap;}
.exam-tab{
  font-family:var(--font-mono);font-size:0.75rem;font-weight:700;letter-spacing:0.05em;
  padding:8px 20px;border-radius:6px;border:1px solid rgba(251,146,60,0.3);
  background:transparent;color:var(--muted);cursor:pointer;transition:all .18s;
}
.exam-tab:hover{border-color:rgba(251,146,60,0.6);color:#fb923c;}
.exam-tab.active{background:rgba(251,146,60,0.12);border-color:#fb923c;color:#fed7aa;}
.exam-pane{display:none;}
.exam-pane.active{display:block;}
.exam-part{margin-bottom:32px;}
.exam-part-title{
  font-family:var(--font-head);font-size:1.3rem;font-weight:700;color:var(--text);
  border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:16px;
  display:flex;align-items:center;gap:10px;
}
.exam-part-tag{
  font-size:0.65rem;font-family:var(--font-mono);font-weight:700;letter-spacing:0.07em;
  text-transform:uppercase;padding:3px 8px;border-radius:4px;
  background:rgba(251,146,60,0.1);color:#fb923c;border:1px solid rgba(251,146,60,0.3);
}
.exam-problem{
  background:var(--card);border:1px solid var(--border);border-radius:10px;
  margin-bottom:14px;overflow:hidden;
}
.exam-problem-header{
  display:flex;align-items:flex-start;gap:12px;padding:14px 18px;cursor:pointer;
  transition:background .18s;user-select:none;
}
.exam-problem-header:hover{background:rgba(251,146,60,0.05);}
.exam-prob-num{
  font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
  background:rgba(251,146,60,0.1);color:#fb923c;border:1px solid rgba(251,146,60,0.3);
  border-radius:4px;padding:3px 9px;white-space:nowrap;font-family:var(--font-mono);flex-shrink:0;margin-top:2px;
}
.exam-prob-q{font-size:0.88rem;color:var(--text);line-height:1.55;flex:1;}
.exam-chevron{color:var(--muted);font-size:0.9rem;transition:transform .25s;flex-shrink:0;margin-top:2px;}
.exam-chevron.open{transform:rotate(90deg);}
.exam-answer{
  display:none;padding:0 18px 18px;border-top:1px solid var(--border);
  background:rgba(10,17,32,0.4);
}
.exam-answer.show{display:block;}
.exam-answer-label{
  font-size:0.68rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;
  color:#fb923c;margin:14px 0 8px;
}
.exam-step{display:flex;gap:12px;margin:8px 0;}
.exam-step-num{
  font-size:0.68rem;font-weight:700;color:#fb923c;background:rgba(251,146,60,0.08);
  border:1px solid rgba(251,146,60,0.3);border-radius:4px;padding:3px 7px;
  white-space:nowrap;height:fit-content;font-family:var(--font-mono);flex-shrink:0;
}
.exam-step-body{font-size:0.83rem;color:var(--text);line-height:1.7;flex:1;}
.exam-answer .formula-box{margin:8px 0;}
.exam-answer p{font-size:0.83rem;line-height:1.7;color:var(--text);margin:6px 0;}
.exam-answer ul,.exam-answer ol{padding-left:18px;margin:6px 0;display:flex;flex-direction:column;gap:5px;}
.exam-answer li{font-size:0.83rem;line-height:1.7;color:var(--text);}
.exam-final{
  background:rgba(251,146,60,0.07);border:1px solid rgba(251,146,60,0.25);
  border-radius:6px;padding:10px 14px;margin-top:10px;
  font-size:0.83rem;color:#fed7aa;font-family:var(--font-mono);line-height:1.8;
}
.exam-note{
  background:rgba(56,189,248,0.05);border:1px solid rgba(56,189,248,0.2);
  border-radius:6px;padding:10px 14px;margin:10px 0;
  font-size:0.8rem;color:var(--muted);line-height:1.65;font-style:italic;
}
.exam-sub{margin-top:12px;}
.exam-sub-label{font-size:0.75rem;font-weight:700;color:#fb923c;margin-bottom:4px;letter-spacing:0.04em;}
@media(max-width:640px){
  #exams-view{padding-left:14px;padding-right:14px;}
  .exam-problem-header{padding:12px 14px;}
  .exam-answer{padding:0 14px 14px;}
  .exam-step-body,.exam-answer p,.exam-answer li{font-size:0.79rem;}
  .exam-final{font-size:0.75rem;}
}
