/* ===========================================================================
   BolEnglish Grammar Comics — comic-book design system.
   Layers on top of /assets/be-shell.css (brand tokens, nav, footer) and
   /css/learn-nav.css (mega-menu). Only the comic library + reader live here.
   Brand tokens used: --purple, --purple-2, --purple-3, --green (pink),
   --green-glow (yellow), --ink, --muted, --bg, --card, --line, --shadow.
   =========================================================================== */
:root{
  --gc-cream:#fff9ef;
  --gc-sky:#eaf4ff;
  --gc-mint:#e7fbf1;
  --gc-peach:#fff0e8;
  --gc-lilac:#f3eeff;
  --gc-pink-soft:#ffeef7;
  --gc-panel-br:22px;
  --gc-comic-font:'Fredoka','Inter',sans-serif;
}

/* ---- thin glossy brand-matched scrollbar (Grammar Comics pages only) --- */
html{scrollbar-width:thin;scrollbar-color:var(--purple-3) transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{border-radius:100px;border:2px solid transparent;background-clip:padding-box;
  background-color:var(--purple-3);
  background-image:linear-gradient(120deg,rgba(255,255,255,.55),rgba(255,255,255,0) 55%)}
::-webkit-scrollbar-thumb:hover{background-color:var(--purple-2)}
::-webkit-scrollbar-thumb:active{background-color:var(--purple)}

/* ---- page frame -------------------------------------------------------- */
.gc-main{max-width:1120px;margin:0 auto;padding:18px 22px 90px}
.gc-main a{text-decoration:none}
.gc-main a:hover{text-decoration:none}
.gc-comic figcaption a:hover{text-decoration:underline}
.gc-comic-h{font-family:var(--gc-comic-font);font-weight:700;letter-spacing:-.3px;line-height:1.08}
.gc-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;font-weight:800;color:var(--purple-3)}

.gc-breadcrumb{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--muted);margin:2px 0 4px}
.gc-breadcrumb a{color:var(--muted);font-weight:600}
.gc-breadcrumb a:hover{color:var(--purple)}
.gc-breadcrumb .sep{opacity:.5}
.gc-breadcrumb b{color:var(--ink)}

/* ---- buttons / pills --------------------------------------------------- */
.gc-btn{display:inline-flex;align-items:center;gap:7px;border:2px solid var(--line);border-radius:13px;
  padding:10px 16px;background:#fff;color:var(--ink);font-weight:800;font-size:13px;cursor:pointer;
  transition:transform .18s,box-shadow .18s,background .18s,border-color .18s}
.gc-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(124,58,237,.14)}
.gc-btn-primary{background:var(--purple);border-color:var(--purple);color:#fff}
.gc-btn-primary:hover{background:var(--purple-2)}
.gc-btn-ghost{background:var(--gc-lilac);border-color:transparent;color:var(--purple-2)}
.gc-btn[aria-pressed="true"]{background:var(--green-glow);border-color:var(--green-glow);color:#5b3b00}
.gc-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border-radius:100px;
  background:#fff;border:2px solid #efe6ff;color:var(--purple-2);font-size:12px;font-weight:800}

/* =======================================================================
   LIBRARY (hub)  /grammar-comics/
   ======================================================================= */
/* Compact single-band hero */
.gc-hero{position:relative;overflow:hidden;border-radius:18px;padding:9px 18px;
  background:linear-gradient(125deg,var(--gc-lilac) 0%,var(--gc-pink-soft) 55%,var(--gc-peach) 100%);
  border:2px solid #efe6ff;
  display:flex;align-items:center;justify-content:space-between;gap:8px 20px;flex-wrap:wrap}
.gc-hero-text{min-width:0;flex:1 1 300px}
.gc-hero .gc-pill{display:inline-block;margin-bottom:2px;padding:3px 10px;font-size:10.5px}
.gc-hero h1{font-size:clamp(18px,2.6vw,26px);margin:0 0 1px;color:var(--ink);line-height:1.06}
.gc-hero h1 em{font-style:normal;color:var(--purple);white-space:nowrap}
.gc-hero .gc-hero-hi{font-size:11.5px;color:var(--purple-2);font-weight:700;margin:0}
.gc-hero-side{display:flex;flex-direction:column;gap:5px;align-items:flex-start;flex:0 0 auto}
.gc-hero-side .gc-btn{padding:8px 15px;font-size:12.5px}
.gc-hero-mini{display:flex;gap:13px;flex-wrap:wrap;font-size:11px;color:var(--muted);font-weight:700}
.gc-hero-mini b{font-family:var(--gc-comic-font);font-size:15px;color:var(--purple);margin-right:3px}
.gc-hero-mascot{flex:0 0 auto;width:58px;height:58px;filter:drop-shadow(0 6px 12px rgba(124,58,237,.22));pointer-events:none}

/* ---- slim "focus" header (Grammar Comics pages only) ------------------- */
.gc-slimbar .gc-slim-home{font-weight:800;font-size:13px;color:var(--purple-2);text-decoration:none;
  padding:7px 12px;border-radius:100px;transition:background .15s,color .15s}
.gc-slimbar .gc-slim-home:hover{background:var(--gc-lilac);color:var(--purple)}

/* ---- share cluster (WhatsApp-first) ------------------------------------ */
.gc-topline{display:flex;align-items:center;justify-content:space-between;gap:10px 14px;flex-wrap:wrap;margin-bottom:6px}
.gc-share{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.gc-share-lab{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;color:var(--purple-3)}
.gc-sh{display:inline-flex;align-items:center;gap:6px;border:2px solid #e8e0f7;background:#fff;border-radius:100px;
  padding:6px 12px;font-size:12px;font-weight:800;color:var(--purple-2);cursor:pointer;text-decoration:none;
  line-height:1;transition:transform .14s,box-shadow .14s,background .14s,border-color .14s}
.gc-sh:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(124,58,237,.16);border-color:var(--purple-3)}
.gc-sh-wa{background:#3fae46;border-color:#36993c;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.18)}
.gc-sh-wa:hover{background:#379a3e;border-color:#2f8a35}
.gc-sh-native{background:var(--purple);border-color:var(--purple);color:#fff;display:none}
.gc-sh-native:hover{background:var(--purple-2);border-color:var(--purple-2)}
.gc-sh-x,.gc-sh-fb{width:34px;height:34px;padding:0;justify-content:center;font-size:14px}
.gc-sh-fb{color:#1877f2}
/* on phones with a native share sheet: show WhatsApp + the OS "Share" tray, drop the rest */
@media(max-width:640px){
  .gc-share.has-native .gc-sh-native{display:inline-flex}
  .gc-share.has-native .gc-sh-copy,
  .gc-share.has-native .gc-sh-x,
  .gc-share.has-native .gc-sh-fb{display:none}
}
.gc-hero-side .gc-share{margin-top:1px}
.gc-hero-side .gc-share-lab{display:none}
.gc-hero-side .gc-sh{padding:5px 11px;font-size:11.5px}
.gc-hero-side .gc-sh-x,.gc-hero-side .gc-sh-fb{width:30px;height:30px}

/* ---- "Main Website" button (sits before Share in the share row) -------- */
.gc-mainsite{display:inline-flex;align-items:center;gap:5px;text-decoration:none;white-space:nowrap;
  border:2px solid var(--line);background:#fff;color:var(--purple);border-radius:100px;
  padding:5px 12px;font-size:12px;font-weight:800;line-height:1;transition:border-color .15s,background .15s}
.gc-mainsite:hover{border-color:var(--purple-3);background:var(--gc-lilac)}
body.dark .gc-mainsite{background:#242437;border-color:#453f5f;color:#d7c9ff}

.gc-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin:28px 0 14px}
.gc-search{flex:1;min-width:220px;max-width:420px;border:2px solid #e8e0f7;border-radius:13px;
  background:#fff;padding:11px 14px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}
.gc-search:focus{border-color:var(--purple-3);box-shadow:0 0 0 4px rgba(124,58,237,.14)}
.gc-chips{display:flex;flex-wrap:wrap;gap:8px}
.gc-chip{border:2px solid #e8e0f7;background:#fff;border-radius:100px;padding:7px 14px;font-size:12px;
  font-weight:800;color:#6c6888;cursor:pointer;transition:.18s}
.gc-chip:hover{border-color:var(--purple-3)}
.gc-chip[aria-pressed="true"]{background:var(--purple);border-color:var(--purple);color:#fff}

.gc-chapter{margin-top:34px;scroll-margin-top:90px}
.gc-chapter-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.gc-chapter-emoji{font-size:26px;display:grid;place-items:center;width:52px;height:52px;border-radius:16px;
  background:var(--gc-lilac);border:2px solid #efe6ff;flex:none}
.gc-chapter-head h2{font-size:22px;margin:0;color:var(--ink)}
.gc-chapter-head p{font-size:12.5px;color:var(--muted);margin:3px 0 0}
.gc-chapter-badge{margin-left:auto;font-size:11px;font-weight:800;color:var(--purple-2);
  background:var(--gc-lilac);border-radius:100px;padding:5px 11px;white-space:nowrap}

.gc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.gc-card{position:relative;display:flex;flex-direction:column;border:2px solid var(--line);border-radius:var(--gc-panel-br);
  background:var(--card);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s}
.gc-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--purple-3)}
.gc-card-cover{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--gc-lilac)}
.gc-card-cover img{width:100%;height:100%;object-fit:cover;display:block}
.gc-card-tag{position:absolute;top:10px;left:10px;font-size:10.5px;font-weight:800;color:var(--purple-2);
  background:#ffffffe8;border-radius:100px;padding:4px 10px;backdrop-filter:blur(4px)}
.gc-card-done{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;
  background:#10b981;color:#fff;display:none;place-items:center;font-size:14px;box-shadow:0 3px 8px rgba(16,185,129,.4)}
.gc-card.is-done .gc-card-done{display:grid}
.gc-card-body{padding:15px 16px 17px;display:flex;flex-direction:column;gap:7px;flex:1}
.gc-card-body h3{font-family:var(--gc-comic-font);font-size:17px;font-weight:600;margin:0;color:var(--ink)}
.gc-card-body p{font-size:12.5px;color:var(--muted);margin:0;flex:1}
.gc-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}
.gc-card-mins{font-size:11px;color:var(--muted);font-weight:700}
.gc-card-cta{font-size:12px;font-weight:800;color:var(--purple)}
.gc-card.locked{opacity:.72;pointer-events:none}
.gc-card.locked .gc-card-cover{display:grid;place-items:center;aspect-ratio:4/5;font-size:40px}
.gc-card-soon{font-size:11px;font-weight:800;color:#9a7bd8}
.gc-empty{text-align:center;color:var(--muted);padding:40px 10px;font-size:14px}

/* ---- Library = shelf of BOOKS (one per chapter) ---- */
.gc-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px;margin-top:24px}
.gc-book{position:relative;display:flex;flex-direction:column;border:2px solid var(--line);border-radius:var(--gc-panel-br);
  background:var(--card);overflow:hidden;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s;text-decoration:none}
.gc-book:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-color:var(--purple-3)}
.gc-book-cover{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--gc-lilac)}
.gc-book-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.gc-book:hover .gc-book-cover img{transform:scale(1.04)}
/* a "book spine" down the left edge */
.gc-book-spine{position:absolute;top:0;left:0;bottom:0;width:12px;
  background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.06) 60%,transparent);
  box-shadow:inset -1px 0 0 rgba(255,255,255,.25)}
.gc-book-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(124,58,237,.05),rgba(124,58,237,.32));pointer-events:none}
.gc-book-emoji{position:absolute;top:12px;left:22px;z-index:2;font-size:22px;width:44px;height:44px;border-radius:14px;
  display:grid;place-items:center;background:#ffffffee;box-shadow:0 4px 12px rgba(124,58,237,.25)}
.gc-book-count{position:absolute;bottom:12px;left:22px;z-index:2;font-size:11px;font-weight:800;color:var(--purple-2);
  background:#ffffffee;border-radius:100px;padding:5px 12px;backdrop-filter:blur(4px)}
.gc-book-check{position:absolute;top:12px;right:12px;z-index:2;width:30px;height:30px;border-radius:50%;
  background:#10b981;color:#fff;display:none;place-items:center;font-size:16px;box-shadow:0 3px 8px rgba(16,185,129,.45)}
.gc-book.is-complete .gc-book-check{display:grid}
.gc-book-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:7px;flex:1}
.gc-book-kicker{font-size:10.5px;text-transform:uppercase;letter-spacing:1.2px;font-weight:800;color:var(--purple-3)}
.gc-book-body h2{font-family:var(--gc-comic-font);font-size:20px;font-weight:600;margin:0;color:var(--ink);line-height:1.15}
.gc-book-body p{font-size:12.5px;color:var(--muted);margin:0;flex:1}
.gc-book-prog{height:8px;background:#e7ddf6;border-radius:100px;overflow:hidden;margin-top:6px}
.gc-book-prog-fill{display:block;height:100%;width:0;border-radius:100px;background:linear-gradient(90deg,var(--purple),var(--green));transition:width .6s ease}
.gc-book-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:2px}
.gc-book-progtext{font-size:11px;color:var(--muted);font-weight:700}
.gc-book-cta{font-size:12.5px;font-weight:800;color:var(--purple)}
.gc-book.is-complete .gc-book-progtext{color:#10b981}
.gc-book.locked{opacity:.72;pointer-events:none}
.gc-book-cover-locked{display:grid;place-items:center;gap:8px}
.gc-book-cover-locked .gc-book-emoji{position:static;font-size:30px;width:58px;height:58px}
.gc-book-cover-locked .gc-book-count{position:static;background:transparent;color:#9a7bd8}

/* =======================================================================
   LESSON PAGE — comic-first reader  /grammar-comics/<slug>/
   ======================================================================= */
.gc-reader{max-width:1120px;margin:0 auto;padding:10px 22px 70px;display:grid;gap:11px}

/* ---- compact top band ------------------------------------------------- */
.gc-topband{display:flex;flex-direction:column;gap:10px;
  background:linear-gradient(120deg,var(--gc-lilac),var(--gc-pink-soft) 70%,var(--gc-peach));
  border:2px solid #efe6ff;border-radius:18px;padding:12px 16px}
.gc-tb-body{display:flex;align-items:center;gap:16px}
/* book header: brand (→home) + Home link + EN/Hinglish toggle, inside the top band / hub hero */
.gc-bookhead{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.gc-topband .gc-bookhead{padding-bottom:9px;border-bottom:2px solid #ffffff88}
.gc-main > .gc-bookhead{margin-bottom:12px}
.gc-bh-brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;min-width:0}
.gc-bh-logo{width:32px;height:32px;border-radius:9px;flex:none}
.gc-bh-tx{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.gc-bh-tx b{font-family:var(--gc-comic-font);font-weight:700;font-size:16px;color:var(--purple)}
.gc-bh-tx i{font-style:normal;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.gc-bh-right{display:flex;align-items:center;gap:8px;flex:none}
.gc-bh-home{font-weight:800;font-size:13px;color:var(--purple-2);text-decoration:none;padding:7px 13px;
  border-radius:100px;border:2px solid #e8e0f7;background:#fff;transition:background .15s,color .15s,border-color .15s}
.gc-bh-home:hover{background:var(--gc-lilac);color:var(--purple);border-color:var(--purple-3)}
.gc-tb-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
.gc-tb-avatar{width:66px;height:66px;border-radius:16px;flex:none;overflow:hidden;
  background:linear-gradient(135deg,#f7d6ef,#e4d4ff);box-shadow:0 6px 16px rgba(124,58,237,.18);display:grid;place-items:center}
.gc-tb-avatar img{width:100%;height:100%;object-fit:contain}
.gc-tb-main{min-width:0}
.gc-tb-main .gc-pill{padding:3px 11px;font-size:11px}
.gc-tb-main h1{font-size:clamp(18px,2.2vw,26px);margin:6px 0 3px;color:var(--ink)}
.gc-tb-desc{color:#5b5676;font-size:12.5px;line-height:1.4;margin:0;max-width:640px;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.gc-tb-meta{display:flex;align-items:center;gap:11px;margin-top:8px;font-size:12px;color:var(--muted);font-weight:700}
.gc-tb-meta .div{width:1px;height:12px;background:#d9cff0}
.gc-tb-divider{width:2px;align-self:stretch;margin:4px 0;background:#e7ddfa;border-radius:2px;flex:none}
/* right side: Read/Listen/Save + dropdown on one row, Progress below */
.gc-tb-right{flex:none;display:flex;flex-direction:column;gap:9px;min-width:0}
.gc-tb-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gc-tb-actions{display:flex;gap:9px;flex:none}
.gc-topband .gc-btn{padding:9px 15px;font-size:13px;border-radius:12px;white-space:nowrap}
.gc-tb-prog{display:flex;align-items:center;gap:10px}
.gc-tb-k{font-size:11px;text-transform:uppercase;letter-spacing:.6px;font-weight:800;color:var(--purple-3);flex:none}
.gc-ptrack{height:9px;background:#e7ddf6;border-radius:100px;overflow:hidden;box-shadow:inset 0 1px 2px rgba(124,58,237,.1)}
.gc-pfill{height:100%;width:0;border-radius:100px;background:linear-gradient(90deg,var(--purple),var(--green));transition:width .5s ease}
.gc-tb-prog .gc-ptrack{flex:1;min-width:90px;max-width:240px}
.gc-tb-prog b{font-family:var(--gc-comic-font);font-size:15px;color:var(--purple);flex:none}
.gc-tb-select{display:flex;align-items:center;gap:7px;border:2px solid #e7ddfa;background:#fff;border-radius:11px;
  padding:0 10px;position:relative;margin-left:auto;width:210px;transition:border-color .15s,box-shadow .15s}
.gc-tb-select:hover{border-color:var(--purple-3)}
.gc-tb-select:focus-within{border-color:var(--purple-3);box-shadow:0 0 0 3px rgba(124,58,237,.14)}
.gc-tb-select .ic{color:var(--purple-3);font-size:14px;flex:none}
.gc-tb-select select{appearance:none;-webkit-appearance:none;border:none;background:transparent;flex:1;min-width:0;
  text-overflow:ellipsis;padding:9px 2px;font-weight:700;font-size:12.5px;color:var(--ink);cursor:pointer;outline:none}
.gc-tb-select .chev{color:var(--purple);font-size:15px;flex:none;pointer-events:none}

/* ---- the comic stage (primary element) -------------------------------- */
.gc-stage{background:var(--card);border:2px solid var(--line);border-radius:var(--gc-panel-br);
  padding:12px 10px 6px;box-shadow:var(--shadow);position:relative}

/* ---- side paging buttons (vertical middle, in the blank side gutters) --- */
.gc-side{position:absolute;top:50%;transform:translateY(-50%);z-index:20;display:flex;
  align-items:center;text-decoration:none;cursor:pointer;overflow:hidden;max-width:48px;
  background:#fffffff2;border:2px solid #efe6ff;border-radius:100px;box-shadow:var(--shadow-lg);
  backdrop-filter:blur(8px) saturate(1.3);transition:max-width .22s ease,transform .2s ease,box-shadow .2s ease,background .2s ease}
.gc-side[hidden]{display:none}
.gc-side-prev{left:14px}
.gc-side-next{right:14px}
.gc-side-ico{flex:none;width:42px;height:42px;display:grid;place-items:center;font-size:26px;line-height:1;color:var(--purple)}
.gc-side-lab{display:flex;flex-direction:column;justify-content:center;white-space:nowrap;
  max-width:0;opacity:0;padding:0;transition:max-width .22s ease,opacity .18s ease,padding .22s ease}
.gc-side-prev .gc-side-lab{align-items:flex-start}
.gc-side-next .gc-side-lab{align-items:flex-end}
.gc-side-kick{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--purple-2);opacity:.85;line-height:1;margin-bottom:2px}
.gc-side-name{font-family:var(--gc-comic-font);font-weight:600;font-size:13px;color:var(--ink);line-height:1.14;
  max-width:170px;overflow:hidden;text-overflow:ellipsis}
.gc-side:hover,.gc-side:focus-visible{max-width:264px;background:#fff;outline:none;
  transform:translateY(-50%) scale(1.02);box-shadow:0 10px 26px rgba(124,58,237,.22)}
.gc-side:hover .gc-side-lab,.gc-side:focus-visible .gc-side-lab{max-width:182px;opacity:1;padding:0 8px}
/* link mode = jump to another book: brand fill so it reads as "leave this book" */
.gc-side[data-mode="link"]{background:var(--purple);border-color:var(--purple-2)}
.gc-side[data-mode="link"] .gc-side-ico{color:#fff}
.gc-side[data-mode="link"] .gc-side-kick{color:#f0e6ff;opacity:.95}
.gc-side[data-mode="link"] .gc-side-name{color:#fff}
.gc-side[data-mode="link"]:hover,.gc-side[data-mode="link"]:focus-visible{background:var(--purple-2)}
/* no side gutters on narrow screens — the floating bar already carries prev/next */
@media(max-width:860px){.gc-side{display:none}}
/* small listen button inside the explore detail (and any inline tool) */
.gc-tool{border:2px solid var(--line);background:#fff;border-radius:10px;width:36px;height:36px;display:grid;
  place-items:center;cursor:pointer;font-size:15px;transition:.16s}
.gc-tool.sm{width:30px;height:30px;font-size:13px;border-width:1.5px}
.gc-tool:hover{border-color:var(--purple-3);background:var(--gc-lilac)}
.gc-tool-div{width:2px;align-self:stretch;margin:3px 1px;background:var(--line);border-radius:2px}

/* ---- floating control bar (fixed to the bottom of the screen) --------- */
.gc-floatbar{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:40;
  display:flex;align-items:center;gap:6px;background:#ffffffee;border:2px solid #efe6ff;border-radius:10px;
  padding:7px 16px;box-shadow:var(--shadow-lg);backdrop-filter:blur(10px) saturate(1.4);
  transition:transform .28s ease,opacity .28s ease}
.gc-floatbar.is-tucked{transform:translateX(-50%) translateY(170%);opacity:0;pointer-events:none}
.gc-fbtn{border:none;background:transparent;border-radius:50%;width:38px;height:38px;display:grid;place-items:center;
  cursor:pointer;font-size:20px;line-height:1;color:var(--purple);transition:background .16s}
.gc-fbtn:hover{background:var(--gc-lilac)}
.gc-fbtn#gcZoom,.gc-fbtn#gcFull,.gc-fbtn#gcToc,.gc-fbtn#gcListen{font-size:16px}
.gc-fbtn.is-active{background:var(--purple);color:#fff}
.gc-fbtn.is-active:hover{background:var(--purple-2)}
.gc-fbtn[aria-pressed="true"]{background:var(--purple);color:#fff}
.gc-fb-meta{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;padding:0 10px;max-width:420px;min-width:0}
.gc-fb-title{font-family:var(--gc-comic-font);font-weight:600;font-size:13px;color:var(--ink);line-height:1.12;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}
.gc-floatbar .gc-counter{display:inline-flex;align-items:center;gap:1px;font-size:11px;font-weight:800;color:var(--purple-2);white-space:nowrap}
.gc-floatbar .gc-counter b{color:var(--purple)}
.gc-floatbar .gc-counter i{font-style:normal;opacity:.5}
.gc-floatbar .gc-tool-div{height:22px}
.gc-floatbar.is-idle{opacity:0;transform:translateX(-50%) translateY(12px);pointer-events:none}

/* ---- table of contents (paging-bar menu) ----------------------------- */
.gc-toc{position:fixed;left:50%;bottom:74px;transform:translateX(-50%);z-index:45;width:min(92vw,420px);
  max-height:min(70vh,560px);display:flex;flex-direction:column;background:#fff;border:2px solid #efe6ff;
  border-radius:20px;box-shadow:0 24px 60px rgba(124,58,237,.3);overflow:hidden;animation:gc-fade .18s ease-out}
.gc-toc[hidden]{display:none}
.gc-toc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 15px;
  border-bottom:2px solid #f1ebfb;font-family:var(--gc-comic-font);font-size:15px;color:var(--ink)}
.gc-toc-x{border:none;background:var(--gc-lilac);color:var(--purple);width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:14px}
.gc-toc-x:hover{background:#e7ddfa}
.gc-toc-list{overflow:auto;padding:8px;display:flex;flex-direction:column;gap:3px}
.gc-toc-item{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:none;background:transparent;
  border-radius:12px;padding:9px 11px;cursor:pointer;font:inherit;color:var(--ink);transition:background .14s}
.gc-toc-item:hover{background:var(--gc-lilac)}
.gc-toc-item[aria-current="true"]{background:var(--gc-lilac);box-shadow:inset 0 0 0 2px var(--purple-3)}
.gc-toc-n{flex:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;font-size:11px;font-weight:800;background:#efe6ff;color:var(--purple-2)}
.gc-toc-item[aria-current="true"] .gc-toc-n{background:var(--purple);color:#fff}
.gc-toc-t{flex:1;min-width:0;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gc-toc-done{flex:none;color:#10b981;font-weight:900;opacity:0;font-size:13px}
.gc-toc-item.is-done .gc-toc-done{opacity:1}
.gc-toc-item.is-done .gc-toc-n{background:#d1fae5;color:#059669}
.gc-toc-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:11px 14px;border-top:2px solid #f1ebfb;background:#faf7ff}
.gc-toc-act{display:inline-flex;align-items:center;gap:6px;border:2px solid #e8e0f7;background:#fff;border-radius:100px;
  padding:7px 13px;font-size:12.5px;font-weight:800;color:var(--purple-2);text-decoration:none;cursor:pointer}
.gc-toc-act:hover{border-color:var(--purple-3);background:var(--gc-lilac)}
.gc-toc-foot .lang-btn{margin-left:auto}

/* ---- the lesson's text section heading (SEO h1), below the comic ------ */
.gc-content-h{font-family:var(--gc-comic-font);font-weight:600;font-size:clamp(20px,3vw,27px);color:var(--ink);text-align:center;margin:20px 0 2px}

/* ---- breadcrumb chapter + cross-chapter navigation ------------------- */
.gc-bc-ch{color:var(--muted);font-weight:700}
.gc-chapternav{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:16px 0 6px}
.gc-cn{display:inline-flex;align-items:center;gap:6px;border:2px solid #e7ddfa;background:var(--card);border-radius:100px;
  padding:9px 16px;font-family:var(--gc-comic-font);font-weight:500;font-size:13px;color:var(--purple-2);
  box-shadow:var(--shadow);transition:transform .15s,background .15s,border-color .15s}
.gc-cn:hover{border-color:var(--purple-3);background:var(--gc-lilac);transform:translateY(-1px)}
.gc-cn-lib{color:var(--ink)}
.gc-cn-next{background:linear-gradient(135deg,var(--purple),#8b5cf6);border-color:var(--purple);color:#fff}
.gc-cn-next:hover{background:var(--purple-2);color:#fff}
/* ---- flipbook: all comics stacked in one page; flip between them -------- */
.gc-bookwrap{position:relative;display:flex;justify-content:center}
/* comic-first: the whole comic page fits the viewport height, centred (digital comic-book feel) */
#gcBook{position:relative;width:min(56vw,736px);height:auto;max-width:96%;aspect-ratio:1080/1350;
  perspective:1600px;margin:0 auto}
.gc-fpage{position:absolute;inset:0;opacity:0;visibility:hidden;backface-visibility:hidden;
  transition:opacity .08s;will-change:transform,filter}
.gc-fpage.active{opacity:1;visibility:visible;z-index:2}
.gc-fpage img{width:100%;height:100%;object-fit:contain;border-radius:14px;display:block;
  box-shadow:0 10px 30px rgba(124,58,237,.14);background:var(--gc-lilac);cursor:zoom-in}
.gc-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;
  border:2px solid #efe6ff;background:#ffffffe8;color:var(--purple);font-size:26px;line-height:1;cursor:pointer;
  display:grid;place-items:center;box-shadow:0 8px 20px rgba(124,58,237,.18);transition:transform .16s,background .16s;
  backdrop-filter:blur(4px)}
.gc-arrow.prev{left:8px}.gc-arrow.next{right:8px}
.gc-arrow:hover{transform:translateY(-50%) scale(1.08);background:#fff}
.gc-arrow[aria-disabled="true"]{opacity:.35;pointer-events:none}
.gc-stage-cap{font-size:11.5px;color:var(--muted);text-align:center;margin:10px 6px 2px;line-height:1.5}

/* ---- book cover (flipbook page 0) ------------------------------------- */
.gc-coverpage img{cursor:default}
.gc-cover{position:absolute;inset:0;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;gap:10px;padding:8% 9%;color:#fff;
  background:radial-gradient(120% 85% at 50% -12%, #a855f7 0%, var(--purple) 44%, var(--purple-2) 100%);
  box-shadow:inset 0 0 0 6px #ffffff1f}
.gc-cover::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(60% 42% at 50% 118%, rgba(255,255,255,.2), transparent 70%)}
.gc-cover>*{position:relative;z-index:1}
.gc-cover-kick{font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#f0e6ff}
.gc-cover-emoji{font-size:clamp(42px,9vw,74px);line-height:1;filter:drop-shadow(0 6px 14px rgba(0,0,0,.25))}
.gc-cover-title{font-family:var(--gc-comic-font);font-weight:700;color:#fff;line-height:1.05;margin:0;
  font-size:clamp(25px,5vw,46px);text-shadow:0 3px 0 rgba(0,0,0,.14)}
.gc-cover-blurb{font-size:clamp(13px,2.3vw,16px);line-height:1.5;color:#f3ecff;max-width:34ch;margin:0}
.gc-cover-badge{display:inline-block;background:#ffffff26;border:1.5px solid #ffffff55;border-radius:100px;
  padding:5px 14px;font-size:12px;font-weight:800}
.gc-cover-start{margin-top:4px;border:none;cursor:pointer;background:#fff;color:var(--purple);
  font-family:var(--gc-comic-font);font-weight:700;font-size:clamp(15px,2.6vw,19px);
  padding:11px 26px;border-radius:100px;box-shadow:0 8px 20px rgba(0,0,0,.2);transition:transform .16s,box-shadow .16s}
.gc-cover-start:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 12px 26px rgba(0,0,0,.26)}
.gc-coverpage .gc-cover-mascot{width:clamp(60px,12vw,100px);height:auto;object-fit:contain;margin-top:2px;
  border-radius:0;background:none;box-shadow:none;cursor:default;filter:drop-shadow(0 6px 14px rgba(0,0,0,.22))}
.gc-cover-hint{font-size:11px;color:#eadcff;opacity:.85}

/* cover 'What's inside' contents list (under-comic block for page 0) */
.gc-coverlist h2{font-family:var(--gc-comic-font);font-weight:600;color:var(--ink);font-size:18px;margin:4px 2px 10px}
.gc-coverlist ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.gc-cl{display:flex;align-items:center;gap:10px;text-decoration:none;border:2px solid var(--line);border-radius:14px;
  padding:9px 12px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s,transform .15s}
.gc-cl:hover{border-color:var(--purple-3);box-shadow:var(--shadow);transform:translateY(-1px)}
.gc-cl-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--gc-lilac);color:var(--purple);
  display:grid;place-items:center;font-size:12px;font-weight:800}
.gc-cl-t{flex:1;min-width:0;font-family:var(--gc-comic-font);font-weight:600;font-size:14px;line-height:1.2}
.gc-cl-done{flex:none;color:var(--purple);opacity:0;font-weight:800}
.gc-cl.is-done .gc-cl-done{opacity:1}
.gc-cl.is-done .gc-cl-n{background:var(--purple);color:#fff}
body.dark .gc-cl{background:#242437;color:#ece9f6;border-color:#453f5f}
body.dark .gc-coverlist h2,body.dark .gc-cl-t{color:#ece9f6}

/* 3D page-turn: the current comic swings away on the Y axis (spine origin), revealing
   the next comic already stacked behind it. The turn-out class carries the visibility. */
@keyframes gcTurnNext{from{transform:rotateY(0);filter:brightness(1)}to{transform:rotateY(-100deg);filter:brightness(.55)}}
@keyframes gcTurnPrev{from{transform:rotateY(0);filter:brightness(1)}to{transform:rotateY(100deg);filter:brightness(.55)}}
.gc-fpage.flip-out-next{opacity:1;visibility:visible;z-index:5;transform-origin:left center;animation:gcTurnNext .58s ease-in forwards}
.gc-fpage.flip-out-prev{opacity:1;visibility:visible;z-index:5;transform-origin:right center;animation:gcTurnPrev .58s ease-in forwards}

/* only the active lesson's top-band text and content block are shown */
.gc-tb-mains{position:relative;min-width:0;flex:1}
.gc-tb-main{display:none}
.gc-tb-main.active{display:block}
.gc-lessonblock{display:none}
.gc-lessonblock.active{display:block}

/* ---- under the comic: playful definition + explore cards (compact + interactive) --- */
.gc-undercomic{display:grid;grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:12px;align-items:stretch}
.gc-sec-h{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}
.gc-sec-h h2{font-family:var(--gc-comic-font);font-size:22px;font-weight:600;margin:0;color:var(--ink)}

/* definition card — cat mascot + text + a listen button */
.gc-defcard{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:11px 12px 12px;border:2px solid #e7ddfa;border-radius:17px;box-shadow:var(--shadow);
  background:linear-gradient(165deg,#efe6ff 0%,#f6edff 55%,#fdeef7 100%)}
.gc-defcat{display:flex;justify-content:center;width:100%}
.gc-defcat img{width:112px;max-width:60%;height:auto;filter:drop-shadow(0 7px 12px rgba(124,58,237,.25))}
.gc-defbody{width:100%;margin-top:auto;background:#ffffffe6;border:2px solid #fff;border-radius:13px;padding:10px 12px;
  box-shadow:0 5px 14px rgba(124,58,237,.08);text-align:center}
.gc-deftitle{font-family:var(--gc-comic-font);font-weight:600;color:var(--purple-2);font-size:14px;line-height:1.3;margin:0 0 5px}
.gc-deftext{font-family:'Inter',sans-serif;font-size:12.5px;color:#564f72;line-height:1.6;margin:0}
.gc-def-listen{position:absolute;top:9px;left:10px;z-index:3;width:28px;height:28px;border-radius:50%;
  border:2px solid #efe6ff;background:#fff;cursor:pointer;font-size:13px;display:grid;place-items:center;
  box-shadow:0 3px 8px rgba(124,58,237,.14);transition:transform .15s,background .15s}
.gc-def-listen:hover{background:var(--gc-lilac);transform:scale(1.1)}
.gc-def-listen:active{transform:scale(.95)}
.gc-def-star{position:absolute;pointer-events:none;line-height:1}
.gc-def-star.s1{top:9px;right:12px;font-size:14px}
.gc-def-star.s2{top:42px;left:11px;font-size:11px;color:#a78bfa}

/* explore card — comic banner header */
.gc-explore{position:relative;overflow:hidden;border:2px solid #e7ddfa;border-radius:17px;box-shadow:var(--shadow);
  background:linear-gradient(170deg,#faf7ff,#fff 60%)}
.gc-explore-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 15px;background:linear-gradient(135deg,#7c3aed,#8b5cf6);border-bottom:3px solid #6d28d9}
.gc-eb-txt{font-family:var(--gc-comic-font);font-weight:600;font-size:15px;letter-spacing:.5px;text-transform:uppercase;
  color:#ffd84a;text-shadow:0 1.5px 0 rgba(76,29,149,.55)}
.gc-eb-ico{font-size:19px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.18))}
.gc-explore-inner{padding:12px 14px;position:relative;z-index:1}
.gc-chiprow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}
.gc-echip{display:inline-flex;align-items:center;gap:5px;border:2px solid #ece7f6;background:#fff;border-radius:100px;
  padding:5px 12px;font-family:var(--gc-comic-font);font-size:12.5px;font-weight:500;color:#5b5676;cursor:pointer;
  transition:.15s;box-shadow:0 2px 6px rgba(124,58,237,.06)}
.gc-echip .e{font-size:13px}
.gc-echip:hover{border-color:var(--purple-3);transform:translateY(-1px)}
.gc-echip:active{transform:translateY(0) scale(.97)}
.gc-echip.active{background:linear-gradient(135deg,var(--purple),#8b5cf6);border-color:var(--purple);color:#fff;
  box-shadow:0 5px 13px rgba(124,58,237,.34)}
.gc-edetail-item{display:none}
.gc-edetail-item.active{display:block;animation:gc-fade .25s ease-out}
@keyframes gc-fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.gc-ed-top{display:flex;align-items:center;gap:10px;margin-bottom:2px}
.gc-ed-emoji{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:20px;
  background:var(--gc-lilac);border:1.5px solid #efe6ff;box-shadow:0 3px 8px rgba(124,58,237,.1)}
.gc-ed-top h3{font-family:var(--gc-comic-font);font-size:18px;font-weight:600;margin:0;color:var(--ink);line-height:1.1}
.gc-ed-top .gc-tool{margin-left:auto}
.gc-concept-def{font-family:'Inter',sans-serif;font-size:13px;color:#564f72;margin:7px 0 9px;line-height:1.6}
.gc-concept-hi{font-family:'Inter',sans-serif;font-size:12px;color:var(--purple-2);font-weight:600;margin:-3px 0 9px;line-height:1.5}

/* interactive idea stepper */
.gc-ideanav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px;padding-top:10px;
  border-top:1.5px dashed #e7ddfa}
.gc-idea-prev,.gc-idea-next{border:2px solid #ece7f6;background:#fff;border-radius:100px;padding:5px 13px;
  font-family:var(--gc-comic-font);font-weight:500;font-size:12.5px;color:var(--purple-2);cursor:pointer;
  transition:.15s;box-shadow:0 2px 6px rgba(124,58,237,.06)}
.gc-idea-prev:hover:not(:disabled),.gc-idea-next:hover:not(:disabled){border-color:var(--purple-3);background:var(--gc-lilac);transform:translateY(-1px)}
.gc-idea-prev:disabled,.gc-idea-next:disabled{opacity:.38;cursor:default}
.gc-ideacount{font-family:var(--gc-comic-font);font-weight:500;font-size:12px;color:var(--muted)}
.gc-ideacount b{color:var(--purple);font-size:15px}
/* every example is a tappable "listen" chip */
.gc-ex{display:flex;flex-wrap:wrap;gap:6px}
.gc-ex-chip{display:inline-flex;align-items:center;gap:6px;background:var(--gc-lilac);border:1.5px solid #efe6ff;
  border-radius:10px;padding:5px 11px;font-size:12px;font-weight:700;color:var(--ink);cursor:pointer;
  transition:transform .15s,border-color .15s,background .15s;box-shadow:0 2px 6px rgba(124,58,237,.06)}
.gc-ex-chip .ico{font-size:12px;opacity:.75}
.gc-ex-chip:hover{border-color:var(--purple-3);background:#fff;transform:translateY(-1px)}
.gc-ex-chip:active{transform:scale(.96)}
.gc-ex.sentence .gc-ex-chip{background:#fff;border:2px solid #efe6ff;border-radius:12px;padding:6px 12px;
  font-weight:600;box-shadow:0 3px 8px rgba(124,58,237,.1)}
.gc-ex.sentence .gc-ex-chip .ico{font-size:14px;opacity:1}
.gc-ex-deco{position:absolute;right:11px;bottom:9px;font-size:26px;opacity:.8;pointer-events:none;z-index:0;
  filter:drop-shadow(0 4px 6px rgba(124,58,237,.2))}
.gc-ex-star{position:absolute;pointer-events:none;z-index:0;line-height:1}
.gc-ex-star.s1{right:20px;top:54px;font-size:14px}
.gc-ex-star.s2{right:64px;bottom:24px;font-size:11px;color:#a78bfa}

/* examples gallery (e.g. common nouns for people) */
.gc-gallery-sec .gc-sec-h{margin-bottom:10px}
.gc-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:11px}
.gc-gitem{background:var(--card);border:2px solid var(--line);border-radius:14px;padding:13px 10px;text-align:center;
  box-shadow:var(--shadow)}
.gc-gitem .e{font-size:28px;display:block;margin-bottom:5px}
.gc-gitem .w{font-weight:800;font-size:12.5px;color:var(--ink)}

/* tip callout */
.gc-tip{display:flex;gap:12px;align-items:flex-start;background:var(--gc-mint);border:2px solid #cdeedd;
  border-radius:16px;padding:14px 18px;color:#1f6b4d;font-size:13.5px;line-height:1.6}
.gc-tip .ico{font-size:22px;flex:none}
.gc-tip b{color:#14603f}

/* quiz (compact) */
.gc-quiz{border:2px solid var(--line);border-radius:var(--gc-panel-br);background:var(--card);padding:18px 20px;box-shadow:var(--shadow)}
.gc-quiz-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.gc-quiz-q{font-size:15.5px;font-weight:800;margin:0 0 12px;color:var(--ink)}
.gc-answers{display:grid;gap:8px}
.gc-answer{border:2px solid #ece7f6;background:#fff;border-radius:11px;padding:11px 14px;text-align:left;
  font-size:13.5px;font-weight:600;color:var(--ink);cursor:pointer;transition:.16s}
.gc-answer:hover:not(:disabled){background:var(--gc-lilac);border-color:var(--purple-3)}
.gc-answer.correct{border-color:#7dceb0;background:#e7f8ef;color:#1f7554}
.gc-answer.wrong{border-color:#f0adb1;background:#fff0f1;color:#a64a51}
.gc-answer:disabled{cursor:default}
.gc-quiz-fb{margin-top:11px;font-size:13px;color:#5a5676;min-height:18px}
.gc-quiz-foot{display:flex;gap:9px;flex-wrap:wrap;margin-top:13px}

/* keep reading + prev/next (bottom row) */
.gc-keepreading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;
  background:var(--card);border:2px solid var(--line);border-radius:var(--gc-panel-br);padding:16px 18px;box-shadow:var(--shadow)}
.gc-related{display:flex;gap:12px;flex-wrap:wrap}
.gc-rel{display:flex;gap:10px;align-items:center;border:2px solid var(--line);border-radius:13px;padding:9px 11px;
  background:#fff;transition:transform .18s,border-color .18s;min-width:190px}
.gc-rel:hover{transform:translateY(-3px);border-color:var(--purple-3)}
.gc-rel img{width:46px;height:58px;object-fit:cover;border-radius:8px;flex:none}
.gc-rel b{font-size:13px;color:var(--ink);font-family:var(--gc-comic-font);font-weight:600}
.gc-rel span{font-size:11px;color:var(--muted);display:block;margin-top:2px}
.gc-krnav{display:flex;align-items:center;gap:8px}
.gc-rnav{display:flex;align-items:center;gap:9px;color:var(--ink);font-weight:700;font-size:13px;cursor:pointer}
.gc-rnav.next{text-align:right}
.gc-rnav .lab{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;display:block}
.gc-rnav .ti{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}
.gc-rnav:hover{color:var(--purple)}
.gc-rnav[aria-disabled="true"]{opacity:.4;pointer-events:none}
.gc-rbtn{border:2px solid var(--line);background:#fff;border-radius:11px;width:38px;height:38px;display:grid;
  place-items:center;cursor:pointer;font-size:16px;flex:none;transition:.16s}
.gc-rbtn:hover{border-color:var(--purple-3);background:var(--gc-lilac)}

/* ---- zoom lightbox ---------------------------------------------------- */
.gc-lightbox{position:fixed;inset:0;z-index:120;display:none;
  background:
    radial-gradient(120% 70% at 50% 24%, rgba(255,255,255,.14), transparent 55%),
    linear-gradient(135deg, #7c3aed 0%, #7452e6 30%, #6170ee 62%, #569af4 100%);
  align-items:center;justify-content:center;overflow:hidden;padding:20px;cursor:zoom-out}
.gc-lightbox.open{display:flex;animation:gc-fade .2s ease-out}
.gc-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  border-radius:12px;box-shadow:0 20px 50px rgba(124,58,237,.22)}
.gc-lightbox .gc-lb-close{position:fixed;top:16px;right:18px;width:42px;height:42px;border-radius:50%;
  border:2px solid #efe6ff;background:#fff;color:var(--purple);font-size:20px;cursor:pointer;
  box-shadow:0 6px 16px rgba(124,58,237,.2);z-index:2}
.gc-lb-nav{position:fixed;top:50%;transform:translateY(-50%);width:50px;height:50px;border-radius:50%;
  border:2px solid #efe6ff;background:#fff;color:var(--purple);font-size:30px;line-height:1;cursor:pointer;
  box-shadow:0 8px 20px rgba(124,58,237,.18);z-index:2;display:grid;place-items:center;transition:background .16s}
.gc-lb-nav:hover{background:var(--gc-lilac)}
.gc-lb-nav.prev{left:16px}.gc-lb-nav.next{right:16px}
.gc-lb-nav[hidden]{display:none}

/* ---- fullscreen reader (brand gradient, not the UA grey backdrop) ------ */
.gc-stage:fullscreen,.gc-stage:-webkit-full-screen,
body[data-gc-page="lesson"] .gc-stage:fullscreen,
body[data-gc-page="book"] .gc-stage:fullscreen{
  padding:20px;display:flex;flex-direction:column;justify-content:center;backdrop-filter:none;
  background:
    radial-gradient(120% 74% at 50% 28%, rgba(255,255,255,.14), transparent 52%),
    linear-gradient(135deg,#7c3aed 0%,#7452e6 30%,#6170ee 62%,#569af4 100%)}
.gc-stage:fullscreen::backdrop,.gc-stage:-webkit-full-screen::backdrop{background:#7c3aed}
.gc-stage:fullscreen #gcBook,.gc-stage:-webkit-full-screen #gcBook{height:88vh;width:auto;max-width:96%}

/* ---- open a book in fullscreen from the hub (fullscreened iframe host) ---- */
.gc-fs-host{position:fixed;inset:0;z-index:300;background:#7c3aed;border:0}
.gc-fs-host iframe{width:100%;height:100%;border:0;display:block}
.gc-fs-close{position:fixed;top:14px;right:16px;z-index:2;width:42px;height:42px;border-radius:50%;
  border:2px solid #efe6ff;background:#fff;color:var(--purple);font-size:20px;cursor:pointer;
  box-shadow:0 6px 16px rgba(124,58,237,.25)}
/* immersive book (inside that iframe): just the big comic + gradient + arrows + floatbar */
body.gc-immersive .gc-topline,body.gc-immersive .gc-chapternav,
body.gc-immersive .gc-blocks,body.gc-immersive #gcFull{display:none!important}
body.gc-immersive .gc-reader{padding:6px 10px}
body.gc-immersive #gcBook{height:92vh;width:auto;max-width:96%}
@media(max-width:640px){body.gc-immersive #gcBook{height:auto;width:100%}}

/* reward popup */
.gc-reward{position:fixed;left:50%;bottom:80px;transform:translateX(-50%) translateY(16px);z-index:80;
  background:linear-gradient(120deg,var(--purple),var(--green));color:#fff;border-radius:16px;padding:14px 22px;
  font-weight:800;font-size:14px;box-shadow:0 14px 40px rgba(124,58,237,.4);opacity:0;pointer-events:none;
  transition:.3s;display:flex;gap:9px;align-items:center}
.gc-reward.show{opacity:1;transform:translateX(-50%) translateY(0)}
.gc-reward .big{font-size:22px}

/* toast (shared pattern) */
.gc-toast{position:fixed;right:20px;bottom:20px;background:#2e1065;color:#fff;border-radius:12px;padding:11px 17px;
  font-size:12.5px;box-shadow:0 10px 35px rgba(46,16,101,.3);opacity:0;transform:translateY(12px);
  pointer-events:none;transition:.25s;z-index:90}
.gc-toast.show{opacity:1;transform:translateY(0)}

/* lang toggle visibility of hinglish spans */
[data-lang="en"] .gc-hi-only{display:none}
[data-lang="hi"] .gc-en-only{display:none}

/* =======================================================================
   DARK MODE
   ======================================================================= */
body.dark .gc-hero,body.dark .gc-topband{background:linear-gradient(120deg,#2e2545,#241f38);border-color:#473f61}
body.dark .gc-card,body.dark .gc-quiz,body.dark .gc-stage,body.dark .gc-explore,body.dark .gc-keepreading,
body.dark .gc-rel,body.dark .gc-gitem,body.dark .gc-stat{background:#242437;border-color:#3b3550;color:var(--ink)}
body.dark .gc-defcard{background:linear-gradient(165deg,#2e2545,#241f38);border-color:#473f61}
body.dark .gc-defbody{background:#2a2742;border-color:#3b3550}
body.dark .gc-deftext{color:#c9c3da}
body.dark .gc-explore{background:#242437}
body.dark .gc-ex-chip{background:#2a2742;border-color:#413a5c;color:var(--ink)}
body.dark .gc-ex-chip:hover{background:#35304f}
body.dark .gc-def-listen,body.dark .gc-ed-emoji,body.dark .gc-idea-prev,body.dark .gc-idea-next{background:#2a2742;border-color:#453f5f}
body.dark .gc-ideanav{border-top-color:#3b3550}
body.dark .gc-ptrack{background:#3b3550;box-shadow:none}
body.dark .gc-cn:not(.gc-cn-next){background:#242437;border-color:#3b3550}
body.dark .gc-search,body.dark .gc-chip,body.dark .gc-btn:not(.gc-btn-primary),body.dark .gc-answer,
body.dark .gc-echip,body.dark .gc-tool,body.dark .gc-rbtn,body.dark .gc-tb-select{background:#2a2742;border-color:#453f5f;color:var(--ink)}
body.dark .gc-tb-select select{color:var(--ink)}
body.dark .gc-tb-select option{background:#242437}
body.dark .gc-ex span{background:#35304f;border-color:#413a5c;color:#ece9f8}
body.dark .gc-tip{background:#21443a;border-color:#2c5a4a;color:#d4f6e4}
body.dark .gc-tip b{color:#aef0cf}
body.dark .gc-arrow{background:#2a2742e8;border-color:#453f5f;color:var(--purple-3)}
body.dark .gc-floatbar{background:#242437ee;border-color:#453f5f}
body.dark .gc-side{background:#242437f2;border-color:#453f5f}
body.dark .gc-side:hover,body.dark .gc-side:focus-visible{background:#2b2b42}
body.dark .gc-side-name{color:#ece9f6}
body.dark .gc-fbtn{color:var(--purple-3)}
body.dark .gc-fbtn:hover{background:#35304f}
body.dark .gc-hero p,body.dark .gc-tb-desc{color:#c9c3da}

/* =======================================================================
   RESPONSIVE
   ======================================================================= */
@media(max-width:860px){
  .gc-tb-body{flex-wrap:wrap;gap:12px}
  .gc-tb-left{flex:1 1 100%}
  .gc-tb-divider{display:none}
  .gc-tb-right{flex:1 1 100%}
  .gc-undercomic{grid-template-columns:1fr}
  .gc-keepreading{grid-template-columns:1fr;gap:14px}
  .gc-krnav{justify-content:space-between}
}
@media(max-width:640px){
  .gc-main,.gc-reader{padding:12px 15px 70px}
  .gc-hero{padding:24px 20px;border-radius:22px}
  .gc-hero-mascot{width:96px;opacity:.9}
  .gc-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:13px}
  .gc-controls{flex-direction:column;align-items:stretch}
  .gc-search{max-width:none}
  .gc-topband{padding:14px;border-radius:18px}
  .gc-tb-avatar{width:52px;height:52px;border-radius:13px}
  .gc-tb-row{flex-direction:column;align-items:stretch;gap:9px}
  .gc-tb-actions{flex:1 1 100%}
  .gc-topband .gc-btn{flex:1;justify-content:center}
  .gc-tb-select{margin-left:0;width:100%}
  .gc-stage{padding:10px 8px 6px}
  .gc-floatbar{bottom:12px;gap:3px;padding:4px 7px}
  .gc-fbtn{width:36px;height:36px}
  .gc-reader{padding-bottom:72px}
  #gcBook{height:auto;width:100%;max-width:100%}
  .gc-fb-title{display:none}
  .gc-fb-meta{padding:0 2px}
  .gc-toc{bottom:66px;width:min(94vw,420px)}
  .gc-rnav .ti{max-width:90px}
  .gc-rel{min-width:0;flex:1}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
  /* keep the comic page-turn — it's an explicit, user-requested effect (wins on specificity) */
  .gc-fpage.flip-out-next{animation:gcTurnNext .58s ease-in forwards!important;transform-origin:left center!important}
  .gc-fpage.flip-out-prev{animation:gcTurnPrev .58s ease-in forwards!important;transform-origin:right center!important}
}

/* ======================================================================
   LIBRARY v2 — image hero + interactive expanding book cards
   ====================================================================== */
.gc-library-main{width:100%;margin:0;padding:0}
.gc-lib-top{max-width:1120px;margin:0 auto;padding:12px 22px 0}
.gc-tl-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap;min-width:0}
.gc-logo{display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.gc-logo-img{width:34px;height:34px;border-radius:10px;display:block}
.gc-logo-tx{font-family:var(--gc-comic-font);font-weight:700;font-size:19px;line-height:1;
  background:linear-gradient(90deg,var(--purple),var(--green));-webkit-background-clip:text;background-clip:text;color:transparent}

.gc-hero2{position:relative;min-height:min(50vw,640px);display:grid;align-items:center;margin-top:10px;
  padding:clamp(28px,6vw,80px);background-size:cover;background-position:center;background-repeat:no-repeat;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.gc-hero2-copy{position:relative;z-index:1;width:min(54%,680px)}
.gc-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 18px;background:#fff;border-radius:100px;
  padding:8px 16px;color:var(--purple-2);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:13px;
  box-shadow:0 6px 18px rgba(80,30,140,.14)}
.gc-eyebrow-ico{font-size:16px;line-height:1}
.gc-hero2 h1{margin:0;font-size:clamp(30px,5vw,64px);line-height:1.04;letter-spacing:-.01em;color:var(--ink)}
.gc-hero2 h1 em{font-style:normal;color:var(--green)}
/* comic-poster heading: outlined + 3D words that pop in and bounce on hover */
.gc-hw{display:inline-block;font-weight:800;color:var(--ink);
  text-shadow:-1.5px -1.5px 0 #fff,1.5px -1.5px 0 #fff,-1.5px 1.5px 0 #fff,1.5px 1.5px 0 #fff,0 1px 0 #fff,4px 6px 0 rgba(124,58,237,.26);
  transition:transform .22s cubic-bezier(.3,1.5,.5,1);
  animation:gcHeroPop .6s cubic-bezier(.2,1.5,.4,1) backwards}
.gc-hw-pink{color:var(--green)}
.gc-hw:nth-child(1){animation-delay:.05s}
.gc-hw:nth-child(2){animation-delay:.13s}
.gc-hw:nth-child(3){animation-delay:.21s}
.gc-hw:nth-child(4){animation-delay:.31s}
.gc-hw:nth-child(5){animation-delay:.39s}
.gc-hw:hover{transform:translateY(-8px) rotate(-4deg) scale(1.08)}
.gc-hw-pink:hover{transform:translateY(-8px) rotate(4deg) scale(1.1)}
@keyframes gcHeroPop{0%{opacity:0;transform:translateY(20px) scale(.65) rotate(-7deg)}
  60%{opacity:1;transform:translateY(-5px) scale(1.07) rotate(2deg)}
  100%{opacity:1;transform:none}}
/* yellow hand-drawn underline under the heading (sits under "comics") */
.gc-hero-swoosh{display:block;width:clamp(120px,18vw,210px);height:14px;margin:8px 0 0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 18'%3E%3Cpath d='M5 12 C60 3 150 3 205 9' fill='none' stroke='%23ffcf33' stroke-width='7' stroke-linecap='round'/%3E%3C/svg%3E") left center/contain no-repeat}
.gc-hero2-sub{margin:16px 0 0;max-width:42ch;font-size:clamp(15px,1.5vw,20px);line-height:1.55;color:#5b4a76}
.gc-hero2-sub .gc-hl{background:#ffd84a;color:var(--ink);border-radius:6px;padding:1px 8px;font-weight:800}
/* chunky yellow "Explore Comics" CTA */
.gc-hero-cta{display:inline-flex;align-items:center;gap:12px;margin:24px 0 0;text-decoration:none;
  font-family:var(--gc-comic-font);font-weight:600;font-size:clamp(17px,2vw,21px);color:#2f1858;
  background:linear-gradient(180deg,#ffe25a,#ffcf33);padding:15px 32px;border-radius:100px;
  box-shadow:0 6px 0 #e3a81f,0 14px 24px rgba(180,120,0,.28);transition:transform .12s,box-shadow .12s}
.gc-hero-cta b{font-weight:700}
.gc-hero-cta-ico{font-size:22px;line-height:1}
.gc-hero-cta:hover{transform:translateY(2px);box-shadow:0 4px 0 #e3a81f,0 10px 18px rgba(180,120,0,.28)}
.gc-hero-cta:active{transform:translateY(6px);box-shadow:0 0 0 #e3a81f}
/* feature chips row */
.gc-hero-feats{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0}
.gc-feat{display:inline-flex;align-items:center;gap:9px;background:#fff;border-radius:100px;padding:9px 16px;
  box-shadow:0 6px 16px rgba(80,30,140,.12)}
.gc-feat-ico{font-size:18px;line-height:1;flex:none}
.gc-feat-tx{font-weight:800;font-size:13px;color:var(--ink);line-height:1.12;max-width:80px}

.gc-lib-inner{max-width:1200px;margin:0 auto;padding:clamp(36px,6vw,58px) 22px 90px}
.gc-intro{text-align:center;margin-bottom:30px}
.gc-intro h2{margin:0 0 6px;font-size:clamp(26px,4vw,42px);color:var(--ink)}
.gc-intro p{margin:0;color:var(--muted)}

.gc-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,32px)}
.gc-library .gc-book{overflow:hidden;isolation:isolate}
.gc-library .gc-book:hover,.gc-library .gc-book:focus-within,.gc-library .gc-book.open{
  transform:translateY(-8px);box-shadow:0 30px 65px rgba(76,29,149,.24);border-color:var(--purple-3)}
.gc-art-link{display:block;text-decoration:none;color:inherit}
.gc-cover-btn{display:block;width:100%;padding:0;border:0;background:transparent;cursor:pointer;color:inherit;text-align:left;font:inherit}
.gc-art{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--gc-lilac)}
.gc-art img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s cubic-bezier(.2,.75,.25,1),filter .4s ease}
.gc-book:hover .gc-art img,.gc-book:focus-within .gc-art img,.gc-book.open .gc-art img{transform:scale(1.05);filter:saturate(1.05)}
.gc-shine{position:absolute;inset:-45% auto -45% -70%;width:45%;pointer-events:none;transform:rotate(15deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transition:left .8s ease}
.gc-book:hover .gc-shine,.gc-book:focus-within .gc-shine{left:130%}
.gc-symbols{position:absolute;inset:0;pointer-events:none}
.gc-symbols span{position:absolute;display:grid;place-items:center;min-width:42px;height:42px;padding:0 10px;
  border:2px solid rgba(255,255,255,.75);border-radius:999px;color:#fff;font-weight:900;font-size:14px;
  background:linear-gradient(135deg,rgba(124,58,237,.92),rgba(236,72,153,.9));box-shadow:0 10px 28px rgba(76,29,149,.3);
  opacity:0;transform:translateY(16px) scale(.75) rotate(-8deg);transition:opacity .3s ease,transform .55s cubic-bezier(.2,.9,.25,1.35)}
.gc-symbols span:nth-child(1){left:7%;top:36%}
.gc-symbols span:nth-child(2){right:7%;top:52%;transition-delay:.07s}
.gc-symbols span:nth-child(3){left:13%;bottom:8%;transition-delay:.14s}
.gc-book:hover .gc-symbols span,.gc-book:focus-within .gc-symbols span,.gc-book.open .gc-symbols span{opacity:1;transform:none}
.gc-meta{padding:18px 20px 16px}
.gc-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gc-meta-row h2{margin:0;font-size:22px;color:var(--ink)}
.gc-toggle{color:var(--purple);font-weight:800;white-space:nowrap;font-size:14px}
.gc-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s ease}
.gc-details-in{overflow:hidden}
.gc-book.open .gc-details{grid-template-rows:1fr}
.gc-topics{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 12px}
.gc-topic{padding:7px 11px;border-radius:999px;color:var(--purple-2);background:var(--gc-lilac);font-size:13px;font-weight:700}
.gc-book-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 20px 20px}
.gc-library .gc-book-foot .gc-book-progtext{font-size:12px;font-weight:800;color:var(--muted)}
.gc-start{display:inline-block;padding:11px 16px;border-radius:12px;color:#fff;text-decoration:none;font-weight:800;
  background:linear-gradient(135deg,var(--purple),var(--green));transition:transform .18s ease,box-shadow .18s ease}
.gc-start:hover,.gc-start:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(124,58,237,.3)}
.gc-art-locked{display:grid;place-items:center;gap:8px;color:var(--purple-2);aspect-ratio:4/5}
.gc-art-locked .gc-book-emoji{position:static;font-size:40px;width:auto;height:auto;background:none;box-shadow:none}
.gc-art-locked .gc-book-count{position:static;background:none}

/* book cover PAGE (page 0) now shows the cover image in the frame */
.gc-cover-img{width:100%;height:100%;object-fit:contain;border-radius:14px;display:block;
  box-shadow:0 10px 30px rgba(124,58,237,.14);background:var(--gc-lilac);cursor:zoom-in}
/* cover content block: "Start reading" CTA that sits below the cover image */
.gc-cover-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:2px 2px 16px}
.gc-cover-start2{border:none;cursor:pointer;background:linear-gradient(135deg,var(--purple),var(--green));color:#fff;
  font-family:var(--gc-comic-font);font-weight:600;font-size:16px;padding:11px 26px;border-radius:12px;
  box-shadow:0 8px 20px rgba(124,58,237,.28);transition:transform .16s,box-shadow .16s}
.gc-cover-start2:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(124,58,237,.34)}
.gc-cover-cta-meta{font-size:13px;font-weight:800;color:var(--muted)}

body.dark .gc-topic{background:#2b2b42;color:#d7c9ff}
body.dark .gc-hero2{border-color:#453f5f}

@media(max-width:900px){
  .gc-library{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gc-hero2{min-height:440px;background-position:62% center}
  .gc-hero2-copy{width:56%}
}
@media(max-width:620px){
  .gc-hero2{min-height:540px;align-items:start;padding:28px 20px;background-position:66% center}
  .gc-hero2::before{content:"";position:absolute;inset:0 0 auto;height:54%;pointer-events:none;
    background:linear-gradient(to bottom,var(--card) 12%,transparent)}
  .gc-hero2-copy{width:100%}
  .gc-library{grid-template-columns:1fr}
}

/* ======================================================================
   Decorated READER background (lessons + covers) — fixed gradient + doodles
   ====================================================================== */
.gc-reader-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
  background:
    radial-gradient(120% 74% at 50% 28%, rgba(255,255,255,.15), transparent 52%),
    linear-gradient(135deg, #7c3aed 0%, #7452e6 30%, #6170ee 62%, #569af4 100%)}
.gc-deco{position:absolute}
.gc-deco-bulb{top:7%;left:3%;width:66px;opacity:.17}
.gc-deco-book{top:45%;left:1.5%;width:120px;opacity:.14}
.gc-deco-pencil{top:8%;right:4.5%;width:56px;opacity:.17;transform:rotate(30deg)}
.gc-deco-cap{top:42%;right:2%;width:132px;opacity:.16}
.gc-spark{position:absolute;width:26px;opacity:.22}
.gc-spark.s1{top:12%;left:33%}
.gc-spark.s2{top:17%;right:30%;width:19px}
.gc-spark.s3{bottom:17%;left:23%;width:22px}
.gc-spark.s4{top:31%;right:13%;width:17px}
.gc-spark.s5{bottom:11%;left:53%;width:24px}
.gc-deco-wave{position:absolute;left:0;bottom:0;width:100%;height:120px}
@media(max-width:860px){.gc-deco-book,.gc-deco-cap{width:84px}.gc-deco-bulb{width:50px}.gc-deco-pencil{width:44px}}

/* elements sitting directly on the gradient get contrast treatment */
body[data-gc-page="lesson"] .gc-stage,
body[data-gc-page="book"] .gc-stage{
  background:rgba(255,255,255,.5);border-color:rgba(255,255,255,.55);
  backdrop-filter:blur(10px) saturate(1.2);box-shadow:0 20px 50px rgba(55,18,110,.24)}
body[data-gc-page="lesson"] .gc-breadcrumb,
body[data-gc-page="book"] .gc-breadcrumb{
  background:#fff;border-radius:100px;padding:7px 14px;margin:0;
  box-shadow:0 6px 18px rgba(55,18,110,.2)}
/* lesson title kept in the DOM for SEO but visually hidden — reader is comic + nav only */
body[data-gc-page="lesson"] .gc-content-h,
body[data-gc-page="book"] .gc-content-h{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body[data-gc-page="lesson"] .gc-share-lab,
body[data-gc-page="book"] .gc-share-lab{color:#f0e9ff}
body[data-gc-page="book"] .gc-coverlist h2{color:#fff;text-shadow:0 2px 10px rgba(40,10,90,.3)}
body[data-gc-page="book"] .gc-cover-cta-meta{color:#efe7ff}
/* the decorative bg is already dark; don't double up in dark mode */
body.dark .gc-reader-bg{background:
  radial-gradient(125% 78% at 50% 30%, rgba(255,255,255,.1), transparent 56%),
  linear-gradient(135deg,#4c1d95,#3b2a7a 55%,#1e3a8a)}

