/* ============================================================
   ANSHUL ACADEMY — SITE CHROME
   Header, navigation, breadcrumbs, page shell, sidebar widgets
   and footer. Everything outside the post content.

   This is part 1 of anshul-academy-master.css. It deliberately
   loads BEFORE .aa-index and .aa-notes so those two component
   systems win on equal specificity inside the content area.

   Palette is the same indigo/violet used by .aa-index and
   .aa-notes — the chrome is meant to disappear into the product,
   not announce itself.
   ============================================================ */

:root{
  --aa-primary:#4f46e5;
  --aa-primary-dark:#4338ca;
  --aa-primary-soft:#eef2ff;
  --aa-ink:#1f2437;
  --aa-ink-soft:#414a63;
  --aa-muted:#626b86;
  --aa-line:#e4e8f5;
  --aa-line-soft:#eef1fa;
  --aa-bg:#f6f7fc;
  --aa-footer:#191a33;
  --aa-footer-line:#2e3055;
  --aa-footer-text:#b9bdd6;
  --aa-radius:14px;
  --aa-shadow:0 1px 2px rgba(24,28,54,.05), 0 8px 24px -12px rgba(24,28,54,.14);
  --aa-header-h:74px;
}

/* ---------- page shell ---------------------------------- */

body{
  background:var(--aa-bg);
  color:var(--aa-ink);
  -webkit-font-smoothing:antialiased;
}

.site-content{ padding-top:0; }

/* Anchor jumps must clear the sticky header — the chapter TOC
   relies on this, otherwise every heading lands under the bar. */
:target,
.entry-content h2[id],
.entry-content h3[id],
.aa-notes h2[id],
.aa-notes h3[id]{ scroll-margin-top:calc(var(--aa-header-h) + 16px); }

/* ---------- header -------------------------------------- */

.site-header{
  position:sticky;
  top:0;
  z-index:200;
  background:#fff;
  border-bottom:1px solid var(--aa-line);
  box-shadow:0 1px 3px rgba(24,28,54,.04);
}
.site-header .inside-header{
  padding-top:13px;
  padding-bottom:13px;
  align-items:center;
}

/* Wordmark. There is no logo image; the monogram tile is drawn
   here so it stays crisp at any density. */
.site-branding{
  display:flex;
  align-items:center;
  gap:12px;
  position:relative;
  padding-left:56px;
}
.site-branding::before{
  content:"AA";
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:12px;
  background:linear-gradient(135deg,#6366f1 0%,#4f46e5 55%,#7c3aed 100%);
  color:#fff;
  font-size:15px;
  font-weight:800;
  letter-spacing:.02em;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 12px -4px rgba(79,70,229,.55);
}
.site-header .main-title{
  margin:0;
  font-size:21px;
  font-weight:800;
  letter-spacing:-.015em;
  line-height:1.15;
}
.site-header .main-title a{
  color:var(--aa-ink);
  text-decoration:none;
}
.site-header .main-title a:hover{ color:var(--aa-primary); }
.site-header .site-description{
  margin:2px 0 0;
  font-size:12.5px;
  font-weight:500;
  color:var(--aa-muted);
  letter-spacing:.01em;
}

/* ---------- primary navigation --------------------------- */

.main-navigation{
  background:transparent;
}
.main-navigation .main-nav > ul > li > a{
  padding:9px 14px;
  font-size:14.5px;
  font-weight:600;
  color:var(--aa-ink-soft);
  line-height:1.4;
  border-radius:9px;
  transition:background .15s ease, color .15s ease;
}
.main-navigation .main-nav > ul > li > a:hover,
.main-navigation .main-nav > ul > li:hover > a,
.main-navigation .main-nav > ul > li.sfHover > a{
  background:var(--aa-primary-soft);
  color:var(--aa-primary-dark);
}
.main-navigation .main-nav > ul > li.current-menu-item > a,
.main-navigation .main-nav > ul > li.current-menu-ancestor > a,
.main-navigation .main-nav > ul > li.current-page-ancestor > a{
  background:var(--aa-primary-soft);
  color:var(--aa-primary-dark);
}
.main-navigation ul li a{ text-decoration:none; }

/* Dropdowns */
.main-navigation ul ul{
  background:#fff;
  border:1px solid var(--aa-line);
  border-radius:12px;
  box-shadow:var(--aa-shadow);
  padding:6px;
  min-width:222px;
  overflow:hidden;
}
.main-navigation ul ul li a{
  padding:9px 12px;
  font-size:14px;
  font-weight:500;
  color:var(--aa-ink-soft);
  border-radius:8px;
  line-height:1.35;
}
.main-navigation ul ul li a:hover,
.main-navigation ul ul li:hover > a,
.main-navigation ul ul li.current-menu-item > a{
  background:var(--aa-primary-soft);
  color:var(--aa-primary-dark);
}
.main-navigation .main-nav ul ul li{ border:0; }

/* Mobile toggle */
.main-navigation .menu-toggle{
  font-size:14.5px;
  font-weight:700;
  color:var(--aa-ink);
  padding:12px 4px;
}
.main-navigation .menu-toggle:hover{ color:var(--aa-primary); }

/* ---------- mobile header + menu -------------------------
   GeneratePress runs this header in `has-inline-mobile-toggle`
   mode: the hamburger lives in its own <nav
   class="mobile-menu-control-wrapper"> that is meant to sit on
   the wordmark's row, and #site-navigation drops to a full-width
   row underneath only once it is toggled open.

   Three theme defaults were breaking that and are undone here:
     1. .menu-toggle ships line-height:60px (mobile.css), so the
        closed toggle was an ~84px tall empty strip.
     2. GP puts margin-bottom:20px on every .inside-header child
        that is not the nav, adding another 20px of dead space.
     3. .site-branding was laid out as a flex ROW, so wordmark +
        tagline measured wider than a 360px viewport, .inside-header
        wrapped, and the hamburger was pushed onto a line of its own.
   ---------------------------------------------------------- */

@media (max-width:768px){
  .site-header{ position:static; }
  .site-header .inside-header{
    padding-top:9px;
    padding-bottom:9px;
    text-align:left;
    align-items:center;
  }
  .site-header .inside-header > .site-branding{ margin-bottom:0; }

  /* Wordmark stacks: title over tagline. */
  .site-branding{
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    padding-left:50px;
    min-width:0;
  }
  .site-branding::before{ width:38px; height:38px; border-radius:10px; font-size:13px; }
  .site-header .main-title{ font-size:18px; }
  .site-header .site-description{ font-size:11.5px; margin-top:1px; }

  /* Hamburger: a real 44px tap target on the wordmark's row. */
  .mobile-menu-control-wrapper{
    align-self:center;
    margin-left:auto;   /* GP's own rule — keep it, it right-aligns the toggle */
    padding-left:12px;  /* guaranteed gap if the wordmark ever fills the row */
    border-top:0;
    background:transparent;
  }
  .main-navigation .menu-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    padding:0;
    line-height:1;
    border-radius:11px;
    color:var(--aa-ink);
    transition:background-color .15s ease, color .15s ease;
  }
  .mobile-menu-control-wrapper .menu-toggle .gp-icon{ font-size:21px; }
  .mobile-menu-control-wrapper .menu-toggle,
  .mobile-menu-control-wrapper .menu-toggle:focus{ background-color:transparent; }
  .mobile-menu-control-wrapper .menu-toggle:hover,
  .mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"]{
    background-color:var(--aa-primary-soft);
    color:var(--aa-primary-dark);
  }

  /* The open panel. Full-bleed: .inside-header's 30px side padding
     is cancelled so the rows run edge to edge and read as one
     sheet instead of a floating inset box. */
  #site-navigation{ border-top:0; background:transparent; }
  .has-inline-mobile-toggle #site-navigation.toggled{
    margin:9px -30px -9px;
    flex-basis:calc(100% + 60px);
    max-width:none;
    background:#fff;
    border-top:1px solid var(--aa-line);
  }
  .has-inline-mobile-toggle #site-navigation.toggled .inside-navigation{
    display:block;
    padding:0;
  }
  .main-navigation.toggled .main-nav > ul > li > a{
    border-radius:0;
    padding:13px 30px;
    border-bottom:1px solid var(--aa-line-soft);
  }
  .main-navigation.toggled .main-nav > ul > li:last-child > a{ border-bottom:0; }
  .main-navigation.toggled ul ul{
    border:0;
    border-radius:0;
    box-shadow:none;
    padding:0;
    min-width:0;
    background:#fbfbfe;
  }
  .main-navigation.toggled ul ul li a{
    border-radius:0;
    padding:11px 30px 11px 46px;
    border-bottom:1px solid var(--aa-line-soft);
  }
  .main-navigation.toggled ul ul li:last-child a{ border-bottom:0; }

  /* Submenu arrow needs a real target, not a text-sized one. */
  .main-navigation.toggled .dropdown-menu-toggle{
    padding:13px 30px 13px 16px;
    line-height:1;
  }
}

/* ---------- breadcrumbs ---------------------------------- */

.aa-crumbs{
  margin:0 0 16px;
  font-size:13px;
  line-height:1.5;
}
.aa-crumbs ol{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px 2px;
}
.aa-crumbs li{
  display:flex;
  align-items:center;
  color:var(--aa-muted);
}
.aa-crumbs li + li::before{
  content:"›";
  margin:0 8px;
  color:#7d86a4;   /* 3.61:1 on white; #aab0c6 was 2.16:1 and vanished outdoors */
  font-size:15px;
  line-height:1;
}
.aa-crumbs a{
  color:var(--aa-muted);
  text-decoration:none;
  font-weight:500;
}
.aa-crumbs a:hover{ color:var(--aa-primary); text-decoration:underline; }
.aa-crumbs span[aria-current]{ color:var(--aa-ink); font-weight:600; }

/* ---------- content cards -------------------------------- */

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container.separate-containers .site-main > *{
  background:#fff;
  border:1px solid var(--aa-line);
  border-radius:var(--aa-radius);
  box-shadow:var(--aa-shadow);
  padding:34px 38px;
}

.entry-header{ margin-bottom:6px; }
.entry-title{
  font-size:33px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.02em;
  color:var(--aa-ink);
  margin:0 0 6px;
}
.entry-content{
  color:var(--aa-ink-soft);
  font-size:16.5px;
  line-height:1.72;
}
.entry-content > h2{
  font-size:23px;
  font-weight:750;
  line-height:1.3;
  letter-spacing:-.012em;
  color:var(--aa-ink);
  margin:34px 0 12px;
}
.entry-content > h3{
  font-size:18.5px;
  font-weight:700;
  color:var(--aa-ink);
  margin:26px 0 10px;
}
.entry-content > p:first-child{ margin-top:0; }
.entry-content a{
  color:var(--aa-primary-dark);
  text-underline-offset:2px;
}
.entry-content a:hover{ color:var(--aa-primary); }
.entry-content > ul,
.entry-content > ol{ padding-left:22px; }
.entry-content > ul li,
.entry-content > ol li{ margin-bottom:7px; }

@media (max-width:768px){
  .separate-containers .inside-article,
  .separate-containers .page-header{
    padding:22px 20px;
    border-radius:12px;
  }
  .entry-title{ font-size:26px; }
  .entry-content{ font-size:16px; }
  .entry-content > h2{ font-size:20.5px; }

  /* The breadcrumb sits in .site-main, which GP forces to
     margin-left/right:0 on mobile — so with no padding of its own the
     trail started hard against the screen edge while the card's text
     started 20px in. Match the card's inner padding so "Home" and the
     <h1> share one left edge. */
  .aa-crumbs{
    padding-left:20px;
    padding-right:20px;
    margin-bottom:12px;
  }
}

/* ---------- sidebar widgets ------------------------------ */

.widget-area .widget{
  background:#fff;
  border:1px solid var(--aa-line);
  border-radius:var(--aa-radius);
  box-shadow:var(--aa-shadow);
  padding:20px 20px 22px;
  margin-bottom:20px;
  font-size:14.5px;
}
.widget-area .widget:last-child{ margin-bottom:0; }
.widget-area .widget-title,
.widget-area .wp-block-heading{
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--aa-primary);
  margin:0 0 14px;
  padding-bottom:10px;
  border-bottom:1px solid var(--aa-line-soft);
}
.widget-area .widget ul{
  list-style:none;
  margin:0;
  padding:0;
}
.widget-area .widget ul li{
  padding:0;
  border:0;
  margin:0 0 2px;
}
.widget-area .widget ul:not(.aa-chips) li a{
  display:block;
  padding:7px 10px;
  border-radius:8px;
  color:var(--aa-ink-soft);
  text-decoration:none;
  font-weight:500;
  line-height:1.4;
  transition:background .14s ease,color .14s ease;
}
.widget-area .widget ul:not(.aa-chips) li a:hover{
  background:var(--aa-primary-soft);
  color:var(--aa-primary-dark);
}

/* Keep the sidebar in view through a long chapter. */
@media (min-width:769px){
  .sidebar .inside-right-sidebar,
  .sidebar .inside-left-sidebar{
    position:sticky;
    top:calc(var(--aa-header-h) + 20px);
  }
}

/* Class / board chips in the sidebar navigator */
.aa-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}
.aa-chips li{ margin:0; }
.aa-chips a{
  display:inline-block;
  padding:6px 12px;
  border:1px solid var(--aa-line);
  border-radius:999px;
  background:#fbfbff;
  font-size:13.5px;
  font-weight:600;
  color:var(--aa-ink-soft);
  text-decoration:none;
  line-height:1.35;
  transition:all .14s ease;
}
.aa-chips a:hover{
  background:var(--aa-primary);
  border-color:var(--aa-primary);
  color:#fff;
}

/* Sidebar call-out card */
.aa-card{
  background:linear-gradient(160deg,#4f46e5 0%,#6d28d9 100%);
  border-radius:12px;
  padding:18px 18px 20px;
  color:#fff;
}
.aa-card strong{
  display:block;
  font-size:15.5px;
  font-weight:800;
  margin-bottom:6px;
  line-height:1.3;
}
.aa-card p{
  margin:0 0 14px;
  font-size:13.5px;
  line-height:1.55;
  color:#dcd9fb;
}
.aa-card .aa-btn{
  display:inline-block;
  background:#fff;
  color:var(--aa-primary-dark);
  font-weight:700;
  font-size:13.5px;
  padding:9px 16px;
  border-radius:8px;
  text-decoration:none;
}
.aa-card .aa-btn:hover{ background:#f0efff; color:#3730a3; }

/* ---------- search --------------------------------------- */

.widget_search form,
.wp-block-search__inside-wrapper{
  display:flex;
  gap:8px;
}
.widget_search input[type="search"],
.wp-block-search__input{
  flex:1;
  min-width:0;
  border:1px solid var(--aa-line);
  border-radius:9px;
  padding:10px 13px;
  font-size:14.5px;
  background:#fbfbfe;
  color:var(--aa-ink);
}
.widget_search input[type="search"]:focus,
.wp-block-search__input:focus{
  outline:none;
  border-color:var(--aa-primary);
  box-shadow:0 0 0 3px rgba(79,70,229,.14);
  background:#fff;
}
.wp-block-search__button{
  background:var(--aa-primary);
  border:0;
  color:#fff;
  font-weight:700;
  font-size:14px;
  border-radius:9px;
  padding:10px 16px;
  cursor:pointer;
}
.wp-block-search__button:hover{ background:var(--aa-primary-dark); }

/* ---------- archives, search results, 404 ---------------- */

.page-header .page-title{
  font-size:28px;
  font-weight:800;
  letter-spacing:-.018em;
  margin:0;
}
.page-header .taxonomy-description{
  color:var(--aa-muted);
  margin-top:8px;
  font-size:15.5px;
}
.paging-navigation .nav-links{ display:flex; gap:8px; flex-wrap:wrap; }
.paging-navigation .page-numbers{
  padding:8px 13px;
  border-radius:8px;
  border:1px solid var(--aa-line);
  background:#fff;
  color:var(--aa-ink-soft);
  text-decoration:none;
  font-weight:600;
  font-size:14px;
}
.paging-navigation .page-numbers.current,
.paging-navigation .page-numbers:hover{
  background:var(--aa-primary);
  border-color:var(--aa-primary);
  color:#fff;
}

/* ---------- footer --------------------------------------- */

.site-footer{
  background:var(--aa-footer);
  color:var(--aa-footer-text);
  margin-top:56px;
}
.site-footer .footer-widgets{
  padding:52px 0 42px;
  border-bottom:1px solid var(--aa-footer-line);
}
.site-footer .footer-widgets .inside-footer-widgets{
  display:flex;
  flex-wrap:wrap;
  gap:34px;
}
.site-footer .footer-widgets .footer-widget-1{ flex:1.5 1 260px; }
.site-footer .footer-widgets .footer-widget-2,
.site-footer .footer-widgets .footer-widget-3,
.site-footer .footer-widgets .footer-widget-4{ flex:1 1 165px; }

.site-footer .widget{
  background:none;
  border:0;
  box-shadow:none;
  padding:0;
  margin:0;
  font-size:14.5px;
}
.site-footer .widget-title,
.site-footer .wp-block-heading{
  font-size:11.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#fff;
  margin:0 0 16px;
  padding:0;
  border:0;
}
.site-footer .widget p{
  color:var(--aa-footer-text);
  font-size:14.5px;
  line-height:1.65;
  margin:0 0 12px;
}
.site-footer .widget ul{ list-style:none; margin:0; padding:0; }
.site-footer .widget ul li{ margin:0 0 1px; }
.site-footer .widget ul li a{
  display:block;
  padding:5px 0;
  color:var(--aa-footer-text);
  text-decoration:none;
  font-weight:500;
  line-height:1.45;
  transition:color .14s ease;
}
.site-footer .widget ul li a:hover{ color:#fff; text-decoration:underline; }

/* The footer wordmark in column 1 */
.aa-foot-brand{
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 14px;
}
.aa-foot-brand .aa-foot-mark{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border-radius:10px;
  background:linear-gradient(135deg,#6366f1 0%,#4f46e5 55%,#7c3aed 100%);
  color:#fff;
  font-size:13px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}
.aa-foot-brand .aa-foot-name{
  font-size:17px;
  font-weight:800;
  color:#fff;
  letter-spacing:-.01em;
  line-height:1.2;
}

.site-footer .site-info{
  background:transparent;
  padding:20px 0;
  font-size:13px;
  color:#8f95b8;
}
.site-footer .site-info .inside-site-info{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-align:center;
}
.site-footer .site-info a{ color:#c4c8e0; }
.aa-copy-sep{ color:#7a7ea9; }   /* 4.35:1 on --aa-footer; was 2.11:1 */
.aa-copy-muted{ color:#8f95b8; }

@media (max-width:768px){
  .site-footer{ margin-top:36px; }
  .site-footer .footer-widgets{ padding:36px 0 30px; }
  .site-footer .footer-widgets .inside-footer-widgets{ gap:28px; }
  .site-footer .footer-widgets .footer-widget-1,
  .site-footer .footer-widgets .footer-widget-2,
  .site-footer .footer-widgets .footer-widget-3,
  .site-footer .footer-widgets .footer-widget-4{ flex:1 1 100%; }
}

@media (max-width:768px){
  /* On a phone the sidebar is not a sidebar — it is four blocks the reader
     meets AFTER finishing the chapter, followed by four more in the footer.
     Nothing is removed (each one is a real navigation route), but the padding
     and gaps are tightened so the tail is scrolled through, not waded through. */
  .widget-area .widget{
    padding:16px 16px 18px;
    margin-bottom:14px;
    border-radius:12px;
  }
  .widget-area .widget-title,
  .widget-area .wp-block-heading{
    margin-bottom:10px;
    padding-bottom:8px;
  }
  .widget-area .widget ul:not(.aa-chips) li a{ padding:9px 10px; }
}

/* ---------- back to top ---------------------------------- */

.generate-back-to-top{
  background:var(--aa-primary);
  color:#fff;
  border-radius:10px;
  opacity:.9;
}
.generate-back-to-top:hover,
.generate-back-to-top:focus{
  background:var(--aa-primary-dark);
  color:#fff;
  opacity:1;
}

/* ---------- accessibility -------------------------------- */

a:focus-visible,
button:focus-visible,
input:focus-visible{
  outline:2px solid var(--aa-primary);
  outline-offset:2px;
}

/* ---------- late additions ------------------------------- */

/* The CTA is already a card; don't nest it inside the widget card. */
.widget-area .widget:has(> .aa-card){
  background:none;
  border:0;
  box-shadow:none;
  padding:0;
}

/* Chip rows also appear in page content (class-hub sibling nav),
   where they need a little more presence than in the sidebar. */
.entry-content .aa-chips{
  margin:18px 0 6px;
  gap:8px;
}
.entry-content .aa-chips a{
  padding:8px 15px;
  font-size:14.5px;
}

/* GeneratePress's dynamic CSS paints .footer-widgets and .site-info with
   --base-3 (white). Both sit inside the dark .site-footer, so they have to
   be cleared or the footer renders as a white slab with dark edges. */
.site-footer #footer-widgets.footer-widgets,
.site-footer .footer-widgets{ background:transparent; }
.site-footer .site-info{ background:transparent; }

/* ---------- board-aware sidebar navigators ---------------- */

/* Numeric class chips: square-ish and evenly sized so 1 and 12
   occupy the same footprint and the grid stays on the baseline. */
.aa-chips-num a{
  min-width:38px;
  padding:7px 4px;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.widget-area .widget ul.aa-chips li a.is-current,
.aa-chips a.is-current{
  background:var(--aa-primary);
  border-color:var(--aa-primary);
  color:#fff;
  cursor:default;
}

.aa-boardlist{
  list-style:none;
  margin:0;
  padding:0;
}
.aa-boardlist li{ margin:0 0 2px; }
.aa-boardlist li.is-current > a{
  background:var(--aa-primary-soft);
  color:var(--aa-primary-dark);
  font-weight:700;
}
.aa-boardlist li.is-current > a::after{
  content:"you are here";
  float:right;
  font-size:10.5px;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  opacity:.75;
  line-height:1.6;
}

/* ---------- chapter-to-chapter navigation ---------------- */

.aa-chapter-nav{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:stretch;
  gap:12px;
  margin:34px 0 4px;
  padding-top:26px;
  border-top:1px solid var(--aa-line);
}
.aa-chapter-nav a{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:3px;
  padding:13px 16px;
  border:1px solid var(--aa-line);
  border-radius:12px;
  background:#fff;
  text-decoration:none;
  transition:border-color .15s ease, background .15s ease;
}
.aa-chapter-nav a:hover{
  border-color:#c7cbf0;
  background:#fafaff;
}
.aa-cn-lbl{
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:var(--aa-primary);
}
.aa-cn-title{
  font-size:14.5px;
  font-weight:650;
  color:var(--aa-ink);
  line-height:1.35;
}
.aa-chapter-nav .aa-cn-next{ text-align:right; }
.aa-chapter-nav .aa-cn-all{
  align-self:center;
  justify-content:center;
  font-size:13.5px;
  font-weight:700;
  color:var(--aa-ink-soft);
  white-space:nowrap;
  padding:13px 18px;
}
.aa-cn-spacer{ display:block; }

@media (max-width:600px){
  .aa-chapter-nav{
    grid-template-columns:1fr;
    gap:9px;
  }
  .aa-chapter-nav .aa-cn-next{ text-align:left; }
  .aa-chapter-nav .aa-cn-all{ order:3; }
  .aa-cn-spacer{ display:none; }
}

/* ---------- medium switch (English / हिंदी) -------------- */

/* Sits directly above the chapter nav on a chapter, and directly under the
   intro paragraph on a hub. It is a switch of *edition*, not a move through
   the book, so it is visually a separate control from .aa-chapter-nav rather
   than a fourth button inside it. */
.aa-medium-switch{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:26px 0 6px;
  padding:11px 14px;
  border:1px solid var(--aa-line);
  border-radius:12px;
  background:#fff;
}
.aa-ms-lbl{
  font-size:11.5px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--aa-muted);
  margin-right:2px;
}
.aa-ms-item{
  display:inline-block;
  padding:6px 14px;
  border-radius:999px;
  font-size:14px;
  font-weight:650;
  line-height:1.5;
  text-decoration:none;
  border:1px solid var(--aa-line);
  background:#fff;
  color:var(--aa-ink-soft);
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
a.aa-ms-item:hover{
  border-color:#c7cbf0;
  background:var(--aa-primary-soft);
  color:var(--aa-primary-dark);
}
/* The current medium is a label, not a link — it must not look clickable, but
   it still has to read as the selected one rather than the disabled one. */
.aa-ms-item.is-current{
  background:var(--aa-primary);
  border-color:var(--aa-primary);
  color:#fff;
  cursor:default;
}

.entry-content .aa-medium-switch{ margin-top:22px; }

@media (max-width:600px){
  .aa-medium-switch{
    padding:10px 12px;
    gap:7px;
  }
  .aa-ms-lbl{ width:100%; margin-bottom:1px; }
}


/* ============================================================
   ANSHUL ACADEMY — MASTER CUSTOM CSS, parts 2 and 3
   (part 1 is anshul-academy-chrome.css, above)
   2) anshul-academy-index.css   — .aa-index hub page component
   3) notes-web.css (from the study-notes-maker skill) — .aa-notes
      chapter styling. This part is REGENERATED by the skill and
      pasted in verbatim; do not hand-edit it, edit the skill's
      assets/notes.css instead and rebuild. See
      reference_study_notes_maker_on_anshul_academy memory.
   ============================================================ */


/* ============================================================
   Anshul Academy — hub page index component (.aa-index)
   Mirrors Criss Cross's .cc-index (see project_crisscross_design_system
   memory): numbered badge via CSS counter, title + muted description,
   full-row hover, .is-plain variant for "not live yet" rows.
   Uses the same indigo/violet palette as the .aa-notes chapter system
   so hub pages and chapter pages read as one product.
   ============================================================ */

.aa-index{
  list-style:none;
  margin:22px 0;
  padding:0;
  border:1px solid #e2e8f8;
  border-radius:14px;
  overflow:hidden;
  counter-reset:aa-idx;
  background:#fff;
}
.aa-index li{
  counter-increment:aa-idx;
  list-style:none;
  border-bottom:1px solid #eef1fb;
}
.aa-index li:last-child{ border-bottom:none; }

/* Grid, not flex. The markup has no wrapper around the title and
   description — as flex items they became siblings in a row, so
   "Chapter 1" sat beside the title and both wrapped into each other
   on a narrow screen. Grid stacks them in column 2 while the badge
   spans both rows. */
.aa-index li > a,
.aa-index li > span.aa-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  column-gap:14px;
  row-gap:2px;
  padding:14px 18px;
  text-decoration:none;
  color:inherit;
  transition:background .15s ease;
}
.aa-index li > a{ cursor:pointer; }
.aa-index li > a:hover{ background:#f5f5ff; }
.aa-index li > a:hover .aa-t{ color:#4338ca; }

.aa-index li > a::before,
.aa-index li > span.aa-row::before{
  content:counter(aa-idx);
  grid-column:1;
  grid-row:1 / span 2;
  align-self:center;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#4f46e5;
  color:#fff;
  font-weight:700;
  font-size:13px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.aa-index .aa-t{
  grid-column:2;
  font-weight:600;
  line-height:1.35;
  color:#1e1b4b;
  transition:color .15s ease;
  text-wrap:pretty;
}
.aa-index .aa-d{
  grid-column:2;
  display:block;
  font-size:13px;
  line-height:1.4;
  color:#64748b;
  font-weight:400;
}
.aa-index .aa-mark{
  grid-column:3;
  grid-row:1 / span 2;
  align-self:center;
  justify-self:end;
  font-size:12px;
  color:#5f6284;   /* 5.21:1 on the badge tint; #7c7fa0 was 3.44:1 */
  background:#f1f0fb;
  padding:3px 10px;
  border-radius:999px;
  white-space:nowrap;
}

/* "Not live yet" rows — plain grey dot, no link, muted text.
   Matches Criss Cross's .cc-index.is-plain used for dropped chapters;
   here it means "notes not published yet" instead. */
.aa-index.is-plain li > span.aa-row::before{
  content:"";
  width:8px;
  height:8px;
  padding:0;
  background:#cbd5e1;
  margin-left:12px;
  margin-right:12px;
}
.aa-index.is-plain .aa-t{ color:#64748b; font-weight:500; }
.aa-index.is-plain .aa-mark{ background:#f8fafc; color:#94a3b8; }

/* A single index can mix live (linked) and not-yet-live (plain) rows —
   the per-row marker always wins over the list-level default, so
   .is-plain only needs to be set on individual rows in that case. */
.aa-index li.is-plain > span.aa-row::before{
  content:"";
  width:8px;
  height:8px;
  padding:0;
  background:#cbd5e1;
  margin-left:12px;
  margin-right:12px;
}
.aa-index li.is-plain .aa-t{ color:#64748b; font-weight:500; }

@media (max-width:640px){
  .aa-index li > a,
  .aa-index li > span.aa-row{ padding:12px 14px; column-gap:11px; }
  .aa-index li > a::before,
  .aa-index li > span.aa-row::before{ width:28px; height:28px; font-size:12px; }
  /* The medium badge is duplicated by the row's own description on a
     phone; dropping it keeps the title on as few lines as possible. */
  .aa-index .aa-mark{ display:none; }
}

/* ============================================================
   Medium groups on a medium-neutral subject hub.

   The neutral hub carries both editions of the same book. A flat
   list would interleave them — Chapter 1 twice, Chapter 2 twice —
   so each medium becomes its own headed section with its own
   .aa-index list and its own way through to that medium's hub.
   ============================================================ */

.aa-mgroup{ margin:30px 0; }
.aa-mgroup:first-of-type{ margin-top:22px; }
.aa-mgroup .aa-index{ margin-top:12px; }

.aa-mgroup-h{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
  font-size:19px;
  font-weight:750;
  line-height:1.35;
  color:#1f2437;
}
/* The count is secondary to the language name — it answers "is it worth
   opening" after the reader has already found their own medium. */
.aa-mgroup-n{
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#626b86;
  background:#eef2ff;
  border-radius:999px;
  padding:3px 10px;
}
.aa-mgroup-more{
  margin:10px 0 0;
  font-size:14.5px;
  font-weight:650;
}
.aa-mgroup-more a{
  color:#4338ca;
  text-decoration:none;
}
.aa-mgroup-more a:hover{ text-decoration:underline; }

/* ==================== skill-generated notes-web.css below ==================== */

/* ============================================================
   study-notes-maker — colourful student workbook stylesheet
   Print target: A4. Every colour is print-safe (Chromium is run
   with print_background=True so tints and bars survive to PDF).
   ============================================================ */.aa-notes /* ---------- fonts (paths are rewritten by build_pdf.py) ---------- */
@font-face{font-family:'Baloo 2';src:url('https://anshulacademy.in/wp-content/uploads/aa-fonts/baloo2-latin-600.woff2') format('woff2');font-weight:600;unicode-range:U+0000-024F,U+2000-206F,U+20B9;}
@font-face{font-family:'Baloo 2';src:url('https://anshulacademy.in/wp-content/uploads/aa-fonts/baloo2-600.woff2') format('woff2');font-weight:600;}
@font-face{font-family:'Baloo 2';src:url('https://anshulacademy.in/wp-content/uploads/aa-fonts/baloo2-latin-700.woff2') format('woff2');font-weight:700;unicode-range:U+0000-024F,U+2000-206F,U+20B9;}
@font-face{font-family:'Baloo 2';src:url('https://anshulacademy.in/wp-content/uploads/aa-fonts/baloo2-700.woff2') format('woff2');font-weight:700;}
@font-face{font-family:'NotoDev';src:url('https://anshulacademy.in/wp-content/uploads/aa-fonts/notosansdev-latin-400.woff2') format('woff2');font-weight:400;unicode-range:U+0000-024F,U+2000-206F,U+20B9;}
@font-face{font-family:'NotoDev';src:url('https://anshulacademy.in/wp-content/uploads/aa-fonts/notosansdev-400.woff2') format('woff2');font-weight:400;}
@font-face{font-family:'NotoDev';src:url('https://anshulacademy.in/wp-content/uploads/aa-fonts/notosansdev-latin-500.woff2') format('woff2');font-weight:500;unicode-range:U+0000-024F,U+2000-206F,U+20B9;}
@font-face{font-family:'NotoDev';src:url('https://anshulacademy.in/wp-content/uploads/aa-fonts/notosansdev-500.woff2') format('woff2');font-weight:500;}
@font-face{font-family:'NotoDev';src:url('https://anshulacademy.in/wp-content/uploads/aa-fonts/notosansdev-latin-700.woff2') format('woff2');font-weight:700;unicode-range:U+0000-024F,U+2000-206F,U+20B9;}
@font-face{font-family:'NotoDev';src:url('https://anshulacademy.in/wp-content/uploads/aa-fonts/notosansdev-700.woff2') format('woff2');font-weight:700;}.aa-notes{
  --ink:#1e2438; --ink-soft:#4a5169; --line:#e3e7f2;
  --indigo:#4f46e5; --indigo-t:#eef0ff;
  --teal:#0d9488;   --teal-t:#e6f7f4;
  --amber:#d97706;  --amber-t:#fff5e2;
  --rose:#e11d48;   --rose-t:#ffeef2;
  --green:#059669;  --green-t:#e7f8f0;
  --violet:#7c3aed; --violet-t:#f3edff;
  --sky:#0284c7;    --sky-t:#e6f4fd;
  --pink:#db2777;   --pink-t:#fdeef6;
}.aa-notes /* Page margins are set by build_pdf.py,.aa-notes not here — a margin in @page would
   override the ones passed to Chromium and the header/footer would collide
   with the content. */


*{box-sizing:border-box;}.aa-notes{
  font-family:'NotoDev','DejaVu Sans',sans-serif;
  color:var(--ink); font-size:11.2pt; line-height:1.62;
  margin:0; -webkit-print-color-adjust:exact; print-color-adjust:exact;
}.aa-notes p{margin:.45em 0 .7em;orphans:2;widows:2;}.aa-notes strong,.aa-notes b{font-weight:700;color:#141a2e;}.aa-notes .hl{background:#ffe27a;border-radius:4px;padding:1.5px 5px;font-weight:600;
  box-decoration-break:clone;-webkit-box-decoration-break:clone;}.aa-notes /* ---------- cover banner ---------- */
.hero{
  background:linear-gradient(135deg,var(--indigo) 0%,#7c3aed 55%,#0ea5e9 100%);
  color:#fff;border-radius:20px;padding:26px 28px 24px;margin-bottom:20px;
}.aa-notes .hero .crumb{font-size:9.5pt;letter-spacing:.14em;text-transform:uppercase;opacity:.92;font-weight:700;}.aa-notes .hero h1{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;font-size:27pt;line-height:1.15;margin:6px 0 10px;}.aa-notes .hero .meta{display:flex;flex-wrap:wrap;gap:7px;}.aa-notes .hero .meta span{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.42);
  border-radius:999px;padding:3px 12px;font-size:9.5pt;font-weight:500;}.aa-notes /* ---------- headings ---------- */
h2{
  font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;font-size:16.5pt;
  color:var(--indigo);margin:22px 0 10px;padding:7px 14px;
  background:var(--indigo-t);border:1.5px solid #d5d8f8;border-radius:12px;
  break-after:avoid;
}.aa-notes h3{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:600;font-size:13pt;color:#31374f;
  margin:16px 0 6px;break-after:avoid;}.aa-notes h2 .n{display:inline-block;background:var(--indigo);color:#fff;border-radius:8px;
  min-width:26px;text-align:center;padding:0 7px;margin-right:8px;font-size:13pt;}.aa-notes /* ---------- lists ---------- */
ul,.aa-notes ol{margin:.35em 0 .8em;padding-left:1.3em;}.aa-notes li{margin:.28em 0;}.aa-notes ul{list-style:none;padding-left:1.35em;}.aa-notes ul li{position:relative;}.aa-notes ul li::before{content:"";position:absolute;left:-1.05em;top:.52em;width:7px;height:7px;
  border-radius:50%;background:var(--teal);}.aa-notes ol li::marker{color:var(--indigo);font-weight:700;}.aa-notes /* ---------- callout boxes ---------- */
.box{border-radius:14px;padding:13px 16px 12px;margin:12px 0;border:1.5px solid;break-inside:avoid;}.aa-notes .box .lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;font-size:10.5pt;
  letter-spacing:.04em;text-transform:uppercase;display:block;margin-bottom:4px;}.aa-notes .box p:last-child,.aa-notes .box ul:last-child,.aa-notes .box ol:last-child{margin-bottom:0;}.aa-notes /* Definitions get a heavier frame and a badge,.aa-notes because they are the one thing
   in the notes a student has to reproduce word-perfect in the exam. */
.define{background:var(--sky-t); border-color:#69b8e8; border-width:2.5px;
  position:relative; margin-top:19px; padding-top:15px;}.aa-notes .define  .lbl{color:var(--sky);}.aa-notes .define .tagline{position:absolute;top:-12px;right:14px;background:var(--sky);color:#fff;
  font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;font-size:8.8pt;letter-spacing:.03em;
  border-radius:999px;padding:2.5px 12px;}.aa-notes /* all definitions gathered in one place at the end of the chapter */
.deflist{background:#f2f9ff;border:2px solid var(--sky);border-radius:16px;padding:14px 18px 10px;margin:18px 0;}.aa-notes .deflist .lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--sky);
  font-size:13pt;display:block;margin-bottom:4px;}.aa-notes .deflist .dfrow{display:flex;gap:12px;padding:7px 0;border-top:1px dashed #bae0f8;font-size:10.1pt;}.aa-notes .deflist .dfrow:first-of-type{border-top:none;}.aa-notes .deflist .dfrow b{flex:0 0 31%;color:#075985;font-family:'Baloo 2','NotoDev',sans-serif;font-size:10.6pt;
  line-height:1.35;}.aa-notes .formula{background:var(--violet-t);border-color:#dbc9fb; text-align:center;}.aa-notes .formula .lbl{color:var(--violet);text-align:left;}.aa-notes .formula .eq{font-size:14pt;font-weight:700;color:#4c1d95;margin:6px 0 2px;letter-spacing:.02em;}.aa-notes .formula .where{font-size:9.8pt;color:var(--ink-soft);}.aa-notes .example{background:var(--green-t); border-color:#b6e6d2;}.aa-notes .example .lbl{color:var(--green);}.aa-notes .tip{background:var(--amber-t); border-color:#fbdda0;}.aa-notes .tip     .lbl{color:var(--amber);}.aa-notes .warn{background:var(--rose-t);  border-color:#fbc3ce;}.aa-notes .warn    .lbl{color:var(--rose);}.aa-notes .trick{background:var(--pink-t);  border-color:#f9c6e0;}.aa-notes .trick   .lbl{color:var(--pink);}.aa-notes .trick .mn{font-family:'Baloo 2','NotoDev',sans-serif;font-size:13pt;font-weight:700;color:#9d174d;}.aa-notes /* ---------- "what you will learn" ---------- */
.learn{background:#fbfcff;border:2px dashed var(--indigo);border-radius:16px;
  padding:14px 18px;margin:0 0 18px;break-inside:avoid;}.aa-notes .learn .lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--indigo);
  font-size:12pt;display:block;margin-bottom:4px;}.aa-notes .learn ul li::before{background:var(--violet);}.aa-notes /* ---------- keyword chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 14px;}.aa-notes .chips span{background:var(--teal-t);color:#0b6b62;border:1px solid #a7dcd5;
  border-radius:999px;padding:3px 12px;font-size:9.8pt;font-weight:500;}.aa-notes /* ---------- flowchart (vertical) ---------- */
.flow{margin:14px 0;break-inside:avoid;}.aa-notes .flow .step{background:#fff;border:2px solid var(--indigo);border-radius:12px;
  padding:9px 14px;text-align:center;font-weight:500;font-size:10.6pt;position:relative;}.aa-notes .flow .step .t{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--indigo);
  display:block;font-size:11pt;}.aa-notes .flow .step.alt{border-color:var(--teal);}.aa-notes .flow .step.alt .t{color:var(--teal);}.aa-notes .flow .arrow{text-align:center;color:var(--violet);font-size:16pt;line-height:1;margin:3px 0;font-weight:700;}.aa-notes /* ---------- flowchart (horizontal chain) ---------- */
.chain{display:flex;align-items:stretch;gap:6px;margin:14px 0;break-inside:avoid;}.aa-notes .chain .node{flex:1;background:var(--indigo-t);border:2px solid var(--indigo);border-radius:12px;
  padding:9px 8px;text-align:center;font-size:10pt;font-weight:500;display:flex;
  flex-direction:column;justify-content:center;}.aa-notes .chain .node b{display:block;font-family:'Baloo 2','NotoDev',sans-serif;color:var(--indigo);font-size:10.8pt;}.aa-notes .chain .node:nth-child(4n+3){background:var(--teal-t);border-color:var(--teal);}.aa-notes .chain .node:nth-child(4n+3) b{color:var(--teal);}.aa-notes .chain .arrow{display:flex;align-items:center;color:var(--violet);font-size:15pt;font-weight:700;}.aa-notes /* ---------- cycle / numbered process cards ---------- */
.cards{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0;break-inside:avoid;}.aa-notes .cards .card{flex:1 1 44%;background:#fff;border:1.5px solid var(--line);border-radius:14px;
  padding:11px 13px;position:relative;}.aa-notes .cards .card .num{position:absolute;top:-10px;left:12px;background:var(--violet);color:#fff;
  width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:10pt;}.aa-notes .cards .card h4{margin:8px 0 3px;font-family:'Baloo 2','NotoDev',sans-serif;font-size:11pt;color:#31374f;}.aa-notes .cards .card p{margin:0;font-size:10.2pt;}.aa-notes /* ---------- comparison ---------- */
.compare{display:flex;gap:10px;margin:14px 0;break-inside:avoid;}.aa-notes .compare>div{flex:1;border-radius:14px;padding:12px 14px;border:1.5px solid;}.aa-notes .compare .a{background:var(--sky-t);border-color:#bae0f8;}.aa-notes .compare .b{background:var(--amber-t);border-color:#fbdda0;}.aa-notes .compare h4{margin:0 0 5px;font-family:'Baloo 2','NotoDev',sans-serif;font-size:11.5pt;}.aa-notes .compare .a h4{color:var(--sky);}.aa-notes .compare .b h4{color:var(--amber);}.aa-notes /* ---------- tables ---------- */
table{width:100%;border-collapse:separate;border-spacing:0;margin:13px 0;font-size:10.3pt;
  border:1.5px solid var(--line);border-radius:12px;overflow:hidden;}.aa-notes thead{display:table-header-group;}.aa-notes tr{break-inside:avoid;}.aa-notes th{background:var(--indigo);color:#fff;font-family:'Baloo 2','NotoDev',sans-serif;font-weight:600;
  text-align:left;padding:8px 11px;font-size:10.5pt;}.aa-notes td{padding:7px 11px;border-top:1px solid var(--line);vertical-align:top;}.aa-notes tbody tr:nth-child(even) td{background:#f8f9fe;}.aa-notes /* ============================================================
   INFOGRAPHIC BLOCKS
   ============================================================ */

/* ---------- chapter map (opens every chapter) ---------- */
.map{background:linear-gradient(135deg,#f5f3ff 0%,#eef2ff 50%,#ecfeff 100%);
  border:2px solid var(--violet);border-radius:18px;padding:14px 16px 16px;margin:0 0 18px;break-inside:avoid;}.aa-notes .map>.lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--violet);
  font-size:12pt;display:block;text-align:center;margin-bottom:6px;}.aa-notes .map .hub{background:var(--violet);color:#fff;border-radius:999px;padding:6px 22px;
  font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;font-size:12.5pt;text-align:center;
  display:table;margin:0 auto;}.aa-notes .map .stem{width:3px;height:13px;background:var(--violet);margin:0 auto;}.aa-notes .map .rail{height:3px;background:var(--violet);border-radius:2px;margin:0 6% 10px;}.aa-notes .map .branches{display:flex;flex-wrap:wrap;gap:8px;}.aa-notes .map .branch{flex:1 1 29%;background:var(--violet-t);border:1.5px solid #ddd2fa;
  border-radius:10px;padding:8px 10px 9px;font-size:9.7pt;line-height:1.45;position:relative;}.aa-notes .map .branch b{display:block;font-family:'Baloo 2','NotoDev',sans-serif;color:var(--violet);
  font-size:10.6pt;margin-bottom:1px;}.aa-notes .map .branch:nth-child(3n+2){background:var(--teal-t);border-color:#bfe6df;}.aa-notes .map .branch:nth-child(3n+2) b{color:var(--teal);}.aa-notes .map .branch:nth-child(3n+3){background:var(--amber-t);border-color:#f0dcb2;}.aa-notes .map .branch:nth-child(3n+3) b{color:var(--amber);}.aa-notes /* ---------- mind map (hub in the middle,.aa-notes branches on both sides) ---------- */
.mindmap{background:linear-gradient(135deg,#f7f5ff 0%,#eef4ff 55%,#ecfeff 100%);
  border:2px solid var(--violet);border-radius:18px;padding:13px 16px 15px;margin:0 0 18px;break-inside:avoid;}.aa-notes .mindmap>.lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--violet);
  font-size:12pt;display:block;text-align:center;margin-bottom:8px;}.aa-notes .mmgrid{display:grid;grid-template-columns:1fr 128px 1fr;align-items:center;}.aa-notes .mmcol{position:relative;padding-right:34px;}.aa-notes .mmcol.right{padding-right:0;padding-left:34px;}.aa-notes .mmcol::before{content:"";position:absolute;top:16%;bottom:16%;right:17px;width:2.5px;
  background:var(--violet);border-radius:2px;}.aa-notes .mmcol.right::before{right:auto;left:17px;}.aa-notes .mmnode{position:relative;background:var(--violet-t);border:1.5px solid #ddd2fa;
  border-radius:10px;padding:7px 10px;margin:8px 0;font-size:9.4pt;line-height:1.42;}.aa-notes .mmnode b{display:block;font-family:'Baloo 2','NotoDev',sans-serif;color:var(--violet);font-size:10.3pt;}.aa-notes .mmnode::after{content:"";position:absolute;top:50%;right:-17px;width:17px;height:2.5px;background:var(--violet);}.aa-notes .mmcol.right .mmnode::after{right:auto;left:-17px;}.aa-notes .mmcol .mmnode:nth-child(3n+2){background:var(--teal-t);border-color:#bfe6df;}.aa-notes .mmcol .mmnode:nth-child(3n+2) b{color:var(--teal);}.aa-notes .mmcol .mmnode:nth-child(3n+2)::after{background:var(--teal);}.aa-notes .mmcol .mmnode:nth-child(3n+3){background:var(--amber-t);border-color:#f0dcb2;}.aa-notes .mmcol .mmnode:nth-child(3n+3) b{color:var(--amber);}.aa-notes .mmcol .mmnode:nth-child(3n+3)::after{background:var(--amber);}.aa-notes .mmcore{background:var(--violet);color:#fff;border-radius:16px;padding:15px 9px;text-align:center;
  font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;font-size:12pt;line-height:1.25;position:relative;}.aa-notes .mmcore::before,.aa-notes .mmcore::after{content:"";position:absolute;top:50%;width:17px;height:2.5px;background:var(--violet);}.aa-notes .mmcore::before{left:-17px;}.aa-notes .mmcore::after{right:-17px;}.aa-notes /* ---------- classification / hierarchy tree ---------- */
.tree{margin:14px 0;break-inside:avoid;text-align:center;}.aa-notes .tree .root{display:table;margin:0 auto;background:var(--indigo);color:#fff;border-radius:12px;
  padding:7px 20px;font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;font-size:12pt;}.aa-notes .tree .stem{width:3px;height:12px;background:var(--indigo);margin:0 auto;}.aa-notes .tree .rail{height:3px;background:var(--indigo);border-radius:2px;margin:0 8%;}.aa-notes .tree .level{display:flex;gap:8px;justify-content:center;align-items:stretch;margin-top:0;}.aa-notes .tree .tnode{flex:1;position:relative;padding-top:12px;}.aa-notes .tree .tnode::before{content:"";position:absolute;top:0;left:50%;width:3px;height:12px;background:var(--indigo);}.aa-notes .tree .tnode .n{display:block;background:var(--indigo-t);border:1.5px solid var(--indigo);border-radius:11px;
  padding:8px 9px;font-size:10pt;height:100%;}.aa-notes .tree .tnode .n b{display:block;font-family:'Baloo 2','NotoDev',sans-serif;color:var(--indigo);font-size:10.8pt;}.aa-notes .tree .tnode:nth-child(2n) .n{background:var(--teal-t);border-color:var(--teal);}.aa-notes .tree .tnode:nth-child(2n) .n b{color:var(--teal);}.aa-notes .tree .tnode:nth-child(3n) .n{background:var(--amber-t);border-color:var(--amber);}.aa-notes .tree .tnode:nth-child(3n) .n b{color:var(--amber);}.aa-notes /* ---------- cycle (3x3 grid,.aa-notes arrows go round) ---------- */
.cycle{display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:auto auto auto;
  gap:6px;align-items:center;justify-items:center;margin:14px 0;break-inside:avoid;}.aa-notes .cycle .cnode{background:var(--sky-t);border:2px solid var(--sky);border-radius:12px;padding:8px 10px;
  font-size:9.8pt;text-align:center;width:100%;}.aa-notes .cycle .cnode b{display:block;font-family:'Baloo 2','NotoDev',sans-serif;color:var(--sky);font-size:10.6pt;}.aa-notes .cycle .cnode:nth-child(4n+3){background:var(--green-t);border-color:var(--green);}.aa-notes .cycle .cnode:nth-of-type(2n) b{color:var(--green);}.aa-notes .cycle .car{color:var(--violet);font-size:17pt;font-weight:700;line-height:1;}.aa-notes .cycle .hubc{background:var(--violet);color:#fff;border-radius:50%;width:74px;height:74px;
  display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;
  font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;font-size:9.6pt;line-height:1.2;}.aa-notes /* ---------- venn ---------- */
.venn{position:relative;height:150px;margin:16px 0 8px;break-inside:avoid;}.aa-notes .venn .c{position:absolute;top:0;width:200px;height:150px;border-radius:50%;display:flex;
  flex-direction:column;justify-content:center;padding:0 14px;font-size:9.4pt;line-height:1.35;}.aa-notes .venn .c b{font-family:'Baloo 2','NotoDev',sans-serif;font-size:10.6pt;display:block;margin-bottom:2px;}.aa-notes .venn .c1{left:50%;margin-left:-175px;background:rgba(2,132,199,.22);border:2px solid var(--sky);
  text-align:left;padding-right:84px;}.aa-notes .venn .c1 b{color:#075985;}.aa-notes .venn .c2{left:50%;margin-left:-25px;background:rgba(217,119,6,.22);border:2px solid var(--amber);
  text-align:right;padding-left:84px;}.aa-notes .venn .c2 b{color:#92400e;}.aa-notes .venn .mid{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:104px;
  text-align:center;font-size:8.6pt;font-weight:700;color:#3f2d05;z-index:3;line-height:1.3;
  background:rgba(255,255,255,.88);border-radius:10px;padding:5px 4px;}.aa-notes /* ---------- timeline ---------- */
.timeline{position:relative;margin:14px 0 14px 6px;padding-left:20px;}.aa-notes .timeline .ev::after{content:"";position:absolute;left:-14.5px;top:0;bottom:-10px;width:3px;
  background:var(--violet);border-radius:2px;}.aa-notes .timeline .ev:last-child::after{bottom:50%;}.aa-notes .timeline .ev{position:relative;margin:0 0 10px;background:#fff;border:1.5px solid var(--line);
  border-radius:10px;padding:7px 12px;font-size:10pt;}.aa-notes .timeline .ev::before{content:"";position:absolute;left:-19px;top:12px;width:11px;height:11px;
  border-radius:50%;background:var(--violet);border:2.5px solid #fff;}.aa-notes .timeline .ev b{font-family:'Baloo 2','NotoDev',sans-serif;color:var(--violet);display:block;font-size:10.6pt;}.aa-notes .timeline .ev:nth-child(2n){border-color:#bae0f8;}.aa-notes .timeline .ev:nth-child(2n)::before{background:var(--sky);}.aa-notes .timeline .ev:nth-child(2n)::after{background:var(--sky);}.aa-notes .timeline .ev:nth-child(2n) b{color:var(--sky);}.aa-notes /* ---------- pyramid ---------- */
.pyramid{margin:14px auto;text-align:center;break-inside:avoid;}.aa-notes .pyramid div{margin:3px auto;color:#fff;border-radius:8px;padding:7px 10px;font-size:10pt;font-weight:500;
  font-family:'Baloo 2','NotoDev',sans-serif;}.aa-notes .pyramid div:nth-child(1){width:42%;background:var(--rose);}.aa-notes .pyramid div:nth-child(2){width:58%;background:var(--amber);}.aa-notes .pyramid div:nth-child(3){width:76%;background:var(--teal);}.aa-notes .pyramid div:nth-child(4){width:94%;background:var(--green);}.aa-notes .pyramid div:nth-child(5){width:100%;background:var(--indigo);}.aa-notes /* ---------- comparison bars (needs style="--w:70%") ---------- */
.bars{margin:14px 0;break-inside:avoid;}.aa-notes .bars .bar{display:flex;align-items:center;gap:9px;margin:6px 0;font-size:10pt;}.aa-notes .bars .bl{flex:0 0 30%;text-align:right;font-weight:500;}.aa-notes .bars .bt{flex:1;background:#eef0f7;border-radius:7px;height:23px;position:relative;
  display:flex;align-items:center;justify-content:flex-end;padding-right:9px;}.aa-notes .bars .bt::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--w,50%);
  background:linear-gradient(90deg,var(--indigo),#8b5cf6);border-radius:7px;}.aa-notes .bars .bv{position:relative;z-index:2;color:#3b3f57;font-size:9.3pt;font-weight:700;}.aa-notes .bars .bar:nth-child(2n) .bt::before{background:linear-gradient(90deg,var(--teal),#22c55e);}.aa-notes /* ---------- do / don't ---------- */
.dodont{display:flex;gap:10px;margin:14px 0;break-inside:avoid;}.aa-notes .dodont>div{flex:1;border-radius:14px;padding:11px 14px;border:1.5px solid;}.aa-notes .dodont .do{background:var(--green-t);border-color:#b6e6d2;}.aa-notes .dodont .dont{background:var(--rose-t);border-color:#fbc3ce;}.aa-notes .dodont h4{margin:0 0 4px;font-family:'Baloo 2','NotoDev',sans-serif;font-size:11.3pt;}.aa-notes .dodont .do h4{color:var(--green);}.aa-notes .dodont .dont h4{color:var(--rose);}.aa-notes .dodont .do ul li::before{background:var(--green);}.aa-notes .dodont .dont ul li::before{background:var(--rose);}.aa-notes /* ---------- fact tiles ---------- */
.facts{display:flex;gap:9px;margin:14px 0;break-inside:avoid;}.aa-notes .facts .f{flex:1;text-align:center;border-radius:14px;padding:11px 8px;border:1.5px solid var(--line);
  background:#fbfcff;}.aa-notes .facts .f .big{display:block;font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;
  font-size:19pt;line-height:1.1;color:var(--indigo);}.aa-notes .facts .f span.cap{font-size:9.3pt;color:var(--ink-soft);}.aa-notes .facts .f:nth-child(2n) .big{color:var(--teal);}.aa-notes .facts .f:nth-child(3n) .big{color:var(--amber);}.aa-notes /* ============================================================
   MATHS · SCIENCE · ECONOMICS
   Maths is set with KaTeX (bundled): write $x^2$ inline and $$...$$
   for display. Chemistry uses mhchem: $\ce{2H2 + O2 -> 2H2O}.aa-notes $.
   ============================================================ */

/* KaTeX sizing — a shade larger than body text so powers stay legible in print */
.katex{font-size:1.06em;}.aa-notes .formula .katex-display{margin:.35em 0;}.aa-notes .katex-display>.katex{font-size:1.18em;}.aa-notes .katex-display{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:2px;}.aa-notes /* ---------- numbered display equation ---------- */
.eqn{display:flex;align-items:center;gap:12px;margin:12px 0;break-inside:avoid;}.aa-notes .eqn .body{flex:1;background:var(--violet-t);border:1.5px solid #dbc9fb;border-radius:12px;
  padding:9px 14px;text-align:center;}.aa-notes .eqn .num{flex:0 0 auto;font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;
  color:var(--violet);font-size:11pt;}.aa-notes /* ---------- symbol legend (symbol · meaning · unit) ---------- */
.symbols{background:#fbfcff;border:1.5px solid var(--line);border-radius:14px;
  padding:12px 16px 8px;margin:13px 0;break-inside:avoid;}.aa-notes .symbols .lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--indigo);
  font-size:11pt;display:block;margin-bottom:4px;}.aa-notes .symbols .row{display:flex;gap:12px;align-items:baseline;padding:5px 0;
  border-top:1px dashed var(--line);font-size:10.2pt;}.aa-notes .symbols .row:first-of-type{border-top:none;}.aa-notes .symbols .sym{flex:0 0 20%;color:var(--violet);font-weight:700;}.aa-notes .symbols .mean{flex:1;}.aa-notes .symbols .unit{flex:0 0 26%;color:var(--ink-soft);text-align:right;}.aa-notes /* ---------- derivation / step-by-step working ---------- */
.deriv{counter-reset:dstep;margin:13px 0;break-inside:avoid;}.aa-notes .deriv .st{display:flex;gap:12px;align-items:flex-start;padding:8px 0;
  border-top:1px dashed var(--line);}.aa-notes .deriv .st:first-child{border-top:none;}.aa-notes .deriv .st::before{counter-increment:dstep;content:counter(dstep);flex:0 0 auto;
  width:23px;height:23px;border-radius:50%;background:var(--indigo);color:#fff;
  font-size:9.6pt;font-weight:700;display:flex;align-items:center;justify-content:center;
  margin-top:2px;}.aa-notes .deriv .work{flex:1;font-size:10.6pt;}.aa-notes .deriv .why{flex:0 0 38%;font-size:9.7pt;color:var(--ink-soft);font-style:italic;}.aa-notes /* ---------- solved numerical: given / find / solution ---------- */
.given{display:flex;gap:10px;margin:11px 0 6px;break-inside:avoid;}.aa-notes .given>div{flex:1;border-radius:12px;padding:9px 13px;font-size:10.3pt;border:1.5px solid;}.aa-notes .given .g{background:var(--sky-t);border-color:#bae0f8;}.aa-notes .given .f{background:var(--amber-t);border-color:#fbdda0;}.aa-notes .given h5{margin:0 0 3px;font-family:'Baloo 2','NotoDev',sans-serif;font-size:10.4pt;}.aa-notes .given .g h5{color:var(--sky);}.aa-notes .given .f h5{color:var(--amber);}.aa-notes /* ---------- graph figure caption tweak ---------- */
figure.graph img{border:none;max-height:88mm;}.aa-notes /* a chart inlined as real SVG is not an <img>,.aa-notes so it needs the same cap
   or it claims its full intrinsic width and pushes a page break */
figure.graph svg{max-width:100%;max-height:88mm;height:auto;display:block;margin:0 auto;}.aa-notes /* ---------- did you know ---------- */
.didyou{background:var(--teal-t);border:2px solid var(--teal);border-radius:14px;
  padding:12px 16px 12px 52px;margin:13px 0;position:relative;break-inside:avoid;font-size:10.3pt;}.aa-notes .didyou::before{content:"?";position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;background:var(--teal);color:#fff;
  font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;font-size:15pt;
  display:flex;align-items:center;justify-content:center;}.aa-notes .didyou .lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--teal);
  display:block;font-size:10.5pt;}.aa-notes .didyou p{margin:1px 0 0;}.aa-notes /* ---------- pull quote / key statement ---------- */
.quote{position:relative;background:#faf8ff;border:1.5px solid #e3d9fb;border-radius:14px;
  padding:12px 18px 12px 44px;margin:14px 0;break-inside:avoid;}.aa-notes .quote::before{content:"\201C";position:absolute;left:14px;top:4px;font-family:'Baloo 2','NotoDev',sans-serif;
  font-size:30pt;line-height:1;color:var(--violet);opacity:.5;}.aa-notes .quote p{margin:0;font-size:11.6pt;line-height:1.5;color:#3b2d63;font-weight:500;font-style:italic;}.aa-notes .quote .src{display:block;margin-top:5px;font-style:normal;font-size:9.4pt;color:var(--ink-soft);}.aa-notes /* ---------- self-check list ---------- */
.checklist{background:#fffdf7;border:2px dashed var(--amber);border-radius:16px;
  padding:13px 18px;margin:16px 0;break-inside:avoid;}.aa-notes .checklist .lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--amber);
  font-size:12pt;display:block;margin-bottom:5px;}.aa-notes .checklist ul{padding-left:1.9em;}.aa-notes .checklist ul li::before{content:"";width:13px;height:13px;border-radius:3px;background:#fff;
  border:2px solid var(--amber);left:-1.55em;top:.36em;}.aa-notes /* ---------- match the following ---------- */
.matchup{display:flex;gap:10px;margin:14px 0;break-inside:avoid;}.aa-notes .matchup>div{flex:1;border:1.5px solid var(--line);border-radius:14px;padding:11px 14px;background:#fbfcff;}.aa-notes .matchup h4{margin:0 0 5px;font-family:'Baloo 2','NotoDev',sans-serif;font-size:11pt;color:var(--indigo);}.aa-notes .matchup ol{padding-left:1.4em;font-size:10.1pt;}.aa-notes .matchup .b h4{color:var(--teal);}.aa-notes .matchup .b ol{list-style:upper-alpha;}.aa-notes .matchup .b ol li::marker{color:var(--teal);font-weight:700;}.aa-notes /* ---------- number line ---------- */
.numline{position:relative;margin:22px 0 26px;height:3px;background:var(--indigo);border-radius:2px;}.aa-notes .numline .pt{position:absolute;top:-6px;transform:translateX(-50%);width:15px;height:15px;
  border-radius:50%;background:#fff;border:3px solid var(--indigo);}.aa-notes .numline .pt .lab{position:absolute;top:17px;left:50%;transform:translateX(-50%);
  font-size:9.3pt;white-space:nowrap;color:var(--ink);font-weight:500;}.aa-notes .numline .pt.hi{background:var(--amber);border-color:var(--amber);}.aa-notes /* ---------- image slot ---------- */
figure{margin:14px 0;text-align:center;break-inside:avoid;}.aa-notes figure img{max-width:100%;max-height:92mm;border-radius:14px;border:1.5px solid var(--line);}.aa-notes figcaption{font-size:9.8pt;color:var(--ink-soft);margin-top:6px;font-style:italic;}.aa-notes figcaption b{color:var(--indigo);font-style:normal;}.aa-notes .slot{border:2.5px dashed var(--violet);background:var(--violet-t);border-radius:14px;
  padding:22px 18px;text-align:center;color:#5b21b6;}.aa-notes .slot .tag{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;font-size:12pt;display:block;}.aa-notes .slot .desc{font-size:10pt;margin-top:4px;color:#6d28d9;}.aa-notes /* ---------- hand-drawn SVG diagram ----------
   For apparatus,.aa-notes body parts,.aa-notes geometric figures,.aa-notes physical setups — anything that
   used to need a generated picture. Drawn as inline SVG so it prints sharp,.aa-notes has
   real selectable labels,.aa-notes needs no network,.aa-notes and costs the teacher nothing. */
figure.dgm{background:#fbfcff;border:1.5px solid var(--line);border-radius:16px;
  padding:14px 12px 10px;margin:16px 0;break-inside:avoid;}.aa-notes figure.dgm svg{max-width:100%;max-height:96mm;height:auto;display:block;margin:0 auto;}.aa-notes figure.dgm figcaption{margin-top:9px;}.aa-notes /* label text inside diagrams — keep every diagram's typography identical */
.dgm .dl{font-family:'Baloo 2','NotoDev',sans-serif;font-size:11px;font-weight:600;fill:#1e2438;}.aa-notes .dgm .dl-sm{font-family:'Baloo 2','NotoDev',sans-serif;font-size:9.5px;fill:#4a5169;}.aa-notes .dgm .dl-hi{font-family:'Baloo 2','NotoDev',sans-serif;font-size:11px;font-weight:700;fill:#4f46e5;}.aa-notes .dgm .dstroke{fill:none;stroke:#1e2438;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;}.aa-notes .dgm .dthin{fill:none;stroke:#4a5169;stroke-width:1.2;}.aa-notes .dgm .dlead{fill:none;stroke:#94a3b8;stroke-width:1.2;stroke-dasharray:3 3;}.aa-notes /* ---------- recap & practice ---------- */
.recap{background:linear-gradient(135deg,#ecfdf5,#e0f2fe);border:2px solid var(--green);
  border-radius:16px;padding:15px 18px;margin:18px 0;}.aa-notes .recap .lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--green);
  font-size:13pt;display:block;margin-bottom:6px;}.aa-notes .recap ul li::before{background:var(--green);}.aa-notes .qbank{background:#fffdf7;border:2px solid var(--amber);border-radius:16px;padding:15px 18px;margin:16px 0;}.aa-notes .qbank .lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--amber);
  font-size:13pt;display:block;margin-bottom:6px;}.aa-notes .qbank ol li{margin:.4em 0;}.aa-notes .marks{float:right;background:var(--amber);color:#fff;border-radius:6px;padding:0 7px;font-size:9pt;font-weight:700;}.aa-notes .qbank .opts{display:flex;flex-wrap:wrap;gap:3px 20px;margin:3px 0 4px;font-size:9.9pt;color:var(--ink-soft);}.aa-notes .qbank .opts span{white-space:normal;max-width:100%;}.aa-notes .qbank .stem{display:block;margin-bottom:2px;}.aa-notes /* ---------- answer key ---------- */
.answerkey{background:#f0fdf7;border:2px solid var(--green);border-radius:16px;padding:14px 18px 10px;margin:16px 0;}.aa-notes .answerkey .lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--green);
  font-size:13pt;display:block;margin-bottom:4px;}.aa-notes .answerkey .arow{display:flex;gap:11px;padding:7px 0;border-top:1px dashed #b6e6d2;font-size:10.1pt;}.aa-notes .answerkey .arow:first-of-type{border-top:none;}.aa-notes .answerkey .arow b{flex:0 0 auto;min-width:66px;white-space:nowrap;color:#065f46;
  font-family:'Baloo 2','NotoDev',sans-serif;font-size:10.6pt;}

/* One row per answer. `.arow` above stays right for an ANSWERS-ONLY key
   ("Q1 · (b)"); anything carrying explanations uses `.akgrp`/`.aklist`, so a
   20-question key reads as a numbered list a student can scan instead of one
   run-on paragraph. Added 2026-09-05 after the MCQ-bank answer keys were
   found shipping ~2,400 characters inside a single <span>. */
.aa-notes .answerkey .akgrp{padding:9px 0 5px;border-top:1px dashed #b6e6d2;}
.aa-notes .answerkey .akgrp:first-of-type{border-top:none;}
.aa-notes .answerkey .akhd{display:block;font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;
  color:#065f46;font-size:10.8pt;margin:0 0 4px;}
.aa-notes .answerkey ol.aklist{margin:0;padding:0;list-style:none;counter-reset:ak;}
.aa-notes .answerkey ol.aklist li{counter-increment:ak;position:relative;padding:3.4px 0 3.4px 34px;
  font-size:9.9pt;line-height:1.48;border-top:1px dotted #cdeade;break-inside:avoid;}
.aa-notes .answerkey ol.aklist li:first-child{border-top:none;}
.aa-notes .answerkey ol.aklist li::before{content:counter(ak) ".";position:absolute;left:0;top:3.4px;
  width:26px;text-align:right;color:#0f766e;font-weight:700;font-size:9.6pt;}
.aa-notes .answerkey ol.aklist li>b{color:#047857;font-weight:700;}
.aa-notes /* ---------- assertion–reason ---------- */
.ar{background:var(--sky-t);border:1.5px solid #bae0f8;
  border-radius:12px;padding:9px 14px;margin:9px 0;font-size:10.1pt;break-inside:avoid;}.aa-notes .ar .a,.aa-notes .ar .r{display:block;}.aa-notes .ar .a b,.aa-notes .ar .r b{color:var(--sky);font-family:'Baloo 2','NotoDev',sans-serif;}.aa-notes /* ---------- case study ---------- */
.case{background:#f7f5ff;border:2px solid var(--violet);border-radius:16px;padding:14px 18px;margin:16px 0;}.aa-notes .case .lbl{font-family:'Baloo 2','NotoDev',sans-serif;font-weight:700;color:var(--violet);
  font-size:12.5pt;display:block;margin-bottom:4px;}.aa-notes .case .passage{background:#fff;border:1px solid #ddd6fe;border-radius:11px;padding:11px 14px;
  font-size:10.1pt;font-style:italic;color:#3b2d63;margin-bottom:8px;}.aa-notes /* ---------- misc ---------- */
.page-break{break-before:page;}.aa-notes .avoid-break{break-inside:avoid;}.aa-notes hr{border:none;border-top:2px dotted var(--line);margin:18px 0;}.aa-notes .center{text-align:center;}.aa-notes .small{font-size:9.6pt;color:var(--ink-soft);}

/* ============================================================
   PHONE LAYOUT — almost every student reads these on a phone,
   so anything built as side-by-side columns stacks below 760px.
   ============================================================ */
.aa-notes{max-width:900px;margin:0 auto;padding:0 4px;}
.aa-notes img{max-width:100%;height:auto;}
.aa-notes table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}

@media (max-width:760px){
  .aa-notes{font-size:16px;line-height:1.7;}
  .aa-notes .hero{padding:18px 16px;border-radius:14px;}
  .aa-notes .hero h1{font-size:22pt;}
  .aa-notes h2{font-size:15pt;}

  /* mind map: hub on top, branches in one column, connectors off */
  .aa-notes .mmgrid{display:block;}
  .aa-notes .mmcol,.aa-notes .mmcol.right{padding:0;}
  .aa-notes .mmcol::before,.aa-notes .mmnode::after,
  .aa-notes .mmcore::before,.aa-notes .mmcore::after{display:none;}
  .aa-notes .mmcore{margin:10px auto;width:fit-content;}

  /* every side-by-side block becomes a stack */
  .aa-notes .compare,.aa-notes .dodont,.aa-notes .matchup,.aa-notes .given,
  .aa-notes .chain,.aa-notes .facts,.aa-notes .cards,.aa-notes .tree .level,
  .aa-notes .map .branches{display:block;}
  .aa-notes .compare>div,.aa-notes .dodont>div,.aa-notes .matchup>div,.aa-notes .given>div,
  .aa-notes .chain .node,.aa-notes .facts .f,.aa-notes .cards .card,
  .aa-notes .tree .tnode,.aa-notes .map .branch{width:auto;margin:8px 0;}
  .aa-notes .chain .arrow,.aa-notes .tree .rail,.aa-notes .tree .stem,
  .aa-notes .map .rail,.aa-notes .map .stem{display:none;}
  .aa-notes .tree .tnode{padding-top:0;}
  .aa-notes .tree .tnode::before{display:none;}

  /* cycle: 3x3 grid collapses to a simple ordered stack */
  .aa-notes .cycle{display:block;}
  .aa-notes .cycle .cnode{width:auto;margin:8px 0;}
  .aa-notes .cycle .car{display:block;text-align:center;}
  .aa-notes .cycle .hubc{margin:10px auto;}

  /* venn: two overlapping circles do not survive a narrow screen */
  .aa-notes .venn{height:auto;position:static;}
  .aa-notes .venn .c{position:static;width:auto;height:auto;border-radius:14px;
    margin:8px 0;padding:12px 14px !important;text-align:left !important;}
  .aa-notes .venn .mid{position:static;transform:none;width:auto;margin:8px 0;
    padding:10px 12px;background:#fff7e6;border:1.5px dashed var(--amber);}

  /* derivations and definition lists read better stacked */
  .aa-notes .deriv .st,.aa-notes .deflist .dfrow,.aa-notes .symbols .row,
  .aa-notes .answerkey .arow{display:block;}
  .aa-notes .deriv .why{margin-top:3px;}
  .aa-notes .deflist .dfrow b,.aa-notes .symbols .sym,.aa-notes .answerkey .arow b{display:block;}
  .aa-notes .symbols .unit{text-align:left;}
  .aa-notes .pyramid div{width:auto !important;}
  .aa-notes .eqn{display:block;}
  .aa-notes .eqn .num{display:block;text-align:right;}
  .aa-notes .marks{float:none;display:inline-block;margin-left:6px;}

  /* Type scale. Every component size in this sheet is a PRINT size in pt —
     10.3pt is fine on A4 at reading distance and is 13.7px on a phone held
     at arm's length, which is below what a student can read comfortably.
     The blocks that carry actual reading content go to 15px; labels and
     captions to 13.5px. Without this the body copy is 16px while the boxes
     they actually study from are 13px. */
  .aa-notes table,.aa-notes .given>div,.aa-notes .ar,.aa-notes .timeline .ev,.aa-notes .cards .card p,
  .aa-notes .chain .node,.aa-notes .qbank .opts,.aa-notes .case .passage,.aa-notes .deflist .dfrow,
  .aa-notes .answerkey .arow,.aa-notes .answerkey ol.aklist li,.aa-notes .symbols .row,.aa-notes .matchup ol,.aa-notes .didyou,
  .aa-notes .mmnode,.aa-notes .map .branch,.aa-notes .deriv .why,.aa-notes .formula .where,
  .aa-notes .cycle .cnode,.aa-notes .slot .desc,.aa-notes .venn .c,.aa-notes .venn .mid,
  .aa-notes .pyramid div,.aa-notes .bars .bar,.aa-notes .deriv .work{font-size:15px;}
  .aa-notes figcaption,.aa-notes .small,.aa-notes .marks,.aa-notes .chips span,.aa-notes .quote .src,
  .aa-notes .hero .meta span,.aa-notes .hero .crumb,.aa-notes .facts .f span.cap,
  .aa-notes .define .tagline,.aa-notes .numline .pt .lab,.aa-notes .bars .bv,
  .aa-notes .cards .card .num,.aa-notes .tree .tnode .n,.aa-notes .cycle .hubc{font-size:13.5px;}
  .aa-notes .mmnode b,.aa-notes .given h5,.aa-notes .map .branch b{font-size:15.5px;}

  /* Figures are capped in mm for the printed page. On a phone that cap
     letterboxes a diagram that has already been scaled to fit the width. */
  .aa-notes figure img,.aa-notes figure.graph img,
  .aa-notes figure.dgm svg,.aa-notes figure.graph svg{max-height:none;}
}

/* page-break helpers mean nothing on the web */
.aa-notes .page-break{display:none;}

/* ============================================================
   MOBILE OVERFLOW GUARDS                        (added 2026-08-21)
   A phone must never scroll sideways. Everything below fixes a
   specific element that could push past the viewport; none of it
   hides the symptom with overflow:hidden, which would also kill
   position:sticky and the table scrollers that already work.
   ============================================================ */

/* Long Devanagari compounds and Latin terms in a narrow box.
   break-word, not anywhere: only break when there is no other option. */
.aa-notes{overflow-wrap:break-word;}

/* The number line puts its dots at left:0% .. left:100% and centres a
   nowrap label under each, so the first and last labels hang off both
   edges. Inset the rail and let the end labels wrap instead. */
@media (max-width:760px){
  .aa-notes .numline{margin-left:34px;margin-right:34px;}
  .aa-notes .numline .pt .lab{white-space:normal;width:66px;line-height:1.25;}
}

/* The open mobile menu goes full-bleed by cancelling .inside-header's
   side padding with a -30px margin. That number is GeneratePress's
   mobile default, not something this sheet sets, so if the theme
   setting ever changes the menu overhangs by the difference. Clamp it. */
@media (max-width:768px){
  .has-inline-mobile-toggle #site-navigation.toggled{max-width:100vw;}
}


/* Subject accent override: geography (CONTENT-TYPES.md palette). One-time
   block added when Class 12 Geography chapters began publishing (2026-08-22). */
.aa-notes.subj-geography{--indigo:#059669;--indigo-t:#e7f8f0;}


/* Subject accent override: sociology (CONTENT-TYPES.md palette). One-time
   block added when Class 12 Sociology chapters began publishing (2026-08-23). */
.aa-notes.subj-sociology{--indigo:#4d7c0f;--indigo-t:#f0f7e4;}


/* Subject accent override: psychology (CONTENT-TYPES.md palette). One-time
   block added when Class 12 Psychology chapters began publishing (2026-09-05). */
.aa-notes.subj-psychology{--indigo:#0891b2;--indigo-t:#e0f7fa;}


/* Subject accent override: physical-education (CONTENT-TYPES.md palette). One-time
   block added when Class 12 Physical Education chapters were built (2026-11-07). */
.aa-notes.subj-physical-education{--indigo:#1d4ed8;--indigo-t:#e8efff;}


/* Subject accent overrides: home-science and economics (CONTENT-TYPES.md palette).
   Added when both subjects' builds began (2026-11-07). */
.aa-notes.subj-home-science{--indigo:#c026d3;--indigo-t:#fbeefe;}
.aa-notes.subj-economics{--indigo:#db2777;--indigo-t:#fdeef6;}
.aa-notes.subj-sanskrit{--indigo:#854d0e;--indigo-t:#fdf6e3;}


/* Subject accent override: english (CONTENT-TYPES.md palette). One-time
   block added when Class 12 English chapters began publishing (2026-09-05). */
.aa-notes.subj-english{--indigo:#4f46e5;--indigo-t:#eef0ff;}


/* Subject accent override: hindi (CONTENT-TYPES.md palette). One-time block
   added when Class 12 Hindi chapters began publishing (2026-09-05) — missing
   until now even though build_chapter.py has been emitting the subj-hindi
   class since the first Class 12 Hindi chapter, so every Hindi chapter
   published before this fix rendered with the political-science default
   violet accent instead of rose. */
.aa-notes.subj-hindi{--indigo:#e11d48;--indigo-t:#ffeef2;}




/* ============================================================
   ANSHUL ACADEMY — BRAND LAYER (part 4 of the master custom CSS)
   2026-09-30. Built around the logo: navy #001330, orange #fd5a00,
   amber #fda802. Loads LAST so it can re-colour the chrome (part 1),
   the hub index (part 2) and the doctype strip, without touching the
   inside of .aa-notes (chapter content keeps its subject accents).
   Fonts are the self-hosted Baloo 2 + NotoDev already declared in
   part 3 — no third-party font requests.
   ============================================================ */

:root{
  --aa-navy:#001330;
  --aa-navy-2:#0a2346;
  --aa-navy-3:#163460;
  --aa-orange:#fd5a00;
  --aa-orange-ink:#c44400;   /* orange that passes 4.5:1 on white for text */
  --aa-amber:#fda802;
  --aa-sun-tint:#fff3e2;
  /* re-point the chrome tokens from part 1 */
  --aa-primary:#fd5a00;
  --aa-primary-dark:#c44400;
  --aa-primary-soft:#fff3e2;
  --aa-ink:#0d1a2e;
  --aa-ink-soft:#33405a;
  --aa-muted:#5a6680;
  --aa-line:#dfe4ee;
  --aa-line-soft:#edf0f6;
  --aa-bg:#f4f6fa;
  --aa-footer:#001330;
  --aa-footer-line:#163460;
  --aa-footer-text:#c9d3e6;
  --aa-shadow:0 1px 2px rgba(0,19,48,.05),0 10px 26px -14px rgba(0,19,48,.20);
  --aa-display:'Baloo 2','NotoDev',system-ui,sans-serif;
  --aa-body:'NotoDev',system-ui,-apple-system,'Segoe UI',sans-serif;
}

body{ font-family:var(--aa-body); background:var(--aa-bg); }
.entry-title,.page-title,.site-footer .wp-block-heading,.widget-title,
.entry-content > h2,.entry-content > h3,.aa-h{ font-family:var(--aa-display); }
:focus-visible{ outline:3px solid var(--aa-amber); outline-offset:2px; }

/* ---------- header ------------------------------------------ */
.site-header{ border-bottom:1px solid var(--aa-line); box-shadow:0 2px 10px -6px rgba(0,19,48,.18); }
.site-header .inside-header{ padding-top:8px; padding-bottom:8px; }
.site-logo{ margin:0; line-height:0; }
.site-logo .header-image,
.site-header .site-logo img{ height:62px; width:auto; max-width:none; }
.site-branding::before{ content:none; display:none; }
.site-branding{ padding-left:0; }

.main-navigation .main-nav > ul > li > a{ font-family:var(--aa-body); font-weight:600; color:var(--aa-ink); }
.main-navigation .main-nav > ul > li.aa-nav-cta > a{
  background:var(--aa-orange); color:#fff; margin-left:8px; padding:9px 18px; border-radius:11px;
  box-shadow:0 8px 18px -10px var(--aa-orange);
}
.main-navigation .main-nav > ul > li.aa-nav-cta > a:hover{ background:var(--aa-orange-ink); color:#fff; }

@media (max-width:768px){
  .site-logo .header-image,.site-header .site-logo img{ height:46px; }
  .main-navigation.toggled .main-nav > ul > li.aa-nav-cta > a{
    margin:10px 20px 14px; border-radius:11px; text-align:center; border-bottom:0;
  }
}

/* ---------- breadcrumbs ------------------------------------- */
.aa-crumbs a:hover{ color:var(--aa-orange-ink); }
.aa-crumbs span[aria-current]{ color:var(--aa-navy); }

/* ---------- title band on pages and chapters ---------------- */
body:not(.home).page .inside-article > .entry-header,
body.single-notes .inside-article > .entry-header{
  position:relative; overflow:hidden;
  margin:-34px -38px 26px; padding:30px 38px 30px;
  background:var(--aa-navy); border-radius:14px 14px 0 0;
}
body:not(.home).page .inside-article > .entry-header::after,
body.single-notes .inside-article > .entry-header::after{
  content:""; position:absolute; right:-40px; bottom:-120px; width:260px; height:180px;
  border-radius:50%; border-top:6px solid var(--aa-orange); border-left:0;
  box-shadow:inset 0 10px 0 -4px var(--aa-amber); opacity:.9; pointer-events:none;
}
body:not(.home).page .entry-title,
body.single-notes .entry-title{ color:#fff; font-weight:700; letter-spacing:-.01em; position:relative; z-index:1; margin:0; }
body:not(.home).page .entry-header .entry-meta,
body.single-notes .entry-header .entry-meta{ color:#c9d3e6; position:relative; z-index:1; }
@media (max-width:768px){
  body:not(.home).page .inside-article > .entry-header,
  body.single-notes .inside-article > .entry-header{ margin:-22px -20px 20px; padding:22px 20px; border-radius:12px 12px 0 0; }
  body:not(.home).page .inside-article > .entry-header::after,
  body.single-notes .inside-article > .entry-header::after{ width:170px; height:120px; bottom:-84px; right:-30px; }
}

/* ---------- page content ------------------------------------ */
.entry-content > h2{ color:var(--aa-navy); font-weight:700; }
.entry-content > h3{ color:var(--aa-navy); }
.entry-content a{ color:var(--aa-orange-ink); }
.entry-content a:hover{ color:var(--aa-orange); }

/* ---------- hub index (part 2) re-coloured ------------------ */
.aa-index{ border-color:var(--aa-line); border-radius:16px; }
.aa-index li{ border-bottom-color:var(--aa-line-soft); }
.aa-index li > a:hover{ background:var(--aa-sun-tint); }
.aa-index li > a:hover .aa-t{ color:var(--aa-orange-ink); }
.aa-index li > a::before,
.aa-index li > span.aa-row::before{ background:var(--aa-navy); border-radius:50%; }
.aa-index li > a::before{ color:#fff !important; font:700 14px/1 var(--aa-body) !important; width:34px; height:34px; -webkit-text-fill-color:#fff; }
.aa-index li > a:hover::before{ background:var(--aa-orange); }
.aa-index .aa-t{ color:var(--aa-navy); font-family:var(--aa-display); font-size:17px; font-weight:600; }
.aa-index .aa-mark{ background:var(--aa-sun-tint); color:#8a3a00; }
.aa-index .aa-sub a{ background:#fff; border-color:#f3d6bd; color:#8a3a00; }
.aa-index .aa-sub a:hover{ background:var(--aa-orange); border-color:var(--aa-orange); color:#fff; }
.aa-index.is-plain li > span.aa-row::before,
.aa-index li.is-plain > span.aa-row::before{ background:#cbd5e1; border-radius:50%; }

/* ---------- "More for this chapter" strip (aa-doctype) ------ */
.aa-more{ border:1.5px solid #f3d6bd; background:var(--aa-sun-tint); border-radius:14px; }
.aa-more-t{ color:var(--aa-navy); font-family:var(--aa-display); font-size:1.02rem; }
.aa-siblings a{ border-color:#f0c9a6; color:var(--aa-navy); font-weight:600; }
.aa-siblings a:hover{ background:var(--aa-orange); border-color:var(--aa-orange); color:#fff; }

/* ---------- chapter nav + medium switch --------------------- */
.aa-cn-lbl{ color:var(--aa-orange-ink); }
.aa-chapter-nav a:hover{ border-color:var(--aa-orange); background:var(--aa-sun-tint); }
.aa-cn-title{ color:var(--aa-navy); }

/* ---------- sidebar ----------------------------------------- */
.widget-area .widget-title{ color:var(--aa-navy); }
.aa-card{ background:var(--aa-navy) !important; color:#c9d3e6; border-radius:14px; }
.aa-card strong{ color:var(--aa-amber); font-family:var(--aa-display); font-size:18px; }
.aa-card p{ color:#c9d3e6; }
.aa-btn{ background:var(--aa-orange) !important; color:#fff !important; border-radius:10px; }
.aa-btn:hover{ background:var(--aa-orange-ink) !important; }

/* ---------- footer ------------------------------------------ */
.site-footer{ background:var(--aa-navy); position:relative; }
.site-footer::before{
  content:""; display:block; height:5px;
  background:linear-gradient(90deg,var(--aa-orange),var(--aa-amber));
}
.aa-foot-logo{ display:block; height:56px; width:auto; margin:0 0 14px; }
.site-footer .widget ul li a:hover{ color:var(--aa-amber); text-decoration:none; }
.site-footer .widget-title,.site-footer .wp-block-heading{ color:#fff; font-size:13px; }
.aa-foot-phone{ color:#fff; font-weight:600; }
.aa-foot-phone b{ color:var(--aa-amber); }

/* ============================================================
   HOME PAGE (page 4). No PHP: the sidebar and the theme title are
   hidden here, and the sections are full-bleed via negative margins.
   ============================================================ */
body.home{ overflow-x:clip; }
.home .site,.home .site-content,.home .content-area,.home .site-main,.home .inside-article,.home .entry-content{ overflow:visible; }
.home #right-sidebar,.home .widget-area.sidebar{ display:none; }
.home .content-area,.home #primary{ width:100%; max-width:100%; flex:1 1 100%; }
.home .site-content{ display:block; }
.home .inside-article{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
.home .inside-article > .entry-header{
  position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;
}
.home .aa-crumbs{ display:none; }
.home .entry-content{ margin:0; color:var(--aa-ink); }
.home .entry-content > *{ margin-top:0; }
.home .site-main{ margin:0 !important; }
.home .inside-article{ margin-bottom:0; }

.aa-bleed{ margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important; max-width:none !important; width:auto; }
.aa-wrap{ max-width:1180px; margin:0 auto; padding-inline:24px; }

/* hero */
.aa-hero{ background:var(--aa-navy); color:#fff; position:relative; overflow:hidden; }
.aa-hero .aa-wrap{ display:grid; grid-template-columns:1.15fr .85fr; gap:30px; align-items:center; padding-block:56px 64px; }
.aa-eyebrow{ display:inline-flex; gap:10px; align-items:center; font:700 12.5px/1 var(--aa-body); letter-spacing:.1em; text-transform:uppercase; color:var(--aa-amber); }
.aa-eyebrow::before{ content:""; width:24px; height:3px; border-radius:3px; background:var(--aa-orange); }
.aa-hero-h{ font:700 clamp(34px,5vw,58px)/1.04 var(--aa-display); margin:14px 0 6px; color:#fff; letter-spacing:-.01em; text-wrap:balance; }
.aa-hero-h em{ font-style:normal; color:var(--aa-amber); }
.aa-hero-hi{ font:600 clamp(20px,2.4vw,26px)/1.3 var(--aa-display); color:#ffd9b8; margin:0 0 14px; }
.aa-hero-sub{ color:#c9d3e6; max-width:52ch; margin:0 0 22px; font-size:17px; line-height:1.6; }
.aa-search{ display:flex; background:#fff; border-radius:14px; padding:6px; gap:6px; max-width:560px; box-shadow:0 18px 40px -20px #000; }
.aa-search input[type=search]{ flex:1; min-width:0; border:0; font:500 16px var(--aa-body); padding:10px 12px; color:var(--aa-ink); background:transparent; outline:none; }
.aa-search button{ background:var(--aa-orange); color:#fff; border:0; font:700 15px var(--aa-body); padding:0 22px; border-radius:10px; cursor:pointer; }
.aa-search button:hover{ background:var(--aa-orange-ink); }
.aa-quick{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; align-items:center; }
.aa-quick span{ color:#9fb0cf; font-size:14px; margin-right:4px; }
.aa-quick a{ font:700 14px var(--aa-body); padding:6px 13px; border-radius:999px; border:1.5px solid var(--aa-navy-3); color:#fff !important; background:var(--aa-navy-2); text-decoration:none; font-variant-numeric:tabular-nums; }
.aa-quick a:hover{ border-color:var(--aa-amber); color:var(--aa-amber) !important; }
.aa-sunrise{ max-width:400px; width:100%; justify-self:end; }
.aa-sunrise svg{ width:100%; height:auto; display:block; }

/* sections */
.aa-sec{ padding-block:54px; }
.aa-sec-white{ background:#fff; }
.aa-kick{ display:block; font:700 12.5px var(--aa-body); letter-spacing:.1em; text-transform:uppercase; color:var(--aa-orange-ink); margin-bottom:6px; }
.aa-h{ font:700 clamp(26px,3.2vw,36px)/1.1 var(--aa-display) !important; color:var(--aa-navy) !important; margin:0 0 6px !important; text-wrap:balance; }
.aa-lead{ color:var(--aa-ink-soft); margin:0 0 26px !important; max-width:62ch; font-size:16.5px; }

.aa-boards{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.aa-board{ background:#fff; border:1.5px solid var(--aa-line); border-radius:16px; padding:18px; display:grid; grid-template-columns:50px 1fr auto; gap:14px; align-items:center; text-decoration:none !important; color:var(--aa-ink) !important; transition:border-color .15s,transform .15s; }
.aa-board:hover{ border-color:var(--aa-orange); transform:translateY(-2px); }
.aa-badge{ width:50px; height:50px; border-radius:13px; display:grid; place-items:center; font:700 15px var(--aa-display); color:#fff; background:var(--aa-navy); }
.aa-board:nth-child(even) .aa-badge{ background:var(--aa-orange); }
.aa-board b{ display:block; font:700 19px/1.15 var(--aa-display); color:var(--aa-navy); }
.aa-board small{ display:block; color:var(--aa-muted); font-size:13.5px; line-height:1.35; margin-top:2px; }
.aa-board .aa-go{ color:var(--aa-orange-ink); font-weight:700; font-size:18px; }

.aa-classes{ display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:10px; }
.aa-cls{ background:#fff; border:1.5px solid var(--aa-line); border-radius:14px; padding:14px 4px 10px; text-align:center; text-decoration:none !important; transition:border-color .15s; }
.aa-cls b{ display:block; font:700 30px/1 var(--aa-display); color:var(--aa-navy); font-variant-numeric:tabular-nums; }
.aa-cls span{ font-size:12px; color:var(--aa-muted); }
.aa-cls.is-hot{ background:var(--aa-navy); border-color:var(--aa-navy); }
.aa-cls.is-hot b{ color:var(--aa-amber); }
.aa-cls.is-hot span{ color:#c9d3e6; }
.aa-cls:hover{ border-color:var(--aa-orange); }
.aa-note-small{ color:var(--aa-muted); font-size:14px; margin:14px 0 0 !important; }

.aa-formats{ display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.aa-fmt{ background:#fff; border-radius:16px; padding:20px; border:1.5px solid var(--aa-line); display:flex; flex-direction:column; gap:8px; min-width:0; }
.aa-fmt .aa-ic{ width:44px; height:44px; border-radius:12px; display:grid; place-items:center; background:var(--aa-sun-tint); color:var(--aa-orange-ink); font:700 20px var(--aa-display); }
.aa-fmt b{ font:700 18px/1.15 var(--aa-display); color:var(--aa-navy); }
.aa-fmt p{ margin:0 !important; font-size:14.5px; color:var(--aa-ink-soft); line-height:1.45; }
.aa-fmt .aa-hn{ font-size:13.5px; color:var(--aa-orange-ink); font-weight:600; }

.aa-arc{ display:block; width:100%; height:44px; }

.aa-split{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.aa-medcard{ border-radius:20px; padding:26px; min-width:0; }
.aa-medcard.is-en{ background:#fff; border:1.5px solid var(--aa-line); }
.aa-medcard.is-hi{ background:var(--aa-navy); color:#fff; }
.aa-medcard b{ display:block; margin:0 0 6px; font:700 28px/1.1 var(--aa-display); }
.aa-medcard.is-en b{ color:var(--aa-navy); }
.aa-medcard.is-hi b{ color:var(--aa-amber); }
.aa-medcard p{ margin:0 0 16px !important; max-width:44ch; }
.aa-medcard.is-en p{ color:var(--aa-ink-soft); }
.aa-medcard.is-hi p{ color:#c9d3e6; }
.aa-pill{ display:inline-block; font:700 14px var(--aa-body); padding:9px 15px; border-radius:10px; text-decoration:none !important; }
.aa-medcard.is-en .aa-pill{ background:var(--aa-navy); color:#fff !important; }
.aa-medcard.is-hi .aa-pill{ background:var(--aa-orange); color:#fff !important; }

.aa-subjects{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.aa-subj{ background:#fff; border:1.5px solid var(--aa-line); border-radius:14px; padding:15px 16px; display:grid; grid-template-columns:8px 1fr auto; gap:14px; align-items:center; text-decoration:none !important; color:var(--aa-ink) !important; }
.aa-subj:hover{ border-color:var(--aa-orange); }
.aa-subj i{ width:8px; height:40px; border-radius:6px; display:block; }
.aa-subj b{ display:block; font:700 17px/1.2 var(--aa-display); color:var(--aa-navy); }
.aa-subj small{ color:var(--aa-muted); font-size:13px; }
.aa-subj .aa-go{ color:var(--aa-orange-ink); font-weight:700; }

.aa-why{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.aa-why div{ border-top:3px solid var(--aa-orange); padding-top:12px; }
.aa-why b{ display:block; margin:0 0 4px; font:700 18px var(--aa-display); color:var(--aa-navy); }
.aa-why p{ margin:0 !important; font-size:14.5px; color:var(--aa-ink-soft); }

.home .site-footer{ margin-top:0; }

@media (max-width:1000px){
  .aa-hero .aa-wrap{ grid-template-columns:1fr; }
  .aa-sunrise{ display:none; }
  .aa-boards,.aa-subjects{ grid-template-columns:1fr 1fr; }
  .aa-classes{ grid-template-columns:repeat(6,minmax(0,1fr)); }
  .aa-formats{ grid-template-columns:1fr 1fr; }
  .aa-why{ grid-template-columns:1fr 1fr; }
  .aa-split{ grid-template-columns:1fr; }
}
@media (max-width:600px){
  .aa-wrap{ padding-inline:16px; }
  .aa-hero .aa-wrap{ padding-block:34px 40px; }
  .aa-sec{ padding-block:36px; }
  .aa-boards,.aa-subjects,.aa-why{ grid-template-columns:1fr; }
  .aa-classes{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .aa-formats{ grid-template-columns:1fr; }
  .aa-search button{ padding:0 16px; }
}
@media (prefers-reduced-motion:reduce){
  .aa-board,.aa-cls{ transition:none; }
  .aa-board:hover{ transform:none; }
}

/* ---------- sidebar polish (2026-09-30, round 2) ------------ */
.widget-area .widget{ border:1.5px solid var(--aa-line); border-radius:16px; }
.widget-area .widget-title,
.widget-area .wp-block-heading{
  font-family:var(--aa-display); font-size:17px; font-weight:700; letter-spacing:0;
  text-transform:none; color:var(--aa-navy); padding-bottom:10px; margin-bottom:14px;
  border-bottom:2px solid var(--aa-sun-tint);
}
/* class chips: an even 6-column grid, so 1-12 sits in two rows of six */
.widget-area .aa-chips-num{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }
.widget-area .aa-chips-num li{ margin:0; }
.widget-area .widget ul.aa-chips-num li a{
  display:block; min-width:0; padding:8px 0; text-align:center; border-radius:10px;
  background:#fff; border:1.5px solid var(--aa-line); color:var(--aa-navy); font-weight:700; font-size:14px;
}
.widget-area .widget ul.aa-chips-num li a:hover{ border-color:var(--aa-orange); background:var(--aa-sun-tint); color:var(--aa-orange-ink); }
.widget-area .widget ul.aa-chips li a.is-current,
.aa-chips a.is-current{ background:var(--aa-orange); border-color:var(--aa-orange); color:#fff; }
/* current board: a tick instead of the tiny "you are here" label */
.aa-boardlist li.is-current > a{ background:var(--aa-sun-tint); color:var(--aa-orange-ink); border:1.5px solid #f3d6bd; }
.aa-boardlist li.is-current > a::after{
  content:"✓"; float:right; font-size:15px; letter-spacing:0; text-transform:none; opacity:1; line-height:1.4; color:var(--aa-orange);
}
.widget-area .widget ul.aa-boardlist li a{ color:var(--aa-ink); font-weight:600; }
/* header search (GeneratePress nav search icon) */
.main-navigation .menu-bar-item > a,
.main-navigation .search-item > a{ color:var(--aa-navy); }
.navigation-search input[type="search"]{ background:#fff; color:var(--aa-ink); border-bottom:2px solid var(--aa-orange); }

/* ---------- forced dark mode opt-out (2026-09-30) -----------
   The site has no dark theme. Chrome's Auto Dark Mode / Android force-dark
   darkened the white header but not the logo PNG, so the navy wordmark
   vanished. "only light" tells the browser not to auto-darken this site. */
:root{ color-scheme:only light; }
html,body{ color-scheme:only light; }

/* ---------- hub badge numbers (2026-09-30) ------------------
   aa-doctype.php used content:attr(data-ch) on the <a>, but data-ch sits on
   the parent <li>, and attr() only reads the element's own attributes, so
   every badge was blank. One literal rule per chapter number instead. */
.aa-index li[data-ch="1"] > a::before{content:"1"}
.aa-index li[data-ch="2"] > a::before{content:"2"}
.aa-index li[data-ch="3"] > a::before{content:"3"}
.aa-index li[data-ch="4"] > a::before{content:"4"}
.aa-index li[data-ch="5"] > a::before{content:"5"}
.aa-index li[data-ch="6"] > a::before{content:"6"}
.aa-index li[data-ch="7"] > a::before{content:"7"}
.aa-index li[data-ch="8"] > a::before{content:"8"}
.aa-index li[data-ch="9"] > a::before{content:"9"}
.aa-index li[data-ch="10"] > a::before{content:"10"}
.aa-index li[data-ch="11"] > a::before{content:"11"}
.aa-index li[data-ch="12"] > a::before{content:"12"}
.aa-index li[data-ch="13"] > a::before{content:"13"}
.aa-index li[data-ch="14"] > a::before{content:"14"}
.aa-index li[data-ch="15"] > a::before{content:"15"}
.aa-index li[data-ch="16"] > a::before{content:"16"}
.aa-index li[data-ch="17"] > a::before{content:"17"}
.aa-index li[data-ch="18"] > a::before{content:"18"}
.aa-index li[data-ch="19"] > a::before{content:"19"}
.aa-index li[data-ch="20"] > a::before{content:"20"}
.aa-index li[data-ch="21"] > a::before{content:"21"}
.aa-index li[data-ch="22"] > a::before{content:"22"}
.aa-index li[data-ch="23"] > a::before{content:"23"}
.aa-index li[data-ch="24"] > a::before{content:"24"}
.aa-index li[data-ch="25"] > a::before{content:"25"}
.aa-index li[data-ch="26"] > a::before{content:"26"}
.aa-index li[data-ch="27"] > a::before{content:"27"}
.aa-index li[data-ch="28"] > a::before{content:"28"}
.aa-index li[data-ch="29"] > a::before{content:"29"}
.aa-index li[data-ch="30"] > a::before{content:"30"}
.aa-index li[data-ch="31"] > a::before{content:"31"}
.aa-index li[data-ch="32"] > a::before{content:"32"}
.aa-index li[data-ch="33"] > a::before{content:"33"}
.aa-index li[data-ch="34"] > a::before{content:"34"}
.aa-index li[data-ch="35"] > a::before{content:"35"}
.aa-index li[data-ch="36"] > a::before{content:"36"}
.aa-index li[data-ch="37"] > a::before{content:"37"}
.aa-index li[data-ch="38"] > a::before{content:"38"}
.aa-index li[data-ch="39"] > a::before{content:"39"}
.aa-index li[data-ch="40"] > a::before{content:"40"}
.aa-index li[data-ch="41"] > a::before{content:"41"}
.aa-index li[data-ch="42"] > a::before{content:"42"}
.aa-index li[data-ch="43"] > a::before{content:"43"}
.aa-index li[data-ch="44"] > a::before{content:"44"}
.aa-index li[data-ch="45"] > a::before{content:"45"}
.aa-index li[data-ch="46"] > a::before{content:"46"}
.aa-index li[data-ch="47"] > a::before{content:"47"}
.aa-index li[data-ch="48"] > a::before{content:"48"}
.aa-index li[data-ch="49"] > a::before{content:"49"}
.aa-index li[data-ch="50"] > a::before{content:"50"}
.aa-index li[data-ch="51"] > a::before{content:"51"}
.aa-index li[data-ch="52"] > a::before{content:"52"}
.aa-index li[data-ch="53"] > a::before{content:"53"}
.aa-index li[data-ch="54"] > a::before{content:"54"}
.aa-index li[data-ch="55"] > a::before{content:"55"}
.aa-index li[data-ch="56"] > a::before{content:"56"}
.aa-index li[data-ch="57"] > a::before{content:"57"}
.aa-index li[data-ch="58"] > a::before{content:"58"}
.aa-index li[data-ch="59"] > a::before{content:"59"}
.aa-index li[data-ch="60"] > a::before{content:"60"}

/* ---------- home section rhythm (2026-09-30) ----------------
   Every section gets full padding. Only when two sections with the SAME
   background sit back to back is the second one's top padding dropped, so
   content never touches a band edge whatever order the sections are in. */
.aa-sec{ padding-block:56px; }
.aa-sec:not(.aa-sec-white) + .aa-sec:not(.aa-sec-white),
.aa-sec-white + .aa-sec-white{ padding-top:0; }
@media (max-width:600px){ .aa-sec{ padding-block:40px; } }
