<style>

/* =========================
   ROOT VARIABLES
========================= */

:root{
  color-scheme: light;

  --primary:#2563eb;
  --primary-dark:#1d4ed8;
  --secondary:#06b6d4;

  --text:#1e293b;
  --text-light:#64748b;

  --border:#e5e7eb;
  --border-light:#dbeafe;

  --bg-soft:#f8fafc;

  --danger:#ef4444;
  --warning:#eab308;
  --success:#10b981;

  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:24px;

  --shadow-soft:0 10px 30px rgba(0,0,0,0.05);

  --transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    transform .18s ease;
}

/* =========================
   GLOBAL RESET
========================= */

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  padding:0;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;

  color:var(--text);

  overflow-wrap:break-word;
  word-break:break-word;

  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

/* =========================
   ACCESSIBILITY
========================= */

:focus-visible{
  outline:2px solid var(--primary);
  outline-offset:2px;
}

/* =========================
   REDUCED MOTION
========================= */

@media (prefers-reduced-motion: reduce){

  *{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }

}

/* =========================
   UTILITIES
========================= */

.hidden{
  display:none !important;
}

/* =========================
   TRANSITIONS
========================= */

.nav-item,
.choice-btn,
.subject-card,
.topic-card,
.sidebar-btn,
button{
  transition:var(--transition);
}

/* =========================
   CARD HOVERS
========================= */

.subject-card:hover,
.topic-card:hover{
  transform:translateY(-2px);
}

.choice-btn:hover:not(:disabled){
  transform:translateX(3px);
}

.sidebar-btn:hover{
  transform:translateX(4px);
}

/* =========================
   SIDEBAR
========================= */

.sidebar-btn{
  display:flex;
  width:100%;
  align-items:center;
  gap:1rem;

  border:none;
  border-radius:1rem;

  padding:0.75rem 1rem;

  background:transparent;

  text-align:left;
  font-weight:600;

  color:#cbd5e1;

  cursor:pointer;
}

.sidebar-btn:hover{
  background:rgba(255,255,255,0.08);
  color:#ffffff;
}

.sidebar-btn:focus-visible{
  background:rgba(255,255,255,0.08);
}

.sidebar-icon{
  display:flex;
  align-items:center;
  justify-content:center;

  width:2.5rem;
  height:2.5rem;

  flex-shrink:0;

  border-radius:0.75rem;

  background:rgba(255,255,255,0.05);
}

/* =========================
   REVIEWER CONTAINER
========================= */

.reviewer-lesson{
  background:#ffffff;

  border:1px solid var(--border);

  border-radius:var(--radius-lg);

  padding:clamp(20px, 4vw, 40px);

  margin-bottom:32px;

  box-shadow:var(--shadow-soft);

  overflow:hidden;
}

/* =========================
   REVIEWER CONTENT
========================= */

.reviewer-content{
  max-width:900px;

  margin-inline:auto;

  line-height:1.9;

  color:var(--text);

  font-size:clamp(16px, 2vw, 18px);

  overflow-wrap:break-word;
  word-break:break-word;
}

/* =========================
   HEADINGS
========================= */

.reviewer-content h1{
  font-size:clamp(2rem, 5vw, 42px);

  font-weight:800;

  line-height:1.2;

  color:var(--primary-dark);

  margin-top:0;
  margin-bottom:24px;
}

.reviewer-content h2{
  font-size:clamp(1.5rem, 4vw, 30px);

  font-weight:700;

  line-height:1.3;

  color:var(--primary);

  margin-top:40px;
  margin-bottom:16px;
}

.reviewer-content h3{
  font-size:clamp(1.2rem, 3vw, 24px);

  font-weight:700;

  margin-top:32px;
  margin-bottom:14px;
}

/* =========================
   TEXT CONTENT
========================= */

.reviewer-content p{
  margin-bottom:18px;
}

.reviewer-content ul,
.reviewer-content ol{
  margin-left:24px;
  margin-bottom:24px;
}

.reviewer-content li{
  margin-bottom:12px;
}

/* =========================
   TABLES
========================= */

.reviewer-content table{
  display:block;

  width:100%;

  overflow-x:auto;

  border-collapse:collapse;

  white-space:nowrap;

  margin-top:20px;
  margin-bottom:30px;

  border-radius:16px;
}

.reviewer-content th{
  background:var(--primary);

  color:#ffffff;

  padding:16px;

  text-align:left;
}

.reviewer-content td{
  padding:16px;

  border:1px solid var(--border-light);

  background:#ffffff;
}

/* =========================
   IMAGES
========================= */

.reviewer-content img{
  max-width:100%;
  height:auto;

  border-radius:16px;
}

/* =========================
   CODE BLOCKS
========================= */

.reviewer-content pre,
.reviewer-content code{
  overflow-x:auto;
}

/* =========================
   INFO BOX BASE
========================= */

.info-box{
  padding:20px;

  margin:24px 0;

  border-radius:16px;
}

/* =========================
   BOARD TIP
========================= */

.board-tip{
  background:#dbeafe;

  border-left:5px solid var(--primary);

  padding:20px;

  border-radius:16px;

  margin:24px 0;
}

/* =========================
   QUICK RECALL
========================= */

.quick-recall{
  background:#ecfeff;

  border-left:5px solid var(--secondary);

  padding:20px;

  border-radius:16px;

  margin:24px 0;
}

/* =========================
   MEMORY BOX
========================= */

.memory-box{
  background:#fef9c3;

  border-left:5px solid var(--warning);

  padding:20px;

  border-radius:16px;

  margin:24px 0;
}

/* =========================
   EXAM WARNING
========================= */

.exam-warning{
  background:#fee2e2;

  border-left:5px solid var(--danger);

  padding:20px;

  border-radius:16px;

  margin:24px 0;
}

/* =========================
   DEFINITION BOX
========================= */

.definition-box{
  background:var(--bg-soft);

  border:1px solid #cbd5e1;

  padding:24px;

  border-radius:18px;

  margin:24px 0;
}

/* =========================
   BUTTONS
========================= */

button{
  font:inherit;
}

/* =========================
   DISABLED STATES
========================= */

button:disabled,
.choice-btn:disabled{
  opacity:0.6;
  cursor:not-allowed;
}

/* =========================
   MOBILE RESPONSIVE
========================= */

@media (max-width:768px){

  .reviewer-lesson{
    padding:24px;
    border-radius:20px;
  }

  .reviewer-content{
    font-size:16px;
    line-height:1.8;
  }

  .reviewer-content h1{
    margin-bottom:20px;
  }

  .reviewer-content h2{
    margin-top:32px;
  }

  .sidebar-btn{
    gap:0.75rem;
    padding:0.75rem;
  }

  .sidebar-icon{
    width:2.25rem;
    height:2.25rem;
  }

  .reviewer-content table{
    font-size:14px;
  }

}

/* =========================
   SMALL DEVICES
========================= */

@media (max-width:480px){

  .reviewer-lesson{
    padding:20px;
  }

  .reviewer-content h1{
    line-height:1.15;
  }

  .reviewer-content h2{
    line-height:1.2;
  }

  .board-tip,
  .quick-recall,
  .memory-box,
  .exam-warning,
  .definition-box{
    padding:16px;
  }

}

/* =========================
   PRINT STYLES
========================= */

@media print{

  .sidebar,
  button,
  .nav-item{
    display:none !important;
  }

  body{
    background:#ffffff;
    color:#000000;
  }

  .reviewer-lesson{
    box-shadow:none;
    border:1px solid #cccccc;
  }

}
.lesson-reviewer {
  padding: 24px;
}

.lesson-reviewer h2 {
  font-size: 2rem;
  font-weight: 800;
  margin: 2rem 0 1rem;
  color: #0f172a;
}

.lesson-reviewer h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: .75rem;
}

.lesson-reviewer p {
  line-height: 1.9;
  color: #334155;
}

.lesson-reviewer ul {
  margin-top: .75rem;
  margin-left: 1.5rem;
  list-style: disc;
}

.lesson-reviewer li {
  margin-bottom: .5rem;
}
.info-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 20px;
  margin: 30px 0;
}

.info-card {

  border-radius: 24px;

  padding: 28px;

  background: white;

  box-shadow:
  0 10px 25px rgba(0,0,0,.06);

}

.info-card.blue {
  border-top: 5px solid #2563eb;
}

.info-card.orange {
  border-top: 5px solid #f59e0b;
}

.info-card.green {
  border-top: 5px solid #10b981;
}
.highlight-box {
  background: linear-gradient(
    135deg,
    #eff6ff,
    #f8fafc
  );

  border: 1px solid #c7d2fe;

  border-radius: 20px;

  padding: 24px;

  margin: 24px 0;
}
.purpose-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 18px;
  margin: 30px 0;
}

.purpose-card {

  background: white;

  border-radius: 24px;

  padding: 28px;

  text-align: center;

  box-shadow:
  0 10px 25px rgba(0,0,0,.05);

  transition: .25s;

}

.purpose-card:hover {

  transform:
  translateY(-6px);

}

.purpose-card:hover {
  transform: translateY(-4px);
}
.approach-card.dynamic {
  border-left: 6px solid #3b82f6;
}

.approach-card.collaborative {
  border-left: 6px solid #10b981;
}

.approach-card.therapeutic {
  border-left: 6px solid #8b5cf6;
}
.exam-tip {
  margin-top: 30px;

  background: #fff7ed;

  border-left: 6px solid #f97316;

  border-radius: 20px;

  padding: 24px;
}
@media (max-width: 900px) {

  .info-grid,
  .purpose-grid {

    grid-template-columns: 1fr;

  }

}
/* ==================================
   LESSON HERO
================================== */

.lesson-hero {

  background:
  linear-gradient(
    135deg,
    #2563eb,
    #7c3aed
  );

  color: white;

  border-radius: 32px;

  padding: 32px;

  margin-bottom: 32px;

  box-shadow:
    0 15px 40px rgba(37,99,235,.25);

}

.lesson-hero-header {

  display: flex;

  align-items: center;

  gap: 20px;

}

.lesson-icon {

  width: 80px;

  height: 80px;

  border-radius: 24px;

  display: flex;

  align-items: center;

  justify-content: center;

  font-size: 2.5rem;

  background:
  rgba(255,255,255,.15);

  backdrop-filter:
  blur(10px);

}

.lesson-hero-title {

  font-size: 2.25rem;

  font-weight: 800;

  color: white;

  margin: 0;

}

.lesson-hero-subtitle {

  margin-top: 8px;

  opacity: .9;

}
.lesson-stats {

  display: grid;

  grid-template-columns:
  repeat(3,1fr);

  gap: 18px;

  margin-top: 28px;

}

.stat-card {

  background:
  rgba(255,255,255,.15);

  backdrop-filter:
  blur(12px);

  border-radius: 20px;

  padding: 18px;

}

.stat-card span {

  display:block;

  font-size:.85rem;

  opacity:.85;

}

.stat-card strong {

  display:block;

  margin-top:8px;

  font-size:1.15rem;

}
.learning-objectives {

  margin-top: 28px;

  background: white;

  color: #1e293b;

  border-radius: 24px;

  padding: 24px;

  box-shadow:
  0 10px 25px rgba(0,0,0,.05);

}

.learning-objectives h3 {

  color:#2563eb;

  margin-bottom:16px;

}

.learning-objectives ul {

  margin-left:20px;

}
.lesson-content {

  max-width: 1200px;

  margin: 0 auto;

  padding: 20px;

}
.lesson-banner {

  background:
  linear-gradient(
    135deg,
    #2563eb,
    #7c3aed
  );

  color: white;

  padding: 40px;

  border-radius: 32px;

  margin-bottom: 32px;

  box-shadow:
  0 15px 40px rgba(37,99,235,.25);

}

.lesson-banner h2 {

  color: white;

  font-size: 2.5rem;

  margin-bottom: 16px;

}

.lesson-banner p {

  color: rgba(255,255,255,.9);

  font-size: 1.1rem;

  line-height: 1.8;

}

.reviewer-page {

  background:
  linear-gradient(
    to bottom,
    #f8fafc,
    #eef2ff
  );

}
.lesson-content h2 {

  position: relative;

  padding-left: 18px;

}

.lesson-content h2::before {

  content: "";

  position: absolute;

  left: 0;
  top: 8px;

  width: 6px;
  height: 32px;

  border-radius: 999px;

  background:
  linear-gradient(
    #2563eb,
    #7c3aed
  );

}
.info-card:hover,
.approach-card:hover {

  transform: translateY(-5px);

  box-shadow:
    0 15px 35px rgba(0,0,0,.08);

}
.reviewer-content {

  max-width: 1100px;

}
.mobile-menu-button {

  display: none;

}

@media (max-width: 768px) {

  .mobile-menu-button {

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 24px;

  }

}
@media (max-width:768px){

  .sidebar {

    position: fixed;

    left: -280px;

    top: 0;

    width: 280px;

    height: 100vh;

    z-index: 9999;

    transition: .3s;

  }

  .sidebar.open {

    left: 0;

  }

}
@media (max-width: 768px) {

  header .flex.flex-wrap.items-center.gap-3 {

    display: none;

  }

}
.subject-premium-card {

  display:flex;
  justify-content:space-between;
  align-items:center;

  gap:24px;

  background:white;

  border:1px solid #e2e8f0;

  border-radius:32px;

  padding:28px;

  margin-bottom:24px;

  transition:.25s;

}

.subject-premium-card:hover{

  transform:translateY(-4px);

  box-shadow:
  0 15px 35px rgba(0,0,0,.08);

}

.subject-premium-left{

  display:flex;
  align-items:center;

  gap:24px;

  flex:1;

}

.subject-premium-icon{

  width:82px;
  height:82px;

  border-radius:24px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:2rem;
  font-weight:800;

}

.subject-premium-content h3{

  font-size:1.7rem;
  font-weight:800;

  margin:0 0 8px;

}

.subject-premium-content p{

  color:#64748b;
  margin-bottom:14px;

}

.subject-progress-track{

  width:350px;
  max-width:100%;

  height:8px;

  background:#e2e8f0;

  border-radius:999px;

  overflow:hidden;

}

.subject-progress-bar{

  height:100%;

}

.subject-premium-right{

  display:flex;
  align-items:center;

  gap:20px;

}

.subject-lessons-card{

  width:110px;

  text-align:center;

  padding:18px;

  border-radius:20px;

  background:#f8fafc;

}

.subject-lessons-card strong{

  display:block;

  font-size:1.8rem;

}

.subject-continue-btn{

  border:none;

  background:#2563eb;

  color:white;

  padding:16px 28px;

  border-radius:18px;

  font-weight:700;

  cursor:pointer;

}
@media(max-width:768px){

.subject-premium-card{

  flex-direction:column;
  align-items:flex-start;

}

.subject-premium-left{

  flex-direction:column;
  align-items:flex-start;

}

.subject-premium-right{

  width:100%;

  justify-content:space-between;

}

.subject-progress-track{

  width:100%;

}

}
.subject-premium-card {

  display:flex;
  justify-content:space-between;
  align-items:center;

  gap:24px;

  background:white;

  border:1px solid #e2e8f0;

  border-radius:28px;

  padding:24px;

  margin-bottom:20px;

  box-shadow:
    0 10px 25px rgba(0,0,0,.05);

}

.subject-premium-left {

  display:flex;
  align-items:center;

  gap:20px;

  flex:1;

}

.subject-premium-icon {

  width:80px;
  height:80px;

  border-radius:22px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:2rem;
  font-weight:800;

}

.subject-premium-content {

  flex:1;

}

.subject-premium-content h3 {

  font-size:1.4rem;
  font-weight:800;

  margin-bottom:8px;

}

.subject-premium-content p {

  color:#64748b;

  margin-bottom:12px;

}

.subject-progress-track {

  height:10px;

  background:#e2e8f0;

  border-radius:999px;

  overflow:hidden;

}

.subject-progress-bar {

  height:100%;

}

.subject-premium-right {

  display:flex;
  align-items:center;

  gap:16px;

}

.subject-lessons-card {

  background:#f8fafc;

  border-radius:18px;

  padding:18px;

  min-width:90px;

  text-align:center;

}

.subject-lessons-card strong {

  display:block;

  font-size:1.8rem;

}

.subject-continue-btn {

  background:#2563eb;

  color:white;

  border:none;

  border-radius:16px;

  padding:14px 24px;

  font-weight:700;

}
</style>