:root {
  --ink: #12362f;
  --ink-2: #255148;
  --orange: #dc6726;
  --orange-dark: #b84d1d;
  --gold: #cc9a35;
  --gold-soft: #ead5a5;
  --cream: #fffbf3;
  --paper: #f8f0df;
  --paper-deep: #ede0c8;
  --line: #d8c6a7;
  --soft: #6e6a60;
  --shadow: 0 24px 70px rgba(48, 39, 25, .13);
  --serif: Georgia, "Times New Roman", serif;
  --sanskrit-serif: "Tiro Devanagari Sanskrit", serif;
  --iast-font: "Gentium Plus", "Noto Sans", "Segoe UI", sans-serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --module-hero-height: clamp(280px, 26vw, 390px);
  --hero-aspect: 3 / 1;
  --page-a: #ebe7df;
  --page-b: #f6f4ef;
  --page-c: #e7e2d9;
  --bar: rgba(255,251,243,.94);
  --surface: #fffbf3;
  --surface-raised: #fffdf8;
  --wash: #f8f0df;
  --wash-strong: #ede0c8;
  --focus: rgba(220,103,38,.28);
}

html[data-theme="pink"] {
  --ink: #43233f; --ink-2: #663657; --orange: #c84f83; --orange-dark: #9c3565;
  --gold: #a86082; --gold-soft: #efd7e4; --cream: #fff7fb; --paper: #f8eaf2;
  --paper-deep: #ead5e3; --line: #d8b9cb; --soft: #725f70; --page-a: #e8e4f4;
  --page-b: #fff3fa; --page-c: #e8dce9; --bar: rgba(255,247,251,.95); --surface: #fff7fb;
  --surface-raised: #fffafd; --wash: #f8eaf2; --wash-strong: #ead5e3; --focus: rgba(200,79,131,.3);
}
html[data-theme="indigo"] {
  --ink: #25244f; --ink-2: #3d3b77; --orange: #6e64ce; --orange-dark: #5048a9;
  --gold: #7670b0; --gold-soft: #dedaf3; --cream: #f7f6ff; --paper: #eceafb;
  --paper-deep: #dcd9f1; --line: #bebadd; --soft: #65627d; --page-a: #d9d8eb;
  --page-b: #f1f0fb; --page-c: #d8d6e7; --bar: rgba(247,246,255,.95); --surface: #f7f6ff;
  --surface-raised: #fcfbff; --wash: #eceafb; --wash-strong: #dcd9f1; --focus: rgba(110,100,206,.3);
}
html[data-theme="ocean"] {
  --ink: #123a43; --ink-2: #245a64; --orange: #167f91; --orange-dark: #116372;
  --gold: #4f91a0; --gold-soft: #d1e5e7; --cream: #f6fcfb; --paper: #e7f4f2;
  --paper-deep: #cfe5e2; --line: #aed0ce; --soft: #557176; --page-a: #d9e9e8;
  --page-b: #f2f9f8; --page-c: #d7e5e4; --bar: rgba(246,252,251,.95); --surface: #f6fcfb;
  --surface-raised: #fbfefd; --wash: #e7f4f2; --wash-strong: #cfe5e2; --focus: rgba(22,127,145,.3);
}
html[data-theme="sage"] {
  --ink: #263d2d; --ink-2: #45614c; --orange: #557f49; --orange-dark: #3f6335;
  --gold: #7b944f; --gold-soft: #dce3c6; --cream: #fafcf4; --paper: #edf1df;
  --paper-deep: #dce3ca; --line: #c2cda6; --soft: #657062; --page-a: #e2e7da;
  --page-b: #f6f8f1; --page-c: #dde3d6; --bar: rgba(250,252,244,.95); --surface: #fafcf4;
  --surface-raised: #fdfef9; --wash: #edf1df; --wash-strong: #dce3ca; --focus: rgba(85,127,73,.3);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% -6%, color-mix(in srgb, var(--gold) 18%, transparent), transparent 29rem),
    linear-gradient(135deg, var(--page-a), var(--page-b) 45%, var(--page-c));
  font-family: var(--sans);
  min-height: 100vh;
}
button, input, textarea { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, textarea:focus-visible,
a:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 2px;
}
.skip-link {
  position: fixed;
  z-index: 1000;
  top: 10px;
  left: 10px;
  padding: 11px 15px;
  border: 2px solid var(--gold);
  border-radius: 10px;
  color: var(--ink);
  background: var(--surface-raised);
  box-shadow: var(--shadow);
  font-weight: 850;
  text-decoration: none;
  transform: translateY(calc(-100% - 24px));
}
.skip-link:focus-visible { transform: translateY(0); }
#app-main { scroll-margin-top: 86px; }
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Reusable Devanagari treatment. JavaScript adds this class and lang="sa"
   to generated Sanskrit runs without changing their Unicode text. */
.sanskrit-text,
[lang|="sa"] {
  font-family: "Tiro Devanagari Sanskrit", serif !important;
  font-variant-ligatures: normal;
  font-feature-settings: "liga" 1, "clig" 1;
}

.sanskrit-font-check {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 14px;
  padding: 10px 13px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--wash);
}
.sanskrit-font-check span { font-size: 26px; line-height: 1.35; }
.sanskrit-font-check small { color: var(--soft); font-size: 10px; }

.app-bar {
  position: sticky;
  top: 0;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 20px;
  min-height: 68px;
  padding: 10px max(22px, calc((100vw - 1540px) / 2));
  border-bottom: 1px solid color-mix(in srgb, var(--gold) 46%, transparent);
  background: var(--bar);
  box-shadow: 0 8px 30px rgba(32,26,17,.08);
  backdrop-filter: blur(14px);
}
.brand-button {
  appearance: none;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.brand-button {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 10px;
  padding: 7px 5px;
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 700;
}
.brand-mark {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--orange);
  background: var(--surface-raised);
  padding-top: 2px;
  font-family: "Devanagari Sangam MN", "Kohinoor Devanagari", "Noto Sans Devanagari", "Tiro Devanagari Sanskrit", serif;
  font-size: 19px;
  font-weight: 400;
  line-height: 1;
}
.breadcrumb {
  color: var(--soft);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.context-return-shell {
  position: sticky;
  top: 76px;
  z-index: 46;
  width: min(100% - 42px, 1480px);
  height: 0;
  margin: 0 auto;
  pointer-events: none;
}
.context-return-shell[hidden] { display: none; }
.context-return-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid color-mix(in srgb, var(--orange) 44%, var(--line));
  border-radius: 999px;
  color: var(--orange-dark);
  background: color-mix(in srgb, var(--surface-raised) 94%, transparent);
  box-shadow: 0 9px 24px color-mix(in srgb, var(--ink) 13%, transparent);
  cursor: pointer;
  font-size: 12px;
  font-weight: 750;
  pointer-events: auto;
  backdrop-filter: blur(10px);
}
.context-return-button:hover { border-color: var(--orange); background: var(--table-hit); }
.context-return-button > span:first-child { font-size: 18px; line-height: 1; }
.context-return-button strong { font-weight: 900; }

.app-frame {
  width: min(100% - 42px, 1480px);
  margin: 10px auto 28px;
  overflow: clip;
  border: 1px solid color-mix(in srgb, var(--gold) 62%, transparent);
  border-radius: 28px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.site-footer {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: clamp(310px, 27vw, 420px);
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--surface);
  box-shadow: none;
}
.site-footer[hidden] { display: none; }
.site-footer-art {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: auto;
  opacity: .68;
  filter: saturate(.72) contrast(.86) brightness(1.04);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.35) 18%, #000 46%);
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.35) 18%, #000 46%);
  mix-blend-mode: normal;
}
.site-footer-copy {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 7px;
  padding: clamp(48px, 5vw, 72px) 24px clamp(82px, 7vw, 108px);
  pointer-events: none;
  text-align: center;
  transform: translateY(clamp(-44px, -3vw, -28px));
}
.site-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 4px;
  border: 0;
  color: var(--ink);
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
}
.site-footer-brand:hover strong { color: var(--orange-dark); }
.site-footer-brand strong {
  font-family: var(--serif);
  font-size: clamp(22px, 2.1vw, 31px);
  font-weight: 600;
  transition: color .16s ease;
}
.site-footer-om {
  display: grid;
  width: 43px;
  height: 43px;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--orange);
  background: color-mix(in srgb, var(--surface-raised) 86%, transparent);
  padding-top: 2px;
  font-family: "Devanagari Sangam MN", "Kohinoor Devanagari", "Noto Sans Devanagari", "Tiro Devanagari Sanskrit", serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
}
.site-footer-copy p {
  margin: 1px 0 0;
  color: var(--orange-dark);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.site-footer-licence { width:max-content; margin:4px auto 0; padding:2px 1px; border:0; border-bottom:1px solid color-mix(in srgb,var(--orange-dark) 52%,transparent); color:var(--orange-dark); background:transparent; cursor:pointer; font-size:10px; font-weight:800; letter-spacing:.04em; pointer-events:auto; }
.site-footer-licence:hover,
.site-footer-licence:focus-visible { color:var(--orange); border-bottom-color:currentColor; }
.site-footer-licence:focus-visible { outline:2px solid color-mix(in srgb,var(--orange) 40%,transparent); outline-offset:4px; }
.app-view { display: none; }
.app-view.active { display: block; animation: view-in .22s ease-out; }
@keyframes view-in { from { opacity: .3; transform: translateY(3px); } }

.hero {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: var(--hero-aspect);
  overflow: hidden;
  background: var(--wash);
  border-bottom: 1px solid color-mix(in srgb, var(--gold) 55%, transparent);
}
.text-hero:not(.framed-art-hero)::before {
  content: "";
  position: absolute;
  inset: clamp(10px, 1.15vw, 18px);
  z-index: 5;
  border: 1px solid color-mix(in srgb, var(--gold) 88%, transparent);
  border-radius: clamp(17px, 1.9vw, 27px);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--surface-raised) 42%, transparent);
  pointer-events: none;
}
.hero img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home-hero { height: auto; aspect-ratio: var(--hero-aspect); }
.home-hero img { object-fit: cover; }
.home-hero-construction-circle {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.home-hero-construction-circle circle {
  fill: none;
  stroke: #cc9a35;
  stroke-width: 1.65;
  vector-effect: non-scaling-stroke;
}
.view-content { padding: 34px 56px 66px; }
.home-intro {
  display: flex;
  justify-content: space-between;
  gap: 35px;
  align-items: end;
  margin-bottom: 24px;
}
.eyebrow, .kicker {
  margin: 0 0 8px;
  color: var(--orange-dark);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.home-intro h2, .panel-head h2, .topic-heading h2 {
  margin: 0;
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -.025em;
}
.home-intro h2 { font-size: clamp(32px, 4.2vw, 56px); }
.home-intro > p {
  max-width: 560px;
  margin: 0;
  color: var(--soft);
  font-size: 15px;
  line-height: 1.65;
}

.subject-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.subject-tab {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
  min-height: 132px;
  padding: 23px 26px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  text-align: left;
  background: linear-gradient(135deg, #fffdf8, #f6ead2);
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(54,43,23,.08);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.subject-tab::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--orange);
}
.subject-tab:hover {
  transform: translateY(-3px);
  border-color: var(--gold);
  box-shadow: 0 18px 38px rgba(54,43,23,.14);
}
.module-number {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--orange);
  font-family: var(--serif);
  font-size: 26px;
}
.contact-module-icon {
  line-height: 1;
}
.contact-module-icon svg {
  display: block;
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.subject-tab strong {
  display: block;
  margin-bottom: 6px;
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 600;
}
.subject-tab small { color: var(--soft); font-size: 13px; line-height: 1.45; }
.subject-arrow { color: var(--orange); font-size: 24px; }
.growth-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding: 15px 18px;
  border: 1px dashed var(--gold-soft);
  border-radius: 12px;
  color: var(--soft);
  background: rgba(248,240,223,.58);
  font-size: 12px;
  line-height: 1.5;
}
.growth-note b { color: var(--gold); font-family: var(--serif); font-size: 20px; }

.module-tabs, .subtabs {
  display: grid;
  gap: 9px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, #f5ead6, #eee0c8);
}
.module-tabs.three { grid-template-columns: repeat(3, 1fr); }
.module-tabs.four { grid-template-columns: repeat(4, 1fr); }
.module-tabs.five { grid-template-columns: repeat(5, 1fr); }
.module-tabs.six { grid-template-columns: repeat(6, 1fr); }
.module-tabs.two { grid-template-columns: repeat(2, 1fr); }
.module-tabs.one { grid-template-columns: 1fr; }
.module-tabs button, .subtabs button {
  min-height: 60px;
  padding: 10px 18px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--orange-dark);
  background: color-mix(in srgb, var(--surface-raised) 34%, transparent);
  cursor: pointer;
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 700;
}
.module-tabs button:hover, .subtabs button:hover { background: rgba(255,255,255,.45); }
.module-tabs button.active, .subtabs button.active {
  border-color: var(--orange);
  color: var(--orange-dark);
  background: var(--table-hit, var(--cream));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--orange) 24%, transparent), 0 5px 14px rgba(48,39,25,.09);
}
.tab-panel { display: none; }
.tab-panel.active { display: block; animation: view-in .16s ease-out; }
.panel-shell { padding: 36px 56px 66px; }
.panel-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 23px;
}
.panel-head h2 { font-size: clamp(29px, 3vw, 42px); }
.panel-head > p {
  max-width: 560px;
  margin: 0;
  color: var(--soft);
  font-size: 13px;
  line-height: 1.58;
  text-align: right;
}

/* Devanagari search */
.search-tool, .keyboard, .converter, .sandhi-card, .empty-module {
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.64);
  box-shadow: 0 10px 28px rgba(48,39,25,.07);
}
.search-tool { padding: 14px; }
.search-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
}
.search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 54px;
  padding: 0 50px 0 17px;
  border: 1px solid #bda989;
  border-radius: 11px;
  background: #fff;
}
.search-wrap > span:first-child { margin-right: 11px; color: var(--gold); font-size: 24px; }
.search-wrap input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 17px; }
.clear {
  position: absolute;
  right: 12px;
  display: none;
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background: #f1e5d0;
  cursor: pointer;
}
.search-button, .keyboard-button, .transliterate, .converter-actions button {
  min-height: 54px;
  padding: 0 21px;
  border-radius: 11px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 900;
}
.search-button, .transliterate {
  border: 1px solid var(--orange);
  color: white;
  background: var(--orange-dark);
}
.search-button:hover, .transliterate:hover { background: var(--orange-dark); }
.keyboard-button {
  border: 1px solid var(--orange);
  color: var(--orange-dark);
  background: transparent;
}
.keyboard-button.active { background: #f8e4d5; }
.examples { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding: 0 3px; }
.examples span { color: var(--soft); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .11em; }
.examples button, .help button {
  padding: 6px 10px;
  border: 1px solid var(--gold-soft);
  border-radius: 999px;
  color: var(--orange-dark);
  background: #fffaf0;
  cursor: pointer;
  font-size: 12px;
}
.keyboard { display: none; margin-top: 12px; padding: 18px; background: #eee1cb; }
.keyboard.open { display: block; }
.keyboard-head { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 12px; border-bottom: 1px solid rgba(18,54,47,.14); }
.keyboard-head p { margin: 0 0 3px; font-size: 14px; font-weight: 900; }
.keyboard-head span { color: var(--soft); font-size: 11px; }
.key-actions { display: flex; gap: 7px; }
.key-actions button { min-width: 48px; border: 1px solid var(--line); border-radius: 8px; background: #fffaf0; cursor: pointer; }
.key-label { margin: 13px 0 7px; color: var(--soft); font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.keys { display: grid; gap: 5px; }
.latin-vowel-keys, .iast-keys { grid-template-columns: repeat(13, 1fr); }
.dev-vowel-keys { grid-template-columns: repeat(13, 1fr); }
.dev-keys { grid-template-columns: repeat(11, 1fr); }
.keys button, .converter-keys button {
  min-height: 39px;
  padding: 4px;
  border: 1px solid #cfb994;
  border-radius: 7px;
  color: var(--ink);
  background: #fffaf0;
  cursor: pointer;
}
.keys button:hover, .converter-keys button:hover { border-color: var(--orange); background: white; }
.keys b { display: block; font-family: var(--serif); font-size: 19px; }
.keys small { color: var(--soft); font-size: 9px; }
.search-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  max-width: 680px;
  margin: 36px auto 0;
  padding: 18px 22px;
  color: var(--soft);
  text-align: left;
}
.search-empty b { color: var(--gold); font-family: var(--serif); font-size: 48px; font-weight: 400; }
.search-empty p { margin: 0; font-size: 12px; line-height: 1.55; }
.results { display: none; margin-top: 30px; }
.results-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 13px; }
.results-head h3 { margin: 0; font-family: var(--serif); font-size: 26px; }
.results-head > p { margin: 0; color: var(--soft); font-size: 11px; }
.result-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.card {
  position: relative;
  min-height: 205px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fffdf8;
  text-align: center;
}
.origin { display: flex; justify-content: center; align-items: center; gap: 6px; font-size: 15px; }
.origin small { color: var(--soft); font-size: 9px; }
.origin i { color: var(--gold); font-style: normal; }
.big-dev { margin: 19px 0 6px; font-family: var(--serif); font-size: 65px; line-height: 1; }
.iast { margin: 0; color: var(--orange-dark); font-family: var(--serif); font-size: 20px; }
.copy {
  position: absolute;
  right: 9px;
  bottom: 9px;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--soft);
  background: white;
  cursor: pointer;
  font-size: 9px;
}
.empty { grid-column: 1/-1; padding: 50px; border: 1px dashed var(--line); border-radius: 14px; text-align: center; }
.empty h3 { margin: 0 0 6px; font-family: var(--serif); font-size: 27px; }
.empty p { margin: 0; color: var(--soft); }

/* Conjunct matrix */
.matrix-zoom-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  margin: -4px 0 10px;
}
.matrix-zoom-controls > span {
  margin-right: 3px;
  color: var(--soft);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.matrix-zoom-controls button,
.matrix-zoom-controls output {
  display: grid;
  min-width: 34px;
  height: 32px;
  place-items: center;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: var(--surface-raised);
  font: 800 12px/1 var(--sans);
}
.matrix-zoom-controls button { cursor: pointer; }
.matrix-zoom-controls button:hover { border-color: var(--orange); color: var(--orange-dark); background: var(--table-hit); }
.matrix-zoom-controls button:disabled { cursor: default; opacity: .38; }
.matrix-zoom-controls output { min-width: 52px; color: var(--orange-dark); }
.matrix-wrap {
  --matrix-zoom: 1;
  overflow: visible;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
}
#matrix { width: calc(100% * var(--matrix-zoom)); min-width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.matrix-wrap.matrix-zoomed { overflow-x: auto; overflow-y: clip; scrollbar-gutter: stable; }
.matrix-wrap.matrix-zoomed #matrix thead th { top: 0; }
#matrix th, #matrix td {
  width: auto;
  min-width: 0;
  height: calc(51px * var(--matrix-zoom));
  border-right: 1px solid #e3d7c4;
  border-bottom: 1px solid #e3d7c4;
  text-align: center;
}
#matrix th { background: #efe1c9; }
#matrix thead th {
  position: sticky;
  top: 68px;
  z-index: 9;
  box-shadow: 0 1px 0 var(--line), 0 5px 10px rgba(24,49,42,.08);
}
#matrix .corner { color: var(--orange-dark); font-size: 8px; }
#matrix .corner i { display: block; color: var(--gold); font-size: 12px; }
.matrix-header, #matrix td button {
  width: 100%;
  height: 100%;
  padding: 1px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.matrix-header b { display: block; font-family: var(--serif); font-size: calc(clamp(14px, 1.3vw, 20px) * var(--matrix-zoom)); line-height: 1; }
.matrix-header small, #matrix td small { display: block; overflow: hidden; color: var(--orange-dark); font-family: var(--iast-font); font-size: calc(clamp(9px, .7vw, 11px) * var(--matrix-zoom)); font-weight: 500; line-height: 1.12; text-overflow: clip; white-space: nowrap; }
#matrix td b { display: block; font-family: var(--serif); font-size: calc(clamp(16px, 1.55vw, 24px) * var(--matrix-zoom)); font-weight: 400; line-height: 1; }
#matrix td button:hover { background: #fff2db; }
#matrix th.selected { background: #f1c8a5; }
#matrix td.row-highlight { background: #fff6e7; }
#matrix td.column-highlight { background: #f4ead3; }
#matrix td.cross-highlight { background: #f5c799; box-shadow: inset 0 0 0 2px var(--orange); }
.matrix-notes { display: flex; gap: 30px; margin-top: 12px; color: var(--soft); font-size: 10px; line-height: 1.5; }
.matrix-notes p { flex: 1; margin: 0; }

/* Simple-script and nested Conjunct modules */
.script-card {
  margin-bottom: 20px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.66);
  box-shadow: 0 10px 28px rgba(48,39,25,.07);
}
.script-card:last-child { margin-bottom: 0; }
.script-card-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 26px;
  margin-bottom: 16px;
}
.script-card-head h3 { margin: 0; font-family: var(--serif); font-size: 29px; font-weight: 600; }
.script-card-head > p { max-width: 520px; margin: 0; color: var(--soft); font-size: 11px; line-height: 1.55; text-align: right; }
.vowel-chart { display: grid; gap: 12px; }
.vowel-group {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 10px;
}
.vowel-group-label {
  display: grid;
  place-items: center;
  margin: 0;
  padding: 12px 8px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--orange-dark);
  background: var(--table-head);
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1;
  letter-spacing: .03em;
  text-align: center;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.vowel-grid { display: grid; gap: 8px; }
.vowel-group.simple .vowel-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.vowel-group.complex .vowel-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vowel-card {
  display: flex;
  min-height: 156px;
  padding: 15px 10px 13px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface-raised);
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.vowel-card .vowel-form { display: block; margin-bottom: 5px; font-family: var(--serif); font-size: 49px; line-height: 1; }
.vowel-symbol-line { display: flex; align-items: center; justify-content: center; gap: 22px; min-height: 38px; margin: 4px 0 7px; }
.vowel-card .vowel-iast { color: var(--orange-dark); font-family: var(--serif); font-size: 27px; line-height: 1; }
.vowel-card .vowel-matra { position: relative; display: inline-grid; min-width: 42px; place-items: center; color: var(--orange-dark); font-family: var(--serif); font-size: 31px; font-weight: 700; line-height: 1; }
.vowel-card .matra-sample { display: inline-block; color: var(--orange-dark); }
.vowel-card .matra-base { color: #171713; }
.vowel-card .no-matra { color: var(--orange-dark); font-size: 27px; }
.vowel-card small { display: block; color: var(--soft); font-size: 11px; line-height: 1.3; }
.simple-table-wrap { overflow: visible; border: 1px solid var(--line); border-radius: 12px; background: white; }
.simple-matrix { width: 100%; min-width: 0; border-collapse: separate; border-spacing: 0; table-layout: fixed; }
.simple-matrix th, .simple-matrix td { border-right: 1px solid #e3d7c4; border-bottom: 1px solid #e3d7c4; text-align: center; }
.simple-matrix thead th { height: 68px; background: #efe1c9; }
.simple-matrix tbody th { width: 152px; background: #f4e8d1; }
.simple-matrix .simple-corner { color: var(--soft); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.simple-head-button {
  width: 100%;
  height: 100%;
  padding: 7px;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}
.simple-head-button b { display: block; margin-bottom: 2px; color: var(--orange-dark); font-family: var(--serif); font-size: 17px; }
.simple-matrix td { height: 96px; padding: 5px 7px; background: #fffdf8; }
.simple-cell .cell-dev { display: block; font-family: var(--serif); font-size: 46px; line-height: .92; }
.simple-cell .cell-iast { display: block; margin: 3px 0 2px; color: var(--orange-dark); font-family: var(--serif); font-size: 21px; line-height: 1; }
.simple-cell .cell-note { display: block; color: var(--soft); font-size: 11px; line-height: 1.2; }
.simple-empty { background: repeating-linear-gradient(135deg,#fffdf8,#fffdf8 8px,#faf3e7 8px,#faf3e7 16px) !important; }
.simple-matrix th.selected { background: #f1c8a5; }
.simple-matrix td.simple-row-highlight { background: #fff6e7; }
.simple-matrix td.simple-column-highlight { background: #f4ead3; }
.simple-matrix td.simple-cross-highlight { background: #f5c799; box-shadow: inset 0 0 0 2px var(--orange); }
.devanagari-section-hero[hidden] { display: none; }
.nested-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 280px));
  justify-content: center;
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  background: #f7efdf;
}
.nested-tabs button {
  min-height: 50px;
  padding: 9px 18px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--orange-dark);
  background: color-mix(in srgb, var(--surface-raised) 34%, transparent);
  cursor: pointer;
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 700;
}
.nested-tabs button:hover { background: rgba(255,255,255,.5); }
.nested-tabs button.active { border-color: var(--orange); color: var(--orange-dark); background: var(--table-hit, var(--cream)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--orange) 24%, transparent), 0 5px 14px rgba(48,39,25,.09); }
.nested-panel-shell { padding-top: 30px; }

/* Universal script search */
.universal-search-row { grid-template-columns: minmax(0, 1fr) auto; }
.universal-card { min-height: 226px; }
.universal-card .result-type {
  display: inline-block;
  padding: 4px 7px;
  border: 1px solid var(--gold-soft);
  border-radius: 999px;
  color: var(--soft);
  background: #fffaf0;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.universal-card .result-detail { margin: 5px 0 0; color: var(--soft); font-size: 9px; }
.section-divider { display: flex; align-items: center; gap: 14px; margin: 48px 0 27px; color: var(--gold); font-size: 10px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.section-divider::before, .section-divider::after { content: ""; flex: 1; height: 1px; background: var(--gold-soft); }

/* Transliterator */
.converter { padding: 20px; }
.direction { display: inline-grid; grid-template-columns: repeat(2, auto); padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: #f1e5d0; }
.direction button { padding: 8px 13px; border: 0; border-radius: 7px; background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; }
.direction button.active { color: var(--orange-dark); background: white; box-shadow: 0 3px 9px rgba(48,39,25,.09); }
.converter-grid { display: grid; grid-template-columns: 1fr 46px 1fr; align-items: center; gap: 14px; margin-top: 16px; }
.converter-pane { min-height: 250px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; background: #fffdf8; }
.converter-pane label, .converter-pane > p { display: block; margin: 0 0 9px; color: var(--soft); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.converter-pane textarea { width: 100%; min-height: 105px; resize: vertical; border: 0; outline: 0; color: var(--ink); background: transparent; font-family: var(--serif); font-size: 25px; }
.converter-keys { display: grid; grid-template-columns: repeat(10, 1fr); gap: 4px; overflow: visible; padding-top: 8px; border-top: 1px solid #eadfcf; }
.converter-keys button { min-height: 32px; font-size: 11px; }
.swap { width: 43px; height: 43px; border: 1px solid var(--gold); border-radius: 50%; color: var(--orange); background: #fffaf0; cursor: pointer; font-size: 20px; }
.conversion-result { min-height: 140px; font-family: var(--serif); font-size: 42px; line-height: 1.35; word-break: break-word; }
.conversion-result.placeholder { color: #a69e90; font-family: var(--sans); font-size: 13px; }
.copy-result { display: none; padding: 6px 9px; border: 1px solid var(--line); border-radius: 7px; background: #fff; cursor: pointer; font-size: 10px; }
.converter-actions { display: flex; gap: 9px; margin-top: 15px; }
.converter-actions button:last-child { border: 1px solid var(--line); color: var(--soft); background: transparent; }
.help { margin-top: 14px; color: var(--soft); font-size: 11px; line-height: 1.55; }
.help p { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: 0 0 6px; }

/* Sandhi modules */
.subtabs {
  grid-template-columns: repeat(2, minmax(0, 260px));
  justify-content: center;
  gap: 8px;
  padding: 14px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: #f7efdf;
}
.subtabs.three { grid-template-columns: repeat(3, minmax(0, 230px)); }
.subtabs button { min-height: 48px; font-size: 17px; }
.topic-panel { display: none; }
.topic-panel.active { display: block; }
.sandhi-content { padding: 30px 44px 64px; }
.topic-heading { margin: 0 0 18px; text-align: center; }
.topic-heading h2 { font-size: clamp(30px, 3.4vw, 45px); }
.topic-heading p:last-child,
.topic-heading p.topic-description { max-width: 750px; margin: 9px auto 0; color: var(--soft); font-size: 13px; line-height: 1.6; }
.topic-heading p.cell-click-hint {
  max-width: none;
  margin: 7px auto 0;
  color: var(--orange-dark);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: .025em;
  line-height: 1.35;
}
.sandhi-contents-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 14px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--wash);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--ink) 5%, transparent);
}
.sandhi-contents-bar > span {
  flex: 0 0 auto;
  padding: 0 7px;
  color: var(--soft);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.sandhi-contents-bar button {
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--orange-dark);
  background: var(--surface-raised);
  cursor: pointer;
  font-family: var(--serif);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
}
.sandhi-contents-bar button:hover,
.sandhi-contents-bar button:focus-visible {
  border-color: var(--orange);
  background: var(--table-hit);
}
.sandhi-contents-bar button:focus-visible,
[id^="sandhi-"][tabindex="-1"]:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--orange) 50%, transparent);
  outline-offset: 2px;
}
[id^="sandhi-"][tabindex="-1"] { scroll-margin-top: 84px; }
.rule-family-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 18px;
}
.rule-family-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 7px 10px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--gold);
  border-radius: 12px;
  background: var(--surface-raised);
  box-shadow: 0 7px 17px color-mix(in srgb, var(--ink) 5%, transparent);
}
.rule-family-card > span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  color: var(--surface-raised);
  background: var(--orange-dark);
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 700;
}
.rule-family-card h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.08;
}
.rule-family-card p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--soft);
  font-size: 11px;
  line-height: 1.48;
}
.sandhi-intro {
  margin: 0 0 18px;
  padding: 15px 18px;
  border-left: 4px solid var(--orange);
  border-radius: 9px;
  color: #4f554e;
  background: #f6e7d5;
  font-size: 12px;
  line-height: 1.65;
}
.sandhi-card { margin-bottom: 18px; padding: 22px; }
.sandhi-card:last-child { margin-bottom: 0; }
.sandhi-card h3 { margin: 0 0 6px; font-family: var(--serif); font-size: 25px; font-weight: 600; }
.sandhi-card > p { margin: 0 0 14px; color: var(--soft); font-size: 12px; line-height: 1.58; }
.sandhi-card > .sandhi-sutra-name { margin: -5px 0 13px; padding: 9px 11px; border-left: 3px solid var(--gold); color: var(--ink-2); background: var(--wash); font-size: 11px; }
.sandhi-sutra-name a { color: var(--orange-dark); font-weight: 850; }
.sandhi-scroll { overflow: auto; border: 1px solid #dfd1ba; border-radius: 10px; }
.sandhi-table { width: 100%; min-width: 920px; border-collapse: collapse; background: #fffdf8; font-size: 12px; }
.sandhi-table.compact { min-width: 620px; }
.sandhi-table th, .sandhi-table td { padding: 10px 12px; border-right: 1px solid #eadfcf; border-bottom: 1px solid #eadfcf; text-align: center; white-space: nowrap; }
.sandhi-table thead th { position: sticky; top: 0; z-index: 2; color: var(--ink); background: #efe1c9; }
.sandhi-table tbody th { position: sticky; left: 0; z-index: 1; color: var(--ink); background: #f6ead5; font-size: 14px; }
.sandhi-table td { color: #4b514c; font-family: var(--serif); font-size: 15px; }
.sandhi-table tr:last-child > * { border-bottom: 0; }
.sandhi-table tr > *:last-child { border-right: 0; }
.sandhi-table.fit-mobile { min-width: 100%; table-layout: fixed; }
.sandhi-table.fit-mobile th,
.sandhi-table.fit-mobile td { min-width: 0; white-space: normal; }
#sandhi-retroflexion .sandhi-scroll { overflow: visible; }
#sandhi-retroflexion .sandhi-table { min-width: 0; table-layout: fixed; }
#sandhi-retroflexion .sandhi-table th,
#sandhi-retroflexion .sandhi-table td { min-width: 0; padding: 9px 8px; white-space: normal; }
#sandhi-retroflexion .sandhi-table thead th:nth-child(1) { width: 18%; }
#sandhi-retroflexion .sandhi-table thead th:nth-child(2) { width: 52%; }
#sandhi-retroflexion .sandhi-table thead th:nth-child(3) { width: 30%; }
.red-book-sandhi-content { max-width: 1390px; margin: 0 auto; }
.red-book-sandhi-card { padding: 20px; }
.red-book-chart-scroll { overflow-x: auto; overflow-y: visible; scrollbar-width: thin; }
.red-book-chart-table { width: 100%; table-layout: fixed; font-family: var(--serif); }
.red-book-vowel-chart { min-width: 940px; }
.red-book-consonant-chart { min-width: 1140px; }
.red-book-chart-table th,
.red-book-chart-table td { padding: 8px 6px; font-size: clamp(13px, 1.05vw, 16px); white-space: nowrap; }
.red-book-chart-table thead tr:first-child th { padding: 10px 6px; color: var(--orange-dark); font-family: var(--serif); font-size: 18px; text-transform: none; }
.red-book-chart-table tbody th { position: sticky; right: 0; left: auto; color: var(--orange-dark); background: var(--table-rowhead); }
.red-book-chart-table sup { color: var(--orange-dark); font-family: var(--sans); font-size: 9px; }
.sandhi-chart-footnotes { margin: 15px 0 0; padding-left: 26px; color: var(--soft); font-size: 12px; line-height: 1.55; }
.sandhi-chart-footnotes li + li { margin-top: 4px; }
.grade-scroll { border-radius: 12px; }
.grade-table { min-width: 850px; table-layout: fixed; }
.grade-table thead tr:first-child th {
  padding-top: 14px;
  padding-bottom: 14px;
  color: var(--orange-dark);
  background: var(--table-head);
  font-family: var(--serif);
  font-size: 19px;
}
.grade-table thead th span {
  display: block;
  margin-top: 3px;
  color: var(--soft);
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: none;
}
.grade-table thead tr:nth-child(2) th {
  color: var(--ink);
  background: var(--table-subhead);
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.grade-table thead th:first-child { width: 13%; }
.grade-table tbody th {
  color: var(--orange-dark);
  font-family: var(--serif);
  font-size: 23px;
}
.grade-table tbody th small {
  display: block;
  margin-top: 2px;
  color: var(--soft);
  font-family: var(--sans);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.grade-table td {
  padding: 0;
  white-space: normal;
}
.root-vowel-marker {
  position: static;
  margin-left: 1px;
  color: var(--orange-dark);
  font-family: var(--serif);
  font-size: 1em;
  line-height: inherit;
  vertical-align: baseline;
}
.grade-vowel { color: var(--orange-dark); }
.grade-example-trigger {
  width: 100%;
  min-height: 70px;
  padding: 11px 9px;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}
.grade-example-trigger:hover { background: #fff3df; box-shadow: inset 0 0 0 2px rgba(220,103,38,.2); }
.grade-example-trigger:focus-visible { position: relative; z-index: 3; }
.grade-table td strong {
  display: block;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 600;
}
.grade-table td small {
  display: block;
  margin-top: 4px;
  color: var(--soft);
  font-family: var(--sans);
  font-size: 9px;
  line-height: 1.3;
}
.grade-table .theoretical-row > * { background-color: #fff9ed; }
.after-grade-table { min-width: 850px; }
.after-grade-table thead th:first-child { width: 18%; }
.worked-pattern-examples { border: 1px solid #dfd1ba; border-radius: 11px; background: #fffdf8; }
.worked-pattern-alphabet{position:sticky;top:68px;z-index:6;display:grid;grid-template-columns:repeat(var(--alphabet-count,25),minmax(0,1fr));gap:5px;overflow-x:auto;padding:8px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(10px)}.worked-pattern-alphabet button{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:4px 2px;border:1px solid var(--line);border-radius:8px;color:var(--orange-dark);background:var(--surface-raised);cursor:pointer}.worked-pattern-alphabet button:hover{border-color:var(--orange);background:var(--table-hit)}.worked-pattern-alphabet span{color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1}.worked-pattern-alphabet small{font-size:9px;line-height:1}.worked-pattern-table tbody tr{cursor:pointer;scroll-margin-top:155px}.worked-pattern-table tbody tr.worked-row-selected>*{background:var(--table-hit)!important;box-shadow:inset 0 1px color-mix(in srgb,var(--orange) 35%,transparent),inset 0 -1px color-mix(in srgb,var(--orange) 35%,transparent)}
.worked-pattern-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  background: #fffdf8;
}
.worked-pattern-table th,
.worked-pattern-table td {
  padding: 13px 10px;
  border-right: 1px solid #eadfcf;
  border-bottom: 1px solid #eadfcf;
  text-align: center;
  vertical-align: middle;
}
.worked-pattern-table tr > *:last-child { border-right: 0; }
.worked-pattern-table tbody tr:last-child > * { border-bottom: 0; }
.worked-pattern-table thead th {
  position: sticky;
  top: 68px;
  z-index: 4;
  color: var(--ink);
  background: #ead7b5;
  font-family: var(--serif);
  font-size: 17px;
}
.worked-pattern-table thead th:first-child { width: 22%; }
.worked-pattern-table thead th:not(:first-child) { width: 26%; }
.worked-root-cell { text-align: left !important; background: #f7ead4; }
.worked-root-dev,
.worked-form-dev { display: block; color: var(--ink); font-family: var(--serif); font-size: 28px; font-weight: 550; line-height: 1; }
.worked-root-iast,
.worked-form-iast { display: block; margin-top: 5px; color: var(--orange-dark); font-family: var(--serif); font-size: 17px; font-weight: 650; line-height: 1; }
.worked-root-cell small { display: block; margin-top: 7px; color: var(--soft); font-size: 10.5px; line-height: 1.35; }
.worked-formula { display: block; margin-top: 8px; color: #6f6c62; font-size: 11px; font-weight: 650; line-height: 1.35; }
.sandhi-rule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.sandhi-rule-grid .sandhi-card { min-width: 0; margin: 0; }
.theoretical { color: var(--orange-dark) !important; }
.sandhi-footnote { margin: 11px 2px 0 !important; color: var(--soft); font-size: 10px !important; line-height: 1.55 !important; }
.sandhi-symbol-note { margin: 5px 0 12px; color: var(--soft); font-size: 11px; line-height: 1.45; }
.sandhi-symbol-note b { color: var(--orange-dark); font-family: var(--serif); font-size: 15px; }
.sandhi-symbol-note span[lang="sa"] { color: var(--orange-dark); font-family: var(--sanskrit-serif); font-size: 15px; }
.sandhi-callout { margin-top: 14px; padding: 14px 16px; border: 1px dashed var(--gold); border-radius: 9px; color: var(--soft); background: #fff9ee; font-size: 11px; line-height: 1.6; }
.sandhi-callout code { padding: 2px 6px; border-radius: 5px; color: var(--orange-dark); background: #f6e7d5; font-family: var(--serif); font-size: 13px; }
.verb-list-content { padding-right: 30px; padding-left: 30px; }
.verb-root-tabs {
  width: 100%;
  margin: 0;
}
.verb-root-jump-bar {
  position: sticky;
  z-index: 10;
  top: 71px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin: 0 auto 20px;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: color-mix(in srgb, var(--surface-raised) 95%, transparent);
  box-shadow: 0 7px 18px color-mix(in srgb, var(--ink) 6%, transparent);
  backdrop-filter: blur(10px);
}
.verb-root-jump-bar button {
  min-height: 36px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: var(--surface-raised);
  cursor: pointer;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.verb-root-jump-bar button:hover,
.verb-root-jump-bar button:focus-visible { border-color: var(--orange); color: var(--orange-dark); background: var(--table-hit); }
#verb-root-formation-before,
#verb-root-formation-after,
#verb-root-examples-before,
#verb-root-examples-after { scroll-margin-top: 125px; }
.verb-search-tools {
  max-width: 1200px;
  margin: 0 auto 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fffdf8;
  box-shadow: 0 5px 18px rgba(52, 39, 17, .05);
}
.verb-search-form { display: grid; grid-template-columns: minmax(240px, 1fr) auto auto auto; gap: 8px; }
.verb-search-form input {
  min-width: 0;
  padding: 11px 13px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: #fff;
  font-family: var(--serif);
  font-size: 17px;
}
.verb-search-form button {
  padding: 10px 13px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff9ef;
  cursor: pointer;
  font-size: 10px;
  font-weight: 850;
}
.verb-search-form button:hover,
.verb-search-form button.active { border-color: var(--orange); color: var(--orange-dark); background: #fff1df; }
.verb-search-submit { color: white !important; border-color: var(--orange) !important; background: var(--orange-dark) !important; }
.verb-search-keyboard {
  display: grid;
  gap: 8px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eadfcf;
}
.verb-search-keyboard[hidden] { display: none; }
.verb-keyboard-group { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.verb-keyboard-group > span { width: 125px; color: var(--soft); font-size: 8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.verb-keyboard-group button {
  min-width: 31px;
  min-height: 31px;
  padding: 4px 7px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  background: #fff;
  cursor: pointer;
  font-family: var(--serif);
  font-size: 14px;
}
.verb-keyboard-group button:hover { border-color: var(--orange); background: #fff6e8; }
.verb-search-status { margin: 9px 2px 0; color: var(--soft); font-size: 9px; line-height: 1.4; }
.verb-search-clear[hidden], .verb-search-results[hidden] { display: none !important; }
.verb-search-results {
  max-width: 1200px;
  margin: 0 auto 20px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface-raised);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--ink) 8%, transparent);
}
.verb-search-results-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 13px; }
.verb-search-results-heading h3 { margin: 0; color: var(--ink); font-family: var(--serif); font-size: clamp(26px, 3vw, 38px); font-weight: 500; }
.verb-search-results-heading p { max-width: 560px; margin: 0; color: var(--soft); font-size: 12px; line-height: 1.5; text-align: right; }
.verb-search-result-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.verb-search-result { display: grid; grid-template-columns: auto 1fr; gap: 3px 11px; min-height: 112px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); text-align: left; background: var(--table-cell); cursor: pointer; }
.verb-search-result:hover, .verb-search-result:focus-visible { border-color: var(--orange); background: var(--table-hit); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--orange) 24%, transparent); }
.verb-search-result-dev { grid-row: 1 / 4; align-self: center; min-width: 58px; color: var(--ink); font-family: var(--dev); font-size: 28px; }
.verb-search-result strong { color: var(--orange-dark); font-family: var(--serif); font-size: 20px; font-weight: 700; }
.verb-search-result > span:not(.verb-search-result-dev) { font-size: 11px; line-height: 1.35; }
.verb-search-result small { overflow-wrap: anywhere; color: var(--soft); font-size: 9px; line-height: 1.35; }
.verb-list-content.verb-search-active .verb-reference-note,
.verb-list-content.verb-search-active .verb-table-toggle,
.verb-list-content.verb-search-active .verb-dictionary-layout { display: none !important; }
.verb-dictionary-layout { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: start; gap: 13px; max-width: 1260px; margin: 0 auto; }
.verb-dictionary-main { min-width: 0; overflow-x: auto; }
.verb-alphabet {
  position: sticky;
  top: 82px;
  z-index: 6;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: start;
  justify-content: space-evenly;
  gap: 1px;
  width: 52px;
  height: calc(100vh - 100px);
  min-height: 540px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255,251,243,.96);
  box-shadow: 0 6px 18px rgba(52,39,17,.09);
}
.verb-alphabet button {
  width: 30px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  color: var(--orange-dark);
  background: transparent;
  cursor: pointer;
  font-family: var(--serif);
  font-size: 13px;
  font-weight: 750;
}
.verb-alphabet button:hover,
.verb-alphabet button:focus-visible { color: white; background: var(--orange-dark); }
.verb-alphabet .verb-search-return {
  height: 34px;
  margin-bottom: 2px;
  border-bottom: 1px solid var(--line);
  border-radius: 6px 6px 2px 2px;
  color: var(--ink);
  font-family: var(--sans);
  font-size: 23px;
  line-height: 1;
}
.verb-magnifier-icon {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 50%;
}
.verb-magnifier-icon::after {
  position: absolute;
  right: -5px;
  bottom: -3px;
  width: 7px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  content: "";
  transform: rotate(45deg);
  transform-origin: left center;
}
.verb-search-tools { scroll-margin-top: 82px; }
.verb-reference-note {
  max-width: 1120px;
  margin: 0 auto 24px;
  padding: 14px 17px;
  border-left: 4px solid var(--gold);
  border-radius: 9px;
  color: var(--soft);
  background: #f7ead7;
  font-size: 11px;
  line-height: 1.6;
}
.verb-reference-note strong { color: var(--ink); }
.verb-table-toggle {
  display: flex;
  width: min(1260px, 100%);
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 10px;
  padding: 10px 16px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--ink);
  background: var(--table-head, #efe1c9);
  cursor: pointer;
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 750;
}
.verb-table-toggle:hover { border-color: var(--orange); background: var(--table-hit, #fff2db); }
.verb-table-toggle-arrow { color: var(--orange-dark); font-family: var(--sans); font-size: 24px; line-height: 1; transition: transform .18s ease; }
.verb-table-toggle[aria-expanded="false"] .verb-table-toggle-arrow { transform: rotate(180deg); }
.verb-dictionary-layout[hidden] { display: none !important; }
.verb-grade-reference { max-width: 1200px; margin: 0 auto; }
.verb-grade-table {
  width: 100%;
  margin: 0;
  border: 1px solid #dfd1ba;
  border-radius: 10px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  overflow: hidden;
  background: #fffdf8;
  box-shadow: 0 4px 13px rgba(52, 39, 17, .04);
}
.verb-grade-table th,
.verb-grade-table td {
  padding: 9px 7px;
  border-right: 1px solid #eadfcf;
  border-bottom: 1px solid #eadfcf;
  text-align: center;
  vertical-align: middle;
  overflow-wrap: anywhere;
}
.verb-grade-table tr > *:last-child { border-right: 0; }
.verb-grade-table tbody tr:last-child > * { border-bottom: 0; }
.verb-grade-table thead th { color: var(--ink); background: #e9d6b3; }
.verb-grade-master thead th {
  position: static;
  padding: 14px 10px;
  font-family: var(--serif);
  font-size: 17px;
}
.verb-grade-master thead th:first-child { width: 34%; }
.verb-grade-master thead th:not(:first-child) { width: 22%; }
.verb-dictionary-cell { padding: 12px 14px !important; text-align: left !important; background: #f7ead4; }
.verb-dictionary-cell-layout { display: grid; grid-template-columns: minmax(115px, .9fr) minmax(110px, 1.1fr); align-items: center; gap: 13px; min-height: 112px; }
.verb-dictionary-primary { display: grid; align-content: center; min-height: 90px; padding-right: 12px; border-right: 1px solid #ddc8a6; }
.verb-dictionary-details { min-width: 0; }
.verb-dictionary-details > span { display: block; }
.verb-root-line { margin: 0; }
.verb-root-dev { display: block; color: var(--ink); font-family: var(--serif); font-size: 38px; font-weight: 600; line-height: 1; }
.verb-root-iast { display: block; margin-top: 5px; color: var(--orange-dark); font-family: var(--serif); font-size: 20px; line-height: 1; }
.verb-class { color: #53584f; font-size: 11.5px; font-weight: 750; line-height: 1.4; }
.verb-class-dev { display: block; margin-bottom: 4px; color: var(--ink); font-family: var(--serif); font-size: 18px; font-weight: 500; }
.verb-meaning { margin-top: 9px; color: var(--soft); font-size: 13px; font-weight: 650; line-height: 1.4; }
.verb-source-status { margin-top: 8px; color: var(--muted); font-size: 10px; font-weight: 700; line-height: 1.35; }
.verb-source-status.warning { color: var(--orange-dark); }
.verb-grade-table td { padding: 16px 11px; background: #fffdf8; }
.verb-grade-pair { display: inline-block; min-width: 42%; }
.verb-grade-pair.secondary { margin-left: 5px; padding-left: 5px; border-left: 1px solid #e8dac4; }
.verb-grade-dev { display: block; color: var(--ink); font-family: var(--serif); font-size: 30px; line-height: 1; }
.verb-grade-iast { display: block; margin-top: 5px; color: var(--orange-dark); font-family: var(--serif); font-size: 18px; line-height: 1; }
.verb-grade-pair small { display: block; margin-top: 4px; color: var(--soft); font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.verb-grade-note { display: block; max-width: 260px; margin: 9px auto 0; color: #6f6c62; font-size: 10.5px; line-height: 1.42; }
.verb-letter-divider th {
  padding: 8px 13px;
  border-right: 0;
  color: var(--orange-dark);
  background: #f0dfc0;
  font-family: var(--serif);
  font-size: 21px;
  line-height: 1;
  text-align: left;
  scroll-margin-top: 82px;
}
.verb-entry-row { height: 136px; scroll-margin-top: 82px; }
.verb-entry-row.search-hit > * { background-color: #fff0d8; animation: verb-hit 1.2s ease-out; }
@keyframes verb-hit { 0% { box-shadow: inset 0 0 0 3px var(--orange); } 100% { box-shadow: inset 0 0 0 0 transparent; } }
.grade-example-page { padding: 30px 44px 64px; }
.grade-example-back {
  margin-bottom: 23px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--orange-dark);
  background: #fffaf1;
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
}
.grade-example-back:hover { border-color: var(--orange); background: #fff; }
.grade-example-heading { margin-bottom: 22px; text-align: center; }
.grade-example-heading h2 { margin-top: 4px; font-family: var(--serif); font-size: clamp(30px, 3.4vw, 45px); font-weight: 500; }
.grade-example-heading p:last-child { max-width: 760px; margin: 8px auto 0; color: var(--soft); font-size: 12px; line-height: 1.6; }
.grade-example-results { max-width: 1120px; margin: 0 auto; }
.grade-example-table {
  width: 100%;
  border: 1px solid #dfd1ba;
  border-radius: 11px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  overflow: hidden;
  background: #fffdf8;
}
.grade-example-table th,
.grade-example-table td {
  width: 22%;
  padding: 11px 9px;
  border-right: 1px solid #eadfcf;
  border-bottom: 1px solid #eadfcf;
  text-align: center;
  vertical-align: middle;
}
.grade-example-table th:first-child { width: 34%; }
.grade-example-table tr > *:last-child { border-right: 0; }
.grade-example-table tbody tr:last-child > * { border-bottom: 0; }
.grade-example-table thead th { color: var(--ink); background: #ead7b5; font-family: var(--serif); font-size: 16px; }
.grade-example-table .selected-grade { background: #fff0d8; box-shadow: inset 0 0 0 2px rgba(220,103,38,.2); }
.grade-example-empty {
  display: grid;
  gap: 6px;
  place-items: center;
  min-height: 220px;
  padding: 28px;
  border: 1px dashed var(--gold);
  border-radius: 12px;
  color: var(--soft);
  background: #fff9ee;
  text-align: center;
}
.grade-example-empty strong { color: var(--ink); font-family: var(--serif); font-size: 24px; }
.grade-example-empty span { font-size: 11px; }
.empty-module {
  min-height: 340px;
  display: grid;
  place-items: center;
  padding: 40px;
  text-align: center;
}
.empty-module-mark { margin-bottom: 10px; color: var(--gold); font-family: var(--serif); font-size: 60px; }
.empty-module h2 { margin: 0 0 8px; font-family: var(--serif); font-size: 34px; font-weight: 500; }
.empty-module p { max-width: 560px; margin: 0 auto; color: var(--soft); font-size: 13px; line-height: 1.65; }
.module-ready { display: inline-block; margin-top: 18px; padding: 7px 11px; border: 1px solid var(--gold-soft); border-radius: 999px; color: var(--orange-dark); background: #fffaf0; font-size: 10px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }

.dictionary-hero {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: clamp(34px, 6vw, 86px) clamp(38px, 8vw, 120px);
  background-color: #f7efdc;
  background-image: url("hero-dictionary-v2.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.dictionary-hero::before { display: none; }
.dictionary-hero-copy {
  position: relative;
  z-index: 2;
  max-width: 54%;
  padding: 18px 22px;
  border-radius: 18px;
  background: linear-gradient(90deg, rgba(251,247,236,.88), rgba(251,247,236,.42) 72%, transparent);
  text-shadow: 0 1px 0 rgba(255,255,255,.75);
}
.dictionary-hero-copy p { margin: 0 0 12px; color: var(--orange-dark); font-family: var(--serif); font-size: clamp(18px, 2vw, 29px); }
.dictionary-hero-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(42px, 6vw, 82px); font-weight: 500; letter-spacing: -.045em; line-height: .95; }
.dictionary-hero-copy > span { display: block; margin-top: 20px; color: var(--soft); font-size: clamp(12px, 1.4vw, 17px); }
.dictionary-hero-letters { display: none; }
.dictionary-content { padding: 42px 54px 68px; }
.dictionary-search-form {
  max-width: 1140px;
  margin: 25px auto 28px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #fffdf8;
  box-shadow: 0 7px 24px rgba(52,39,17,.06);
}
.dictionary-search-form > label { display: block; margin: 0 0 7px 2px; color: var(--ink); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.dictionary-search-row { display: grid; grid-template-columns: minmax(0,1fr) auto auto; gap: 8px; }
.dictionary-search-form input { min-width: 0; padding: 13px 15px; border: 1px solid var(--line); border-radius: 9px; background: white; font-family: var(--serif); font-size: 19px; }
.dictionary-search-row > button { padding: 12px 19px; border: 1px solid var(--orange); border-radius: 9px; color: white; background: var(--orange-dark); cursor: pointer; font-size: 12px; font-weight: 850; }
.dictionary-search-row > button:hover { background: var(--orange-dark); }
.dictionary-search-row > .dictionary-keyboard-toggle { border-color: var(--line); color: var(--ink); background: #fff9ef; }
.dictionary-search-row > .dictionary-keyboard-toggle:hover,
.dictionary-search-row > .dictionary-keyboard-toggle.active { border-color: var(--orange); color: var(--orange-dark); background: #fff1df; }
.dictionary-search-form > p { min-height: 1.25em; margin: 8px 2px 0; color: var(--soft); font-size: 10.5px; }
.dictionary-keyboard { display: grid; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #eadfcf; }
.dictionary-keyboard[hidden] { display: none; }
.dictionary-keyboard-group { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.dictionary-keyboard-group > span { flex: 0 0 128px; color: var(--soft); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.dictionary-keyboard-group button { min-width: 32px; min-height: 31px; padding: 4px 7px; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: white; cursor: pointer; font-family: var(--serif); font-size: 15px; }
.dictionary-keyboard-group button:hover { border-color: var(--orange); color: var(--orange-dark); background: #fff4e1; }
.dictionary-reader-layout { display: grid; grid-template-columns: minmax(235px, .32fr) minmax(0, 1fr); grid-template-areas: "results entry"; align-items: start; gap: 18px; max-width: 1240px; margin: 0 auto; }
.dictionary-result-list { grid-area: results; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fffdf8; }
.dictionary-result-count { margin: 0; padding: 11px 13px; color: var(--soft); background: #f3e7cf; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.dictionary-result-button { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; padding: 12px 14px; border: 0; border-top: 1px solid #eadfcf; text-align: left; background: transparent; cursor: pointer; }
.dictionary-result-button:hover { background: #fff5e4; }
.dictionary-result-button.active { box-shadow: inset 4px 0 var(--orange); background: #f8ead4; }
.dictionary-result-button > span { display: block; min-width: 0; color: var(--ink); font-family: var(--serif); font-size: 26px; line-height: 1.08; overflow-wrap: anywhere; }
.dictionary-result-button strong { display: block; min-width: 0; margin-top: 5px; color: var(--orange-dark); font-family: var(--serif); font-size: 16px; line-height: 1.15; overflow-wrap: anywhere; }
.dictionary-result-button small { margin-top: 3px; overflow-wrap: anywhere; color: var(--soft); font-size: 8.5px; }
.dictionary-entry-view { position: sticky; top: 86px; grid-area: entry; min-height: 390px; padding: clamp(22px, 4vw, 45px); border: 1px solid var(--line); border-radius: 13px; background: #fffdf8; box-shadow: 0 12px 34px rgba(52,39,17,.07); }
.dictionary-welcome { display: grid; place-items: center; min-height: 310px; text-align: center; }
.dictionary-welcome b { color: var(--gold); font-family: var(--serif); font-size: 70px; font-weight: 400; }
.dictionary-welcome h3 { margin: 0; font-family: var(--serif); font-size: 28px; }
.dictionary-welcome p { margin: 7px 0 0; color: var(--soft); font-size: 12px; }
.dictionary-entry-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.dictionary-entry-heading h3 { display: flex; align-items: baseline; gap: 16px; margin: 0; }
.dictionary-entry-heading h3 > span { color: var(--ink); font-family: var(--serif); font-size: clamp(39px, 5vw, 66px); font-weight: 500; line-height: 1; }
.dictionary-entry-heading h3 > strong { color: var(--orange-dark); font-family: var(--serif); font-size: clamp(24px, 3vw, 38px); font-weight: 600; }
.dictionary-entry-heading p { margin: 0; color: var(--soft); font-size: 9px; text-align: right; }
.dictionary-definition { padding-top: 21px; color: #3e423c; font-family: var(--serif); font-size: 16px; line-height: 1.72; overflow-wrap: anywhere; }
.dictionary-definition .dictionary-sanskrit { color: var(--orange-dark); font-weight: 650; }
.dictionary-definition .dictionary-sense { display: inline-block; min-width: 1.2em; margin: 0 2px; color: var(--ink); font-weight: 750; }
.dictionary-definition cite { color: #6e6251; font-size: .88em; }
.dictionary-definition abbr { color: var(--ink-2); text-decoration: none; font-variant: small-caps; }
.dictionary-loading,
.dictionary-error,
.dictionary-no-results { display: flex; min-height: 170px; padding: 24px; align-items: center; justify-content: center; flex-direction: column; gap: 6px; color: var(--soft); text-align: center; font-size: 11px; }
.dictionary-credit { max-width: 1240px; margin: 18px auto 0; color: var(--soft); font-size: 9.5px; line-height: 1.5; }
.dictionary-credit a { color: var(--orange-dark); }

/* APP ACTIONS / COLOUR PRESETS */
.app-actions { position: relative; display: flex; align-items: center; justify-self: end; gap: 8px; }
.site-search { position: relative; display: flex; align-items: center; width: clamp(155px, 14vw, 218px); min-width: 0; height: 36px; border: 1px solid var(--line); border-radius: 999px; background: color-mix(in srgb, var(--surface-raised) 88%, transparent); }
.site-search:focus-within { border-color: var(--orange); box-shadow: 0 0 0 3px color-mix(in srgb, var(--orange) 18%, transparent); }
.site-search input { width: 100%; min-width: 0; height: 34px; padding: 7px 2px 7px 13px; border: 0; outline: 0; color: var(--ink); background: transparent; font: 750 11px var(--sans); }
.site-search input::placeholder { color: var(--soft); opacity: .9; }
.site-search > button { display: grid; width: 34px; height: 34px; flex: 0 0 34px; padding: 0; border: 0; place-items: center; color: var(--orange-dark); background: transparent; cursor: pointer; font-size: 17px; }
.site-search-results { position: absolute; z-index: 180; top: calc(100% + 10px); right: 0; width: min(440px, calc(100vw - 24px)); max-height: min(64vh, 520px); overflow-y: auto; padding: 7px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-raised); box-shadow: 0 20px 54px color-mix(in srgb, var(--ink) 22%, transparent); }
.site-search-results[hidden] { display: none; }
.site-search-result { display: grid; width: 100%; gap: 3px; padding: 10px 11px; border: 1px solid transparent; border-radius: 10px; color: var(--ink); background: transparent; cursor: pointer; text-align: left; }
.site-search-result:hover, .site-search-result:focus-visible, .site-search-result[aria-selected="true"] { border-color: var(--line); outline: 0; background: var(--table-hit); }
.site-search-result strong { font: 650 15px/1.2 var(--serif); }
.site-search-result small { color: var(--soft); font-size: 9px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.site-search-snippet { display:block; margin-top:3px; color:var(--soft); font-size:10.5px; font-weight:600; line-height:1.35; }
.site-search-snippet mark { padding:1px 4px; border-radius:4px; color:var(--ink); background:color-mix(in srgb,var(--gold) 27%,transparent); font-weight:900; }
.site-search-empty { margin: 0; padding: 12px; color: var(--soft); font-size: 11px; line-height: 1.45; }
@media (max-width: 900px) {
  .site-search { width: 136px; }
}
@media (max-width: 720px) {
  .site-search { width: 112px; }
}
@media (max-width: 470px) {
  .site-search { width: 36px; }
  .site-search input { width: 0; padding-right: 0; padding-left: 0; visibility: hidden; opacity: 0; pointer-events: none; }
  .site-search.is-open { position: fixed; z-index: 190; top: 8px; right: 10px; left: 10px; width: auto; }
  .site-search.is-open input { width: 100%; padding-right: 2px; padding-left: 13px; visibility: visible; opacity: 1; pointer-events: auto; }
}
.header-share-button {
  display:grid; width:36px; height:36px; flex:0 0 36px; padding:0; border:1px solid var(--line); border-radius:50%; place-items:center;
  color:var(--orange-dark); background:color-mix(in srgb,var(--surface-raised) 80%,transparent); cursor:pointer; font:850 18px/1 var(--sans);
}
.header-share-button:hover,.header-share-button:focus-visible { border-color:var(--orange); color:var(--ink); background:var(--table-hit); }
.header-share-button:disabled { cursor:default; opacity:.55; }
.header-share-status { position:absolute; z-index:185; top:calc(100% + 10px); right:0; max-width:min(280px,calc(100vw - 24px)); margin:0; padding:9px 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--surface-raised); box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 18%,transparent); font-size:10px; font-weight:750; line-height:1.35; }
.header-share-status:empty { display:none; }
.theme-button {
  appearance: none; padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px;
  color: var(--ink); background: color-mix(in srgb, var(--surface-raised) 80%, transparent); cursor: pointer;
  font-size: 11px; font-weight: 800;
}
.theme-button:hover, .theme-button[aria-expanded="true"] { border-color: var(--orange); color: var(--orange-dark); }
.page-zoom-controls { display:inline-flex; align-items:center; overflow:hidden; border:1px solid var(--line); border-radius:999px; background:color-mix(in srgb,var(--surface-raised) 80%,transparent); }
.page-zoom-controls button { display:grid; min-width:31px; min-height:34px; padding:5px 8px; border:0; border-right:1px solid var(--line); place-items:center; color:var(--ink); background:transparent; cursor:pointer; font:850 15px var(--sans); line-height:1; }
.page-zoom-controls button:last-child { border-right:0; }
.page-zoom-controls button:hover:not(:disabled),.page-zoom-controls button:focus-visible { color:var(--orange-dark); background:var(--table-hit); }
.page-zoom-controls button:focus-visible { position:relative; z-index:1; outline:2px solid var(--orange); outline-offset:-2px; }
.page-zoom-controls button:disabled { cursor:default; opacity:.36; }
#page-zoom-reset { display:flex; min-width:64px; gap:5px; font-size:12px; }
#page-zoom-reset>span { color:var(--orange-dark); font-size:16px; }
#page-zoom-value { font:850 10px var(--sans); }
html[data-page-zoom="120"] .app-bar,html[data-page-zoom="130"] .app-bar { grid-template-columns:minmax(0,1fr) auto; }
html[data-page-zoom="120"] .breadcrumb,html[data-page-zoom="130"] .breadcrumb { display:none; }

@media (max-width: 1400px) {
  .app-bar {
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 12px;
    padding-right: 16px;
    padding-left: 16px;
  }
  .breadcrumb { display: none; }
  .brand-button { min-width: 0; }
  .brand-button > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .app-actions {
    min-width: max-content;
    flex-wrap: nowrap;
  }
}
.theme-menu {
  position: absolute; z-index: 100; top: calc(100% + 12px); right: 0; width: 230px; padding: 12px;
  border: 1px solid var(--line); border-radius: 16px; background: var(--surface-raised); box-shadow: var(--shadow);
}
.theme-menu[hidden] { display: none; }
.theme-menu p { margin: 2px 5px 9px; color: var(--soft); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.theme-menu button { display: flex; align-items: center; gap: 10px; width: 100%; padding: 9px; border: 1px solid transparent; border-radius: 10px; background: transparent; cursor: pointer; text-align: left; }
.theme-menu button:hover, .theme-menu button.active { border-color: var(--line); background: var(--wash); }
.theme-swatches { display: flex; overflow: hidden; width: 58px; height: 24px; border: 1px solid rgba(0,0,0,.12); border-radius: 999px; }
.theme-swatches i { flex: 1; }
.theme-swatches.parchment i:nth-child(1) { background:#12362f; }.theme-swatches.parchment i:nth-child(2) { background:#dc6726; }.theme-swatches.parchment i:nth-child(3) { background:#f8f0df; }
.theme-swatches.pink i:nth-child(1) { background:#43233f; }.theme-swatches.pink i:nth-child(2) { background:#c84f83; }.theme-swatches.pink i:nth-child(3) { background:#dcd6ff; }
.theme-swatches.indigo i:nth-child(1) { background:#25244f; }.theme-swatches.indigo i:nth-child(2) { background:#6e64ce; }.theme-swatches.indigo i:nth-child(3) { background:#eceafb; }
.theme-swatches.ocean i:nth-child(1) { background:#123a43; }.theme-swatches.ocean i:nth-child(2) { background:#167f91; }.theme-swatches.ocean i:nth-child(3) { background:#d1e5e7; }
.theme-swatches.sage i:nth-child(1) { background:#263d2d; }.theme-swatches.sage i:nth-child(2) { background:#557f49; }.theme-swatches.sage i:nth-child(3) { background:#dce3c6; }

/* STUDY MODULES */
.study-content { padding: 40px 48px 62px; background: var(--surface); }
.text-hero {
  position: relative; display: flex; align-items: center; justify-content: space-between; width:100%; min-height:0; aspect-ratio:var(--hero-aspect);
  overflow: hidden; padding: clamp(38px, 6vw, 86px); border-bottom: 1px solid var(--line);
  background: radial-gradient(circle at 78% 44%, color-mix(in srgb, var(--gold) 18%, transparent) 0 15%, transparent 16%), linear-gradient(120deg, var(--surface-raised), var(--wash));
}
.text-hero::after { content:""; position:absolute; right:9%; width:260px; aspect-ratio:1; border:1px solid var(--gold); border-radius:50%; opacity:.55; }
.text-hero > div { position:relative; z-index:1; }
.text-hero p { margin:0 0 10px; color:var(--orange-dark); font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.text-hero h2 { margin:0; font-family:var(--serif); font-size:clamp(58px, 7vw, 105px); font-weight:500; line-height:.9; }
.text-hero span { display:block; margin-top:20px; color:var(--soft); font-size:clamp(15px, 1.5vw, 22px); }
.text-hero > b { position:relative; z-index:1; color:var(--orange); font-family:var(--serif); font-size:clamp(72px, 11vw, 160px); font-weight:500; }
.illustrated-hero { min-height:0; background-color:#f7efdc; background-repeat:no-repeat; background-size:cover; background-position:center; }
.illustrated-hero::after { display:none; }
.illustrated-hero > div { max-width:54%; padding:18px 22px; border-radius:18px; background:linear-gradient(90deg,rgba(251,247,236,.84),rgba(251,247,236,.38) 72%,transparent); text-shadow:0 1px 0 rgba(255,255,255,.75); }
.reading-hero { background-image:url("hero-reading-lab-v2.png"); }
.literature-hero { background-image:url("hero-epic-library-v2.png"); }
.vocabulary-hero { background-image:url("hero-vocabulary-v2.png"); }
.vocabulary-hero::before { display:none; }
.literature-hero span { max-width:670px; }
.reference-card, .analyzer-card, .worked-reading {
  margin-top: 22px; padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface-raised); box-shadow: 0 14px 35px color-mix(in srgb, var(--ink) 7%, transparent);
}
.reference-card-head { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:16px; }
.reference-card-head h3 { margin:0; font-family:var(--serif); font-size:clamp(25px, 2.4vw, 36px); }
.reference-card-head > p { max-width:580px; margin:0; color:var(--soft); text-align:right; }
.study-table-scroll { overflow-x:auto; border:1px solid var(--line); border-radius:13px; }
.study-table { width:100%; border-collapse:collapse; font-size:14px; }
.study-table th, .study-table td { padding:13px 15px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; }
.study-table tr:last-child > * { border-bottom:0; }.study-table tr > *:last-child { border-right:0; }
.study-table thead th { color:var(--ink); background:var(--paper-deep); font-family:var(--serif); font-size:16px; }
.study-table tbody th { color:var(--orange-dark); background:var(--paper); }
.study-table td { background:var(--surface-raised); }
.study-table td i { color:var(--orange-dark); font-family:var(--serif); font-size:.94em; font-style:normal; }
.transliteration { font-style:normal; }
.translation { font-style:italic; }
.translation-aware-table .translation { color:var(--soft); }
.compound-table tbody td:last-child { font-style:italic; }
.study-table .group-row th { color:var(--ink); background:var(--gold-soft); text-align:center; letter-spacing:.08em; text-transform:uppercase; }
.study-table small { color:var(--soft); font-family:var(--sans); font-size:10px; }
.study-table.compact th, .study-table.compact td { padding:10px 12px; }
.card-note { margin:14px 2px 0; color:var(--soft); line-height:1.55; }
.study-grid { display:grid; gap:18px; margin-top:22px; }.study-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }.study-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.lesson-card { position:relative; overflow:hidden; min-height:190px; padding:24px; border:1px solid var(--line); border-radius:17px; background:linear-gradient(145deg,var(--surface-raised),var(--wash)); }
.lesson-card > span { display:inline-grid; place-items:center; min-width:38px; height:38px; padding:0 8px; border:1px solid var(--gold); border-radius:999px; color:var(--orange-dark); font-family:var(--serif); font-size:18px; }
.lesson-card h3 { margin:16px 0 7px; font-family:var(--serif); font-size:25px; }.lesson-card p { margin:0; color:var(--soft); line-height:1.55; }
.mini-example { margin-top:17px; padding:13px; border-left:3px solid var(--gold); background:color-mix(in srgb,var(--surface-raised) 65%, transparent); font-family:var(--serif); font-size:18px; }
.mini-example i { display:block; color:var(--orange-dark); font-size:14px; }.mini-example small { display:block; margin-top:4px; color:var(--soft); font-family:var(--sans); font-size:11px; }
.study-callout { margin-top:22px; padding:18px 20px; border-left:5px solid var(--gold); border-radius:10px; color:var(--soft); background:var(--paper); line-height:1.55; }.study-callout strong { color:var(--ink); }

/* COMPACT, CLICKABLE SYNTAX LESSONS */
.syntax-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.syntax-card-grid[hidden]{display:none}.syntax-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;align-items:center;min-height:104px;padding:15px 17px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:linear-gradient(145deg,var(--surface-raised),var(--wash));cursor:pointer;text-align:left;box-shadow:0 8px 20px color-mix(in srgb,var(--ink) 4%,transparent)}.syntax-card:hover,.syntax-card:focus-visible{border-color:var(--orange);background:var(--table-hit);transform:translateY(-1px)}.syntax-card>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;color:var(--orange-dark);font-family:var(--serif);font-size:14px;font-weight:800}.syntax-card h3{margin:0;font-family:var(--serif);font-size:21px}.syntax-card p{margin:4px 0 0;color:var(--soft);font-size:12px;line-height:1.4}.syntax-card>b{color:var(--orange-dark);font-size:19px}.syntax-detail-stack[hidden],.syntax-detail[hidden]{display:none}.syntax-back{margin-bottom:18px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;color:var(--orange-dark);background:var(--surface-raised);cursor:pointer;font-weight:850}.syntax-back:hover{border-color:var(--orange);background:var(--table-hit)}.syntax-detail{padding:clamp(22px,4vw,50px);border:1px solid var(--line);border-radius:18px;background:var(--surface-raised);box-shadow:0 14px 35px color-mix(in srgb,var(--ink) 6%,transparent)}.syntax-detail>h2{max-width:1000px;margin:6px 0 13px;font-family:var(--serif);font-size:clamp(34px,4vw,58px);line-height:1.05}.syntax-detail>p:not(.kicker){max-width:1000px;color:var(--soft);font-size:16px;line-height:1.65}.syntax-rule{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;margin:23px 0;padding:17px 19px;border-left:5px solid var(--gold);border-radius:0 12px 12px 0;background:var(--wash)}.syntax-rule b{color:var(--orange-dark)}.syntax-rule span{color:var(--ink);line-height:1.5}.syntax-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.syntax-examples>div{padding:18px;border:1px solid var(--line);border-radius:13px;background:var(--table-alt)}.syntax-examples strong,.syntax-examples span,.syntax-examples em,.syntax-examples small{display:block}.syntax-examples strong{font-family:var(--serif);font-size:23px;font-weight:600}.syntax-examples span{margin-top:4px;color:var(--orange-dark);font-family:var(--serif);font-size:16px;font-style:normal}.syntax-examples em{margin-top:8px;color:var(--ink);font-size:14px;font-style:italic}.syntax-examples small{margin-top:9px;color:var(--soft);font-size:11px;line-height:1.45}
.syntax-detail[data-verification] .syntax-examples{grid-template-columns:1fr}
.syntax-detail[data-verification] .syntax-examples>div{padding:20px 22px}
.syntax-detail[data-verification] .syntax-examples strong{white-space:normal;overflow:visible;font-size:clamp(20px,2.2vw,27px);line-height:1.45}
.syntax-terms{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;max-width:1000px;margin:16px 0;padding:10px 13px;border:1px solid var(--line);border-radius:10px;background:var(--table-rowhead);font-size:12px;line-height:1.5}
.syntax-terms b{color:var(--orange-dark);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.syntax-detail>p.syntax-limitation{max-width:1000px;margin:0 0 20px;padding:13px 15px;border-left:4px solid var(--orange);border-radius:0 9px 9px 0;color:var(--ink);background:color-mix(in srgb,var(--wash) 78%,transparent);font-size:13px;line-height:1.55}
.syntax-limitation b{color:var(--orange-dark)}
.syntax-example-working>a{display:inline-block;margin-left:4px;font-weight:800}
.syntax-examples span.syntax-example-status{margin-top:5px;color:var(--soft);font-family:var(--sans);font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.syntax-detail>p.syntax-source-status{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center;max-width:none;margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:11px;line-height:1.4}
.syntax-source-status span{margin-left:auto;color:var(--soft);font-weight:800}
.syntax-calibration-note{margin-top:18px}

.calibrated-reading-steps li{grid-template-columns:45px minmax(0,1fr);align-content:start}
.calibrated-reading-steps li::before{grid-row:1}
.calibrated-reading-steps li>div{display:grid;min-width:0;align-content:start}
.calibrated-reading-steps li span{color:var(--ink)}
.calibrated-reading-steps li small{display:block;margin-top:9px;color:var(--soft);font-size:10px;line-height:1.5}
.calibrated-reading-steps li small strong{color:var(--orange-dark);font-family:var(--sans);font-size:9px;letter-spacing:.04em;text-transform:uppercase}
.calibrated-reading-steps li small b{color:var(--ink);font-family:var(--sans);font-size:10px}
.calibrated-reading-steps li a{margin-top:7px;font-size:10px;font-weight:800}
.calibrated-reading-steps li em{margin-top:8px;color:var(--soft);font-size:9px;font-style:normal;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.reading-step-witness{display:grid!important;gap:2px;margin:10px 0 2px;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--wash)}
.reading-step-witness .reading-step-deva{margin:0;color:var(--ink);font-family:var(--dev);font-size:16px;line-height:1.45}
.reading-step-witness .reading-step-iast{margin:0;color:var(--orange-dark);font-family:var(--serif);font-size:12px;font-style:normal;line-height:1.4}
.reading-step-witness mark{padding:0 2px;border-radius:4px;color:inherit;background:var(--table-hit)}
.calibrated-worked-reading .interactive-parse-chips button{min-height:205px}
.reading-method-source-status{display:flex;flex-wrap:wrap;gap:5px 11px;align-items:center;margin-top:18px!important;padding-top:13px;border-top:1px solid var(--line);font-size:10px}
.reading-method-source-status span{margin-left:auto;color:var(--soft);font-weight:800}
.reading-method-calibration-note{margin-top:18px}

/* MORPHOLOGY ANALYZER */
.morphology-form label { display:block; margin-bottom:9px; color:var(--orange-dark); font-size:11px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.morphology-form > div { display:grid; grid-template-columns:minmax(220px,1fr) auto auto auto; gap:8px; }
.morphology-form input { min-width:0; padding:15px 17px; border:1px solid var(--line); border-radius:11px; color:var(--ink); background:var(--surface-raised); font-family:var(--serif); font-size:20px; }
.morphology-form button { padding:12px 16px; border:1px solid var(--line); border-radius:11px; background:var(--surface); cursor:pointer; font-weight:800; }
.morphology-form button[type="submit"] { border-color:var(--orange); color:white; background:var(--orange-dark); }
.morphology-form button:hover, .morphology-form button.active { border-color:var(--orange); color:var(--orange-dark); background:var(--wash); }
.morphology-form button[type="submit"]:hover { color:white; background:var(--orange-dark); }
.morphology-keyboard { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; padding:14px; border:1px solid var(--line); border-radius:12px; background:var(--wash); }.morphology-keyboard[hidden]{display:none;}
.analyzer-examples { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-top:13px; color:var(--soft); font-size:11px; }.analyzer-examples button { padding:5px 9px; border:1px solid var(--line); border-radius:999px; background:var(--surface-raised); cursor:pointer; }
.morphology-results { margin-top:22px; }.analyzer-empty { padding:40px; border:1px dashed var(--line); border-radius:17px; text-align:center; background:var(--wash); }.analyzer-empty b { font-family:var(--serif); font-size:35px; }.analyzer-empty p { margin:9px auto 0; max-width:700px; color:var(--soft); }
.analysis-heading { display:flex; align-items:center; gap:18px; padding:20px 25px; border:1px solid var(--line); border-radius:16px; background:var(--paper); }.analysis-heading > span { color:var(--ink); font-family:var(--serif); font-size:42px; }.analysis-heading b,.analysis-heading small{display:block}.analysis-heading b{color:var(--orange-dark);font-family:var(--serif);font-size:21px}.analysis-heading small{margin-top:3px;color:var(--soft)}
.analysis-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:14px; }.analysis-card{padding:20px;border:1px solid var(--line);border-radius:15px;background:var(--surface-raised)}.analysis-card>p{margin:0;color:var(--orange-dark);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.analysis-card h3{margin:6px 0 3px;font-family:var(--serif);font-size:29px}.analysis-card>strong{display:block;min-height:38px}.analysis-card>div{display:flex;align-items:baseline;gap:8px;margin:14px 0 8px;padding:10px;border-radius:9px;background:var(--wash)}.analysis-card>div span{color:var(--soft);font-size:9px;text-transform:uppercase}.analysis-card>div b{font-family:var(--serif);font-size:19px}.analysis-card>div small{margin-left:auto;color:var(--ink);font-size:17px}.analysis-card>small{color:var(--soft);line-height:1.45}.analysis-no-match{padding:22px;border:1px solid var(--line);border-radius:14px;color:var(--soft);background:var(--surface-raised)}

/* READING LAB */
.reading-steps { counter-reset:reading; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:0; list-style:none; }
.reading-steps li { counter-increment:reading; display:grid; grid-template-columns:45px 1fr; column-gap:13px; padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface-raised); }
.reading-steps li::before { content:counter(reading,decimal-leading-zero); grid-row:1/3; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:white; background:var(--orange-dark); font-family:var(--serif); }
.reading-steps b { align-self:end; font-family:var(--serif); font-size:19px; }.reading-steps span { margin-top:3px; color:var(--soft); font-size:12px; line-height:1.45; }
.worked-reading h3 { margin:5px 0 0; font-family:var(--serif); font-size:clamp(25px,3vw,42px); }.reading-iast{margin:3px 0 18px;color:var(--orange-dark);font-family:var(--serif);font-size:18px}.parse-chips{display:flex;flex-wrap:wrap;gap:8px}.parse-chips span{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--wash);font-size:11px}.worked-reading>p:last-child{margin-bottom:0;color:var(--soft);line-height:1.6}

/* Carry the selected palette through the older modules. */
.module-tabs, .subtabs, .nested-tabs { background:var(--paper); border-color:var(--line); }
.module-tabs button.active, .subtabs button.active, .nested-tabs button.active { background:var(--surface-raised); }
.subject-tab, .script-card, .sandhi-card, .search-tool, .converter, .dictionary-search-form, .dictionary-entry-view, .verb-search-tools { background:var(--surface-raised); border-color:var(--line); }
.panel-shell, .sandhi-content, .dictionary-content { background:var(--surface); }
.sandhi-table td, .simple-matrix td, .verb-grade-table td { background:var(--surface-raised); }
.sandhi-table th, .simple-matrix th, .verb-grade-table th { border-color:var(--line); }

/* COMPLETE NOMINAL PARADIGMS */
.nominal-jump-bar { position:sticky; top:69px; z-index:12; display:flex; gap:6px; overflow-x:auto; margin:20px 0; padding:9px; border:1px solid var(--line); border-radius:12px; background:color-mix(in srgb,var(--surface) 94%,transparent); box-shadow:0 8px 20px color-mix(in srgb,var(--ink) 8%,transparent); backdrop-filter:blur(10px); }
.nominal-jump-bar button { flex:0 0 auto; padding:7px 10px; border:1px solid var(--line); border-radius:999px; color:var(--orange-dark); background:var(--surface-raised); cursor:pointer; font-family:var(--serif); font-size:13px; font-weight:700; }
.nominal-jump-bar button:hover { border-color:var(--orange); background:var(--wash); }
.nominal-paradigm-card { scroll-margin-top:130px; }
.nominal-card-head h3 { display:flex; align-items:baseline; flex-wrap:wrap; gap:8px; font-size:32px; }.nominal-card-head h3>span{font-size:39px}.nominal-card-head h3>small{color:var(--soft);font-family:var(--sans);font-size:14px;font-weight:500}.nominal-card-head>p b{color:var(--orange-dark)}
.nominal-table-scroll { overflow-x:visible; }
.nominal-table { table-layout:fixed; font-size:16px; }
.nominal-table th,.nominal-table td{padding:8px 12px}.nominal-table thead th{font-size:17px;text-align:center}.nominal-table thead th:first-child{width:17%;text-align:left}.nominal-table tbody th{font-family:var(--serif);font-size:17px}.nominal-table td{text-align:center}
.nominal-form-set{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 13px}.nominal-form{min-width:0}.nominal-dev{display:block;color:var(--ink);font-family:var(--serif);font-size:23px;line-height:1.1}.nominal-iast{display:block;margin-top:3px;color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.05}.nominal-iast b{color:var(--ink);font-weight:600}.nominal-iast em{color:var(--orange-dark);font-style:normal;font-weight:800}
.nominal-source-status,.red-book-source-status{margin:0 0 10px;color:var(--muted);font-size:10px;font-weight:750;line-height:1.45}.nominal-source-notation,.red-book-source-notation{flex:0 0 100%;color:var(--muted);font-size:9px;font-weight:700;line-height:1.35}.red-book-source-note{margin:10px 0 0;padding:10px 12px;border-left:4px solid var(--gold);color:var(--soft);background:var(--wash);font-size:11px;line-height:1.5}.nominal-calibration-note,.verb-paradigm-calibration-note,.morphology-calibration-note{margin-bottom:22px}
#nominal-paradigms .nominal-paradigm-card{padding:23px}
#nominal-paradigms .nominal-card-head h3{font-size:29px}
#nominal-paradigms .nominal-card-head h3>span{font-size:35px}
#nominal-paradigms .nominal-card-head h3>small{font-size:12.5px}
#nominal-paradigms .nominal-table{font-size:14.5px}
#nominal-paradigms .nominal-table th,#nominal-paradigms .nominal-table td{padding:7px 11px}
#nominal-paradigms .nominal-table thead th,#nominal-paradigms .nominal-table tbody th{font-size:15.5px}
#nominal-paradigms .nominal-dev{font-size:20.5px}#nominal-paradigms .nominal-iast{font-size:15.5px}

.paradigm-jump-bar {
  position: sticky;
  top: 69px;
  z-index: 12;
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  overflow: visible;
  margin: 20px 0;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--ink) 8%, transparent);
  backdrop-filter: blur(10px);
}
.paradigm-jump-bar button {
  flex: 1 1 145px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--orange-dark);
  background: var(--surface-raised);
  cursor: pointer;
  font-family: var(--serif);
  font-size: 12px;
  font-weight: 700;
}
.paradigm-jump-bar button:hover,
.paradigm-jump-bar button.active {
  border-color: var(--orange);
  color: var(--orange-dark);
  background: var(--table-hit);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--orange) 24%, transparent);
}
.paradigm-jump-bar.collapsible-jump-bar .jump-bar-toggle{display:flex;min-height:36px;flex:1 0 100%;align-items:center;justify-content:space-between;padding:7px 12px;border-radius:10px;color:var(--ink);background:var(--wash);font-family:var(--sans);font-size:12px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}.paradigm-jump-bar.collapsible-jump-bar .jump-bar-toggle b{color:var(--orange-dark);font-size:20px;line-height:1}.paradigm-jump-bar.collapsible-jump-bar.collapsed{gap:0;padding:7px}.paradigm-jump-bar.collapsible-jump-bar.collapsed>button:not(.jump-bar-toggle){display:none}
#pronoun-jump-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
#pronoun-jump-bar button{width:100%;min-width:0}
.declension-paradigms, .verb-class-paradigms { display: grid; min-width:0; gap: 24px; }
.red-book-paradigm-card, .verb-class-card { min-width:0; scroll-margin-top:132px; }
.paradigm-form-set { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 7px 16px; }
.paradigm-form { display: inline-flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; }
.paradigm-form b { color: var(--ink); font-family: var(--serif); font-size: clamp(22px, 1.8vw, 29px); font-weight: 500; line-height: 1.12; }
.paradigm-form i { margin-top: 3px; color: var(--orange-dark); font-family: var(--serif); font-size: clamp(16px, 1.2vw, 19px); font-style: normal; font-weight: 700; line-height: 1.08; }
.red-book-declension-table td, .verb-class-table td { padding: 12px 10px; text-align: center; vertical-align: middle; }
.red-book-declension-table tbody th, .verb-class-table tbody th { color: var(--orange-dark); font-size: 16px; }
.verb-class-content { max-width: 1660px; }
.verb-class-card-head h3 { max-width: 980px; }.verb-class-card-head h3>span,.verb-class-card-head h3>small{display:block}.verb-class-card-head h3>span{font-size:clamp(25px,2.4vw,38px)}.verb-class-card-head h3>small{margin-top:7px;color:var(--ink);font-family:var(--serif);font-size:clamp(22px,1.8vw,30px);font-weight:500}.verb-class-card-head h3>small b{color:var(--orange-dark)}
.verb-class-table-scroll{max-width:100%}.verb-class-table { width:100%; table-layout:fixed; }
.verb-class-table thead th{text-align:center;text-transform:capitalize}.verb-class-table thead th:first-child { width: 20%; }.verb-class-table tbody th:not(.verb-number-band){width:14%}.verb-class-table tbody td{width:20%}
.verb-number-band{width:6%!important;padding:8px 5px!important;text-align:center!important;vertical-align:middle!important;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.12em;text-transform:uppercase;background:var(--table-rowhead)!important}
.verb-class-table tbody tr.number-start > * { border-top: 3px solid color-mix(in srgb, var(--gold) 62%, var(--line)); }
.perfect-table thead th span, .perfect-table thead th small { display: block; }
.perfect-table thead th span { font-family: var(--serif); font-size: 20px; }
.perfect-table thead th small { margin-top: 3px; color: var(--soft); font-size: 12px; }
.paradigm-section-divider { margin: 22px 0 0; padding: 30px 12px 7px; text-align: center; }
.paradigm-section-divider h3 { margin: 3px 0 8px; font-family: var(--serif); font-size: clamp(30px, 3.5vw, 50px); }
.paradigm-section-divider p:last-child { max-width: 800px; margin: 0 auto; color: var(--soft); }

/* Interactive participle formation and viewport-fit Tables 41–42 */
.participle-overview-table{font-size:18px}.participle-overview-table th,.participle-overview-table td{padding:14px 16px}.participle-overview-table tbody tr{cursor:pointer}.participle-overview-table tbody tr:hover>*{background:var(--table-hit)}.participle-overview-table [lang|="sa"]{font-size:25px}.participle-overview-table td span:not([lang]){color:var(--orange-dark);font-family:var(--serif);font-size:19px;font-weight:700}.participle-paradigm-card{padding:15px 18px}.participle-paradigm-card .reference-card-head{margin-bottom:8px}.participle-paradigm-card .nominal-card-head h3{font-size:clamp(25px,2vw,32px);line-height:1.08}.participle-paradigm-card .red-book-declension-table th,.participle-paradigm-card .red-book-declension-table td{padding:5px 10px}.participle-paradigm-card .red-book-declension-table thead th{font-size:16px}.participle-paradigm-card .red-book-declension-table tbody th{font-size:16px}.participle-paradigm-card .paradigm-form b{font-size:clamp(23px,1.65vw,27px)}.participle-paradigm-card .paradigm-form i{font-size:clamp(15px,1.05vw,17px)}.participle-paradigm-card td[role="button"]{cursor:pointer;outline-offset:-3px}.participle-paradigm-card td[role="button"]:hover,.participle-paradigm-card td[role="button"]:focus-visible{background:var(--table-hit);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--orange) 35%,transparent)}.participle-workup-page{max-width:1540px;min-height:calc(100vh - 72px);margin:0 auto;padding:34px 48px 70px}.participle-workup-heading{text-align:center}.participle-workup-heading h2{display:flex;align-items:baseline;justify-content:center;gap:18px;margin:8px 0}.participle-workup-heading h2 span{font-size:clamp(48px,6vw,82px);font-weight:500}.participle-workup-heading h2 b{color:var(--orange-dark);font-family:var(--serif);font-size:clamp(32px,3.5vw,54px)}.participle-workup-heading>p:last-child{color:var(--soft);font-size:18px}.participle-workup-heading em{color:var(--ink)}.participle-derivation-card{display:grid;grid-template-columns:minmax(170px,.25fr) 1fr;gap:24px;align-items:start}.participle-root-summary{position:sticky;top:90px;display:flex;min-height:210px;flex-direction:column;align-items:center;justify-content:center;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--table-rowhead);text-align:center}.participle-root-summary span{font-size:48px}.participle-root-summary strong{margin-top:7px;color:var(--orange-dark);font-family:var(--serif);font-size:28px}.participle-root-summary small{margin-top:8px;color:var(--soft);font-size:14px}.participle-derivation-steps{display:grid;gap:9px;margin:0;padding:0;list-style:none}.participle-derivation-steps li{display:grid;grid-template-columns:48px 1fr;gap:13px;align-items:center;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--table-cell)}.participle-derivation-steps li>b{color:var(--orange-dark);font-family:var(--serif);font-size:19px}.participle-derivation-steps li div{display:grid;grid-template-columns:minmax(135px,.35fr) 1fr 1fr;gap:15px;align-items:center}.participle-derivation-steps small{color:var(--soft);font-weight:800;text-transform:uppercase}.participle-derivation-steps strong{color:var(--orange-dark);font-family:var(--serif);font-size:21px}.participle-derivation-steps span{font-size:27px}.participle-derivation-card>.study-note{grid-column:2}
.generic-endings-table { min-width: 980px; }
.generic-endings-table td { color: var(--orange-dark); font-family: var(--serif); font-size: 18px; font-weight: 700; text-align: center; }
.generic-endings-table thead tr:first-child th { background: var(--wash-strong); }

/* VERB ROOTS WITHIN MORPHOLOGY */
.analysis-root-panel { margin-top:14px; padding:18px; border:1px solid var(--line); border-radius:16px; background:var(--wash); }.analysis-root-panel>h3{margin:0 0 12px;font-family:var(--serif);font-size:23px}.analysis-root-panel>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analysis-root-card{display:grid;grid-template-columns:auto 1fr;column-gap:11px;width:100%;padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface-raised);cursor:pointer;text-align:left}.analysis-root-card:hover{border-color:var(--orange);transform:translateY(-1px)}.analysis-root-card>span{grid-row:1/5;font-family:var(--serif);font-size:31px}.analysis-root-card>b{color:var(--orange-dark);font-family:var(--serif);font-size:19px}.analysis-root-card>small{color:var(--soft);font-size:9px}.analysis-root-card>em{margin-top:4px;font-style:normal;font-weight:700}.analysis-root-card>i{margin-top:7px;color:var(--soft);font-size:9px;font-style:normal;line-height:1.4}

/* INTERACTIVE READING */
.reading-word-line { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }.reading-word-line button{padding:5px 7px;border:1px solid transparent;border-radius:9px;color:var(--ink);background:transparent;cursor:pointer;font-family:var(--serif);font-size:inherit}.reading-word-line button:hover,.reading-word-line button.active{border-color:var(--orange);color:var(--orange-dark);background:var(--paper)}
.interactive-parse-chips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.interactive-parse-chips button{min-height:132px;padding:14px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--wash);cursor:pointer;text-align:left}.interactive-parse-chips button:hover,.interactive-parse-chips button.active{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,var(--surface-raised));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--orange) 24%,transparent)}.interactive-parse-chips b,.interactive-parse-chips span,.interactive-parse-chips small{display:block}.interactive-parse-chips b{font-family:var(--serif);font-size:18px}.interactive-parse-chips span{margin-top:9px;font-size:13px;font-weight:800;line-height:1.35}.interactive-parse-chips small{margin-top:6px;color:var(--soft);font-size:11px;line-height:1.4}
.sentence-workspace{margin-top:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--surface-raised);box-shadow:0 14px 35px color-mix(in srgb,var(--ink) 7%,transparent)}.sentence-workspace form>label{display:block;margin-bottom:8px;color:var(--orange-dark);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.sentence-workspace textarea{width:100%;min-height:100px;padding:15px;border:1px solid var(--line);border-radius:12px;color:var(--ink);background:var(--surface);font-family:var(--serif);font-size:22px;resize:vertical}.sentence-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}.sentence-actions button,.sentence-file-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface);cursor:pointer;font-weight:800}.sentence-actions button[type="submit"]{border-color:var(--orange);color:white;background:var(--orange-dark)}.sentence-file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.sentence-caveat{color:var(--soft);font-size:11px;line-height:1.5}.sentence-analysis{margin-top:16px}.sentence-token-line{display:flex;flex-wrap:wrap;gap:8px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--paper)}.sentence-token-line button{padding:7px 10px;border:1px solid transparent;border-radius:9px;color:var(--ink);background:transparent;cursor:pointer;font-family:var(--serif);font-size:27px}.sentence-token-line button:hover,.sentence-token-line button.active{border-color:var(--orange);color:var(--orange-dark);background:var(--surface-raised)}.sentence-token-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}.sentence-token-card{min-height:190px;padding:18px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:var(--surface-raised);cursor:pointer;text-align:left}.sentence-token-card:hover,.sentence-token-card.active{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 9%,var(--surface-raised));box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--orange) 22%,transparent)}.sentence-token-card>span,.sentence-token-card>b{display:block}.sentence-token-card>span{font-family:var(--serif);font-size:31px}.sentence-token-card>b{color:var(--orange-dark);font-family:var(--serif);font-size:18px}.sentence-token-card p{margin:10px 0 0;font-size:11px;font-weight:800;line-height:1.5}.sentence-token-card ul{margin:11px 0 0;padding-left:18px;color:var(--soft);font-size:11px;line-height:1.5}

/* LITERATURE SHELL AND ANNOTATED READERS */
.literature-content{max-width:1720px;margin:0 auto}.literature-overview{max-width:1240px;margin:0 auto}.literature-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px auto 0}.literature-classical-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.literature-collection-card{min-height:190px;padding:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--surface-raised),var(--wash));box-shadow:0 10px 26px color-mix(in srgb,var(--ink) 5%,transparent)}.literature-collection-card.available{grid-column:span 2;border-color:color-mix(in srgb,var(--orange) 42%,var(--line));background:linear-gradient(145deg,var(--surface-raised),var(--table-hit))}.literature-status{display:inline-flex;padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--orange-dark);background:var(--surface);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.literature-collection-card.available .literature-status{border-color:color-mix(in srgb,var(--orange) 45%,var(--line));background:var(--table-hit)}.literature-collection-card h3{margin:15px 0 7px;font-family:var(--serif);font-size:27px}.literature-collection-card p{margin:0;color:var(--soft);line-height:1.55}.literature-title-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}.literature-title-chips span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--ink);background:var(--surface-raised);font-family:var(--serif);font-weight:700}.literature-source-gate{margin:22px 0 0;padding:19px 21px;border-left:5px solid var(--gold);border-radius:0 12px 12px 0;background:var(--paper)}.literature-source-gate strong{color:var(--ink)}.literature-source-gate p{margin:6px 0 0;color:var(--soft);line-height:1.55}.literature-source-checklist{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:28px;align-items:start;margin-top:16px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised)}.literature-source-checklist h3{margin:0;font-family:var(--serif);font-size:28px}.literature-source-checklist ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 22px;margin:0;padding-left:20px;color:var(--soft);line-height:1.45}.literature-reader-heading{max-width:900px;margin:46px auto 20px;text-align:center}.literature-reader-heading h2{margin:0;font-family:var(--serif);font-size:clamp(30px,3.4vw,45px);font-weight:500;letter-spacing:-.025em}.literature-reader-heading>p:last-child{margin:9px auto 0;color:var(--soft);font-size:13px;line-height:1.6}
.literature-reader-content[hidden]{display:none}.literature-corpus-overview{padding-top:42px}.literature-corpus-group{margin-top:26px}.literature-corpus-group>h3{margin:0;padding-bottom:10px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:30px;font-weight:600}.literature-corpus-group .literature-collection-grid{margin-top:14px}
.literature-corpus-overview .literature-collection-card.available{grid-column:auto}.literature-classical-grid{grid-template-columns:repeat(3,minmax(0,1fr))}a.literature-collection-card{display:block;color:inherit;text-decoration:none;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}a.literature-collection-card:hover,a.literature-collection-card:focus-visible{border-color:var(--orange);box-shadow:0 13px 30px color-mix(in srgb,var(--orange) 13%,transparent);transform:translateY(-2px)}a.literature-collection-card:focus-visible{outline:3px solid color-mix(in srgb,var(--orange) 45%,transparent);outline-offset:3px}.literature-open-link{display:block;margin-top:18px;color:var(--orange-dark);font-weight:900}
.epic-reader-controls{margin-bottom:18px;padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--surface-raised);box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 6%,transparent)}
.epic-text-choice{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:13px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--wash)}.epic-text-choice button{min-height:45px;padding:8px 13px;border:1px solid transparent;border-radius:8px;color:var(--soft);background:transparent;cursor:pointer;font-family:var(--serif);font-size:18px;font-weight:750}.epic-text-choice button:hover{background:var(--surface)}.epic-text-choice button.active{border-color:color-mix(in srgb,var(--orange) 48%,var(--line));color:var(--orange-dark);background:var(--surface-raised);box-shadow:0 5px 14px color-mix(in srgb,var(--ink) 7%,transparent)}
.epic-reader-selects{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(230px,1fr) minmax(190px,.7fr) auto;gap:9px;align-items:end}.epic-reader-selects label{display:flex;flex-direction:column;gap:6px;color:var(--orange-dark);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.epic-reader-selects select,.epic-reader-selects input,.epic-reader-selects button{min-height:45px;padding:9px 12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--control);font-family:var(--sans);font-size:13px}.epic-reader-selects button{min-width:68px;border-color:var(--orange);color:white;background:var(--orange-dark);cursor:pointer;font-weight:850}.epic-reader-selects [hidden]{display:none}
.epic-page-controls{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:13px}.epic-page-controls button{min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:9px;color:var(--orange-dark);background:var(--surface);cursor:pointer;font-weight:800}.epic-page-controls button:hover:not(:disabled){border-color:var(--orange);background:var(--table-hit)}.epic-page-controls button:disabled{cursor:not-allowed;opacity:.42}.epic-page-controls strong{color:var(--soft);font-size:12px;text-align:center}
.epic-reader-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.72fr);gap:18px;align-items:start}.epic-lines{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised);box-shadow:0 13px 32px color-mix(in srgb,var(--ink) 6%,transparent)}.epic-chapter-heading{display:block;padding:18px 21px;border-bottom:1px solid var(--line);background:var(--table-head)}.epic-chapter-heading span{display:block;margin-bottom:3px;color:var(--orange-dark);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.epic-chapter-heading h3{margin:0;font-family:var(--serif);font-size:26px}.epic-edition-note{max-width:none;margin:7px 0 0!important;color:var(--soft)!important;font-family:var(--sans);font-size:10px!important;line-height:1.45;text-align:left!important}.epic-edition-note b{color:var(--ink)}.epic-line-count{margin:7px 0 0;color:var(--soft);font-size:11px;line-height:1.35;text-align:left}
.epic-verse-group{border-bottom:2px solid color-mix(in srgb,var(--gold) 42%,var(--line));scroll-margin-top:84px}.epic-verse-group:last-child{border-bottom:0}.epic-line{display:grid;grid-template-columns:118px minmax(0,1fr);border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.epic-verse-group .epic-line:last-of-type{border-bottom:0}.epic-line-reference{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:17px 9px;color:var(--ink-2);background:var(--table-rowhead);font-family:var(--sans);text-align:center}.epic-line-reference strong{display:block;color:var(--ink-2);font-family:var(--iast-font);font-size:15px;font-weight:600;line-height:1.05;white-space:nowrap}.epic-line-reference span{display:block;color:var(--soft);font-size:10px;font-weight:800;line-height:1.1;text-transform:uppercase;white-space:nowrap}.epic-line-body{min-width:0;padding:14px 17px;background:var(--table-cell)}.epic-verse-group:nth-of-type(odd) .epic-line-body{background:var(--table-alt)}.epic-token-line{display:flex;flex-wrap:nowrap;align-items:baseline;gap:4px 6px;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;white-space:nowrap;scrollbar-width:thin}.epic-token{flex:0 0 auto;padding:5px 7px;border:1px solid transparent;border-radius:8px;color:var(--ink);background:transparent;cursor:pointer;font-family:var(--serif);font-size:25px;line-height:1.2}.epic-token:hover,.epic-token.active{border-color:var(--orange);color:var(--orange-dark);background:var(--table-hit);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--orange) 25%,transparent)}.epic-token-punctuation{flex:0 0 auto;color:var(--orange-dark);font-family:var(--serif);font-size:24px}.epic-line-iast{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 6px;margin:8px 5px 0;font-style:normal;line-height:1.45}.epic-iast-token{padding:2px 4px;border:1px solid transparent;border-radius:6px;color:var(--orange-dark);background:transparent;cursor:pointer;font-family:var(--iast-font);font-size:18px;font-weight:500;line-height:1.25}.epic-iast-token:hover,.epic-iast-token.active{border-color:color-mix(in srgb,var(--orange) 62%,var(--line));color:var(--orange-dark);background:var(--table-hit);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--orange) 18%,transparent)}.epic-iast-punctuation{color:var(--orange-dark);font-family:var(--iast-font);font-size:18px}.epic-verse-translation{display:grid;grid-template-columns:118px minmax(0,1fr);border-top:1px solid color-mix(in srgb,var(--gold) 44%,var(--line));background:color-mix(in srgb,var(--gold) 7%,var(--table-cell))}.epic-verse-translation>span{display:flex;align-items:center;justify-content:center;padding:13px 9px;color:var(--ink-2);background:color-mix(in srgb,var(--gold) 15%,var(--table-rowhead));font-size:9px;font-weight:900;letter-spacing:.08em;text-align:center;text-transform:uppercase}.epic-verse-translation>p{margin:0;padding:13px 19px;color:var(--ink);font-family:var(--serif);font-size:17px;font-style:italic;line-height:1.55}.epic-verse-translation.unavailable>p{color:var(--soft);font-size:14px}
.epic-word-analysis{position:sticky;top:86px;min-height:420px;padding:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--wash),var(--surface-raised));box-shadow:0 13px 32px color-mix(in srgb,var(--ink) 7%,transparent)}.epic-analysis-empty{display:flex;min-height:360px;flex-direction:column;align-items:center;justify-content:center;text-align:center}.epic-analysis-empty span{font-family:var(--serif);font-size:70px}.epic-analysis-empty h3{margin:7px 0;font-family:var(--serif);font-size:27px}.epic-analysis-empty p{max-width:270px;margin:0;color:var(--soft);line-height:1.5}.epic-analysis-head{padding-bottom:16px;border-bottom:1px solid var(--line)}.epic-analysis-head>span{display:block;color:var(--orange-dark);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.epic-analysis-head h3{margin:7px 0 0;font-family:var(--serif);font-size:44px;line-height:1}.epic-analysis-head b{display:block;margin-top:6px;color:var(--orange-dark);font-family:var(--serif);font-size:20px}.epic-sandhi-split{margin:14px 0 0;padding:11px;border-radius:10px;background:var(--surface)}.epic-sandhi-split small{display:block;color:var(--soft);font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.epic-sandhi-split strong{display:block;margin-top:5px;color:var(--ink);font-family:var(--serif);font-size:18px}.epic-analysis-card{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-raised)}.epic-analysis-card h4{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin:0;font-family:var(--serif);font-size:24px}.epic-analysis-card h4 b{color:var(--orange-dark);font-size:16px}.epic-analysis-card>strong{display:block;margin-top:7px;color:var(--ink);font-size:12px}.epic-analysis-card dl{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin:12px 0 0}.epic-analysis-card dt{color:var(--soft);font-size:9px;font-weight:850;text-transform:uppercase}.epic-analysis-card dd{margin:0;color:var(--ink);font-size:12px;font-weight:700}.epic-analysis-card p{margin:11px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--soft);font-size:12px;line-height:1.5}.epic-analysis-card p b{color:var(--orange-dark)}.epic-credit{margin-top:20px}

/* COMPOUND MEMBER BREAKDOWNS */
.compound-table{min-width:980px}.compound-table td b,.compound-table td i{display:block}.compound-table td b{font-family:var(--serif);font-size:18px}.compound-table td i{margin-top:3px;color:var(--orange-dark);font-size:13px}
.interactive-parse-chips button span{padding:0;border:0;border-radius:0;background:transparent}

/* PRONUNCIATION AND RECITATION */
.pronunciation-content,.recitation-content,.numbers-content{max-width:1680px;margin:0 auto}.pronunciation-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 auto 12px;padding:8px;border:1px solid var(--line);border-radius:15px;background:var(--paper)}.pronunciation-mode button{min-height:50px;padding:9px 14px;border:1px solid transparent;border-radius:11px;color:var(--ink);background:transparent;cursor:pointer;font-family:var(--serif);font-size:18px;font-weight:700}.pronunciation-mode button:hover{border-color:var(--line);background:var(--surface)}.pronunciation-mode button.active{border-color:color-mix(in srgb,var(--orange) 45%,var(--line));color:var(--orange-dark);background:var(--surface-raised);box-shadow:0 6px 16px color-mix(in srgb,var(--ink) 7%,transparent)}.pronunciation-mode-note{margin:0 0 24px;padding:13px 18px;border-left:4px solid var(--gold);border-radius:0 12px 12px 0;color:var(--soft);background:var(--wash);font-size:14px;line-height:1.55}.pronunciation-browser{padding:25px}.phoneme-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.5fr);gap:22px;align-items:start}.phoneme-layout h4{margin:15px 0 8px;color:var(--orange-dark);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.phoneme-grid{display:grid;grid-template-columns:repeat(7,minmax(64px,1fr));gap:7px}.consonant-phoneme-grid{grid-template-columns:repeat(9,minmax(58px,1fr))}.phoneme-grid button{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;min-height:78px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--surface);cursor:pointer;text-align:left}.phoneme-grid button:hover,.phoneme-grid button.active{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 9%,var(--surface-raised));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--orange) 24%,transparent)}.phoneme-grid b{font-family:var(--serif);font-size:29px;font-weight:500;line-height:1}.phoneme-grid span{align-self:end;color:var(--orange-dark);font-family:var(--serif);font-size:15px;font-weight:800}.phoneme-grid small{grid-column:1/-1;margin-top:5px;color:var(--soft);font-size:11px}.phoneme-detail{position:sticky;top:95px;min-height:330px;padding:26px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--wash),var(--surface-raised));box-shadow:0 12px 28px color-mix(in srgb,var(--ink) 7%,transparent)}.phoneme-detail-dev{display:block;font-family:var(--serif);font-size:76px;line-height:1}.phoneme-detail>b{color:var(--orange-dark);font-family:var(--serif);font-size:26px}.phoneme-detail>strong{float:right;color:var(--ink);font-family:var(--serif);font-size:25px}.phoneme-detail h4{margin:22px 0 6px;color:var(--ink);font-size:22px;letter-spacing:0;text-transform:none}.phoneme-detail p{min-height:60px;margin:0;color:var(--soft);line-height:1.55}.phoneme-detail button,.mora-play{width:100%;margin-top:19px;padding:11px 14px;border:1px solid var(--orange);border-radius:10px;color:white;background:var(--orange-dark);cursor:pointer;font-weight:850}.phoneme-detail small{display:block;margin-top:8px;color:var(--soft);font-size:10px;line-height:1.4}.pronunciation-tools{margin-top:24px}.pronunciation-word-card,.mora-card{min-height:390px}.pronunciation-word-card label,.mora-card label,.recitation-workspace>label{display:block;margin:17px 0 7px;color:var(--orange-dark);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.pronunciation-word-card textarea,.recitation-workspace textarea{width:100%;min-height:105px;padding:14px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--surface);font-family:var(--serif);font-size:23px;line-height:1.5;resize:vertical}.mora-card input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--surface);font-family:var(--serif);font-size:22px}.pronunciation-word-card .sentence-actions button:first-child,.recitation-workspace .sentence-actions button:first-child{border-color:var(--orange);color:white;background:var(--orange-dark)}.pronunciation-word-card audio,.recitation-workspace audio{width:100%;margin-top:13px}.backend-status{margin:13px 0 0;color:var(--soft);font-size:12px;line-height:1.5}.mora-strip{display:flex;flex-wrap:wrap;gap:8px;min-height:82px;margin-top:13px}.mora-unit{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:67px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.mora-unit.heavy{border-color:color-mix(in srgb,var(--orange) 48%,var(--line));background:color-mix(in srgb,var(--gold) 17%,var(--surface))}.mora-unit b{font-family:var(--serif);font-size:23px}.mora-unit small{color:var(--soft);font-size:9px}.mora-card>small{display:block;margin-top:10px;color:var(--soft);font-size:10px}.recitation-workspace{padding:28px}.recitation-workspace textarea{min-height:180px}.tool-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid var(--line);border-radius:10px;color:var(--orange-dark);background:var(--surface);font-size:13px;font-weight:800;text-decoration:none}.tool-link:hover{border-color:var(--orange);background:var(--wash)}

.audio-architecture-note{display:block;margin-top:8px;color:var(--soft);font-size:10px;line-height:1.45}

/* NUMBERS */
.numbers-hero{background:radial-gradient(circle at 78% 44%,color-mix(in srgb,var(--gold) 20%,transparent) 0 17%,transparent 18%),linear-gradient(120deg,var(--surface-raised),var(--wash))}.number-tabs{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;padding:10px}.number-tabs button{min-height:48px;border:1px solid var(--line);border-radius:10px}.number-tabs button.active{border-color:var(--orange);color:var(--orange-dark);background:var(--table-hit);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--orange) 25%,transparent)}.number-reference-card{padding:24px}.number-table{width:100%;min-width:1100px;table-layout:fixed}.number-table th,.number-table td{padding:12px 8px;text-align:center;vertical-align:middle}.number-table thead tr:first-child th{background:var(--wash-strong)}.number-table tbody th{color:var(--orange-dark);font-family:var(--serif);font-size:20px}.number-dev-digit{color:var(--ink)!important;font-size:27px!important}.number-dev{color:var(--ink);font-family:var(--serif);font-size:21px;line-height:1.25}.number-iast{color:var(--orange-dark);font-family:var(--serif);font-size:17px;font-weight:700;line-height:1.3}.number-ordinal-arabic{color:var(--orange-dark);font-family:var(--serif);font-size:18px;font-weight:800}.number-script-heading span{display:block}.number-range-table{min-width:1040px}.number-range-table th:nth-child(1){width:12%}.number-range-table th:nth-child(2){width:13%}.number-range-table th:nth-child(3){width:21%}.number-range-table th:nth-child(4){width:29%}.number-range-table th:nth-child(5){width:25%}.number-range-table .number-nowrap{white-space:nowrap;font-size:clamp(16px,1.35vw,22px)}.number-table thead th[tabindex],.number-table tbody tr:not(.number-scale-row){cursor:pointer}.number-table .number-column-selected,.number-table tr.number-row-selected>*,.number-table .number-row-selected{background:var(--table-hit)!important;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--orange) 35%,transparent)}.numbers-note{margin:14px 0 0;color:var(--soft);font-size:12px;line-height:1.5}
.numbers-hero{background-image:linear-gradient(90deg,rgba(251,247,236,.98) 0%,rgba(251,247,236,.9) 34%,rgba(251,247,236,.38) 57%,rgba(251,247,236,.04) 74%),url("hero-numbers-v1.png");background-position:center;background-size:cover}.numbers-hero>div{max-width:54%}
.number-col-arabic{width:7%}.number-col-dev-digit{width:10%}.number-col-english{width:7%}.number-col-dev{width:16%}.number-col-iast{width:15%}.number-col-ordinal-abbr{width:7%}.number-table:not(.number-range-table) .number-dev{white-space:nowrap;font-size:clamp(17px,1.35vw,22px)}
.number-script-heading span{white-space:nowrap}.number-cardinal-ordinal-table thead th[rowspan]{font-size:15px;line-height:1.12}
.study-table.number-cardinal-ordinal-table{min-width:1100px}
.number-cardinal-ordinal-table thead tr:first-child th:last-child,
.number-cardinal-ordinal-table thead tr:nth-child(2) th:nth-child(4),
.number-cardinal-ordinal-table tbody tr > :nth-child(6){border-left:3px solid var(--orange-dark)}
.number-inflection-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:22px 26px}.number-inflection-guide section{min-width:0}.number-inflection-guide strong{display:block;margin-bottom:7px;color:var(--ink);font-size:15px}.number-inflection-guide p{margin:0;color:var(--soft);font-size:12px;line-height:1.55}.number-inflection-guide .number-inflection-sources{grid-column:1/-1;padding-top:13px;border-top:1px solid var(--line);font-size:11px}.number-inflection-guide a{color:var(--orange-dark);font-weight:800}
.number-example-reference{margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}.number-example-reference>.reference-card-head{margin-bottom:18px}.number-example-reference>h4{margin:21px 0 10px;color:var(--orange-dark);font-family:var(--serif);font-size:22px}.number-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.number-example-grid article{display:grid;gap:6px;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}.number-example-grid strong[lang="sa"]{color:var(--ink);font-family:var(--sanskrit-serif);font-size:21px;font-weight:500;line-height:1.45}.number-example-grid strong b{color:var(--orange-dark)}.number-example-grid span{color:var(--orange-dark);font-family:var(--serif);font-size:15px;font-weight:700}.number-example-grid p{margin:2px 0;color:var(--ink);font-style:italic}.number-example-grid small{color:var(--soft);font-size:10px;line-height:1.45}
.number-converter-shell { padding:25px 48px 29px; border-bottom:1px solid var(--line); background:linear-gradient(145deg,color-mix(in srgb,var(--wash) 75%,var(--surface)),var(--surface)); }
.number-converter-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; }
.number-converter-heading .kicker { margin:0 0 4px; color:var(--orange-dark); font-size:9px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.number-converter-heading h2 { margin:0; font-family:var(--serif); font-size:clamp(30px,3vw,44px); font-weight:600; }
.number-converter-heading>p { max-width:650px; margin:0; color:var(--soft); font-size:12px; line-height:1.55; text-align:right; }
.number-converter-form { display:grid; grid-template-columns:minmax(260px,1fr) auto auto auto; gap:8px; margin-top:18px; }
.number-converter-form input,.number-converter-form button { min-height:48px; padding:10px 14px; border:1px solid var(--line); border-radius:10px; }
.number-converter-form input { color:var(--ink); background:var(--control); font-family:var(--serif); font-size:17px; }
.number-converter-form button { color:var(--orange-dark); background:var(--surface-raised); cursor:pointer; font-weight:850; }
.number-converter-form button:hover,.number-converter-form button.active { border-color:var(--orange); background:var(--table-hit); }
.number-converter-form button.primary { border-color:var(--orange); color:#fff; background:var(--orange-dark); }
.number-keyboard { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:14px; padding:15px; border:1px solid var(--line); border-radius:14px; background:var(--surface-raised); }
.number-keyboard[hidden] { display:none; }
.number-keyboard section { min-width:0; }
.number-keyboard section>b { display:block; margin-bottom:6px; color:var(--soft); font-size:8px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.number-keyboard section>div { display:flex; flex-wrap:wrap; gap:5px; }
.number-keyboard button { min-width:37px; min-height:36px; padding:6px 9px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:var(--control); cursor:pointer; font:750 15px var(--serif); }
.number-keyboard button:hover { border-color:var(--orange); color:var(--orange-dark); background:var(--table-hit); }
.number-keyboard section:nth-child(5) button { font-size:13px; }
.number-converter-status { margin:11px 2px 0; color:var(--soft); font-size:11px; line-height:1.45; }
.number-converter-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:15px; }
.number-converter-results[hidden] { display:none; }
.number-converter-results article { display:flex; min-height:102px; flex-direction:column; justify-content:center; padding:15px 17px; border:1px solid var(--line); border-radius:12px; background:var(--surface-raised); }
.number-converter-results span { color:var(--soft); font-size:8px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.number-converter-results strong { overflow-wrap:anywhere; margin-top:7px; color:var(--ink); font-family:var(--serif); font-size:clamp(18px,1.6vw,25px); font-weight:600; line-height:1.2; }
.number-converter-results .number-output-iast,.number-converter-results .number-output-hk { color:var(--orange-dark); font-size:clamp(16px,1.35vw,21px); }
.number-converter-results .number-output-dev,.number-converter-results .number-output-dev-digits { font-family:var(--sanskrit-serif); font-size:clamp(22px,2vw,31px); }
.number-converter-results .number-output-dev-digits { font-family:"Tiro Devanagari Sanskrit",serif; font-size:34px!important; letter-spacing:.03em; }
.numbers-hero>b { font-family:"Tiro Devanagari Sanskrit",serif; }
.large-number-content .study-callout a { color:var(--orange-dark); font-weight:850; }
.large-number-table .number-scale-row th { padding:9px 13px; color:var(--ink); background:color-mix(in srgb,var(--gold) 21%,var(--table-head)); font-family:var(--sans); font-size:10px; font-weight:900; letter-spacing:.08em; text-align:left; text-transform:uppercase; }
.large-number-table .number-dev,.large-number-table .number-iast { font-size:clamp(15px,1.2vw,19px); }

/* Full-form generator and external morphology adapters */
.morphology-generator-card select{min-width:190px;padding:12px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--control);font-weight:750}.morphology-generator-results{margin-top:22px}.morphology-generator-results .nominal-table{background:var(--table-cell)}.tool-integration-note{margin-top:22px;padding:22px;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:14px;background:var(--callout)}.tool-integration-note strong{font-family:var(--serif);font-size:22px}.tool-integration-note p{color:var(--soft);line-height:1.55}.tool-integration-note div{display:flex;flex-wrap:wrap;gap:9px}.tool-integration-note a{padding:9px 12px;border:1px solid var(--line);border-radius:9px;color:var(--orange-dark);background:var(--surface-raised);font-weight:800;text-decoration:none}.tool-integration-note a:hover{border-color:var(--orange)}
.heritage-analysis-panel{margin-top:22px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised)}.heritage-analysis-panel>div:first-child{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.heritage-analysis-panel h3{margin:0;font-family:var(--serif);font-size:26px}.heritage-analysis-panel>div:last-child{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px}.heritage-analysis-panel article{display:flex;min-height:105px;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--wash)}.heritage-analysis-panel article span{font-family:var(--serif);font-size:25px}.heritage-analysis-panel article b{margin-top:5px;color:var(--orange-dark);font-family:var(--serif);font-size:18px}.heritage-analysis-panel article small{margin-top:auto;padding-top:7px;color:var(--soft);line-height:1.4}

/* Semantic colour tokens make every table and control follow the chosen palette. */
:root {
  --table-head: color-mix(in srgb, var(--wash-strong) 78%, var(--gold-soft));
  --table-subhead: color-mix(in srgb, var(--wash) 74%, var(--gold-soft));
  --table-rowhead: color-mix(in srgb, var(--wash) 88%, var(--surface-raised));
  --table-cell: var(--surface-raised);
  --table-alt: color-mix(in srgb, var(--wash) 30%, var(--surface-raised));
  --table-hit: color-mix(in srgb, var(--orange) 12%, var(--surface-raised));
  --control: color-mix(in srgb, var(--surface-raised) 92%, var(--wash));
  --callout: color-mix(in srgb, var(--wash) 78%, var(--surface-raised));
}
.sandhi-scroll,.study-table-scroll,.simple-matrix-wrap,.verb-table-scroll,.verb-grade-table-wrap,.vocabulary-table-wrap{border-color:var(--line);background:var(--table-cell)}
.sandhi-table,.study-table,.simple-matrix,.verb-grade-table,.verb-class-table,.nominal-table,.number-table{color:var(--ink);background:var(--table-cell)}
.sandhi-table th,.sandhi-table td,.study-table th,.study-table td,.simple-matrix th,.simple-matrix td,.verb-grade-table th,.verb-grade-table td,.verb-class-table th,.verb-class-table td,.nominal-table th,.nominal-table td,.number-table th,.number-table td{border-color:var(--line)}
.sandhi-table thead th,.study-table thead th,.simple-matrix thead th,.verb-grade-table thead th,.verb-class-table thead th,.nominal-table thead th,.number-table thead th{color:var(--ink);background:var(--table-head)}
.sandhi-table thead tr+tr th,.study-table thead tr+tr th,.verb-grade-table thead tr+tr th,.verb-class-table thead tr+tr th,.nominal-table thead tr+tr th,.number-table thead tr+tr th{background:var(--table-subhead)}
.sandhi-table tbody th,.study-table tbody th,.simple-matrix tbody th,.verb-grade-table tbody th,.verb-class-table tbody th,.nominal-table tbody th,.number-table tbody th{color:var(--orange-dark);background:var(--table-rowhead)}
.sandhi-table tbody td,.study-table tbody td,.simple-matrix tbody td,.verb-grade-table tbody td,.verb-class-table tbody td,.nominal-table tbody td,.number-table tbody td{color:var(--ink);background:var(--table-cell)}
.sandhi-table tbody tr:nth-child(even) td,.study-table tbody tr:nth-child(even) td,.simple-matrix tbody tr:nth-child(even) td,.verb-grade-table tbody tr:nth-child(even) td,.verb-class-table tbody tr:nth-child(even) td,.nominal-table tbody tr:nth-child(even) td,.number-table tbody tr:nth-child(even) td{background:var(--table-alt)}
.sandhi-table td.is-active,.simple-matrix td.is-active,.verb-grade-table td.is-active,.verb-grade-table td.grade-hit,.study-table td.is-active{background:var(--table-hit)}
.sandhi-table th.is-active,
.sandhi-table td.is-active { background: var(--table-hit) !important; box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--orange) 52%, transparent); }
.worked-pattern-examples,.worked-pattern-table,.grade-example-table{border-color:var(--line);background:var(--table-cell)}
.worked-pattern-table th,.worked-pattern-table td,.grade-example-table th,.grade-example-table td{border-color:var(--line)}
.worked-pattern-table thead th,.grade-example-table thead th{color:var(--ink);background:var(--table-head)}
.worked-pattern-table tbody td,.grade-example-table tbody td{color:var(--ink);background:var(--table-cell)}
.worked-pattern-table tbody tr:nth-child(even) td,.grade-example-table tbody tr:nth-child(even) td{background:var(--table-alt)}
.worked-pattern-table .worked-root-cell,.grade-table .theoretical-row>*{background:var(--table-rowhead)}
.grade-table thead tr:first-child th,.vowel-group-label{border-color:var(--line);background:var(--table-head)}
.grade-table thead tr:nth-child(2) th{background:var(--table-subhead)}
.vowel-card,.script-card,.simple-table-wrap{border-color:var(--line);background:var(--surface-raised)}
.grade-example-table .selected-grade{background:var(--table-hit);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--orange) 25%,transparent)}
#matrix thead th{background:var(--table-head)}
.simple-empty{background:repeating-linear-gradient(135deg,var(--table-cell),var(--table-cell) 8px,var(--table-alt) 8px,var(--table-alt) 16px)!important}
.verb-entry-row.search-hit>*{background-color:var(--table-hit)}
.sandhi-card,.reference-card,.analyzer-card,.worked-reading,.vocabulary-tools,.dataset-credit,.source-library-card,.dictionary-search-form,.dictionary-entry-view,.dictionary-result-list{border-color:var(--line);background:var(--surface-raised)}
.study-callout,.verb-reference-note,.pronunciation-mode-note,.dataset-credit{background:var(--callout)}
input,textarea,select,.dictionary-search-row input,.vocabulary-tools input,.vocabulary-tools select{border-color:var(--line);color:var(--ink);background:var(--control)}

/* Verb-class map */
.verb-class-content .topic-heading>p:last-child{max-width:1040px;text-wrap:balance}.verb-class-map .reference-card-head{grid-template-columns:minmax(540px,1fr) minmax(420px,.8fr);align-items:end}.verb-class-map .reference-card-head h3{max-width:none;font-size:clamp(31px,3vw,46px);line-height:1.04;text-wrap:balance}.verb-class-map .reference-card-head>p{text-wrap:balance}.verb-class-overview td:nth-child(2),.verb-class-overview td:nth-child(5){font-family:var(--serif)}
.verb-class-overview td span,.verb-class-overview td small{display:block}.verb-class-overview td span{color:var(--ink);font-size:21px}.verb-class-overview td small{margin-top:4px;color:var(--orange-dark);font-size:13px;font-weight:750}
.verb-class-overview{min-width:1280px}.verb-class-overview td{line-height:1.45}.verb-class-overview td:nth-child(3)>strong{display:block;color:var(--ink)}.verb-class-overview td:nth-child(3)>small{color:var(--soft);font-family:var(--sans);font-size:10px}.verb-class-overview td:nth-child(4)>span{font-family:var(--sans);font-size:13px}.verb-class-overview td:nth-child(5)>em{display:block;margin-top:5px;color:var(--soft);font-family:var(--sans);font-size:11px}.verb-class-overview td:nth-child(6)>a,.verb-class-overview td:nth-child(6)>span{display:block;margin:0 0 5px;font-family:var(--sans);font-size:11px}.verb-class-overview td:nth-child(6)>span{color:var(--soft)}.verb-class-overview .verb-class-limitation{margin-top:7px;padding-top:6px;border-top:1px solid var(--line);color:var(--soft);font-family:var(--sans);font-size:10px;font-weight:650}.verb-class-overview .verb-class-row-status{margin-top:8px;color:var(--muted);font-family:var(--sans);font-size:9px;font-weight:700}.verb-class-overview-calibration-note{margin:18px 0 22px}
.verb-class-overview td:first-child{text-align:center;white-space:nowrap}.verb-class-overview td:first-child strong,.verb-class-overview td:first-child span{display:inline-block;vertical-align:baseline}.verb-class-overview td:first-child strong{color:var(--orange-dark);font-family:var(--serif);font-size:38px}.verb-class-overview td:first-child span{margin-left:13px;color:var(--ink);font-family:var(--serif);font-size:24px}.verb-class-overview td:nth-child(2) span{font-size:25px}.verb-class-overview td:nth-child(2) small{font-size:15px}

/* Source-calibrated case overview */
.grammar-table-frame{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.study-table.case-overview-table{width:100%;min-width:1040px;table-layout:fixed}.case-overview-table th:nth-child(1){width:12%}.case-overview-table th:nth-child(2){width:20%}.case-overview-table th:nth-child(3){width:23%}.case-overview-table th:nth-child(4){width:33%}.case-overview-table th:nth-child(5){width:12%}.case-overview-table tbody>tr>th:first-child{font-size:clamp(18px,1.28vw,23px);line-height:1.12}.case-overview-table th>small,.case-overview-table td>small,.case-overview-table td>span,.case-overview-table td>em{display:block}.case-overview-table th>small{margin-top:5px;color:var(--soft);font-family:var(--sans);font-size:9px;font-weight:700}.case-overview-table td{line-height:1.45}.case-overview-table td>strong{display:block;margin-bottom:6px}.case-overview-table td:nth-child(2)>small{margin-top:7px}.case-overview-table td:nth-child(4)>span{font-size:17px}.case-overview-table td:nth-child(4)>small[lang="sa-Latn"]{margin-top:4px;color:var(--orange-dark);font-family:var(--serif);font-size:12px}.case-overview-table td:nth-child(4)>em{margin-top:5px}.case-overview-table td:nth-child(5)>a,.case-overview-table td:nth-child(5)>span{display:block;margin-bottom:5px;font-family:var(--sans);font-size:11px}.case-overview-table td:nth-child(5)>span{color:var(--soft)}.case-overview-table .case-limitation,.case-overview-table .case-working{margin-top:8px;padding-top:7px;border-top:1px solid var(--line);color:var(--soft);font-family:var(--sans);font-size:10px;line-height:1.5}.case-overview-table .case-row-status{margin-top:8px;color:var(--muted);font-family:var(--sans);font-size:9px;font-weight:700}.case-overview-calibration-note{margin:18px 0 22px}.grammar-pattern-example{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--wash)}.grammar-pattern-example>span,.grammar-pattern-example>small{display:block}.grammar-pattern-example>span{color:var(--ink);font-family:"Tiro Devanagari Sanskrit",var(--serif);font-size:clamp(25px,2vw,33px);line-height:1.35}.grammar-pattern-example>small{margin-top:3px;color:var(--orange-dark);font-family:var(--serif);font-size:16px}.grammar-pattern-example>p{margin:9px 0 0;color:var(--soft);font-size:12px;line-height:1.55}

.devanagari-signs-card{scroll-margin-top:100px}.devanagari-signs-table{width:100%;min-width:860px;table-layout:fixed}.devanagari-signs-table th:nth-child(1){width:10%}.devanagari-signs-table th:nth-child(2){width:23%}.devanagari-signs-table th:nth-child(3){width:18%}.devanagari-signs-table th:nth-child(4){width:49%}.devanagari-signs-table tbody th{font-family:"Tiro Devanagari Sanskrit",var(--serif);font-size:32px}.devanagari-signs-table td{vertical-align:middle;line-height:1.45}.devanagari-signs-table td>span,.devanagari-signs-table td>small{display:block}.devanagari-signs-table td>span{font-family:"Tiro Devanagari Sanskrit",var(--serif);font-size:21px}.devanagari-signs-table td>small{margin-top:3px;color:var(--orange-dark);font-family:var(--serif);font-size:13px}.devanagari-signs-table .devanagari-sign-value{color:var(--orange-dark);font-family:var(--serif);font-size:clamp(18px,1.5vw,24px);font-weight:700;line-height:1.2}.devanagari-signs-table tr[data-devanagari-sign]{scroll-margin-top:120px;outline:0}.devanagari-signs-table tr.is-route-target>*{background:var(--table-hit)!important;box-shadow:inset 0 3px 0 var(--orange),inset 0 -3px 0 var(--orange)}.devanagari-signs-table tr.is-route-target>*:first-child{box-shadow:inset 3px 0 0 var(--orange),inset 0 3px 0 var(--orange),inset 0 -3px 0 var(--orange)}.devanagari-signs-table tr.is-route-target>*:last-child{box-shadow:inset -3px 0 0 var(--orange),inset 0 3px 0 var(--orange),inset 0 -3px 0 var(--orange)}.devanagari-signs-source{margin:13px 2px 0;color:var(--soft);font-size:11px;line-height:1.5}

/* Corpus-ranked core vocabulary */
.vocabulary-content,.source-library-content{max-width:1680px;margin:0 auto}.vocabulary-tools{margin-bottom:8px;padding:20px;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 28px color-mix(in srgb,var(--ink) 6%,transparent)}.vocabulary-tools>label{display:block;margin-bottom:8px;color:var(--orange-dark);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.vocabulary-tools>div{display:grid;grid-template-columns:minmax(250px,1fr) minmax(150px,.24fr) minmax(160px,.26fr) auto minmax(155px,.25fr) auto auto;gap:9px}.vocabulary-tools input,.vocabulary-tools select,.vocabulary-tools button{min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:10px}.vocabulary-tools button{color:var(--orange-dark);background:var(--surface);cursor:pointer;font-weight:850}.vocabulary-tools button:hover{border-color:var(--orange);background:var(--wash)}#vocabulary-sort-direction{min-width:48px;padding-inline:10px;font-size:20px}.vocabulary-tools p{margin:10px 2px 0;color:var(--soft);font-size:12px}.vocabulary-tools p.vocabulary-organization-note{margin-top:13px;padding:10px 12px;border-left:4px solid var(--gold);border-radius:8px;color:var(--soft);background:var(--wash);font-size:12px;line-height:1.5}.vocabulary-organization-note strong{color:var(--ink)}.vocabulary-table-wrap{overflow:clip;border:1px solid var(--line);border-radius:15px;background:var(--table-cell);isolation:isolate}.vocabulary-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.vocabulary-table thead th{position:sticky;top:68px;z-index:3;padding:0}.vocabulary-sort-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:58px;padding:12px 14px;border:0;color:var(--ink);background:transparent;cursor:pointer;font:inherit;text-align:inherit}.vocabulary-sort-heading:hover,.vocabulary-sort-heading:focus-visible{color:var(--orange-dark);background:var(--table-hit)}.vocabulary-sort-heading span{flex:none;color:var(--orange-dark);font-family:var(--sans);font-size:14px}.vocabulary-table th:nth-child(1){width:7%;text-align:center}.vocabulary-table th:nth-child(1) .vocabulary-sort-heading{justify-content:center}.vocabulary-table th:nth-child(2){width:24%}.vocabulary-table th:nth-child(3){width:18%}.vocabulary-table th:nth-child(4){width:auto}.vocabulary-table th:nth-child(5){width:11%;text-align:right}.vocabulary-table td:last-child{text-align:right;font-variant-numeric:tabular-nums}.vocabulary-table td>strong,.vocabulary-table td>small{display:block}.vocabulary-table td>small{margin-top:4px;color:var(--soft)}.vocabulary-lemma{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:0 11px;width:100%;padding:4px;border:0;color:var(--ink);background:transparent;cursor:pointer;text-align:left}.vocabulary-lemma span{grid-row:1/3;align-self:center;font-family:var(--serif);font-size:clamp(28px,2.1vw,38px);line-height:1}.vocabulary-lemma strong{color:var(--orange-dark);font-family:var(--serif);font-size:18px}.vocabulary-lemma small{color:var(--soft);font-size:9px}.vocabulary-lemma:hover strong{color:var(--orange);text-decoration:underline}.dataset-credit{margin-top:20px;padding:18px 21px;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:13px}.dataset-credit strong{color:var(--ink);font-family:var(--serif);font-size:20px}.dataset-credit p{margin:7px 0 0;color:var(--soft);font-size:12px;line-height:1.55}.dataset-credit a{color:var(--orange-dark);font-weight:800}
.vocabulary-gloss-warning{color:var(--orange-dark);font-size:13px;line-height:1.45}

/* Separate dictionary search modes and authoritative research gateways */
.dictionary-search-modes{display:inline-grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:5px;margin-bottom:11px;padding:5px;border:1px solid var(--line);border-radius:12px;background:var(--wash)}.dictionary-search-modes button{min-height:38px;padding:7px 12px;border:1px solid transparent;border-radius:8px;color:var(--soft);background:transparent;cursor:pointer;font-weight:800}.dictionary-search-modes button:hover{color:var(--ink);background:var(--surface)}.dictionary-search-modes button.active{border-color:color-mix(in srgb,var(--orange) 42%,var(--line));color:var(--orange-dark);background:var(--surface-raised);box-shadow:0 5px 13px color-mix(in srgb,var(--ink) 7%,transparent)}.source-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.source-library-card{display:flex;min-height:240px;flex-direction:column;padding:26px;border:1px solid var(--line);border-radius:18px;color:var(--ink);box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 6%,transparent);text-decoration:none;transition:transform .15s ease,border-color .15s ease}.source-library-card:hover{border-color:var(--orange);transform:translateY(-2px)}.source-library-card>span{color:var(--orange-dark);font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.source-library-card h3{margin:9px 0;font-family:var(--serif);font-size:clamp(25px,2vw,34px)}.source-library-card p{margin:0;color:var(--soft);line-height:1.55}.source-library-card b{margin-top:auto;padding-top:18px;color:var(--orange-dark)}

/* Curated external Sanskrit research tools */
.tools-content { max-width: 1320px; margin: 0 auto; }
.tools-hero { min-height:0; aspect-ratio:var(--hero-aspect); background-image:linear-gradient(90deg,rgba(251,247,236,.98) 0%,rgba(251,247,236,.9) 34%,rgba(251,247,236,.36) 59%,rgba(251,247,236,.04) 76%),url("hero-tools-v1.png"); background-position:center; background-size:cover; }
.tools-hero>div { max-width:58%; }
.tools-scope-note { margin: 22px 0 30px; padding: 17px 20px; border-left: 5px solid var(--gold); border-radius: 0 12px 12px 0; color: var(--soft); background: var(--callout); line-height: 1.58; }
.tools-scope-note strong { color: var(--ink); }
.tools-resource-group { margin-top: 34px; }
.tools-group-heading { display: flex; align-items: center; gap: 15px; margin-bottom: 15px; }
.tools-group-heading > span { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--orange-dark); font-family: var(--serif); font-weight: 700; }
.tools-group-heading h3 { margin: 0; font-family: var(--serif); font-size: clamp(26px, 2.6vw, 38px); font-weight: 600; }
.tools-group-heading p { margin: 3px 0 0; color: var(--soft); line-height: 1.45; }
.tools-resource-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.tools-resource-card { display: flex; min-height: 238px; flex-direction: column; padding: 23px; border: 1px solid var(--line); border-radius: 17px; color: var(--ink); background: linear-gradient(145deg, var(--surface-raised), color-mix(in srgb, var(--wash) 58%, var(--surface-raised))); box-shadow: 0 12px 28px color-mix(in srgb, var(--ink) 6%, transparent); text-decoration: none; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.tools-resource-card:hover,
.tools-resource-card:focus-visible { border-color: var(--orange); box-shadow: 0 17px 34px color-mix(in srgb, var(--ink) 10%, transparent); transform: translateY(-2px); }
.tools-resource-card:focus-visible { outline: 3px solid color-mix(in srgb, var(--orange) 35%, transparent); outline-offset: 3px; }
.tools-resource-card > span { color: var(--orange-dark); font-size: 9px; font-weight: 900; letter-spacing: .12em; line-height: 1.35; text-transform: uppercase; }
.tools-resource-card h4 { margin: 10px 0 8px; font-family: var(--serif); font-size: clamp(23px, 2vw, 31px); font-weight: 600; line-height: 1.08; }
.tools-resource-card p { margin: 0; color: var(--soft); line-height: 1.55; }
.tools-resource-card b { margin-top: auto; padding-top: 20px; color: var(--orange-dark); }
.rights-content { max-width:1440px; }
.rights-release-note { margin:22px 0 30px; padding:clamp(20px,3vw,30px); border:1px solid color-mix(in srgb,var(--gold) 75%,var(--line)); border-left:7px solid var(--orange); border-radius:16px; background:linear-gradient(135deg,var(--surface-raised),color-mix(in srgb,var(--wash) 68%,var(--surface-raised))); box-shadow:0 13px 30px color-mix(in srgb,var(--ink) 7%,transparent); }
.rights-release-note h3 { margin:6px 0 10px; color:var(--ink); font-family:var(--serif); font-size:clamp(29px,3vw,43px); font-weight:600; }
.rights-release-note p:not(.kicker) { max-width:104ch; margin:8px 0 0; color:var(--soft); line-height:1.6; }
.release-version-panel { display:grid; grid-template-columns:minmax(220px,.42fr) minmax(0,1fr); gap:clamp(20px,3vw,38px); margin:0 0 30px; padding:clamp(20px,3vw,30px); border:1px solid var(--line); border-radius:16px; background:var(--wash); }
.release-version-panel h3 { margin:6px 0 9px; font-family:var(--serif); font-size:clamp(27px,2.6vw,39px); font-weight:600; }
.release-version-panel > div > p:not(.kicker) { margin:0; color:var(--soft); line-height:1.55; }
.release-version-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0; }
.release-version-grid > div { min-width:0; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:var(--surface-raised); }
.release-version-grid > div:last-child { grid-column:1/-1; }
.release-version-grid dt { color:var(--orange-dark); font-size:10px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.release-version-grid dd { margin:7px 0 0; }
.release-version-grid strong,.release-version-grid span { display:block; }
.release-version-grid strong { color:var(--ink); line-height:1.35; }
.release-version-grid dd > span { margin-top:5px; color:var(--soft); font-size:12px; line-height:1.45; }
.rights-license-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rights-license-card { min-width:0; padding:clamp(20px,2.4vw,29px); border:1px solid var(--line); border-radius:18px; background:var(--surface-raised); box-shadow:0 11px 28px color-mix(in srgb,var(--ink) 6%,transparent); }
.rights-license-card h3 { margin:8px 0 13px; color:var(--ink); font-family:var(--serif); font-size:clamp(25px,2.2vw,34px); font-weight:600; line-height:1.12; }
.rights-license-card > p:not(.kicker) { margin:9px 0 0; color:var(--soft); line-height:1.58; }
.rights-license-card strong { color:var(--ink); }
.rights-license-card details { margin-top:16px; padding-top:13px; border-top:1px solid var(--line); }
.rights-license-card summary { color:var(--orange-dark); cursor:pointer; font-weight:850; }
.rights-license-card details p { color:var(--soft); font-size:12px; line-height:1.58; }
.rights-license-wide { grid-column:1/-1; }
.rights-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.rights-links a { display:inline-flex; min-height:38px; align-items:center; padding:8px 11px; border:1px solid var(--line); border-radius:999px; color:var(--orange-dark); background:var(--wash); font-size:11px; font-weight:850; line-height:1.2; text-decoration:none; }
.rights-links a:hover,
.rights-links a:focus-visible { border-color:var(--orange); color:var(--ink); background:var(--table-hit); }
.rights-links a:focus-visible { outline:2px solid color-mix(in srgb,var(--orange) 36%,transparent); outline-offset:2px; }
@media (max-width: 900px){.vocabulary-tools>div{grid-template-columns:1fr 1fr}.vocabulary-tools input{grid-column:1/-1}.vocabulary-tools input,.vocabulary-tools select,.vocabulary-tools button{width:100%;min-width:0}.source-library-grid{grid-template-columns:1fr}.vocabulary-table{min-width:760px}.vocabulary-table thead th{top:0}.vocabulary-table th:nth-child(1){width:9%}.vocabulary-table th:nth-child(1) .vocabulary-sort-heading{padding-right:7px;padding-left:7px}.vocabulary-table-wrap{overflow-x:auto}}
@media (max-width: 620px){.release-version-grid{grid-template-columns:1fr}.release-version-grid>div:last-child{grid-column:auto}}

@media (max-width: 980px) {
  .tools-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rights-license-grid { grid-template-columns:1fr; }
  .release-version-panel { grid-template-columns:1fr; }
  .rights-license-wide { grid-column:auto; }
  #pronoun-jump-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tools-hero h2 { font-size: clamp(62px, 8vw, 80px); }
  .study-content { padding-right:28px; padding-left:28px; }
  .study-grid.three, .analysis-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .syntax-card-grid,.syntax-examples{grid-template-columns:repeat(2,minmax(0,1fr))}
  .interactive-parse-chips{grid-template-columns:repeat(3,minmax(0,1fr))}.sentence-token-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-root-panel>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .view-content, .panel-shell { padding-right: 30px; padding-left: 30px; }
  .sandhi-content { padding-right: 28px; padding-left: 28px; }
  .subject-tabs { grid-template-columns: repeat(2, 1fr); }
  .subject-tab { grid-template-columns: auto 1fr; }
  .subject-arrow { display: none; }
  .result-grid { grid-template-columns: repeat(3, 1fr); }
  .vowel-group.simple .vowel-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vowel-group.complex .vowel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sandhi-rule-grid { grid-template-columns: minmax(0, 1fr); }
  .rule-family-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .latin-vowel-keys, .iast-keys, .dev-vowel-keys { grid-template-columns: repeat(7, 1fr); }
  .dev-keys { grid-template-columns: repeat(8, 1fr); }
  .dictionary-hero { padding-right: 45px; padding-left: 45px; }
  .dictionary-content { padding-right: 28px; padding-left: 28px; }
  .dictionary-reader-layout { grid-template-columns: minmax(210px, .38fr) minmax(0, 1fr); }
  .phoneme-layout{grid-template-columns:1fr}.phoneme-detail{position:static;min-height:0}.consonant-phoneme-grid{grid-template-columns:repeat(7,minmax(58px,1fr))}
}

@media (max-width: 720px) {
  .theme-button { width:36px; padding:9px 0; font-size:0; }.theme-button span{font-size:14px;}
  .theme-menu { position:fixed; top:64px; right:10px; }
  .study-content { padding:26px 15px 44px; }
  .text-hero { min-height:220px; padding:28px 24px; }.text-hero h2{font-size:48px}.text-hero>span{font-size:13px}.text-hero>b{font-size:70px}.text-hero::after{right:3%;width:150px}.illustrated-hero{min-height:300px;background-position:62% center}.illustrated-hero>div{max-width:72%;padding:14px;background:linear-gradient(90deg,rgba(251,247,236,.94),rgba(251,247,236,.7) 74%,transparent)}.illustrated-hero h2{font-size:clamp(39px,10vw,54px)}
  #pronoun-jump-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tools-hero > div { max-width: 70%; }
  .tools-hero h2 { font-size: 44px; }
  .tools-hero span { margin-top: 14px; line-height: 1.35; }
  .reference-card,.analyzer-card,.worked-reading{padding:16px}.reference-card-head{align-items:flex-start;flex-direction:column;gap:7px}.reference-card-head>p{text-align:left}
  .study-grid.two,.study-grid.three,.analysis-grid,.reading-steps,.syntax-card-grid,.syntax-examples{grid-template-columns:1fr}
  .morphology-form>div{grid-template-columns:1fr 1fr}.morphology-form input{grid-column:1/-1}
  .study-table{min-width:660px}.study-table.compact{min-width:520px}
  .nominal-table-scroll,.verb-class-table-scroll{overflow-x:auto}.nominal-table{min-width:620px}.verb-class-table{min-width:850px}.nominal-jump-bar,.paradigm-jump-bar{top:60px}.interactive-parse-chips,.sentence-token-grid,.analysis-root-panel>div{grid-template-columns:1fr}.sentence-workspace{padding:16px}.interactive-parse-chips button{min-height:0}.reading-word-line button{font-size:29px}
  .worked-pattern-table th,
  .worked-pattern-table td { padding: 9px 5px; }
  .worked-pattern-table thead th { top: 60px; font-size: 11px; }
  .worked-root-dev,
  .worked-form-dev { font-size: 19px; }
  .worked-root-iast,
  .worked-form-iast { margin-top: 3px; font-size: 12px; }
  .worked-root-cell small,
  .worked-formula { margin-top: 5px; font-size: 8px; line-height: 1.25; }
  .dictionary-hero { min-height: 220px; padding: 28px 24px; background-position: 62% center; }
  .dictionary-hero-copy { max-width: 72%; padding: 14px; background: linear-gradient(90deg, rgba(251,247,236,.94), rgba(251,247,236,.7) 74%, transparent); }
  .dictionary-hero-copy h2 { font-size: clamp(38px, 11vw, 60px); }
  .dictionary-hero-copy > span { max-width: 75%; margin-top: 14px; }
  .dictionary-hero-letters { gap: 5px; margin: 0; font-size: 43px; }
  .dictionary-hero::before { right: 23px; width: 150px; }
  .dictionary-content { padding: 26px 15px 44px; }
  .dictionary-search-row { grid-template-columns: 1fr 1fr; }
  .dictionary-search-row input { grid-column: 1 / -1; }
  .dictionary-search-row > button { width: 100%; }
  .dictionary-keyboard-group > span { flex-basis: 100%; margin-top: 5px; }
  .dictionary-reader-layout { grid-template-columns: 1fr; grid-template-areas: "entry" "results"; }
  .dictionary-entry-view { position: static; min-height: 280px; padding: 20px; }
  .dictionary-entry-heading { align-items: flex-start; flex-direction: column; }
  .dictionary-entry-heading p { text-align: left; }
  .dictionary-definition { font-size: 14px; }
  :root { --module-hero-height: clamp(195px, 52vw, 280px); }
  .app-bar { grid-template-columns: 1fr auto; min-height: 60px; padding: 8px 14px; }
  #matrix thead th { top: 60px; }
  .brand-button { font-size: 15px; }
  .brand-mark { width: 33px; height: 33px; font-size: 18px; }
  .breadcrumb { display: none; }
  .app-frame { width: calc(100% - 20px); margin: 12px auto; border-radius: 18px; }
  .site-footer { width: 100%; min-height: 305px; margin: 0; border-radius: 0; }
  .site-footer-copy { padding: 42px 15px 72px; transform: translateY(-24px); }
  .view-content, .panel-shell, .sandhi-content { padding: 24px 15px 42px; }
  .home-intro, .panel-head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .home-intro > p, .panel-head > p { text-align: left; }
  .subject-tabs { grid-template-columns: 1fr; }
  .subject-tab { min-height: 110px; padding: 18px; }
  .subject-tab strong { font-size: 25px; }
  .tools-resource-grid { grid-template-columns: 1fr; }
  .tools-resource-card { min-height: 210px; }
  .tools-group-heading { align-items: flex-start; }
  .module-tabs { gap: 5px; overflow-x: auto; }
  .module-tabs.three { grid-template-columns: repeat(3, minmax(150px, 1fr)); }
  .module-tabs.four { grid-template-columns: repeat(4, minmax(135px, 1fr)); }
  .module-tabs.five { grid-template-columns: repeat(5, minmax(135px, 1fr)); }
  .module-tabs.two { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .module-tabs button { min-height: 52px; font-size: 17px; }
  .sandhi-contents-bar { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; }
  .sandhi-contents-bar button { flex: 0 0 auto; }
  [id^="sandhi-"][tabindex="-1"] { scroll-margin-top: 72px; }
  .subtabs { grid-template-columns: repeat(2, minmax(145px, 1fr)); overflow-x: auto; }
  .subtabs.three { grid-template-columns: repeat(3, minmax(145px, 1fr)); justify-content: start; }
  .nested-tabs { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
  .script-card { padding: 14px; }
  .script-card-head { align-items: flex-start; flex-direction: column; gap: 7px; }
  .script-card-head > p { text-align: left; }
  .vowel-group { grid-template-columns: 43px minmax(0, 1fr); }
  .vowel-group.simple .vowel-grid,
  .vowel-group.complex .vowel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .simple-table-wrap { overflow-x: auto; overflow-y: visible; }
  .simple-matrix { min-width: 900px; }
  .search-row { grid-template-columns: 1fr 1fr; }
  .search-wrap { grid-column: 1 / -1; }
  .universal-search-row { grid-template-columns: 1fr; }
  .universal-search-row .search-wrap { grid-column: 1; }
  .universal-search-row .search-button { width: 100%; }
  .keyboard-button { display: flex; align-items: center; justify-content: center; }
  .keyboard { max-height: 45vh; overflow: auto; padding: 13px; }
  .keyboard-head { align-items: flex-start; flex-direction: column; }
  .latin-vowel-keys, .iast-keys, .dev-vowel-keys, .dev-keys { grid-template-columns: repeat(6, 1fr); }
  .result-grid { grid-template-columns: repeat(2, 1fr); }
  .converter-grid { grid-template-columns: 1fr; }
  .swap { justify-self: center; transform: rotate(90deg); }
  .converter-keys { grid-template-columns: repeat(7, 1fr); }
  .matrix-notes { flex-direction: column; gap: 7px; }
  .sandhi-table.fit-mobile { min-width: 100%; }
  .sandhi-table.fit-mobile th, .sandhi-table.fit-mobile td { min-width: 0; padding: 8px; white-space: normal; }
  .verb-list-content { padding-right: 9px; padding-left: 9px; }
  .verb-search-form { grid-template-columns: 1fr 1fr; }
  .verb-search-form input { grid-column: 1 / -1; }
  .verb-search-clear { grid-column: 1 / -1; }
  .verb-dictionary-layout { grid-template-columns: 46px minmax(0, 1fr); gap: 8px; }
  .verb-alphabet { top: 60px; width: 46px; min-height: calc(100vh - 72px); height: calc(100vh - 72px); max-height: calc(100vh - 72px); padding: 5px; border-radius: 9px; }
  .verb-alphabet button { width: 28px; min-height: 23px; flex: 1 1 23px; }
  .verb-grade-table th, .verb-grade-table td { padding: 6px 3px; }
  .verb-dictionary-cell-layout { grid-template-columns: 1fr; gap: 6px; }
  .verb-dictionary-primary { min-height: 0; padding: 0 0 6px; border-right: 0; border-bottom: 1px solid #ddc8a6; }
  .verb-root-dev { font-size: 25px; }
  .verb-root-iast { font-size: 14px; }
  .verb-class { font-size: 8.5px; }
  .verb-meaning { font-size: 9.5px; }
  .verb-class-dev { font-size: 11px; }
  .verb-grade-label { font-size: 10px; }
  .verb-grade-dev { font-size: 17px; }
  .verb-grade-iast { font-size: 11px; }
  .verb-grade-note { font-size: 8px; }
  .verb-grade-master thead th { padding: 9px 4px; font-size: 11px; }
  .grade-example-page { padding: 24px 9px 42px; }
  .grade-example-table th, .grade-example-table td { padding: 7px 3px; }
  .grade-example-table thead th { font-size: 11px; }
  .pronunciation-mode{grid-template-columns:1fr}.phoneme-grid,.consonant-phoneme-grid{grid-template-columns:repeat(4,minmax(58px,1fr))}.pronunciation-browser,.recitation-workspace{padding:16px}.pronunciation-word-card,.mora-card{min-height:0}
}

@media (max-width: 470px) {
  .brand-button span:last-child { display: none; }
  .app-frame { width: calc(100% - 12px); }
  .site-footer { width: 100%; min-height: 285px; }
  .site-footer-copy { padding: 38px 12px 64px; }
  .site-footer-brand { gap: 9px; }
  .site-footer-brand strong { font-size: 21px; }
  .site-footer-om { width: 38px; height: 38px; font-size: 19px; }
  .site-footer-copy p { font-size: 8px; letter-spacing: .12em; }
  .hero img { min-height: 185px; object-position: center; }
  .home-hero img { min-height: 0; }
  .home-intro h2 { font-size: 31px; }
  .module-number { width: 44px; height: 44px; font-size: 22px; }
  .contact-module-icon svg { width: 25px; height: 25px; }
  .search-tool, .converter, .sandhi-card { padding: 13px; }
  .latin-vowel-keys, .iast-keys, .dev-vowel-keys, .dev-keys { grid-template-columns: repeat(5, 1fr); }
  .result-grid { grid-template-columns: 1fr; }
  .vowel-group { grid-template-columns: 39px minmax(0, 1fr); gap: 7px; }
  .vowel-group-label { padding: 9px 6px; font-size: 15px; }
  .vowel-card { min-height: 150px; padding-right: 7px; padding-left: 7px; }
  .vowel-card .vowel-form { font-size: 45px; }
  .card { min-height: 188px; }
  .converter-keys { grid-template-columns: repeat(5, 1fr); }
  .converter-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .rule-family-grid { grid-template-columns: 1fr; }
  .topic-heading { text-align: left; }
}

@media (max-width: 980px) {
  .literature-classical-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .literature-collection-card.available { grid-column: 1/-1; }
  .epic-reader-selects { grid-template-columns: 1fr 1fr; }
  .epic-reader-selects button { width: 100%; }
  .epic-reader-layout { grid-template-columns: 1fr; }
  .epic-word-analysis { position: static; min-height: 0; }
}

@media (max-width: 620px) {
  .literature-collection-grid, .literature-classical-grid { grid-template-columns: 1fr; }
  .literature-collection-card.available { grid-column: auto; }
  .literature-source-checklist { grid-template-columns: 1fr; gap: 14px; }
  .literature-source-checklist ul { grid-template-columns: 1fr; }
  .literature-reader-heading { margin-top: 34px; text-align: left; }
  .epic-text-choice { grid-template-columns: 1fr; }
  .epic-reader-selects { grid-template-columns: 1fr; }
  .epic-page-controls { grid-template-columns: 1fr 1fr; }
  .epic-page-controls strong { grid-column: 1/-1; grid-row: 1; }
  .epic-line { grid-template-columns: 84px minmax(0,1fr); }
  .epic-verse-translation { grid-template-columns: 84px minmax(0,1fr); }
  .epic-verse-translation > span { padding: 10px 4px; font-size: 7px; }
  .epic-verse-translation > p { padding: 11px 10px; font-size: 15px; }
  .epic-line-reference { padding-right: 4px; padding-left: 4px; }
  .epic-line-reference strong { font-size: 12px; }
  .epic-line-reference span { font-size: 8px; }
  .epic-line-body { padding: 12px 9px; }
  .epic-token { padding: 4px 5px; font-size: 20px; }
}

/* Final compact refinements for the expanded verb and participle references. */
.worked-pattern-alphabet{grid-template-columns:repeat(var(--alphabet-count,25),minmax(0,1fr));gap:4px;overflow:visible;padding:7px}
.worked-pattern-alphabet button{min-height:50px;gap:2px;padding:3px 1px}
.worked-pattern-alphabet span{font-size:18px}
.worked-pattern-alphabet small{display:block;color:var(--orange-dark);font-size:9px}
.verb-class-content .topic-heading>p:last-child{max-width:1160px;text-wrap:pretty}
.verb-class-content .topic-heading h2{white-space:nowrap}
.verb-class-map .reference-card-head{grid-template-columns:minmax(690px,1.15fr) minmax(380px,.65fr)}
.verb-class-map .reference-card-head h3{font-size:clamp(30px,2.7vw,43px);white-space:nowrap}
.verb-class-map .reference-card-head>p{text-wrap:pretty}
.verb-class-overview tbody th:first-child{text-align:center;white-space:nowrap}
.verb-class-overview tbody th:first-child strong,.verb-class-overview tbody th:first-child span{display:inline-block;vertical-align:baseline}
.verb-class-overview tbody th:first-child strong{color:var(--orange-dark);font-family:var(--serif);font-size:42px}
.verb-class-overview tbody th:first-child span{margin-left:16px;color:var(--ink);font-family:var(--serif);font-size:27px}
.worked-lexical-pair{display:inline-flex;min-width:88px;flex-direction:column;align-items:center;justify-content:center;padding:2px 10px}.worked-lexical-pair.secondary{border-left:1px solid var(--line)}.worked-lexical-pair small{margin-top:2px;color:var(--soft);font-size:9px;font-weight:800;text-transform:uppercase}.lexical-grade-table thead th:first-child{width:20%}.lexical-grade-table thead th:not(:first-child){width:17%}.lexical-grade-table thead th:last-child{width:29%}.lexical-grade-note{color:var(--soft)!important;font-size:12px;line-height:1.3;text-align:left!important}
.participle-overview-table{font-size:19px}
.participle-overview-table th,.participle-overview-table td{padding:15px 17px}
.participle-paradigm-card .nominal-table-scroll{overflow:visible}
.participle-paradigm-card .red-book-declension-table{min-width:0}
@media (max-width:720px){.participle-paradigm-card .study-table-scroll{overflow-x:auto}.participle-paradigm-card .red-book-declension-table{min-width:620px}}
@media (max-width:1100px){.verb-class-content .topic-heading h2,.verb-class-map .reference-card-head h3{white-space:normal}.verb-class-map .reference-card-head{grid-template-columns:1fr}.worked-pattern-alphabet{overflow-x:auto;grid-template-columns:repeat(var(--alphabet-count,25),minmax(48px,1fr))}}
@media (max-width:760px){.participle-workup-page{padding:24px 14px 48px}.participle-derivation-card{grid-template-columns:1fr}.participle-root-summary{position:static;min-height:150px}.participle-derivation-steps li div{grid-template-columns:1fr}.participle-derivation-card>.study-note{grid-column:1}}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; }
}

/* Irregular roots and generated Saṁsādhanī verb charts. */
.generated-verb-content{padding-top:34px}
.generated-verb-content .topic-heading{margin-bottom:24px}
.verb-filter-bar{display:grid;grid-template-columns:minmax(170px,.22fr) minmax(280px,1fr);align-items:center;gap:8px 14px;margin:0 auto 22px;padding:15px 18px;border:1px solid var(--line);border-radius:15px;background:var(--surface-raised);box-shadow:0 10px 26px color-mix(in srgb,var(--ink) 6%,transparent)}
.verb-filter-bar label{color:var(--orange-dark);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.verb-filter-bar input{min-width:0;padding:13px 15px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--table-cell);font-family:var(--serif);font-size:19px}
.verb-filter-bar input:focus{outline:2px solid color-mix(in srgb,var(--orange) 35%,transparent);outline-offset:2px}
.verb-filter-bar p{grid-column:2;min-height:1.2em;margin:0;color:var(--soft);font-size:10px}
.irregular-verb-table{min-width:1180px;table-layout:fixed}
.irregular-verb-table thead th:nth-child(1){width:29%}.irregular-verb-table thead th:nth-child(2){width:23%}.irregular-verb-table thead th:nth-child(n+3){width:16%}
.irregular-verb-table .verb-dictionary-cell{padding:14px}.irregular-verb-table .verb-root-dev{font-size:36px}.irregular-verb-table .verb-root-iast{font-size:22px}
.irregular-verb-table .irregular-reason{font-size:13px;line-height:1.55}
.irregular-verb-table .verb-grade-dev{font-size:26px}.irregular-verb-table .verb-grade-iast{font-size:16px}.irregular-verb-table .verb-grade-note{font-size:9px;line-height:1.35}
.generated-verb-empty{display:grid;gap:8px;place-items:center;min-height:220px;padding:30px;border:1px dashed var(--gold);border-radius:15px;color:var(--soft);background:var(--surface-raised);text-align:center}
.generated-verb-empty strong{color:var(--ink);font-family:var(--serif);font-size:25px}.generated-verb-empty span{max-width:680px;font-size:12px;line-height:1.55}.generated-verb-empty a{color:var(--orange-dark);font-weight:800}
.verb-chart-coverage{margin:0 0 18px}.verb-chart-coverage b{color:var(--ink)}
.verb-system-tabs{max-width:760px;margin:0 auto 22px}
.secondary-tab-banner{width:100%;max-width:none;margin:0 0 22px;padding:14px 18px;border:1px solid var(--line);border-radius:0;background:var(--wash)}
.verb-system-tabs.secondary-tab-banner{grid-template-columns:repeat(3,minmax(0,1fr))}
.verb-system-card{margin-top:0}.verb-system-card .reference-card-head{grid-template-columns:minmax(330px,.85fr) minmax(360px,1.15fr)}
.verb-system-card .reference-card-head h3{font-size:clamp(28px,3vw,43px)}
.verb-system-table th:first-child{width:23%}.verb-system-table th:nth-child(2){width:29%}
.verb-system-table tbody th span{display:block;color:var(--ink);font-family:var(--sanskrit-serif);font-size:27px}.verb-system-table tbody th small{display:block;margin-top:3px;color:var(--orange-dark);font-size:13px}
.verb-system-table td>span[lang="sa"]{display:block;color:var(--ink);font-family:var(--sanskrit-serif);font-size:20px;line-height:1.45}
.verb-system-table td>small[lang="sa-Latn"]{display:block;margin-top:5px;color:var(--orange-dark);font-family:var(--serif);font-size:12px;line-height:1.45}
.verb-root-profile{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 22px}
.verb-root-profile article{display:grid;align-content:start;gap:5px;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:var(--table-cell)}
.verb-root-profile small{color:var(--soft);font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.verb-root-profile strong{color:var(--ink);font-family:var(--serif);font-size:19px}.verb-root-profile span{color:var(--orange-dark);font-size:12px;line-height:1.4}
.verb-paradigm-overview{display:grid;gap:18px}.verb-paradigm-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.verb-paradigm-overview-grid article{padding:18px 20px;border:1px solid var(--line);border-radius:15px;background:var(--surface-raised)}
.verb-paradigm-overview-grid h4{margin:0 0 8px;color:var(--orange-dark);font-family:var(--serif);font-size:22px}.verb-paradigm-overview-grid p{margin:0;color:var(--soft);line-height:1.55}
.verb-paradigm-example{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px 18px;padding:20px;border:1px solid var(--line);border-left:6px solid var(--orange);border-radius:15px;background:var(--table-cell)}
.verb-paradigm-example [lang="sa"]{grid-row:1/3;color:var(--ink);font-family:var(--sanskrit-serif);font-size:38px}.verb-paradigm-example strong{color:var(--orange-dark);font-family:var(--serif);font-size:23px}.verb-paradigm-example p{margin:0;color:var(--soft)}
.gam-construction-atlas{display:grid;gap:15px;margin-top:6px;padding:22px;border:1px solid var(--line);border-radius:17px;background:var(--table-cell)}
.gam-construction-heading{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);align-items:end;gap:24px}
.gam-construction-heading h4{margin:2px 0 0;color:var(--ink);font-family:var(--serif);font-size:clamp(27px,2.5vw,38px)}
.gam-construction-heading>p{margin:0;color:var(--soft);font-size:12px;line-height:1.5;text-align:right}
.gam-construction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gam-construction-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading dev" "heading iast" "copy copy" "meta meta";align-items:center;gap:4px 16px;padding:16px 17px;border:1px solid var(--line);border-radius:13px;background:var(--surface-raised)}
.gam-construction-card>div{grid-area:heading}.gam-construction-card small{display:block;color:var(--soft);font-size:9px;font-weight:850;letter-spacing:.05em}.gam-construction-card h5{margin:4px 0 0;color:var(--orange-dark);font-family:var(--serif);font-size:18px}.gam-construction-card>strong{grid-area:dev;color:var(--ink);font-family:var(--sanskrit-serif);font-size:clamp(22px,2vw,30px);font-weight:500;text-align:right}.gam-construction-card>b{grid-area:iast;align-self:start;color:var(--orange-dark);font-family:var(--serif);font-size:14px;text-align:right}.gam-construction-card>p{grid-area:copy;margin:6px 0 0;padding-top:9px;border-top:1px solid var(--line);color:var(--soft);font-size:11px;line-height:1.5}.gam-construction-card>span{grid-area:meta;color:var(--ink-2);font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.gam-construction-card.unavailable{background:var(--wash);opacity:.8}.gam-construction-card.unavailable>strong,.gam-construction-card.unavailable>b{color:var(--soft)}
.open-example-chart{display:block;margin:20px auto 0;padding:13px 20px;border:1px solid var(--orange);border-radius:999px;color:white;background:var(--orange-dark);cursor:pointer;font-weight:850}.open-example-chart:hover{background:var(--orange-dark)}
.verb-chart-alphabet{position:sticky;z-index:12;top:71px;display:grid;grid-template-columns:repeat(auto-fit,minmax(48px,1fr));gap:5px;margin-bottom:18px;padding:8px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface-raised) 94%,transparent);box-shadow:0 8px 18px color-mix(in srgb,var(--ink) 6%,transparent);backdrop-filter:blur(10px)}
.verb-chart-alphabet button{display:grid;place-items:center;min-height:48px;padding:3px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--table-cell);cursor:pointer}.verb-chart-alphabet button:hover{border-color:var(--orange);background:var(--table-hit)}
.verb-chart-alphabet span{font-size:19px;line-height:1}.verb-chart-alphabet small{color:var(--orange-dark);font-size:9px;font-weight:800}
.verb-chart-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;max-height:62vh;overflow:auto;padding:2px 5px 4px 2px;scrollbar-color:var(--gold) transparent}
.verb-chart-root-button{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"dev iast" "dev meaning" "status status";align-items:center;gap:2px 10px;min-height:116px;padding:13px;border:1px solid var(--line);border-radius:13px;text-align:left;background:var(--surface-raised);cursor:pointer}
.verb-chart-root-button:hover{border-color:var(--orange);box-shadow:0 7px 18px color-mix(in srgb,var(--ink) 8%,transparent);transform:translateY(-1px)}
.verb-chart-root-button>span{grid-area:dev;color:var(--ink);font-size:32px;white-space:nowrap}.verb-chart-root-button>strong{grid-area:iast;color:var(--orange-dark);font-family:var(--serif);font-size:19px}.verb-chart-root-button>small{grid-area:meaning;color:var(--soft);font-size:10px;line-height:1.3}.verb-chart-root-button>b{grid-area:status;margin-top:7px;padding-top:7px;border-top:1px solid var(--line);font-size:8px;letter-spacing:.07em;text-transform:uppercase}.verb-chart-root-button>b.mapped{color:var(--ink-2)}.verb-chart-root-button>b.unmapped{color:var(--soft)}
.verb-chart-page{padding-top:4px}.verb-chart-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:20px 0;padding:22px 24px;border:1px solid var(--line);border-radius:17px;background:var(--paper)}
.verb-chart-heading h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:13px;margin:0;font-family:var(--serif);font-size:45px}.verb-chart-heading h2 span{font-size:54px}.verb-chart-heading h2 b{color:var(--orange-dark);font-size:29px}.verb-chart-heading p:not(.kicker){margin:7px 0 0;color:var(--soft);font-size:13px}
.generator-match{flex:none;padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:9px;font-weight:850;text-transform:uppercase}.generator-match.mapped{color:var(--ink-2);background:var(--table-hit)}.generator-match.unmapped{color:var(--soft)}
.generator-match small{display:block;margin-top:3px;color:var(--soft);font-size:8px;font-weight:700;letter-spacing:0;text-transform:none}
.verb-chart-controls{display:grid;grid-template-columns:auto minmax(240px,1fr) minmax(330px,.9fr) auto;align-items:center;gap:10px;margin-bottom:20px;padding:13px 15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-raised)}
.verb-chart-controls>label{color:var(--orange-dark);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.verb-chart-controls select{min-width:0;padding:11px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--table-cell);font-size:13px}.verb-chart-controls .nested-tabs{margin:0;padding:5px}.verb-chart-controls .nested-tabs button{min-height:38px;font-size:14px}
.verb-save-root{min-height:46px;padding:9px 13px;border:1px solid var(--orange);border-radius:9px;color:#fff;background:var(--orange-dark);cursor:pointer;font-size:11px;font-weight:850}.verb-save-root:hover:not(:disabled){filter:brightness(.96)}.verb-save-root:disabled{cursor:wait;opacity:.7}.verb-save-root-status{grid-column:2/-1;min-height:1.2em;margin:0;color:var(--soft);font-size:10px;line-height:1.4}
.verb-chart-results{display:grid;gap:17px}.generated-verb-loading{display:flex;align-items:center;justify-content:center;gap:12px;min-height:240px;color:var(--soft)}.generated-verb-loading span{width:25px;height:25px;border:3px solid var(--line);border-top-color:var(--orange);border-radius:50%;animation:generated-spin .75s linear infinite}@keyframes generated-spin{to{transform:rotate(360deg)}}
.generated-lakara-card{margin-top:0;padding:0;overflow:hidden}.generated-lakara-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--table-head)}.generated-lakara-heading h3{margin:0;color:var(--ink);font-family:var(--serif);font-size:25px}.generated-lakara-heading span{color:var(--orange-dark);font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.generated-lakara-table{table-layout:fixed}.generated-lakara-table thead th,.generated-lakara-table tbody th{text-align:center}.generated-lakara-table th:first-child{width:20%}.generated-lakara-table td{text-align:center}
.generated-form-pair{display:inline-grid;place-items:center;gap:2px;margin:2px 7px}.generated-form-pair b{color:var(--ink);font-family:var(--sanskrit-serif);font-size:24px;font-weight:500;white-space:nowrap}.generated-form-pair small{color:var(--orange-dark);font-family:var(--serif);font-size:13px}
.generated-nonfinite-card{margin-top:0;padding:0;overflow:hidden}.generated-nonfinite-table th:first-child{width:18%}.generated-nonfinite-table th:nth-child(2){width:20%}.generated-nonfinite-table td{text-align:center}.generated-nonfinite-table tbody th:first-child{font-family:var(--serif);font-size:14px}.generated-nonfinite-table tbody th:nth-child(2) span{display:block;font-family:var(--sanskrit-serif);font-size:19px}.generated-nonfinite-table tbody th:nth-child(2) small{display:block;margin-top:3px;color:var(--orange-dark);font-family:var(--serif);font-size:11px;font-weight:500}
.generated-form-unavailable{color:var(--soft);font-size:10px;font-style:italic}
.generated-nonfinite-note{margin:0;padding:13px 18px;border-top:1px solid var(--line);color:var(--soft);background:var(--wash);font-size:10px;line-height:1.55}
@media (max-width:1180px){.module-tabs.six{grid-template-columns:repeat(3,minmax(170px,1fr))}.verb-chart-list{grid-template-columns:repeat(3,minmax(0,1fr))}.verb-chart-controls{grid-template-columns:auto 1fr auto}.verb-chart-controls .nested-tabs{grid-column:1/3}.verb-save-root-status{grid-column:2/-1}.verb-system-card .reference-card-head{grid-template-columns:1fr}.verb-root-profile{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.module-tabs.six{grid-template-columns:repeat(6,minmax(150px,1fr))}.verb-filter-bar{grid-template-columns:1fr}.verb-filter-bar p{grid-column:1}.verb-chart-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.verb-chart-alphabet{position:static;grid-template-columns:repeat(auto-fit,minmax(42px,1fr))}.verb-chart-heading{align-items:start;flex-direction:column}.verb-chart-controls{grid-template-columns:1fr}.verb-chart-controls .nested-tabs,.verb-save-root-status{grid-column:1}.generated-lakara-card{overflow-x:auto}.generated-lakara-table{min-width:660px}.generated-nonfinite-table{min-width:760px}.verb-root-profile,.verb-paradigm-overview-grid,.gam-construction-grid{grid-template-columns:1fr}.verb-paradigm-example{grid-template-columns:1fr}.verb-paradigm-example [lang="sa"]{grid-row:auto}.secondary-tab-banner{gap:5px;padding:8px}.secondary-tab-banner button{min-width:0;padding:10px 4px;font-size:clamp(12px,3.5vw,16px)}.gam-construction-heading{grid-template-columns:1fr}.gam-construction-heading>p{text-align:left}.gam-construction-card{grid-template-columns:1fr;grid-template-areas:"heading" "dev" "iast" "copy" "meta";align-items:start}.gam-construction-card>strong,.gam-construction-card>b{text-align:left}.number-inflection-guide,.number-example-grid{grid-template-columns:1fr}.number-inflection-guide .number-inflection-sources{grid-column:1}.number-example-reference{padding:16px}}

/* Preverb overview and source-backed reference */
.preverb-tabs{max-width:760px;margin:0 auto 18px}.preverb-tabs.secondary-tab-banner{width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 22px}
.preverb-content{display:grid;gap:24px}
.preverb-structure-card,.preverb-joining-card,.preverb-worked-card{scroll-margin-top:155px}
.preverb-order-flow{display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:center;gap:12px;margin:24px 0;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--table-cell)}
.preverb-order-flow>span{display:grid;min-width:126px;gap:5px;padding:15px 18px;border:1px solid var(--line);border-radius:14px;text-align:center;background:var(--surface-raised)}
.preverb-order-flow b{color:var(--ink);font-size:13px;text-transform:uppercase;letter-spacing:.08em}
.preverb-order-flow small{color:var(--orange-dark);font-family:var(--serif);font-size:23px;font-weight:800}
.preverb-order-flow>i{color:var(--orange);font-style:normal;font-size:25px}
.preverb-principles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.preverb-principles section,.preverb-join-grid section{padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised)}
.preverb-principles h4{margin:0 0 8px;color:var(--orange-dark);font-family:var(--serif);font-size:22px}
.preverb-principles p,.preverb-join-grid p{margin:0;color:var(--soft);line-height:1.58}
.preverb-join-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}
.preverb-join-grid section{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 18px;border-left:6px solid var(--gold)}
.preverb-join-grid section>span:first-child{grid-column:1/-1;color:var(--orange-dark);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.preverb-join-grid strong{font-family:var(--sanskrit-serif);font-size:34px;color:var(--ink)}
.preverb-join-grid b{font-family:var(--serif);font-size:20px;color:var(--orange-dark)}
.preverb-join-grid p{grid-column:1/-1;margin-top:8px}
.preverb-join-no{border-left-color:var(--orange)!important}
.preverb-writing-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 18px}
.preverb-writing-rules section{padding:17px 19px;border:1px solid var(--line);border-radius:14px;background:var(--table-cell)}
.preverb-writing-rules h4{margin:0 0 7px;color:var(--orange-dark);font-family:var(--serif);font-size:19px}
.preverb-writing-rules p{margin:0;color:var(--soft);line-height:1.5}
.preverb-writing-rules [lang="sa"]{font-family:var(--sanskrit-serif);color:var(--ink)}
.joining-words-content a{color:var(--orange-dark);font-weight:800;text-decoration-color:color-mix(in srgb,var(--orange-dark) 55%,transparent);text-decoration-thickness:1px;text-underline-offset:2px}
.joining-words-content a:hover,.joining-words-content a:focus-visible{color:var(--orange);text-decoration-color:currentColor}
.joining-augment-note,.joining-vowel-note{margin:0 0 18px;padding:18px 20px;border:1px solid var(--line);border-left:6px solid var(--gold);border-radius:14px;background:var(--wash)}
.joining-augment-note>strong,.joining-vowel-note>strong{display:block;margin-bottom:7px;color:var(--ink);font-family:var(--serif);font-size:21px}
.joining-augment-note>p,.joining-vowel-note>p{margin:0;color:var(--soft);line-height:1.58}
.joining-augment-link{display:block;width:fit-content;margin-top:8px;color:var(--orange-dark);font-weight:850;line-height:1.4}
.joining-vowel-note>p+ p{margin-top:12px}
.joining-editorial-note{display:grid;gap:10px}
.joining-editorial-note>p{margin:0}
.joining-editorial-example{display:grid;gap:3px;padding:11px 14px;border-left:4px solid var(--gold);border-radius:8px;background:var(--surface-raised)}
.joining-editorial-example>span{display:block}
.joining-editorial-example>[lang="sa"]{color:var(--ink);font-family:var(--sanskrit-serif);font-size:clamp(20px,2vw,27px);line-height:1.45}
.joining-editorial-example>.transliteration{color:var(--orange-dark);font-family:var(--serif);font-size:16px;font-weight:700;line-height:1.4}
.sandhi-callout-line{display:block;margin-top:8px}
.preverb-working{display:grid;gap:14px;margin:20px 0;padding:0;counter-reset:preverb-step;list-style:none}
.preverb-working li{display:grid;grid-template-columns:42px minmax(150px,.35fr) minmax(260px,.9fr) 1fr;align-items:center;gap:14px;padding:17px 19px;border:1px solid var(--line);border-radius:15px;background:var(--table-cell)}
.preverb-working li::before{counter-increment:preverb-step;content:counter(preverb-step);display:grid;width:36px;height:36px;place-items:center;border-radius:50%;color:var(--surface-raised);background:var(--orange-dark);font-weight:900}
.preverb-working li>span{color:var(--orange-dark);font-weight:900}
.preverb-working b{display:grid;gap:5px;font-family:var(--serif);font-size:18px;color:var(--ink)}
.preverb-working b [lang="sa"]{font-family:var(--sanskrit-serif);font-size:24px}
.preverb-working p{margin:0;color:var(--soft);line-height:1.5}
.preverb-worked-result{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:15px;padding:22px;border:1px solid var(--line);border-left:7px solid var(--orange);border-radius:15px;background:var(--surface-raised)}
.preverb-worked-result span{font-family:var(--sanskrit-serif);font-size:36px;color:var(--ink)}
.preverb-worked-result strong{font-family:var(--serif);font-size:24px;color:var(--orange-dark)}
.preverb-worked-result em{color:var(--soft);font-size:18px}
.preverb-filter-bar{display:grid;grid-template-columns:minmax(205px,.55fr) minmax(300px,1fr) minmax(130px,.3fr) minmax(210px,.42fr);align-items:center;gap:12px 15px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised);box-shadow:0 10px 26px color-mix(in srgb,var(--ink) 6%,transparent)}
.preverb-filter-bar>label{color:var(--orange-dark);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.preverb-filter-bar input,.preverb-filter-bar select{min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--table-cell);font-family:var(--serif);font-size:17px}
.preverb-filter-bar input:focus,.preverb-filter-bar select:focus,.preverb-sort-controls button:focus{outline:2px solid color-mix(in srgb,var(--orange) 38%,transparent);outline-offset:2px}
.preverb-sort-controls{display:grid;grid-template-columns:1fr 48px;gap:8px}
.preverb-sort-controls button{border:1px solid var(--line);border-radius:10px;color:var(--orange-dark);background:var(--table-cell);font-size:22px;font-weight:900}
.preverb-filter-bar>p{grid-column:1/-1;margin:0;color:var(--soft);font-size:12px}
.preverb-table-shell{overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--surface-raised)}
.preverb-table{min-width:1080px;border:0;border-radius:0}
.preverb-table th:first-child{width:25%}
.preverb-table th[scope="row"]>span{display:inline-block;margin-right:10px;font-family:var(--sanskrit-serif);font-size:30px;color:var(--ink)}
.preverb-table th[scope="row"]>strong{font-family:var(--serif);font-size:22px;color:var(--orange-dark)}
.preverb-table th[scope="row"]>small{display:block;margin-top:5px;color:var(--soft);font-family:var(--sans);font-size:11px;font-weight:500;line-height:1.4}
.preverb-root-cell span{display:block;font-family:var(--sanskrit-serif);font-size:26px;color:var(--ink)}
.preverb-root-cell strong{display:block;margin-top:3px;color:var(--orange-dark);font-family:var(--serif);font-size:18px}
.preverb-combined-form{display:flex;align-items:baseline;gap:10px}
.preverb-combined-form span{font-family:var(--sanskrit-serif);font-size:25px;color:var(--ink)}
.preverb-combined-form b{font-family:var(--serif);font-size:17px;color:var(--orange-dark)}
.preverb-table td p{margin:7px 0 0;line-height:1.45}
.preverb-evidence-cell span,.preverb-evidence-cell small{display:block;color:var(--soft);font-size:11px}
.preverb-evidence-cell button{margin-top:9px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:var(--orange-dark);background:var(--surface-raised);font-weight:800}
.preverb-evidence-cell button:hover{border-color:var(--orange);background:var(--table-highlight)}
.preverb-empty-row td{text-align:center;padding:38px}
.preverb-empty-row strong,.preverb-empty-row span{display:block}.preverb-empty-row span{margin-top:6px;color:var(--soft)}

@media (max-width:1050px){
  .preverb-order-flow{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr}
  .preverb-order-flow>span{min-width:0;padding:13px 10px}
  .preverb-working li{grid-template-columns:42px 1fr 1.5fr}.preverb-working p{grid-column:2/-1}
  .preverb-filter-bar{grid-template-columns:180px 1fr}.preverb-sort-controls{min-width:0}
}
@media (max-width:700px){
  .preverb-tabs{min-width:0}
  .preverb-order-flow{grid-template-columns:1fr;justify-items:stretch}.preverb-order-flow>i{transform:rotate(90deg);text-align:center}
  .preverb-principles{grid-template-columns:1fr}
  .preverb-join-grid{grid-template-columns:1fr}
  .preverb-writing-rules{grid-template-columns:1fr}
  .preverb-join-grid section{grid-template-columns:1fr}.preverb-join-grid strong{font-size:30px}
  .preverb-working li{grid-template-columns:38px 1fr}.preverb-working b,.preverb-working p{grid-column:2}.preverb-working li>span{align-self:center}
  .preverb-worked-result{grid-template-columns:1fr}.preverb-worked-result span{font-size:31px}
  .preverb-filter-bar{grid-template-columns:1fr}.preverb-filter-bar>p{grid-column:1}
}
@media (max-width:460px){.verb-chart-list{grid-template-columns:1fr}.verb-chart-root-button{min-height:96px}.verb-chart-heading h2{font-size:35px}.verb-chart-heading h2 span{font-size:43px}}

/* 9 August: compact, readable verb references and expanded learner examples. */
.verb-dictionary-cell-layout{grid-template-columns:minmax(88px,.68fr) minmax(152px,1.32fr);gap:9px;min-height:102px}
.verb-dictionary-primary{padding-right:9px}
.verb-dictionary-details{min-width:0;padding-left:0}
.verb-dictionary-details>*{text-wrap:pretty}
.verb-meaning{max-width:18ch;line-height:1.35}
.verb-grade-note{max-width:none;font-size:9.5px;line-height:1.35;text-wrap:pretty}

.irregular-verb-table thead th:nth-child(1){width:26%}
.irregular-verb-table thead th:nth-child(2),
.irregular-verb-table thead th:nth-child(3),
.irregular-verb-table thead th:nth-child(4){width:15%}
.irregular-verb-table thead th:nth-child(5){width:29%}
.irregular-verb-table .irregular-reason{padding:14px 17px;font-size:12.5px;line-height:1.45;text-wrap:pretty}

.verb-number-band{writing-mode:vertical-rl;transform:none;text-orientation:mixed;letter-spacing:.14em}
.verb-class-card{padding:13px 15px}
.verb-class-card .reference-card-head{margin-bottom:8px}
.verb-class-table th,.verb-class-table td{padding:5px 7px}
.verb-class-table tbody th:not(.verb-number-band){font-size:14px;line-height:1.15}
.verb-class-table .paradigm-form{gap:0}
.verb-class-table .paradigm-form b{font-size:clamp(18px,1.32vw,22px);line-height:1.05}
.verb-class-table .paradigm-form i{font-size:clamp(12px,.88vw,14px);line-height:1.1}

.verb-chart-controls,
.verb-chart-controls .nested-tabs,
.verb-chart-controls .nested-tabs button{background:var(--paper)}
.verb-chart-results{display:grid;grid-template-columns:1fr;gap:11px}
.generated-lakara-heading{padding:8px 13px}
.generated-lakara-heading h3{display:grid;gap:0;font-size:21px;line-height:1.1}
.generated-lakara-heading h3 small{color:var(--soft);font-family:var(--sans);font-size:10px;font-weight:750;letter-spacing:.02em}
.generated-lakara-table thead th{background:var(--table-rowhead)!important}
.generated-lakara-table th,.generated-lakara-table td{padding:5px 5px}
.generated-lakara-table tbody th{font-size:12px;line-height:1.15}
.generated-form-pair{gap:0;margin:0 4px}
.generated-form-pair b{font-size:20px;line-height:1.05}
.generated-form-pair small{font-size:11px;line-height:1.1}

.syntax-examples>div{align-content:start}
.syntax-examples>div>strong{display:block;max-width:100%;overflow-x:auto;white-space:nowrap;scrollbar-width:thin}
.syntax-lemma-strip{display:grid;gap:6px;margin-top:12px;padding:9px 11px;border-top:1px solid var(--line);border-radius:0 0 9px 9px;background:color-mix(in srgb,var(--table-rowhead) 68%,transparent)}
.syntax-lemma-strip b{color:var(--orange-dark);font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.syntax-lemma-table{max-width:980px;overflow-x:auto;scrollbar-width:thin}
.syntax-lemma-head,.syntax-lemma-row{display:grid;grid-template-columns:minmax(100px,130px) minmax(105px,145px) minmax(125px,175px) minmax(250px,1fr);column-gap:13px;align-items:baseline;min-width:720px;text-align:left}
.syntax-lemma-head{padding:0 0 5px;border-bottom:1px solid color-mix(in srgb,var(--line) 80%,transparent);color:var(--soft);font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.syntax-lemma-list{display:grid;gap:2px}
.syntax-lemma-row{padding:3px 0}
.syntax-lemma-row>[lang|="sa"]{color:var(--ink);font-family:"Tiro Devanagari Sanskrit",serif;font-size:17px;line-height:1.15;white-space:nowrap}
.syntax-lemma-row>.transliteration{min-width:0;color:var(--orange-dark);font-family:var(--serif);font-size:13px;line-height:1.3;text-align:left;white-space:nowrap}
.syntax-lemma-row>.translation{min-width:0;color:var(--ink);font-size:12px;line-height:1.3;text-align:left;white-space:normal}.syntax-lemma-row>.syntax-parse{min-width:0;color:var(--soft);font-size:10px;line-height:1.35;text-align:left}

.study-table.particle-calibration-table{min-width:1380px;table-layout:fixed}
.particle-calibration-table th:nth-child(1){width:12%}
.particle-calibration-table th:nth-child(2){width:16%}
.particle-calibration-table th:nth-child(3){width:25%}
.particle-calibration-table th:nth-child(4){width:30%}
.particle-calibration-table th:nth-child(5){width:17%}
.particle-calibration-table tbody th>span,
.particle-calibration-table tbody th>small,
.particle-calibration-table td>span,
.particle-calibration-table td>small,
.particle-calibration-table td>em{display:block}
.particle-calibration-table tbody th>span{font-size:22px;line-height:1.2}
.particle-calibration-table tbody th>small{margin-top:3px;color:var(--orange-dark);font-family:var(--serif);font-size:13px}
.particle-calibration-table td{vertical-align:top}
.particle-calibration-table td strong{display:block;margin-bottom:5px}
.particle-calibration-table td>span[lang|="sa"]{font-size:20px;line-height:1.3;white-space:nowrap}
.particle-calibration-table td>small[lang|="sa"]{color:var(--orange-dark);font-family:var(--serif);font-size:13px}
.particle-calibration-table .translation{margin-top:3px;font-size:12px}
.particle-calibration-table .particle-limitation,
.particle-calibration-table .particle-working,
.particle-calibration-table .particle-row-status{margin-top:7px;color:var(--soft);font-size:11px;line-height:1.45}
.particle-calibration-table .particle-limitation b{color:var(--ink)}
.particle-calibration-table td:last-child{display:grid;gap:4px}
.particle-calibration-table td:last-child a,
.particle-calibration-table td:last-child span{line-height:1.35}

.study-table.compound-calibration-table{width:100%;min-width:1060px;table-layout:fixed}
.compound-calibration-table th:nth-child(1){width:10%}
.compound-calibration-table th:nth-child(2){width:19%}
.compound-calibration-table th:nth-child(3){width:23%}
.compound-calibration-table th:nth-child(4){width:32%}
.compound-calibration-table th:nth-child(5){width:16%}
.compound-calibration-table tbody th>small,
.compound-calibration-table td>span,
.compound-calibration-table td>small,
.compound-calibration-table td>em{display:block}
.compound-calibration-table tbody th>small{margin-top:11px;color:var(--soft);font-family:var(--sans);font-size:11px;font-weight:750;line-height:1.35}
.compound-calibration-table td{vertical-align:top}
.compound-calibration-table td strong{display:block;margin-bottom:5px}
.compound-calibration-table td>span[lang|="sa"]{font-size:21px;line-height:1.35;white-space:nowrap}
.compound-calibration-table td>small[lang|="sa"]{margin-top:2px;color:var(--orange-dark);font-family:var(--serif);font-size:14px}
.compound-calibration-table .translation{margin-top:4px;font-size:12px}
.compound-calibration-table .compound-limitation,
.compound-calibration-table .compound-working,
.compound-calibration-table .compound-row-status{margin-top:7px;color:var(--soft);font-size:11px;line-height:1.5}
.compound-calibration-table .compound-limitation b{color:var(--ink)}
.compound-calibration-table .compound-working span[lang|="sa"]{color:var(--ink);font-family:var(--serif);font-size:13px}
.compound-calibration-table tbody td:last-child{display:table-cell;font-style:normal}
.compound-calibration-table tbody td:last-child>*{display:block;margin-bottom:4px}
.compound-calibration-table td:last-child a,
.compound-calibration-table td:last-child span{line-height:1.35}
.compound-calibration-note{margin-top:18px}

.grammar-hero{background-image:linear-gradient(90deg,color-mix(in srgb,var(--paper) 98%,transparent) 0%,color-mix(in srgb,var(--paper) 92%,transparent) 40%,color-mix(in srgb,var(--paper) 25%,transparent) 68%),url("grammar-hero.png");background-position:center;background-size:cover}
.grammar-hero::after,.grammar-hero>b{display:none}
.grammar-hero>div{z-index:1;max-width:46%}
.terminology-content{display:grid;gap:20px}
.terminology-content>.topic-heading{margin-bottom:0}
.terminology-scope-note{padding:18px 20px;border-left:5px solid var(--gold);border-radius:0 14px 14px 0;background:var(--wash);color:var(--soft);box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 5%,transparent)}
.terminology-scope-note strong{display:block;margin-bottom:5px;color:var(--ink);font-size:15px}.terminology-scope-note p{margin:0;line-height:1.6}
.terminology-controls{display:grid;grid-template-columns:minmax(180px,.34fr) minmax(310px,1fr) minmax(90px,.18fr) minmax(190px,.42fr) auto;align-items:center;gap:10px 14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised);box-shadow:0 10px 26px color-mix(in srgb,var(--ink) 6%,transparent)}
.terminology-controls label{color:var(--orange-dark);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.terminology-controls input,.terminology-controls select{min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--table-cell);font-family:var(--serif);font-size:17px}
.terminology-controls input:focus,.terminology-controls select:focus,.terminology-controls button:focus{outline:2px solid color-mix(in srgb,var(--orange) 38%,transparent);outline-offset:2px}
.terminology-controls button{min-height:46px;padding:10px 17px;border:1px solid var(--line);border-radius:10px;color:var(--orange-dark);background:var(--surface-raised);cursor:pointer;font-weight:850}
.terminology-controls button:hover{border-color:var(--orange);background:var(--table-hit)}
.terminology-controls p{grid-column:2/-1;margin:0;color:var(--soft);font-size:12px}
.terminology-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:stretch}
.terminology-card{display:flex;min-width:0;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-raised);box-shadow:0 9px 24px color-mix(in srgb,var(--ink) 6%,transparent)}
.terminology-card header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:13px;padding-bottom:11px;border-bottom:1px solid var(--line)}
.terminology-card header>span{display:grid;min-width:66px;min-height:58px;place-items:center;padding:5px 9px;border-radius:12px;background:var(--wash);color:var(--ink);font-family:var(--serif);font-size:30px;line-height:1}
.terminology-card h3{margin:0;color:var(--orange-dark);font-family:var(--serif);font-size:26px;font-weight:700;line-height:1.05}.terminology-card header small{display:block;margin-top:5px;color:var(--soft);font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.terminology-card>p{flex:1;margin:0;color:var(--ink);font-size:13px;line-height:1.58}
.terminology-aliases{display:block;color:var(--soft);font-size:10px;line-height:1.5}.terminology-aliases b{color:var(--ink)}
.terminology-card footer{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid var(--line)}
.terminology-sources{display:flex;min-width:0;flex-wrap:wrap;gap:4px 8px}.terminology-sources b{width:100%;color:var(--soft);font-size:8px;letter-spacing:.08em;text-transform:uppercase}.terminology-sources a{color:var(--orange-dark);font-size:10px;font-weight:800;text-decoration-thickness:1px;text-underline-offset:2px}
.terminology-context{display:inline-flex;flex:0 0 auto;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:9px;color:var(--orange-dark);background:var(--surface-raised);font-size:10px;font-weight:850;text-decoration:none}.terminology-context:hover{border-color:var(--orange);background:var(--table-hit)}
.terminology-verification{color:var(--soft);font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.terminology-empty{grid-column:1/-1;display:grid;gap:5px;padding:30px;border:1px dashed var(--line);border-radius:15px;color:var(--soft);text-align:center}.terminology-empty strong{color:var(--ink);font-family:var(--serif);font-size:23px}
.terminology-calibration-note code{font-size:.9em}
@media (max-width:1180px){.terminology-controls{grid-template-columns:170px 1fr}.terminology-controls p{grid-column:2}.terminology-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.terminology-controls{grid-template-columns:1fr}.terminology-controls p{grid-column:1}.terminology-results{grid-template-columns:1fr}.terminology-card{padding:15px}.terminology-card footer{align-items:stretch;flex-direction:column}.terminology-context{min-height:42px;justify-content:center}.terminology-scope-note{padding:16px}}

@media (min-width:1100px){
  .verb-class-card .study-table-scroll{overflow:visible}
  .verb-class-card .verb-class-table{min-width:0}
}
@media (max-width:900px){
  .grammar-hero{background-position:62% center}
  .grammar-hero>div{max-width:65%}
  .study-table.particle-calibration-table{min-width:1380px}
  .study-table.compound-calibration-table{min-width:1140px}
}

/* Verb-chart index: collapsible alphabet and one root per line. */
.verb-chart-alpha-shell{position:sticky;z-index:12;top:71px;margin-bottom:14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface-raised) 95%,transparent);box-shadow:0 8px 18px color-mix(in srgb,var(--ink) 6%,transparent);overflow:hidden;backdrop-filter:blur(10px)}
.verb-chart-alpha-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;border:0;color:var(--ink);background:transparent;font:800 10px var(--sans);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.verb-chart-alpha-arrow{font-size:17px;line-height:1;transition:transform .2s ease}
.verb-chart-alpha-shell.collapsed .verb-chart-alpha-arrow{transform:rotate(180deg)}
.verb-chart-alpha-shell .verb-chart-alphabet{position:static;top:auto;margin:0;padding:7px;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.verb-chart-alpha-shell .verb-chart-alphabet[hidden]{display:none!important}
.verb-chart-list{display:flex;flex-direction:column;gap:7px;max-height:none;overflow:visible;padding:0}
.verb-chart-root-button{display:grid;grid-template-columns:minmax(125px,.16fr) minmax(110px,.13fr) minmax(0,1fr) auto;grid-template-areas:"dev iast meaning status";align-items:center;gap:12px;min-height:0;padding:10px 14px}
.verb-chart-root-button>span{font-size:27px}
.verb-chart-root-button>strong{font-size:18px;white-space:nowrap}
.verb-chart-root-button>small{font-size:11px;line-height:1.35}
.verb-chart-root-button>b{margin:0;padding:0;border:0;white-space:nowrap;line-height:1}

/* Generated finite charts: English-first single-line headings and even rows. */
.generated-lakara-heading h3{display:flex;align-items:baseline;gap:8px;flex-wrap:nowrap;min-width:0;white-space:nowrap;font-size:clamp(19px,1.45vw,27px);line-height:1.1}
.generated-lakara-heading h3 strong{font-weight:850}
.generated-lakara-heading h3 i{color:var(--orange-dark);font-style:normal}
.generated-lakara-heading h3 span{color:var(--ink);font-family:var(--sanskrit-serif);font-size:1.08em;font-weight:500;letter-spacing:0;text-transform:none}
.generated-lakara-heading h3 small{color:var(--soft);font-family:var(--serif);font-size:.62em;font-weight:700;letter-spacing:0}
.generated-lakara-table thead th{border-bottom:2px solid var(--gold)!important}
.generated-lakara-table tbody th{background:var(--table-rowhead)!important}
.generated-lakara-table tbody td,
.generated-lakara-table tbody tr:nth-child(odd) td,
.generated-lakara-table tbody tr:nth-child(even) td{background:var(--table-cell)!important}

/* Verb-grade dictionary: one shared explanation column, larger grade forms. */
.verb-grade-master{width:100%;min-width:0;table-layout:fixed}
.verb-grade-master thead th:nth-child(1){width:31%}
.verb-grade-master thead th:nth-child(2),
.verb-grade-master thead th:nth-child(3),
.verb-grade-master thead th:nth-child(4){width:16%}
.verb-grade-master thead th:nth-child(5){width:21%}
.verb-grade-master .verb-grade-dev{font-size:clamp(31px,2.15vw,40px)}
.verb-grade-master .verb-grade-iast{font-size:clamp(19px,1.4vw,25px)}
.verb-grade-shared-note{padding:15px 13px;color:var(--soft);font-size:12px;line-height:1.5;text-align:left;text-wrap:pretty;overflow-wrap:anywhere}
.inline-gam-paradigm{margin:24px 0;padding:clamp(16px,2vw,25px);border:1px solid var(--line);border-radius:17px;background:var(--surface-raised);box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 6%,transparent)}
.inline-gam-paradigm>.reference-card-head{margin-bottom:16px}
.inline-gam-paradigm>.reference-card-head h3{display:flex;align-items:baseline;gap:9px}
.inline-gam-paradigm>.reference-card-head h3 span{font-family:var(--sanskrit-serif);font-weight:500}
.inline-gam-paradigm .verb-chart-results{display:grid;gap:16px}
.verb-chart-content>.dataset-credit{position:static;inset:auto}

@media (max-width:760px){
  .verb-root-jump-bar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .verb-chart-alpha-shell{position:static}
  .verb-chart-root-button{grid-template-columns:auto 1fr;grid-template-areas:"dev iast" "meaning meaning" "status status"}
  .verb-chart-root-button>b{padding-top:6px;border-top:1px solid var(--line)}
  .generated-lakara-heading h3{flex-wrap:wrap;white-space:normal}
}

@media (max-width:900px){
  .verb-grade-master{min-width:860px}
}

@media (max-width:900px){
  .number-converter-heading{align-items:flex-start;flex-direction:column;gap:8px}
  .number-converter-heading>p{max-width:none;text-align:left}
  .number-converter-results{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:720px){
  .app-actions{gap:4px}
  .brand-button>span:last-child{display:none}
  .page-zoom-controls button{min-width:27px;min-height:34px;padding:4px 6px}
  #page-zoom-reset{min-width:51px;gap:3px}
  #page-zoom-value{font-size:9px}
  .number-tabs{grid-template-columns:repeat(12,minmax(116px,1fr));overflow-x:auto}
  .number-converter-shell{padding:21px 15px 24px}
  .number-converter-form{grid-template-columns:repeat(3,minmax(0,1fr))}
  .number-converter-form input{grid-column:1/-1}
  .number-converter-form button{width:100%;padding:9px 7px}
  .number-keyboard{grid-template-columns:1fr;padding:12px}
  .number-keyboard button{min-width:35px}
  .number-converter-results{grid-template-columns:1fr}
  .number-converter-results article{min-height:84px}
  .tools-hero{background-position:67% center}
  .tools-hero>div{max-width:76%}
}

@media (max-width:390px){
  #page-zoom-reset{min-width:44px}
  #page-zoom-value{display:none}
}

@media (max-width:470px){
  .app-bar{grid-template-columns:minmax(0,1fr) max-content;gap:4px;padding:8px 10px}
  .brand-button{gap:6px;min-width:0;padding:4px 0;font-size:12px;line-height:1.1}
  .brand-button>span:last-child{display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .brand-mark{width:29px;height:29px;flex:0 0 29px;color:var(--orange-dark);font-size:16px}
  .app-actions{gap:3px}
}

/* Whitney's Sanskrit Grammar: facsimile-first reading shell. */
.whitney-hero {
  aspect-ratio: 1983 / 793;
  min-height: 360px;
}
.whitney-hero img {
  object-fit: cover;
  object-position: center;
}
.whitney-hero::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(250,244,228,.96) 0%, rgba(250,244,228,.9) 37%, rgba(250,244,228,.28) 61%, transparent 76%);
  pointer-events: none;
}
.whitney-hero-copy {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: clamp(28px, 5vw, 76px);
  width: min(50%, 700px);
  transform: translateY(-50%);
}
.whitney-hero-copy p {
  margin: 0 0 11px;
  color: #9a451f;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.whitney-hero-copy h2 {
  max-width: 650px;
  margin: 0;
  color: #12362f;
  font-family: var(--serif);
  font-size: clamp(42px, 5.2vw, 78px);
  font-weight: 500;
  letter-spacing: -.035em;
  line-height: .96;
}
.whitney-hero-copy span {
  display: block;
  max-width: 560px;
  margin-top: 19px;
  color: #4f554e;
  font-family: var(--serif);
  font-size: clamp(15px, 1.45vw, 20px);
  line-height: 1.45;
}
.whitney-content { max-width: 1400px; margin: 0 auto; }
.whitney-authority-note {
  display: grid;
  grid-template-columns: 170px 1fr 1fr;
  gap: 18px;
  margin: 25px 0 30px;
  padding: 20px 22px;
  border: 1px solid var(--line);
  border-left: 6px solid var(--gold);
  border-radius: 13px;
  background: var(--callout, var(--paper));
}
.whitney-authority-note strong {
  color: var(--ink);
  font-family: var(--serif);
  font-size: 22px;
  line-height: 1.1;
}
.whitney-authority-note p { margin: 0; color: var(--soft); font-size: 12px; line-height: 1.58; }
.whitney-authority-note b { color: var(--orange-dark); }
.whitney-reader-shell {
  display: grid;
  grid-template-columns: minmax(330px, .38fr) minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}
.whitney-navigation,
.whitney-viewer-column { min-width: 0; }
.whitney-search-panel,
.whitney-chapter-panel,
.whitney-viewer-column,
.whitney-provenance {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface-raised);
  box-shadow: 0 14px 34px color-mix(in srgb, var(--ink) 7%, transparent);
}
.whitney-search-panel { padding: 22px; }
.whitney-search-panel h3,
.whitney-chapter-panel h3,
.whitney-viewer-toolbar h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: 27px;
  font-weight: 600;
}
.whitney-search-form { margin-top: 17px; }
.whitney-search-form > label {
  display: block;
  margin-bottom: 7px;
  color: var(--soft);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.whitney-search-form > div { display: grid; grid-template-columns: 1fr auto auto; gap: 7px; }
.whitney-search-form input,
.whitney-search-form button,
.whitney-page-controls button,
.whitney-page-controls input,
.whitney-page-controls a,
.whitney-selection-card button,
.whitney-selection-card a {
  min-height: 43px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
}
.whitney-search-form input { min-width: 0; color: var(--ink); background: var(--surface); }
.whitney-search-form button,
.whitney-page-controls button,
.whitney-selection-card button { color: var(--orange-dark); background: var(--surface); cursor: pointer; font-weight: 800; }
.whitney-search-form button[type="submit"] { border-color: var(--orange); color: var(--cream); background: var(--orange-dark); }
.whitney-search-form button:hover,
.whitney-page-controls button:hover,
.whitney-selection-card button:hover { border-color: var(--orange); background: var(--wash); }
.whitney-search-form button[type="submit"]:hover { color: #fff; background: var(--orange-dark); }
.whitney-search-examples { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 11px; }
.whitney-search-examples span { color: var(--soft); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.whitney-search-examples button {
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--orange-dark);
  background: var(--wash);
  cursor: pointer;
  font-size: 11px;
}
.whitney-search-status { margin: 12px 0 0; color: var(--soft); font-size: 11px; line-height: 1.45; }
.whitney-search-results { display: grid; gap: 7px; margin-top: 13px; }
.whitney-search-results > p { margin: 0; padding: 12px; border-radius: 9px; color: var(--soft); background: var(--wash); font-size: 12px; line-height: 1.5; }
.whitney-search-results button {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  text-align: left;
  color: var(--ink);
  background: var(--surface);
  cursor: pointer;
}
.whitney-search-results button:hover { border-color: var(--orange); background: var(--wash); }
.whitney-search-results button span { color: var(--orange-dark); font-size: 8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.whitney-search-results button strong { font-family: var(--serif); font-size: 17px; }
.whitney-search-results button small { color: var(--soft); font-size: 10px; }
.whitney-chapter-panel { margin-top: 16px; padding: 18px; }
.whitney-nav-heading { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding: 2px 4px 13px; }
.whitney-nav-heading > span { color: var(--soft); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.whitney-chapter-list { display: grid; gap: 6px; }
.whitney-chapter-list button {
  display: grid;
  grid-template-columns: 39px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  width: 100%;
  min-height: 52px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  background: color-mix(in srgb, var(--surface) 82%, var(--wash));
  cursor: pointer;
  text-align: left;
}
.whitney-chapter-list button:hover,
.whitney-chapter-list button.active { border-color: var(--orange); background: var(--table-hit, var(--wash)); }
.whitney-chapter-list button.active { box-shadow: inset 4px 0 0 var(--orange); }
.whitney-chapter-list button > span { color: var(--orange-dark); font-family: var(--serif); font-size: 17px; font-weight: 700; text-align: center; }
.whitney-chapter-list button > strong { font-family: var(--serif); font-size: 15px; line-height: 1.15; }
.whitney-chapter-list button > small { color: var(--soft); font-size: 8px; white-space: nowrap; }
.whitney-chapter-list button.missing { border-style: dashed; background: color-mix(in srgb, var(--wash) 80%, var(--surface)); }
.whitney-chapter-list button.missing > small { color: var(--orange-dark); font-weight: 850; }
.whitney-chapter-list button.supplement { background: var(--wash); }
.whitney-viewer-column { overflow: hidden; }
.whitney-viewer-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 19px;
  border-bottom: 1px solid var(--line);
  background: var(--wash);
}
.whitney-viewer-toolbar > div:first-child > span { display: block; margin-top: 3px; color: var(--soft); font-size: 10px; }
.whitney-page-controls { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: 6px; }
.whitney-page-controls form { display: grid; grid-template-columns: 72px auto; gap: 5px; }
.whitney-page-controls form label { grid-column: 1/-1; color: var(--soft); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.whitney-page-controls input { width: 72px; color: var(--ink); background: var(--surface); }
.whitney-page-controls a,
.whitney-selection-card a { display: inline-flex; align-items: center; color: var(--orange-dark); background: var(--surface); font-size: 11px; font-weight: 850; text-decoration: none; }
.whitney-page-controls a:hover,
.whitney-selection-card a:hover { border-color: var(--orange); background: var(--wash); }
.whitney-page-controls button:disabled { cursor: not-allowed; opacity: .45; }
.whitney-pdf-frame { position: relative; min-height: 810px; background: #dedbd4; }
.whitney-pdf-frame iframe { display: block; width: 100%; height: 810px; border: 0; background: #fff; }
.whitney-pdf-frame iframe[hidden] { display: none; }
.whitney-viewer-unavailable { display: grid; min-height: 810px; place-content: center; justify-items: center; padding: 35px; text-align: center; background: radial-gradient(circle at 50% 45%, var(--surface), var(--wash)); }
.whitney-viewer-unavailable[hidden] { display: none; }
.whitney-viewer-unavailable > span { display: grid; width: 62px; height: 62px; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--orange-dark); font-size: 29px; }
.whitney-viewer-unavailable h3 { margin: 18px 0 5px; font-family: var(--serif); font-size: 28px; }
.whitney-viewer-unavailable p { max-width: 430px; margin: 0; color: var(--soft); line-height: 1.55; }
.whitney-selection-card {
  display: grid;
  grid-template-columns: minmax(240px, .75fr) minmax(220px, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px 20px;
  border-top: 1px solid var(--line);
  background: var(--surface-raised);
}
.whitney-selection-card > div:first-child > span { color: var(--orange-dark); font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.whitney-selection-card h3 { margin: 5px 0 2px; font-family: var(--serif); font-size: 22px; }
.whitney-selection-card > div:first-child > p,
.whitney-selection-card > p { margin: 0; color: var(--soft); font-size: 11px; line-height: 1.5; }
.whitney-selection-card > div:last-child { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.whitney-provenance { margin-top: 24px; padding: 27px; }
.whitney-provenance-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 19px; }
.whitney-provenance-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(31px, 3vw, 44px); font-weight: 500; }
.whitney-provenance-heading > p:last-child { max-width: 450px; margin: 0; color: var(--soft); line-height: 1.5; text-align: right; }
.whitney-provenance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.whitney-provenance-grid article { padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: var(--wash); }
.whitney-provenance-grid article > span { color: var(--orange-dark); font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.whitney-provenance-grid h3 { margin: 8px 0; font-family: var(--serif); font-size: 23px; }
.whitney-provenance-grid p { margin: 0; color: var(--soft); font-size: 12px; line-height: 1.6; }
.whitney-source-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; }
.whitney-source-links a { padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--orange-dark); background: var(--surface); font-size: 11px; font-weight: 850; text-decoration: none; }
.whitney-source-links a:hover { border-color: var(--orange); background: var(--wash); }
.whitney-file-note { margin: 15px 0 0; color: var(--soft); font-size: 10px; line-height: 1.5; }
.whitney-file-note code { overflow-wrap: anywhere; color: var(--ink); }

@media (max-width: 1080px) {
  .whitney-reader-shell { grid-template-columns: 1fr; }
  .whitney-chapter-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .whitney-chapter-panel { margin-top: 18px; }
  .whitney-pdf-frame,
  .whitney-pdf-frame iframe,
  .whitney-viewer-unavailable { min-height: 720px; height: 720px; }
}

@media (max-width: 720px) {
  .whitney-hero { min-height: 330px; aspect-ratio: auto; }
  .whitney-hero img { object-position: 68% center; }
  .whitney-hero::after { background: linear-gradient(90deg, rgba(250,244,228,.97), rgba(250,244,228,.86) 54%, rgba(250,244,228,.15) 84%); }
  .whitney-hero-copy { left: 20px; width: 66%; }
  .whitney-hero-copy h2 { font-size: clamp(37px, 10.5vw, 52px); }
  .whitney-hero-copy span { margin-top: 13px; font-size: 14px; }
  .whitney-authority-note { grid-template-columns: 1fr; gap: 9px; padding: 17px; }
  .whitney-search-form > div { grid-template-columns: 1fr 1fr; }
  .whitney-search-form input { grid-column: 1/-1; min-height: 48px; }
  .whitney-chapter-list { grid-template-columns: 1fr; }
  .whitney-viewer-toolbar { align-items: flex-start; flex-direction: column; }
  .whitney-page-controls { justify-content: flex-start; }
  .whitney-pdf-frame,
  .whitney-pdf-frame iframe,
  .whitney-viewer-unavailable { min-height: 560px; height: 560px; }
  .whitney-selection-card { grid-template-columns: 1fr; gap: 10px; }
  .whitney-selection-card > div:last-child { justify-content: flex-start; }
  .whitney-provenance { padding: 18px 15px; }
  .whitney-provenance-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .whitney-provenance-heading > p:last-child { text-align: left; }
  .whitney-provenance-grid { grid-template-columns: 1fr; }
}

@media (max-width: 430px) {
  .whitney-hero-copy { width: 72%; }
  .whitney-hero-copy p { font-size: 8px; }
  .whitney-hero-copy h2 { font-size: 39px; }
  .whitney-search-panel,
  .whitney-chapter-panel { padding: 15px; }
  .whitney-page-controls form { grid-template-columns: 64px auto; }
  .whitney-page-controls input { width: 64px; }
  .whitney-pdf-frame,
  .whitney-pdf-frame iframe,
  .whitney-viewer-unavailable { min-height: 500px; height: 500px; }
}

/* Whitney complete reading edition. The older PDF viewer selectors above are
   retained only for backwards-compatible styling of the bundled source link. */
.whitney-reader-shell {
  grid-template-columns: minmax(310px, .34fr) minmax(0, 1fr);
  gap: 24px;
}
.whitney-reader-column {
  min-width: 0;
  overflow: clip;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface-raised);
  box-shadow: 0 14px 34px color-mix(in srgb, var(--ink) 7%, transparent);
}
.whitney-content > .topic-heading h2 a { color:inherit; text-decoration-color:color-mix(in srgb,var(--orange) 55%,transparent); text-underline-offset:.12em; }
.whitney-reader-header {
  position: sticky;
  z-index: 6;
  top: 68px;
  background: color-mix(in srgb, var(--surface-raised) 96%, transparent);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--ink) 9%, transparent);
  backdrop-filter: blur(12px);
}
.whitney-reader-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 23px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--wash) 96%, transparent);
}
.whitney-reader-toolbar h3 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(25px, 2.5vw, 34px);
  font-weight: 600;
  line-height: 1.08;
}
.whitney-reader-toolbar > div:first-child > span {
  display: block;
  margin-top: 5px;
  color: var(--soft);
  font-size: 10px;
  line-height: 1.45;
}
.whitney-reader-toolbar-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
}
.whitney-reader-controls,
.whitney-section-steppers {
  display: flex;
  gap: 7px;
}
.whitney-reader-controls button,
.whitney-reader-header-toggle,
.whitney-section-toolbar button,
.whitney-reader-footer button {
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--orange-dark);
  background: var(--surface);
  cursor: pointer;
  font-weight: 850;
}
.whitney-reader-controls button:hover,
.whitney-reader-header-toggle:hover,
.whitney-section-toolbar button:hover,
.whitney-reader-footer button:hover {
  border-color: var(--orange);
  background: var(--table-hit, var(--wash));
}
.whitney-reader-controls button:disabled,
.whitney-section-toolbar button:disabled {
  cursor: not-allowed;
  opacity: .4;
}
.whitney-reader-header-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}
.whitney-reader-header-toggle-icon {
  display: inline-block;
  font-size: 15px;
  transition: transform .18s ease;
}
.whitney-reader-header.is-collapsed .whitney-reader-toolbar {
  padding: 10px 14px;
}
.whitney-reader-header.is-collapsed .whitney-reader-toolbar .kicker,
.whitney-reader-header.is-collapsed .whitney-reader-toolbar > div:first-child > span,
.whitney-reader-header.is-collapsed .whitney-reader-controls {
  display: none;
}
.whitney-reader-header.is-collapsed .whitney-reader-toolbar h3 {
  overflow: hidden;
  font-size: 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitney-reader-header.is-collapsed .whitney-reader-header-toggle-icon {
  transform: rotate(180deg);
}
.whitney-section-toolbar {
  display: grid;
  grid-template-columns: minmax(190px, .8fr) minmax(260px, 1.35fr) auto;
  gap: 11px;
  align-items: end;
  padding: 15px 22px;
  border-bottom: 1px solid var(--line);
  background: transparent;
}
.whitney-section-toolbar[hidden] { display: none; }
.whitney-section-toolbar label,
.whitney-section-toolbar form > label {
  display: block;
  margin-bottom: 5px;
  color: var(--soft);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.whitney-section-toolbar form > div {
  display: grid;
  grid-template-columns: auto minmax(70px, 1fr) auto;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--surface);
}
.whitney-section-toolbar form > div > span {
  padding-left: 11px;
  color: var(--orange-dark);
  font-family: var(--serif);
  font-size: 21px;
}
.whitney-section-toolbar input,
.whitney-section-toolbar select {
  min-width: 0;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: var(--surface);
}
.whitney-section-toolbar input {
  width: 100%;
  border: 0;
  border-radius: 0;
}
.whitney-section-toolbar form button {
  border-width: 0 0 0 1px;
  border-radius: 0;
}
.whitney-section-toolbar > label {
  display: grid;
  grid-template-rows: auto 42px;
}
.whitney-section-toolbar select {
  width: 100%;
  padding: 8px 33px 8px 10px;
  font-size: 11px;
}
.whitney-transcription-note {
  display: flex;
  gap: 14px;
  align-items: baseline;
  margin: 20px 28px 0;
  padding: 13px 15px;
  border-left: 4px solid var(--gold);
  border-radius: 8px;
  background: var(--wash);
}
.whitney-transcription-note strong {
  flex: 0 0 auto;
  color: var(--orange-dark);
  font-family: var(--serif);
  font-size: 17px;
}
.whitney-transcription-note span {
  color: var(--soft);
  font-size: 11px;
  line-height: 1.55;
}
.whitney-transcription {
  max-width: 940px;
  min-height: 720px;
  margin: 0 auto;
  padding: 34px clamp(27px, 5vw, 68px) 70px;
  overflow-wrap: anywhere;
  color: var(--ink);
  background: var(--surface-raised);
  font-family: var(--serif);
  font-size: 17px;
  line-height: 1.68;
}
.whitney-transcription p {
  margin: 0 0 1em;
}
.whitney-transcription h2,
.whitney-transcription h3,
.whitney-transcription h4,
.whitney-transcription .wst-center {
  font-family: var(--serif);
  text-align: center;
}
.whitney-transcription .wst-center {
  margin: 1.8em auto .7em;
  font-size: 1.12em;
  font-weight: 650;
  letter-spacing: .02em;
}
.whitney-transcription hr {
  width: 70px;
  margin: 17px auto;
  border: 0;
  border-top: 1px solid var(--gold);
}
.whitney-transcription a {
  color: var(--orange-dark);
  text-decoration-color: color-mix(in srgb, var(--orange) 45%, transparent);
  text-underline-offset: 2px;
}
.whitney-transcription a:hover {
  color: var(--orange-dark);
}
.whitney-section-anchor {
  border-radius: 4px;
  color: var(--orange-dark);
  font-family: var(--sans);
  font-size: .82em;
  font-weight: 900 !important;
  letter-spacing: .01em;
}
.whitney-transcription p:has(.whitney-section-anchor) {
  scroll-margin-top: 210px;
}
.whitney-section-anchor.is-target {
  outline: 3px solid color-mix(in srgb, var(--gold) 55%, transparent);
  background: color-mix(in srgb, var(--gold) 24%, transparent);
}
.whitney-book-page {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 38px -17px 20px;
  padding: 8px 13px;
  border-top: 1px solid var(--gold);
  border-bottom: 1px solid var(--line);
  border-radius: 6px;
  scroll-margin-top: 210px;
  color: var(--soft);
  background: var(--wash);
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.whitney-book-page a {
  font-size: 9px;
  text-decoration: none;
}
.whitney-book-page.is-target {
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--gold) 45%, transparent);
}
.whitney-transcription .transliteration {
  font-family: var(--serif);
  font-style: normal;
}
.whitney-transcription .wst-mono,
.whitney-transcription [lang="sa"] {
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: normal;
}
.whitney-transcription .whitney-devanagari,
.whitney-transcription [lang="sa"] {
  font-family: "Tiro Devanagari Sanskrit", serif;
  font-size: 1.16em;
}
.whitney-transcription table,
.whitney-transcription .whitney-source-table {
  display: block;
  max-width: 100%;
  margin: 22px auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  border-collapse: collapse;
  font-family: var(--serif);
  font-size: .88em;
}
.whitney-transcription th,
.whitney-transcription td {
  min-width: 42px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  vertical-align: top;
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: normal;
  background: var(--surface);
}
.whitney-transcription th {
  color: var(--ink);
  background: var(--wash);
}
.whitney-transcription img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 18px auto;
}
.whitney-transcription ol,
.whitney-transcription ul,
.whitney-transcription dl {
  padding-left: 1.6em;
}
.whitney-transcription blockquote {
  margin: 1.3em 0;
  padding: 3px 0 3px 20px;
  border-left: 3px solid var(--gold);
  color: var(--soft);
}
.whitney-transcription sup {
  line-height: 0;
}
.whitney-loading {
  display: grid;
  min-height: 520px;
  place-content: center;
  justify-items: center;
  text-align: center;
  color: var(--soft);
}
.whitney-loading > span {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid var(--gold);
  border-radius: 50%;
  color: var(--orange-dark);
  font-family: "Tiro Devanagari Sanskrit", serif;
  font-size: 25px;
}
.whitney-loading.error > span {
  color: #8c2c20;
}
.whitney-reader-footer {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
  gap: 13px;
  align-items: center;
  padding: 17px 22px;
  border-top: 1px solid var(--line);
  background: var(--wash);
}
.whitney-reader-footer > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}
.whitney-reader-footer > div:nth-child(2) {
  justify-content: center;
}
.whitney-reader-footer > div:last-child {
  justify-content: flex-end;
}
.whitney-reader-footer span {
  width: 100%;
  color: var(--soft);
  font-size: 9px;
}
.whitney-reader-footer a {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--orange-dark);
  background: var(--surface);
  font-size: 10px;
  font-weight: 850;
  text-decoration: none;
}
.whitney-reader-footer a:hover {
  border-color: var(--orange);
  background: var(--table-hit, var(--wash));
}
.whitney-search-results small {
  line-height: 1.45;
}

@media (max-width: 1080px) {
  .whitney-reader-shell { grid-template-columns: 1fr; }
  .whitney-reader-footer { grid-template-columns: 1fr 1fr; }
  .whitney-reader-footer > div:last-child { grid-column: 1/-1; justify-content: flex-start; }
}

@media (min-width: 1081px) {
  .whitney-navigation {
    position: sticky;
    top: 82px;
    max-height: calc(100vh - 98px);
    padding-right: 8px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
  .whitney-navigation::-webkit-scrollbar { width: 8px; }
  .whitney-navigation::-webkit-scrollbar-thumb { border-radius: 999px; background: color-mix(in srgb, var(--orange) 38%, transparent); }
  .whitney-navigation::-webkit-scrollbar-track { background: transparent; }
  .whitney-reader-column {
    position: sticky;
    top: 82px;
    max-height: calc(100vh - 98px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
  .whitney-reader-column .whitney-reader-header { top: 0; }
  .whitney-reader-column::-webkit-scrollbar { width: 8px; }
  .whitney-reader-column::-webkit-scrollbar-thumb { border-radius: 999px; background: color-mix(in srgb, var(--orange) 38%, transparent); }
  .whitney-reader-column::-webkit-scrollbar-track { background: transparent; }
}

@media (max-width: 720px) {
  .whitney-reader-header:not(.is-collapsed) { max-height: calc(100vh - 68px); overflow-y: auto; }
  .whitney-reader-toolbar { align-items: flex-start; flex-direction: column; padding: 17px; }
  .whitney-reader-toolbar-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .whitney-reader-header.is-collapsed .whitney-reader-toolbar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .whitney-reader-header.is-collapsed .whitney-reader-toolbar-actions { width: auto; }
  .whitney-section-toolbar { grid-template-columns: 1fr; padding: 14px 16px; }
  .whitney-section-steppers { justify-content: flex-start; }
  .whitney-transcription-note { align-items: flex-start; flex-direction: column; gap: 4px; margin: 15px 15px 0; }
  .whitney-transcription { min-height: 540px; padding: 24px 18px 50px; font-size: 16px; line-height: 1.62; }
  .whitney-transcription p:has(.whitney-section-anchor),
  .whitney-book-page { scroll-margin-top: 82px; }
  .whitney-book-page { margin-right: -5px; margin-left: -5px; }
  .whitney-reader-footer { grid-template-columns: 1fr; padding: 15px; }
  .whitney-reader-footer > div,
  .whitney-reader-footer > div:nth-child(2),
  .whitney-reader-footer > div:last-child { grid-column: auto; justify-content: flex-start; }
}

@media (max-width: 430px) {
  .whitney-reader-controls { width: 100%; }
  .whitney-reader-controls button { flex: 1; }
  .whitney-transcription { padding-right: 14px; padding-left: 14px; }
  .whitney-book-page { align-items: flex-start; flex-direction: column; gap: 4px; }
}


/* Pāṇini source-foundation reference */
.panini-hero {
  background-image:
    linear-gradient(90deg, rgba(251,247,236,.98) 0%, rgba(251,247,236,.9) 38%, rgba(251,247,236,.24) 61%, rgba(251,247,236,.02) 78%),
    url("hero-panini-v1.png");
  background-position: center;
  background-size: cover;
}
.panini-hero > div { max-width: 58%; }
.panini-hero h2 { max-width: 780px; font-size: clamp(51px, 6vw, 88px); }
.panini-content { max-width: 1420px; margin: 0 auto; }
.panini-scope-note {
  display: grid;
  grid-template-columns: minmax(210px, .42fr) minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  margin-bottom: 22px;
  padding: 18px 21px;
  border: 1px solid var(--gold);
  border-radius: 15px;
  background: color-mix(in srgb, var(--wash) 78%, var(--surface));
  box-shadow: inset 5px 0 0 var(--orange);
}
.panini-scope-note strong { font-family: var(--serif); font-size: 20px; }
.panini-scope-note p { margin: 0; color: var(--soft); font-size: 12px; line-height: 1.55; }
.panini-scope-note > span { padding: 7px 10px; border-radius: 999px; color: var(--surface); background: var(--ink); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.panini-reference-shell { display: grid; grid-template-columns: minmax(275px, 340px) minmax(0, 1fr); gap: 20px; align-items: start; }
.panini-navigation { display: grid; gap: 15px; min-width: 0; }
.panini-search-panel,
.panini-order-panel,
.panini-sutra-detail,
.panini-provenance {
  border: 1px solid var(--line);
  border-radius: 17px;
  background: var(--surface-raised);
  box-shadow: 0 14px 35px color-mix(in srgb, var(--ink) 7%, transparent);
}
.panini-search-panel { padding: 20px; }
.panini-search-panel h3,
.panini-order-panel h3 { margin: 5px 0 0; font-family: var(--serif); font-size: 25px; }
.panini-search-form { margin-top: 16px; }
.panini-search-form > label { display: block; margin-bottom: 6px; color: var(--soft); font-size: 9px; font-weight: 850; letter-spacing: .06em; line-height: 1.4; text-transform: uppercase; }
.panini-search-form > div { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 6px; }
.panini-search-form input,
.panini-search-form button,
.panini-search-examples button,
.panini-detail-steppers button {
  min-height: 38px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: var(--surface);
  font: 800 10px var(--sans);
}
.panini-search-form input { min-width: 0; padding: 9px 10px; font-size: 12px; font-weight: 500; }
.panini-search-form button,
.panini-search-examples button,
.panini-detail-steppers button { padding: 8px 10px; cursor: pointer; }
.panini-search-form button[type="submit"] { border-color: var(--orange); color: var(--surface); background: var(--orange-dark); }
.panini-search-form button:hover,
.panini-search-examples button:hover,
.panini-detail-steppers button:hover:not(:disabled) { border-color: var(--orange); background: var(--table-hit, var(--wash)); }
.panini-search-form button[type="submit"]:hover { color: #fff; background: var(--orange-dark); }
.panini-search-form input:focus-visible,
.panini-search-form button:focus-visible,
.panini-search-examples button:focus-visible,
.panini-sutra-list button:focus-visible,
.panini-detail-steppers button:focus-visible { outline: 3px solid color-mix(in srgb, var(--orange) 42%, transparent); outline-offset: 2px; }
.panini-search-examples { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin-top: 10px; }
.panini-search-examples > span { color: var(--soft); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.panini-search-examples button { min-height: 28px; padding: 5px 8px; border-radius: 999px; }
.panini-search-status { margin: 11px 0 0; color: var(--soft); font-size: 10px; line-height: 1.5; }
.panini-order-panel { padding: 18px; }
.panini-order-panel > div { padding: 0 3px 12px; border-bottom: 1px solid var(--line); }
.panini-order-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 13px; }
.panini-order-controls label { display: grid; gap: 4px; color: var(--soft); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.panini-order-controls select { min-width: 0; min-height: 37px; padding: 7px 9px; border: 1px solid var(--line); border-radius: 9px; color: var(--ink); background: var(--surface); font: 750 12px var(--sans); }
.panini-order-controls select:focus-visible { outline: 3px solid color-mix(in srgb, var(--orange) 42%, transparent); outline-offset: 2px; }
.panini-browse-status { margin: 9px 0 0; color: var(--soft); font-size: 9px; line-height: 1.45; }
.panini-sutra-list { display: grid; gap: 7px; max-height: 660px; padding: 12px 3px 2px 0; overflow-y: auto; scrollbar-gutter: stable; }
.panini-sutra-list button {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 2px 10px;
  align-items: center;
  width: 100%;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  color: var(--ink);
  background: var(--surface);
  cursor: pointer;
  text-align: left;
}
.panini-sutra-list button:hover,
.panini-sutra-list button.active { border-color: var(--orange); background: var(--table-hit, var(--wash)); }
.panini-sutra-list button.active { box-shadow: inset 4px 0 0 var(--orange); }
.panini-sutra-list button > span { grid-row: 1/3; color: var(--orange-dark); font-family: var(--serif); font-size: 17px; font-weight: 700; }
.panini-sutra-list button > strong { font-family: "Tiro Devanagari Sanskrit", serif; font-size: 20px; font-weight: 400; line-height: 1.2; }
.panini-sutra-list button > small { color: var(--soft); font-family: var(--serif); font-size: 11px; }
.panini-list-empty { margin: 0; padding: 14px; border-radius: 10px; color: var(--soft); background: var(--wash); font-size: 11px; line-height: 1.5; }
.panini-sutra-detail { overflow: hidden; }
.panini-detail-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 23px 25px; border-bottom: 1px solid var(--line); background: var(--wash); }
.panini-detail-heading p { margin: 0 0 4px; color: var(--orange-dark); font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.panini-detail-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(31px, 3vw, 43px); font-weight: 500; }
.panini-detail-heading span { display: block; margin-top: 4px; color: var(--soft); font-size: 10px; }
.panini-detail-steppers { display: flex; gap: 6px; }
.panini-detail-steppers button:disabled { cursor: not-allowed; opacity: .42; }
.panini-source-layer,
.panini-translation-layer,
.panini-vrtti-layer,
.panini-commentary-layer,
.panini-learner-layer,
.panini-example-layer,
.panini-terms,
.panini-enrichment-grid,
.panini-context-sources,
.panini-verification-note { margin: 20px 24px 0; padding: 21px; border: 1px solid var(--line); border-radius: 14px; }
.panini-source-layer { border-color: color-mix(in srgb, var(--gold) 76%, var(--line)); background: var(--surface); box-shadow: inset 5px 0 0 var(--gold); }
.panini-translation-layer { background: color-mix(in srgb, var(--surface) 82%, var(--wash)); box-shadow: inset 5px 0 0 color-mix(in srgb, var(--ink) 32%, var(--line)); }
.panini-vrtti-layer { background: color-mix(in srgb, var(--surface) 86%, var(--table-hit, var(--wash))); box-shadow: inset 5px 0 0 color-mix(in srgb, var(--gold) 55%, var(--ink)); }
.panini-commentary-layer { background: var(--surface); box-shadow: inset 5px 0 0 color-mix(in srgb, var(--orange) 62%, var(--line)); }
.panini-learner-layer { border-style: dashed; background: var(--wash); box-shadow: inset 5px 0 0 var(--orange); }
.panini-layer-label { display: flex; gap: 10px; align-items: center; }
.panini-layer-label > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: var(--surface); background: var(--ink); font-size: 9px; font-weight: 900; }
.panini-layer-label > div { display: grid; gap: 2px; }
.panini-layer-label strong { font-family: var(--serif); font-size: 18px; }
.panini-layer-label small { color: var(--soft); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.panini-devanagari { margin: 22px 0 6px; font-family: "Tiro Devanagari Sanskrit", serif; font-size: clamp(38px, 5vw, 64px); line-height: 1.15; }
.panini-transliteration { display: grid; gap: 3px; padding-top: 13px; border-top: 1px solid var(--line); }
.panini-transliteration span { color: var(--soft); font-size: 8px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.panini-transliteration strong { color: var(--orange-dark); font-family: var(--serif); font-size: clamp(21px, 2.2vw, 29px); font-weight: 500; }
.panini-record-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; padding-top: 13px; border-top: 1px solid var(--line); }
.panini-record-links a { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; color: var(--orange-dark); background: var(--surface); font-size: 10px; font-weight: 850; text-decoration: none; }
.panini-record-links a:hover { border-color: var(--orange); background: var(--table-hit, var(--wash)); }
.panini-source-fallback { margin: 20px 0 8px; padding: 13px 15px; border-left: 4px solid var(--gold); color: var(--soft); background: var(--wash); font-size: 11px; line-height: 1.55; }
.panini-translation-layer > p,
.panini-learner-layer > p { margin: 18px 0 9px; font-family: var(--serif); font-size: clamp(19px, 1.7vw, 24px); line-height: 1.55; }
.panini-translation-layer > small,
.panini-learner-layer > small,
.panini-vrtti-layer > small { display: block; color: var(--soft); font-size: 10px; line-height: 1.5; }
.panini-domain-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 15px; }
.panini-domain-tags span { padding: 5px 8px; border: 1px solid color-mix(in srgb, var(--orange) 42%, var(--line)); border-radius: 999px; color: var(--orange-dark); background: var(--surface); font-size: 9px; font-weight: 800; }
.panini-vasu-sutra { margin: 18px 0 5px; color: var(--orange-dark); font-family: "Tiro Devanagari Sanskrit", serif; font-size: 23px; line-height: 1.45; }
.panini-vrtti-text { margin: 0 0 10px; font-family: "Tiro Devanagari Sanskrit", serif; font-size: clamp(18px, 1.65vw, 22px); line-height: 1.65; }
.panini-commentary-copy { margin-top: 19px; color: color-mix(in srgb, var(--ink) 90%, var(--soft)); font-family: var(--serif); font-size: 16px; line-height: 1.72; }
.panini-commentary-copy p { margin: 0 0 1.05em; }
.panini-commentary-copy h4 { margin: 1.5em 0 .55em; color: var(--orange-dark); font-family: var(--serif); font-size: 21px; }
.panini-commentary-copy ul { margin: 0 0 1.1em; padding-left: 1.4em; }
.panini-commentary-copy li + li { margin-top: .45em; }
.panini-commentary-copy em { color: var(--orange-dark); }
.panini-commentary-empty { margin: 18px 0 0; padding: 13px 15px; border-left: 4px solid var(--gold); color: var(--soft); background: var(--wash); font: 11px/1.6 var(--sans); }
.panini-commentary-loading > p { margin: 17px 0 0; color: var(--soft); font-size: 11px; }
.panini-identifier-note { margin: 20px 24px 0; padding: 14px 16px; border: 1px dashed var(--gold); border-radius: 12px; background: color-mix(in srgb, var(--wash) 82%, var(--gold)); }
.panini-identifier-note strong { color: var(--orange-dark); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.panini-identifier-note p { margin: 4px 0 0; color: var(--soft); font-size: 10px; line-height: 1.55; }
.panini-example-layer > div:first-child h3,
.panini-terms h3 { margin: 4px 0; font-family: var(--serif); font-size: 25px; }
.panini-example-layer > div:first-child > p:last-child { margin: 0 0 14px; color: var(--soft); font-size: 11px; line-height: 1.5; }
.panini-example-cards { display: grid; gap: 9px; }
.panini-example-cards article { display: grid; gap: 4px; padding: 16px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.panini-example-cards strong { color: var(--orange-dark); font-family: "Tiro Devanagari Sanskrit", serif; font-size: clamp(23px, 2.4vw, 31px); font-weight: 500; }
.panini-example-cards span { font-family: var(--serif); font-size: 17px; }
.panini-example-cards em { color: var(--ink); font-family: var(--serif); font-size: 14px; }
.panini-example-cards small,
.panini-no-example { margin: 3px 0 0; color: var(--soft); font-size: 10px; line-height: 1.5; }
.panini-example-table th,
.panini-example-table td { text-align: center; }
.panini-example-table td { font-family: var(--serif); font-size: 15px; }
.panini-example-layer > small { display: block; margin-top: 9px; color: var(--soft); font-size: 9px; line-height: 1.5; }
.panini-terms { margin-bottom: 20px; }
.panini-terms > div:last-child { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 13px; }
.panini-terms article { display: grid; grid-template-columns: auto 1fr; gap: 0 9px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.panini-terms article > span { grid-row: 1/3; color: var(--orange-dark); font-family: "Tiro Devanagari Sanskrit", serif; font-size: 24px; }
.panini-terms article > strong { font-family: var(--serif); font-size: 16px; }
.panini-terms article > p { margin: 3px 0 0; color: var(--soft); font-size: 10px; line-height: 1.45; }
.panini-enrichment-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0; border: 0; }
.panini-enrichment-grid article { padding: 18px; border: 1px solid var(--line); border-radius: 13px; background: color-mix(in srgb, var(--surface) 85%, var(--wash)); }
.panini-enrichment-grid ul,
.panini-enrichment-grid ol { margin: 11px 0 0; padding-left: 1.3em; color: var(--ink); font-size: 11px; line-height: 1.6; }
.panini-enrichment-grid li + li { margin-top: 6px; }
.panini-enrichment-grid article > p:not(.kicker),
.panini-enrichment-grid small { display: block; margin: 10px 0 0; color: var(--soft); font-size: 10px; line-height: 1.55; }
.panini-context-sources { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; background: var(--wash); }
.panini-context-sources article > div { display: grid; gap: 8px; margin-top: 10px; }
.panini-context-sources a { display: grid; gap: 3px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); background: var(--surface); text-decoration: none; }
.panini-context-sources a:hover { border-color: var(--orange); }
.panini-context-sources a strong { color: var(--orange-dark); font-family: var(--serif); font-size: 14px; }
.panini-context-sources a span { color: var(--soft); font-size: 9px; line-height: 1.45; }
.panini-verification-note { display: grid; gap: 8px; border-style: dashed; background: color-mix(in srgb, var(--wash) 90%, var(--gold)); }
.panini-verification-note > div { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.panini-verification-note > div strong { padding: 5px 8px; border-radius: 999px; color: var(--surface); background: var(--ink); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.panini-verification-note > div span,
.panini-verification-note p { margin: 0; color: var(--soft); font-size: 10px; line-height: 1.55; }
.panini-variant-layer { margin: 20px 24px 0; padding: 18px 21px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--surface) 84%, var(--wash)); }
.panini-variant-layer > div { display: grid; gap: 8px; margin-top: 10px; }
.panini-variant-layer article { display: grid; gap: 4px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.panini-variant-layer article > span { color: var(--orange-dark); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.panini-variant-layer article > strong { font-family: "Tiro Devanagari Sanskrit", var(--serif); font-size: 22px; font-weight: 500; }
.panini-variant-layer article > small { color: var(--soft); font-size: 10px; line-height: 1.45; }
.panini-source-only-notice { margin-bottom: 20px; }
.panini-source-only-notice > a { display: inline-flex; margin-top: 12px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--orange-dark); background: var(--surface); font-size: 10px; font-weight: 850; text-decoration: none; }
.panini-source-only-notice > a:hover { border-color: var(--orange); background: var(--table-hit, var(--wash)); }
.panini-crosslink-note { margin: 0 24px 24px; padding: 14px 16px; border: 1px dashed var(--line); border-radius: 12px; background: var(--wash); }
.panini-crosslink-note strong { color: var(--orange-dark); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.panini-crosslink-note p { margin: 4px 0 0; color: var(--soft); font-size: 10px; line-height: 1.5; }
.panini-provenance { margin-top: 24px; padding: 26px; }
.panini-provenance-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 18px; }
.panini-provenance-heading h2 { margin: 0; font-family: var(--serif); font-size: clamp(31px, 3vw, 44px); font-weight: 500; }
.panini-provenance-heading > p { max-width: 470px; margin: 0; color: var(--soft); line-height: 1.5; text-align: right; }
.panini-provenance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.panini-provenance-grid article { padding: 19px; border: 1px solid var(--line); border-radius: 13px; background: var(--wash); }
.panini-provenance-grid article > span { color: var(--orange-dark); font-size: 8px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.panini-provenance-grid h3 { margin: 7px 0; font-family: var(--serif); font-size: 21px; }
.panini-provenance-grid p { margin: 0; color: var(--soft); font-size: 11px; line-height: 1.6; }
.panini-provenance-grid code,
.panini-file-note code { overflow-wrap: anywhere; color: var(--ink); }
.panini-source-links { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px; }
.panini-source-links a { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; color: var(--orange-dark); background: var(--surface); font-size: 10px; font-weight: 850; text-decoration: none; }
.panini-source-links a:hover { border-color: var(--orange); background: var(--table-hit, var(--wash)); }
.panini-file-note { margin: 14px 0 0; color: var(--soft); font-size: 10px; line-height: 1.55; }

@media (max-width: 1080px) {
  .panini-reference-shell { grid-template-columns: 1fr; }
  .panini-sutra-detail { order: 1; }
  .panini-navigation {
    order: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1081px) {
  .panini-navigation {
    position: sticky;
    top: 82px;
    max-height: calc(100vh - 98px);
    padding-right: 8px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
  .panini-sutra-list { max-height: none; overflow-y: visible; scrollbar-gutter: auto; }
  .panini-navigation::-webkit-scrollbar { width: 8px; }
  .panini-navigation::-webkit-scrollbar-thumb { border-radius: 999px; background: color-mix(in srgb, var(--orange) 38%, transparent); }
  .panini-navigation::-webkit-scrollbar-track { background: transparent; }
}

@media (max-width: 720px) {
  .panini-hero { background-position: 62% center; }
  .panini-hero > div { max-width: 82%; }
  .panini-hero h2 { font-size: clamp(42px, 12vw, 58px); }
  .panini-scope-note { grid-template-columns: 1fr; gap: 9px; }
  .panini-scope-note > span { justify-self: start; }
  .panini-navigation { grid-template-columns: 1fr; }
  .panini-search-form > div { grid-template-columns: 1fr 1fr; }
  .panini-search-form input { grid-column: 1/-1; min-height: 46px; }
  .panini-detail-heading { align-items: flex-start; flex-direction: column; padding: 19px; }
  .panini-detail-steppers { width: 100%; }
  .panini-detail-steppers button { flex: 1; }
  .panini-source-layer,
  .panini-translation-layer,
  .panini-vrtti-layer,
  .panini-commentary-layer,
  .panini-learner-layer,
  .panini-example-layer,
  .panini-terms,
  .panini-enrichment-grid,
  .panini-context-sources,
  .panini-verification-note,
  .panini-variant-layer { margin-right: 15px; margin-left: 15px; padding: 17px; }
  .panini-identifier-note { margin-right: 15px; margin-left: 15px; }
  .panini-commentary-copy { font-size: 15px; line-height: 1.68; }
  .panini-terms > div:last-child { grid-template-columns: 1fr; }
  .panini-enrichment-grid,
  .panini-context-sources { grid-template-columns: 1fr; }
  .panini-crosslink-note { margin-right: 15px; margin-left: 15px; }
  .panini-provenance { padding: 19px 15px; }
  .panini-provenance-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .panini-provenance-heading > p { text-align: left; }
  .panini-provenance-grid { grid-template-columns: 1fr; }
}

/* HOME DONATION */
.home-donation {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(285px, 31vw, 430px);
  margin-top: 34px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--gold) 64%, var(--line));
  border-radius: 22px;
  background-color: #fbf5e5;
  background-image: linear-gradient(90deg, rgba(251,247,236,.99) 0%, rgba(251,247,236,.94) 36%, rgba(251,247,236,.52) 56%, rgba(251,247,236,.05) 75%), url("home-donation-v1.png");
  background-position: center;
  background-size: cover;
  box-shadow: 0 16px 38px rgba(54,43,23,.1);
}
.home-donation-copy { position: relative; z-index: 1; width: min(54%, 670px); padding: clamp(26px, 4vw, 58px); }
.home-donation h2 { margin: 0 0 13px; color: var(--ink); font-family: var(--serif); font-size: clamp(36px, 4.5vw, 62px); font-weight: 500; letter-spacing: -.035em; }
.home-donation h2 span:last-child { margin-left: .18em; font-family: var(--dev); font-size: .84em; }
.home-donation-copy > p:not(.eyebrow) { max-width: 610px; margin: 0; color: var(--soft); font-size: 15px; line-height: 1.65; }
.home-donation-status { display: flex; align-items: center; gap: 15px; margin-top: 21px; }
.home-donation-button { display: inline-flex; min-height: 46px; flex: 0 0 auto; align-items: center; justify-content: center; gap: 7px; padding: 10px 18px; border: 1px solid var(--orange); border-radius: 999px; color: #fff; font-weight: 850; background: var(--orange-dark); box-shadow: 0 8px 18px color-mix(in srgb, var(--ink) 10%, transparent); text-decoration: none; }
.home-donation-button:hover, .home-donation-button:focus-visible { border-color: var(--gold); background: var(--orange); transform: translateY(-1px); }
.home-donation-status small { max-width: 360px; color: var(--soft); font-size: 11px; line-height: 1.45; }

@media (max-width: 720px) {
  .home-donation {
    align-items: flex-end;
    min-height: 430px;
    background-image: linear-gradient(0deg, rgba(251,247,236,.99) 0%, rgba(251,247,236,.95) 44%, rgba(251,247,236,.35) 70%, rgba(251,247,236,.04) 100%), url("home-donation-v1.png");
    background-position: 69% center;
  }
  .home-donation-copy { width: 100%; padding: 22px; }
  .home-donation h2 { font-size: clamp(34px, 10vw, 48px); }
  .home-donation-status { align-items: flex-start; flex-direction: column; gap: 9px; }
  .verb-search-results { padding: 14px; }
  .verb-search-results-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
  .verb-search-results-heading p { text-align: left; }
  .verb-search-result-list { grid-template-columns: 1fr; }
}

/* CONTACT */
.contact-hero {
  min-height: clamp(300px, 29vw, 410px);
  background-image:
    linear-gradient(90deg, rgba(251,247,236,.98) 0%, rgba(251,247,236,.9) 36%, rgba(251,247,236,.22) 61%, rgba(251,247,236,.02) 78%),
    url("hero-contact-v1.png");
  background-position: center;
  background-size: cover;
}
.contact-hero > div { max-width: 56%; }
.contact-content { max-width: 1180px; margin: 0 auto; }
.contact-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(250px, .55fr); gap: 20px; align-items: start; }
.contact-form, .contact-privacy-note { border: 1px solid var(--line); border-radius: 18px; background: var(--surface-raised); box-shadow: 0 12px 30px color-mix(in srgb, var(--ink) 7%, transparent); }
.contact-form { display: grid; gap: 17px; padding: clamp(21px, 3vw, 34px); }
.contact-field { display: grid; gap: 7px; }
.contact-field label { color: var(--ink); font-weight: 850; }
.contact-field label span { color: var(--soft); font-size: 11px; font-weight: 650; }
.contact-field input, .contact-field textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 11px; color: var(--ink); background: var(--control); font: inherit; }
.contact-field input { min-height: 48px; }
.contact-field textarea { min-height: 190px; line-height: 1.55; resize: vertical; }
.contact-field input:focus, .contact-field textarea:focus { border-color: var(--orange); outline: 3px solid color-mix(in srgb, var(--orange) 18%, transparent); outline-offset: 1px; }
.contact-field small { color: var(--soft); font-size: 11px; line-height: 1.45; }
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-submit { min-height: 50px; padding: 11px 18px; border: 1px solid var(--orange); border-radius: 11px; color: #fff; background: var(--orange-dark); cursor: pointer; font-weight: 900; }
.contact-submit:hover, .contact-submit:focus-visible { border-color: var(--gold); background: var(--orange); }
.contact-submit:disabled { cursor: wait; opacity: .65; }
.contact-status { min-height: 1.5em; margin: -3px 0 0; color: var(--soft); font-size: 12px; line-height: 1.5; }
.contact-status.is-success { color: var(--ink); font-weight: 800; }
.contact-status.is-error { color: var(--orange-dark); font-weight: 800; }
.contact-privacy-note { padding: clamp(20px, 2.5vw, 29px); border-left: 5px solid var(--gold); }
.contact-privacy-note h3 { margin: 7px 0 12px; color: var(--ink); font: 600 clamp(24px, 2.5vw, 34px)/1.15 var(--serif); }
.contact-privacy-note > p:not(.kicker) { margin: 10px 0 0; color: var(--soft); line-height: 1.6; }
.contact-donation { margin-top: 24px; }
.contact-share-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(190px, auto);
  align-items: center;
  gap: 20px;
  margin-top: 24px;
  padding: clamp(21px, 3vw, 32px);
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(125deg, var(--surface-raised), var(--wash));
  box-shadow: 0 12px 30px color-mix(in srgb, var(--ink) 7%, transparent);
}
.contact-share-icon { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--orange-dark); background: var(--surface-raised); font-size: 29px; font-weight: 800; }
.contact-share-card h3 { margin: 6px 0 8px; color: var(--ink); font: 600 clamp(25px, 2.6vw, 36px)/1.12 var(--serif); }
.contact-share-card p:not(.kicker) { max-width: 680px; margin: 0; color: var(--soft); line-height: 1.55; }
.contact-share-card .contact-share-url { margin-top: 8px; font-size: 12px; font-weight: 850; }
.contact-share-url a { color: var(--orange-dark); }
.contact-share-action { display: grid; justify-items: stretch; gap: 8px; }
.contact-share-action button { min-height: 48px; padding: 11px 19px; border: 1px solid var(--orange); border-radius: 999px; color: #fff; background: var(--orange-dark); cursor: pointer; font-weight: 900; }
.contact-share-action button:hover, .contact-share-action button:focus-visible { border-color: var(--gold); background: var(--orange); }
.contact-share-action button:disabled { cursor: wait; opacity: .65; }
.contact-share-action small { max-width: 220px; color: var(--soft); font-size: 10px; line-height: 1.4; text-align: center; }

@media (max-width: 760px) {
  .contact-hero {
    min-height: 320px;
    background-image:
      linear-gradient(90deg, rgba(251,247,236,.98) 0%, rgba(251,247,236,.9) 50%, rgba(251,247,236,.28) 78%, rgba(251,247,236,.04) 100%),
      url("hero-contact-v1.png");
    background-position: 66% center;
  }
  .contact-hero > div { max-width: 72%; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-form { padding: 19px; }
  .contact-share-card { grid-template-columns: auto minmax(0, 1fr); gap: 15px; }
  .contact-share-action { grid-column: 1 / -1; }
  .contact-share-action small { max-width: none; }
}

/* CENTRED RIGHTS AND SANDHI RULE DIALOGS */
.rights-summary-backdrop[hidden], .sandhi-rule-backdrop[hidden] { display: none; }
.rights-summary-backdrop, .sandhi-rule-backdrop {
  position: fixed;
  z-index: 320;
  inset: 0;
  display: grid;
  padding: 20px;
  place-items: center;
  background: color-mix(in srgb, var(--ink) 54%, transparent);
  backdrop-filter: blur(8px);
}
body.rights-summary-open, body.sandhi-rule-open { overflow: hidden; }
.rights-summary-dialog, .sandhi-rule-dialog {
  position: relative;
  width: min(100%, 650px);
  max-height: min(88vh, 780px);
  overflow-y: auto;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid var(--gold);
  border-radius: 23px;
  color: var(--ink);
  background: var(--surface-raised);
  box-shadow: 0 28px 80px rgba(17, 32, 28, .36);
}
.rights-summary-close, .sandhi-rule-close { position: absolute; top: 13px; right: 13px; display: grid; width: 40px; height: 40px; padding: 0; border: 1px solid var(--line); border-radius: 50%; place-items: center; color: var(--ink); background: var(--surface); cursor: pointer; font-size: 27px; line-height: 1; }
.rights-summary-close:hover, .rights-summary-close:focus-visible, .sandhi-rule-close:hover, .sandhi-rule-close:focus-visible { border-color: var(--orange); outline: 3px solid color-mix(in srgb, var(--orange) 20%, transparent); color: var(--orange-dark); }
.rights-summary-heading { padding-right: 44px; }
.rights-summary-heading h2, .sandhi-rule-dialog h2 { margin: 5px 0 0; font: 600 clamp(29px, 4vw, 40px)/1.08 var(--serif); }
.rights-summary-dialog > #rights-summary-intro { margin: 17px 0 0; color: var(--soft); line-height: 1.55; }
.rights-summary-list { display: grid; gap: 9px; margin: 18px 0 0; padding: 0; list-style: none; }
.rights-summary-list li { padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--wash); line-height: 1.45; }
.rights-summary-note { margin: 15px 0 0; color: var(--soft); font-size: 12px; line-height: 1.55; }
.rights-summary-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.rights-summary-actions button, .sandhi-rule-source { min-height: 45px; padding: 11px 16px; border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font-weight: 900; }
.rights-summary-details, .sandhi-rule-source { color: #fff; border-color: var(--orange) !important; background: var(--orange-dark); }
.rights-summary-dismiss { color: var(--ink); background: var(--surface); }
.sandhi-rule-dialog { width: min(100%, 590px); }
.sandhi-rule-dialog > .kicker { padding-right: 48px; }
.sandhi-rule-dev { margin: 18px 0 0; color: var(--orange-dark); font: 500 clamp(27px, 5vw, 38px)/1.25 var(--sanskrit-serif); }
.sandhi-rule-iast { margin: 3px 0 0; color: var(--ink-2); font: 650 18px/1.3 var(--serif); }
.sandhi-rule-number { margin: 5px 0 0; color: var(--soft); font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.sandhi-rule-selected, .sandhi-rule-example { display: grid; gap: 5px; margin-top: 18px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--wash); }
.sandhi-rule-selected span, .sandhi-rule-example > span { color: var(--soft); font-size: 9px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.sandhi-rule-selected strong { color: var(--ink); font: 650 21px/1.25 var(--serif); }
.sandhi-rule-dialog > #sandhi-rule-explanation { margin: 15px 0 0; color: var(--soft); font-size: 12px; line-height: 1.55; }
.sandhi-rule-example strong { color: var(--ink); font: 500 25px/1.35 var(--sanskrit-serif); }
.sandhi-rule-example b { color: var(--orange-dark); font: 650 17px/1.3 var(--serif); }
.sandhi-rule-example em { color: var(--soft); font-size: 12px; }
.sandhi-rule-source { display: inline-flex; align-items: center; margin-top: 18px; text-decoration: none; }
@media (max-width: 520px) {
  .rights-summary-backdrop, .sandhi-rule-backdrop { padding: 9px; }
  .rights-summary-dialog, .sandhi-rule-dialog { padding: 23px 18px 19px; border-radius: 18px; }
  .rights-summary-actions { display: grid; }
}

/* PHONE HOME-SCREEN GUIDE */
.install-guide-backdrop[hidden], .install-guide-steps[hidden], .install-guide-install[hidden] { display: none; }
.install-guide-backdrop {
  position: fixed;
  z-index: 300;
  inset: 0;
  display: grid;
  align-items: end;
  padding: 18px;
  background: color-mix(in srgb, var(--ink) 50%, transparent);
  backdrop-filter: blur(8px);
}
body.install-guide-open { overflow: hidden; }
.install-guide {
  position: relative;
  width: min(100%, 520px);
  max-height: min(88vh, 760px);
  margin: 0 auto;
  overflow-y: auto;
  padding: 24px;
  border: 1px solid var(--gold);
  border-radius: 24px 24px 18px 18px;
  color: var(--ink);
  background: var(--surface-raised);
  box-shadow: 0 28px 80px rgba(17, 32, 28, .34);
}
.install-guide-close { position: absolute; top: 13px; right: 13px; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid var(--line); border-radius: 50%; color: var(--soft); background: var(--surface); cursor: pointer; font-size: 24px; line-height: 1; }
.install-guide-heading { display: flex; align-items: center; gap: 15px; padding-right: 34px; }
.install-guide-heading img { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 15px; box-shadow: 0 5px 15px color-mix(in srgb, var(--ink) 14%, transparent); }
.install-guide-heading h2 { margin: 4px 0 0; font: 600 clamp(29px, 8vw, 38px)/1.04 var(--serif); letter-spacing: -.02em; }
.install-guide > p:not(.install-guide-status) { margin: 17px 0 0; color: var(--soft); font-size: 14px; line-height: 1.55; }
.install-guide-steps { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: install-step; }
.install-guide-steps li { display: grid; grid-template-columns: 30px 1fr; column-gap: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; background: var(--wash); counter-increment: install-step; }
.install-guide-steps li::before { grid-row: 1 / 3; content: counter(install-step); display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; color: #fff; background: var(--orange-dark); font-size: 12px; font-weight: 900; }
.install-guide-steps b { font-size: 13px; line-height: 1.3; }
.install-guide-steps span { margin-top: 3px; color: var(--soft); font-size: 11px; line-height: 1.4; }
.install-guide-status { min-height: 1.2em; margin: 11px 0 0; color: var(--orange-dark); font-size: 11px; font-weight: 750; }
.install-guide-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 14px; }
.install-guide-actions button { min-height: 48px; padding: 10px 15px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; font-weight: 900; }
.install-guide-install { color: #fff; border-color: var(--orange) !important; background: var(--orange-dark); }
.install-guide-dismiss { grid-column: -2 / -1; background: var(--surface); }
.install-guide-install:not([hidden]) + .install-guide-dismiss { grid-column: auto; }
@media (display-mode: standalone) { .install-guide-backdrop { display: none !important; } }
@media (min-width: 821px) { .install-guide-backdrop { display: none !important; } }
@media (max-width: 390px) {
  .install-guide-backdrop { padding: 8px; }
  .install-guide { padding: 20px 17px 17px; border-radius: 21px 21px 14px 14px; }
  .install-guide-heading img { width: 56px; height: 56px; flex-basis: 56px; }
}

/* BOUNDED SANSKRIT PARSER */
.parser-hero {
  background-image:
    linear-gradient(90deg, rgba(251,247,236,.98) 0%, rgba(251,247,236,.9) 37%, rgba(251,247,236,.25) 60%, rgba(251,247,236,.02) 78%),
    url("hero-parser-v1.png");
  background-position: center;
  background-size: cover;
}
.parser-hero > div { max-width: 58%; }
.parser-content { max-width: 1440px; margin: 0 auto; }
.parser-coverage { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:24px 0; }
.parser-coverage article { display:grid; gap:3px; padding:16px 18px; border:1px solid var(--line); border-radius:13px; background:var(--wash); }
.parser-coverage strong { color:var(--orange-dark); font-family:var(--serif); font-size:28px; line-height:1; }
.parser-coverage span { color:var(--soft); font-size:10px; font-weight:750; line-height:1.35; }
.parser-mode-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; width:100%; margin-top:24px; padding:7px; border:1px solid var(--line); border-radius:14px; background:var(--paper); }
.parser-mode-tabs button { min-height:60px; padding:14px 22px; border:1px solid transparent; border-radius:9px; color:var(--soft); background:transparent; cursor:pointer; font-family:var(--serif); font-size:22px; font-weight:700; }
.parser-mode-tabs button:hover,.parser-mode-tabs button:focus-visible,.parser-mode-tabs button.active { border-color:var(--line); color:var(--ink); background:var(--surface-raised); }
.parser-mode-tabs button.active { box-shadow:inset 0 -3px 0 var(--orange); }
.parser-mode-tabs button:focus-visible,.parser-form :focus-visible { outline:3px solid color-mix(in srgb,var(--orange) 35%,transparent); outline-offset:2px; }
.parser-workspace { margin-top:18px; padding:clamp(20px,3vw,34px); border:1px solid var(--line); border-radius:19px; background:var(--surface-raised); box-shadow:0 14px 35px color-mix(in srgb,var(--ink) 7%,transparent); }
.parser-workspace[hidden],.parser-generation-grid[hidden] { display:none; }
.parser-workspace-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.parser-workspace-heading h3 { margin:2px 0 0; font-family:var(--serif); font-size:clamp(32px,4vw,48px); }
.parser-workspace-heading > p { max-width:700px; margin:0; color:var(--soft); line-height:1.55; text-align:right; }
.parser-form { margin-top:22px; }
.parser-form > label,.parser-generation-form > label { display:block; margin-bottom:7px; color:var(--orange-dark); font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.parser-analysis-form > div { display:grid; grid-template-columns:minmax(220px,1fr) auto auto auto; gap:8px; }
.parser-form input,.parser-form select { min-width:0; min-height:46px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--surface); font-family:var(--serif); font-size:16px; }
.parser-analysis-form input { padding:13px 16px; font-size:20px; }
.parser-form button { min-height:44px; padding:10px 15px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--surface); cursor:pointer; font-weight:800; }
.parser-form button[type="submit"] { border-color:var(--orange); color:#fff; background:var(--orange-dark); }
.parser-form button:hover { border-color:var(--orange); background:var(--table-hit); }
.parser-form button[type="submit"]:hover { color:#fff; background:var(--orange-dark); }
.parser-examples { margin-bottom:2px; }
.parser-analysis-results { margin-top:18px; }
.parser-result-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-top:18px; padding:18px 20px 12px; }
.parser-result-heading h3 { margin:2px 0 0; font-family:var(--serif); font-size:27px; }
.parser-result-heading > p { max-width:480px; margin:0; color:var(--soft); font-size:11px; line-height:1.45; text-align:right; }
.parser-lexical-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.parser-lexical-grid article { display:grid; grid-template-columns:auto minmax(0,1fr); gap:3px 12px; padding:16px; border:1px solid var(--line); border-radius:13px; background:var(--wash); }
.parser-lexical-grid article > span { grid-row:1/4; font-family:var(--sanskrit-serif); font-size:31px; }
.parser-lexical-grid strong,.parser-lexical-grid small { display:block; }
.parser-lexical-grid strong { color:var(--orange-dark); font-family:var(--serif); font-size:19px; }
.parser-lexical-grid small { margin-top:2px; color:var(--soft); font-size:9px; line-height:1.35; }
.parser-lexical-grid p { margin:6px 0 0; font-size:12px; line-height:1.4; }
.parser-lexical-grid em { color:var(--soft); font-size:9px; font-style:normal; }
.parser-result-note { margin-top:15px; padding:16px 18px; border:1px dashed var(--line); border-radius:12px; background:var(--wash); }
.parser-result-note p { margin:4px 0 0; color:var(--soft); font-size:11px; line-height:1.45; }
.parser-generation-form > select { width:min(100%,360px); }
.parser-generation-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:18px; padding-top:18px; border-top:1px solid var(--line); }
.parser-generation-grid label { display:grid; gap:5px; min-width:0; color:var(--soft); font-size:10px; font-weight:800; }
.parser-generation-grid label > span { letter-spacing:.05em; text-transform:uppercase; }
.parser-generation-actions { display:flex; gap:8px; margin-top:18px; }
.parser-generation-results { margin-top:18px; }
.parser-generated-card { padding:clamp(22px,4vw,38px); border:1px solid color-mix(in srgb,var(--gold) 68%,var(--line)); border-radius:17px; background:var(--paper); box-shadow:inset 6px 0 0 var(--gold); }
.parser-generated-card h3 { margin:4px 0 16px; font-family:var(--serif); font-size:clamp(24px,3vw,38px); font-weight:600; }
.parser-generated-forms { display:flex; flex-wrap:wrap; gap:12px; padding:18px; border:1px solid var(--line); border-radius:13px; background:var(--surface-raised); }
.parser-generated-pair { display:grid; gap:2px; min-width:145px; }
.parser-generated-pair b { color:var(--ink); font-family:var(--sanskrit-serif); font-size:clamp(34px,4vw,54px); font-weight:500; line-height:1.1; }
.parser-generated-pair small { color:var(--orange-dark); font-family:var(--serif); font-size:18px; }
.parser-generated-card dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; margin:18px 0; border-top:1px solid var(--line); }
.parser-generated-card dl > div { display:grid; grid-template-columns:minmax(110px,.7fr) 1.3fr; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); }
.parser-generated-card dt { color:var(--soft); font-size:9px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.parser-generated-card dd { margin:0; font-family:var(--serif); font-size:13px; }
.parser-generated-card > small { display:block; color:var(--soft); font-size:10px; line-height:1.55; }
.parser-scope-note { margin-top:22px; padding:18px 20px; border-left:5px solid var(--gold); border-radius:0 12px 12px 0; background:var(--wash); }
.parser-scope-note strong { color:var(--ink); }
.parser-scope-note p { margin:5px 0 0; color:var(--soft); font-size:11px; line-height:1.6; }
.parser-scope-note .parser-coverage { margin:16px 0 0; }

@media (max-width:980px) {
  .parser-coverage { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .parser-generation-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .parser-lexical-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .parser-generated-card dl { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .parser-hero > div { max-width:84%; }
  .parser-hero > b { display:none; }
  .parser-mode-tabs { grid-template-columns:1fr; max-width:none; }
  .parser-mode-tabs button { min-height:52px; padding:12px 16px; font-size:19px; }
  .parser-workspace-heading,.parser-result-heading { align-items:flex-start; flex-direction:column; gap:8px; }
  .parser-workspace-heading > p,.parser-result-heading > p { text-align:left; }
  .parser-analysis-form > div { grid-template-columns:1fr 1fr; }
  .parser-analysis-form input { grid-column:1/-1; }
  .parser-generation-grid,.parser-lexical-grid { grid-template-columns:1fr; }
  .parser-generation-actions { flex-direction:column; }
  .parser-generation-actions button { width:100%; }
  .parser-generated-card dl > div { grid-template-columns:1fr; gap:3px; }
}
@media (max-width:430px) {
  .parser-coverage { grid-template-columns:1fr; }
  .parser-analysis-form > div { grid-template-columns:1fr; }
  .parser-analysis-form input { grid-column:1; }
}

/* SHARED TABLE AXIS SELECTION */
table:not(#matrix):not(#simple-matrix):not(.number-table) th,
table:not(#matrix):not(#simple-matrix):not(.number-table) td {
  cursor: pointer;
  transition: background-color .14s ease, box-shadow .14s ease;
}
table:not(#matrix):not(#simple-matrix):not(.number-table) .table-axis-row {
  background: color-mix(in srgb, var(--orange) 14%, var(--table-cell)) !important;
}
table:not(#matrix):not(#simple-matrix):not(.number-table) .table-axis-column {
  background: color-mix(in srgb, var(--gold) 29%, var(--table-cell)) !important;
}
table:not(#matrix):not(#simple-matrix):not(.number-table) .table-axis-cross {
  background: color-mix(in srgb, var(--orange) 38%, var(--table-cell)) !important;
  box-shadow: inset 0 0 0 3px color-mix(in srgb, var(--orange) 74%, transparent);
}
table:not(#matrix):not(#simple-matrix):not(.number-table) thead .table-axis-column,
table:not(#matrix):not(#simple-matrix):not(.number-table) tbody th.table-axis-row {
  color: var(--ink);
  background: color-mix(in srgb, var(--gold) 42%, var(--table-head)) !important;
}
table:not(#matrix):not(#simple-matrix):not(.number-table) th:focus-visible,
table:not(#matrix):not(#simple-matrix):not(.number-table) td:focus-visible {
  position: relative;
  z-index: 4;
  outline: 3px solid color-mix(in srgb, var(--orange) 78%, transparent);
  outline-offset: -3px;
}

/* Interactive states must inherit the selected palette; these selectors
   replace early Parchment-era literals that otherwise leak into other themes. */
#matrix td button:hover { background: var(--table-hit); }
#matrix th.selected { background: var(--table-hit); }
#matrix td.row-highlight { background: color-mix(in srgb, var(--orange) 12%, var(--table-cell)); }
#matrix td.column-highlight { background: color-mix(in srgb, var(--gold) 23%, var(--table-cell)); }
#matrix td.cross-highlight { background: color-mix(in srgb, var(--orange) 35%, var(--table-cell)); }
.simple-matrix th.selected { background: var(--table-hit); }
.simple-matrix td.simple-row-highlight { background: color-mix(in srgb, var(--orange) 12%, var(--table-cell)); }
.simple-matrix td.simple-column-highlight { background: color-mix(in srgb, var(--gold) 23%, var(--table-cell)); }
.simple-matrix td.simple-cross-highlight { background: color-mix(in srgb, var(--orange) 35%, var(--table-cell)); }
.verb-grade-table .verb-dictionary-cell { background: var(--table-rowhead) !important; }
.verb-entry-row.search-hit > * { background-color: var(--table-hit) !important; }
.grade-example-table .selected-grade { background: var(--table-hit); box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--orange) 25%, transparent); }
.dictionary-result-count { background: var(--table-head); }
.dictionary-result-button:hover { background: var(--table-hit); }
.dictionary-result-button.active { background: var(--table-hit); }
.dictionary-search-row > .dictionary-keyboard-toggle,
.grade-example-back { background: var(--surface-raised); }
.dictionary-search-row > .dictionary-keyboard-toggle:hover,
.dictionary-search-row > .dictionary-keyboard-toggle.active { background: var(--table-hit); }

.generated-cache-status {
  margin: 0;
  padding: 10px 13px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  border-radius: 9px;
  color: var(--soft);
  background: var(--wash);
  font-size: 11px;
  line-height: 1.45;
}
.generated-cache-status strong { color: var(--ink); }

/* Keep the complete conjunct table's column headings available while scrolling. */
.app-frame.conjunct-table-open { overflow: visible; }
.matrix-wrap.matrix-zoomed { max-height: calc(100vh - 92px); overflow: auto; }
.matrix-wrap.matrix-zoomed #matrix thead th { top: 0; }

/* Parser script pairs use equal visual size with the correct font for each script. */
.analysis-heading > span,
.analysis-heading b { font-size: clamp(30px, 3vw, 38px); line-height: 1.08; }
.analysis-heading > span { font-family: var(--sanskrit-serif); }
.analysis-heading b { font-family: var(--iast-font); font-weight: 600; }
.analysis-card > div b,
.analysis-card > div small { font-size: 19px; }
.analysis-card > div b { font-family: var(--iast-font); }
.analysis-card > div small { font-family: var(--sanskrit-serif); }
.analysis-root-card > span,
.analysis-root-card > b { font-size: 24px; }

/* Source-backed parser segmentation and dictionary evidence. */
.parser-source-analysis,
.parser-dictionary-panel { margin-top: 18px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.parser-source-analysis > .parser-result-heading,
.parser-dictionary-panel > .parser-result-heading { margin-top: 0; }
.parser-segmentation { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; margin: 0 20px 16px; padding: 18px; border-left: 5px solid var(--gold); border-radius: 0 12px 12px 0; background: var(--wash); }
.parser-segmentation > span,
.parser-segmentation > strong { font-size: clamp(26px, 3vw, 36px); font-weight: 600; line-height: 1.15; }
.parser-segmentation > span { font-family: var(--sanskrit-serif); }
.parser-segmentation > strong { color: var(--orange-dark); font-family: var(--iast-font); }
.parser-segmentation > small { grid-column: 1 / -1; margin-top: 7px; color: var(--soft); line-height: 1.5; }
.parser-segmentation > small b,
.parser-segmentation > small i { color: var(--ink); font-size: 16px; font-style: normal; }
.parser-component-grid,
.parser-dictionary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 0 20px 20px; }
.parser-component-grid article,
.parser-dictionary-grid article { display: flex; min-width: 0; flex-direction: column; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-raised); }
.parser-component-grid article > span,
.parser-component-grid article > strong { font-size: 24px; line-height: 1.1; }
.parser-component-grid article > span { font-family: var(--sanskrit-serif); }
.parser-component-grid article > strong { margin-top: 3px; color: var(--orange-dark); font-family: var(--iast-font); }
.parser-component-grid article > b { margin-top: 9px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.parser-component-grid article > p { margin: 6px 0; line-height: 1.45; }
.parser-component-grid article > small { margin-top: auto; color: var(--soft); font-size: 10px; line-height: 1.4; }
.parser-analysis-caveat { margin: 0 20px 10px; padding: 13px 15px; color: var(--soft); background: var(--wash); font-size: 11px; line-height: 1.55; }
.parser-analysis-sources { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 20px 20px; }
.parser-analysis-sources button,
.parser-dictionary-grid button { min-height: 38px; padding: 8px 11px; border: 1px solid var(--line); border-radius: 9px; color: var(--orange-dark); background: var(--surface); cursor: pointer; font-weight: 800; }
.parser-analysis-sources button:hover,
.parser-dictionary-grid button:hover { border-color: var(--orange); background: var(--table-hit); }
.parser-dictionary-grid article { gap: 9px; }
.parser-dictionary-grid h4 { margin: 0; }
.parser-dictionary-grid h4 span,
.parser-dictionary-grid h4 strong { display: block; overflow-wrap: anywhere; font-size: 25px; line-height: 1.1; }
.parser-dictionary-grid h4 span { font-family: var(--sanskrit-serif); font-weight: 500; }
.parser-dictionary-grid h4 strong { margin-top: 3px; color: var(--orange-dark); font-family: var(--iast-font); }
.parser-dictionary-grid p { margin: 3px 0; font-size: 12px; line-height: 1.52; }
.parser-dictionary-grid small { margin-top: auto; color: var(--soft); font-size: 10px; line-height: 1.4; }
.parser-dictionary-grid button { margin-top: 4px; }

@media (max-width: 980px) {
  .parser-component-grid,
  .parser-dictionary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .analysis-heading { align-items: flex-start; flex-direction: column; }
  .parser-segmentation { grid-template-columns: 1fr; }
  .parser-component-grid,
  .parser-dictionary-grid { grid-template-columns: 1fr; }
}

/* SANDHI ARCHITECTURE AND SOURCE-BOUNDED HELP TOOLS */
.sandhi-category-tabs { border-bottom:1px solid var(--line); box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 6%,transparent); }
.sandhi-category-tabs button { min-height:62px; font-size:clamp(18px,2vw,24px); letter-spacing:.08em; text-transform:uppercase; }
.sandhi-category-panel { min-height:54vh; }
.sandhi-subtabs { display:grid; grid-template-columns:repeat(2,minmax(0,260px)); justify-content:center; gap:8px; padding:12px clamp(15px,3vw,44px); border-bottom:1px solid var(--line); background:var(--paper); }
.sandhi-subtabs.sandhi-overview-tabs,.sandhi-subtabs.sandhi-tool-tabs { grid-template-columns:repeat(2,minmax(0,260px)); }
.sandhi-subtabs button { min-height:48px; padding:10px 16px; border:1px solid var(--line); border-radius:999px; color:var(--soft); background:var(--surface); cursor:pointer; font:800 14px/1 var(--sans); letter-spacing:.09em; text-transform:uppercase; }
.sandhi-subtabs button:hover,.sandhi-subtabs button:focus-visible { border-color:var(--orange); color:var(--ink); }
.sandhi-subtabs button.active { border-color:color-mix(in srgb,var(--orange) 70%,var(--line)); color:var(--ink); background:var(--table-hit); box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--orange) 25%,transparent); }
.sandhi-decision-card > p { max-width:88ch; }
.sandhi-decision-card .sandhi-table { min-width:760px; }
.sandhi-tool-card { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:var(--surface-raised); box-shadow:0 12px 34px color-mix(in srgb,var(--ink) 5%,transparent); }
.sandhi-tool-form { padding:clamp(18px,3vw,30px); border-bottom:1px solid var(--line); background:var(--wash); }
.sandhi-tool-form > label { display:block; margin-bottom:10px; color:var(--ink); font:750 17px/1.3 var(--sans); }
.sandhi-tool-form > div:first-of-type { display:grid; grid-template-columns:minmax(230px,1fr) minmax(170px,auto) auto auto auto; gap:9px; }
.sandhi-tool-form input,.sandhi-tool-form select,.sandhi-tool-form button { min-height:50px; border:1px solid var(--line); border-radius:11px; font:700 15px/1.2 var(--sans); }
.sandhi-tool-form input { min-width:0; padding:10px 15px; color:var(--ink); background:var(--surface); font-family:var(--iast-font); font-size:20px; }
.sandhi-tool-form select { padding:9px 34px 9px 12px; color:var(--ink); background:var(--surface); }
.sandhi-tool-form button { padding:10px 18px; color:#fffaf0; background:var(--orange-dark); cursor:pointer; }
.sandhi-tool-form button:last-child { color:var(--orange-dark); background:var(--surface); }
.sandhi-tool-form button:hover,.sandhi-tool-form button:focus-visible { border-color:var(--orange); box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 18%,transparent); }
.sandhi-tool-form > p { margin:13px 0 0; color:var(--soft); font-size:12px; line-height:1.55; }
.sandhi-tool-form code { padding:1px 5px; border-radius:5px; color:var(--ink); background:var(--surface-raised); font-family:var(--iast-font); }
.sandhi-tool-form > .sandhi-keyboard { display:flex; flex-direction:column; gap:9px; margin-top:13px; padding:13px; border:1px solid var(--line); border-radius:11px; background:var(--surface-raised); }
.sandhi-tool-form > .sandhi-keyboard[hidden] { display:none; }
.sandhi-keyboard .verb-keyboard-group > span { width:155px; }
.sandhi-keyboard .verb-keyboard-group button { color:var(--ink); background:var(--surface); font-family:var(--iast-font); }
.sandhi-tool-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; min-height:160px; padding:clamp(18px,3vw,30px); }
.sandhi-tool-empty { grid-column:1/-1; align-self:center; padding:24px; color:var(--soft); text-align:center; }
.sandhi-tool-empty strong { display:block; margin-bottom:4px; color:var(--ink); font:600 24px/1.2 var(--serif); }
.sandhi-tool-empty p { max-width:70ch; margin:0 auto; line-height:1.55; }
.sandhi-tool-summary { grid-column:1/-1; padding:0 2px 8px; }
.sandhi-tool-summary strong { display:block; color:var(--ink); font:600 23px/1.2 var(--serif); }
.sandhi-tool-summary p { margin:4px 0 0; color:var(--soft); font-size:12px; line-height:1.5; }
.sandhi-tool-result-grid { display:grid; grid-column:1/-1; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.sandhi-tool-result { display:grid; min-width:0; grid-template-columns:minmax(130px,.72fr) minmax(0,1.28fr); gap:16px; padding:18px; border:1px solid var(--line); border-left:5px solid var(--gold); border-radius:12px; background:var(--surface); }
.sandhi-result-scripts { min-width:0; align-self:start; }
.sandhi-result-scripts span,.sandhi-result-scripts strong { display:block; overflow-wrap:anywhere; }
.sandhi-result-scripts span { font:600 clamp(24px,3vw,34px)/1.15 var(--sanskrit-serif); }
.sandhi-result-scripts strong { margin-top:5px; color:var(--orange-dark); font:600 clamp(18px,2.3vw,25px)/1.15 var(--iast-font); }
.sandhi-result-meta > p:first-child { margin:0 0 4px; color:var(--soft); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.sandhi-result-meta h3 { margin:0 0 9px; color:var(--ink); font:600 20px/1.2 var(--serif); overflow-wrap:anywhere; }
.sandhi-result-meta dl { margin:0; }
.sandhi-result-meta dl > div { display:grid; grid-template-columns:auto 1fr; gap:6px 12px; padding:4px 0; }
.sandhi-result-meta dt { color:var(--soft); font-size:10px; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.sandhi-result-meta dd { min-width:0; margin:0; font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.sandhi-result-meta > p:not(:first-child),.sandhi-result-meta > small { display:block; margin:8px 0 0; color:var(--soft); font-size:11px; line-height:1.5; }
.sandhi-result-meta button { margin-top:13px; min-height:38px; padding:8px 12px; border:1px solid var(--line); border-radius:9px; color:var(--orange-dark); background:var(--surface-raised); cursor:pointer; font-weight:800; }
.sandhi-tool-boundary,.sandhi-source-panel { margin-top:18px; padding:16px 19px; border-left:5px solid var(--gold); border-radius:0 12px 12px 0; color:var(--soft); background:var(--wash); font-size:12px; line-height:1.6; }
.sandhi-tool-boundary strong,.sandhi-source-panel strong { color:var(--ink); }
.sandhi-tool-boundary p,.sandhi-source-panel p { margin:4px 0 0; }
.internal-vowel-content { display:flex; flex-direction:column; }
.internal-vowel-content > .topic-heading { order:1; }
.internal-vowel-content > .sandhi-contents-bar { order:2; }
.internal-vowel-content > .sandhi-intro { order:3; }
.internal-vowel-content > .vowel-rule-families { order:4; }
.internal-vowel-content > #sandhi-vowel-simple { order:5; }
.internal-vowel-content > #sandhi-vowel-complex { order:6; }
.vowel-rule-families { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:18px; }
.vowel-rule-families .sandhi-card { min-width:0; margin:0; }
.vowel-rule-families .sandhi-distinction-card { grid-column:1/-1; }
.sandhi-card > .kicker { margin:0 0 7px; color:var(--orange-dark); font-size:12.5px; line-height:1.35; letter-spacing:.14em; }
.sandhi-contrast-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:17px; }
.sandhi-contrast-grid > div { padding:15px; border:1px solid var(--line); border-radius:11px; background:var(--wash); }
.sandhi-contrast-grid span,.sandhi-contrast-grid strong,.sandhi-contrast-grid small { display:block; }
.sandhi-contrast-grid span { color:var(--soft); font:800 10px/1.3 var(--sans); letter-spacing:.08em; text-transform:uppercase; }
.sandhi-contrast-grid strong { margin:7px 0; color:var(--ink); font:600 22px/1.25 var(--iast-font); }
.sandhi-contrast-grid small { color:var(--orange-dark); font-weight:800; }
.sandhi-map-note { margin:0 0 18px; padding:16px 19px; border-left:5px solid var(--gold); border-radius:0 12px 12px 0; color:var(--soft); background:var(--wash); font-size:12px; line-height:1.6; }
.sandhi-map-note strong { color:var(--ink); }
.sandhi-map-note p { margin:4px 0 0; }
.sandhi-map-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.sandhi-map-steps article { padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface-raised); }
.sandhi-map-steps article > span { color:var(--orange-dark); font:850 10px/1.3 var(--sans); letter-spacing:.09em; text-transform:uppercase; }
.sandhi-map-steps h3 { margin:5px 0 8px; color:var(--ink); font:600 23px/1.15 var(--serif); }
.sandhi-map-steps p { margin:0; color:var(--soft); font-size:12px; line-height:1.55; }
.sandhi-map-steps article div { display:flex; flex-direction:column; gap:7px; }
.sandhi-map-steps a { padding:9px 11px; border:1px solid var(--line); border-radius:9px; color:var(--orange-dark); background:var(--surface); font-size:12px; font-weight:800; text-decoration:none; }
.sandhi-overview-example-list { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.sandhi-overview-example-list li { padding:8px 10px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.sandhi-overview-example-list strong,.sandhi-overview-example-list small { display:block; }
.sandhi-overview-example-list small { margin-top:3px; color:var(--soft); font:600 11px/1.45 var(--iast-font); letter-spacing:0; text-transform:none; }
.sandhi-overview-example-list small [lang|="sa"] { color:var(--ink); font-size:16px; }
.sandhi-overview-example-list.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.sandhi-family-map { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.sandhi-family-map .sandhi-card { min-width:0; margin:0; }
.sandhi-family-map dl { margin:17px 0 0; }
.sandhi-family-map dl > div { padding:11px 0; border-top:1px solid var(--line); }
.sandhi-family-map dt { color:var(--orange-dark); font:700 16px/1.25 var(--serif); }
.sandhi-family-map dt > span,.sandhi-family-map dt > b,.sandhi-family-map dt > small { display:block; }
.sandhi-family-map dt > span { color:var(--ink); font:700 19px/1.3 var(--sanskrit-serif); }
.sandhi-family-map dt > b { margin-top:3px; color:var(--orange-dark); font:700 16px/1.25 var(--iast-font); }
.sandhi-family-map dt > small { margin-top:2px; color:var(--soft); font:700 9px/1.35 var(--sans); letter-spacing:.06em; text-transform:uppercase; }
.sandhi-family-map dd { margin:4px 0 0; color:var(--soft); font-size:11px; line-height:1.5; }
.sandhi-family-map dd > a { display:inline-block; margin-top:8px; color:var(--orange-dark); font-weight:800; }
.sandhi-overview-example { display:block; margin-top:7px; padding:7px 9px; border-radius:8px; color:var(--ink); background:var(--wash); }
.sandhi-overview-example b,.sandhi-overview-example small { display:block; overflow-wrap:anywhere; }
.sandhi-overview-example b { color:var(--orange-dark); font:700 13px/1.35 var(--iast-font); }
.sandhi-overview-example small { margin-top:2px; color:var(--ink); font:500 17px/1.3 var(--sanskrit-serif); }
.sandhi-overview-example em { display:block; margin-top:3px; color:var(--soft); font-size:10px; line-height:1.35; }
.sandhi-overview-content .sandhi-source-panel a { color:var(--orange-dark); font-weight:800; }
.sandhi-explain-nav { position:sticky; top:68px; z-index:8; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; margin:0 0 18px; padding:9px; border:1px solid var(--line); border-radius:14px; background:color-mix(in srgb,var(--surface) 94%,transparent); box-shadow:0 8px 24px color-mix(in srgb,var(--ink) 7%,transparent); backdrop-filter:blur(8px); }
.sandhi-explain-nav button { min-height:42px; padding:8px 10px; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:var(--surface-raised); cursor:pointer; font:800 11px/1.25 var(--sans); }
.sandhi-explain-nav button:hover,.sandhi-explain-nav button:focus-visible { border-color:var(--orange); color:var(--orange-dark); }
.sandhi-contents-bar button.is-current,
.sandhi-explain-nav button.is-current,
.verb-root-jump-bar button.is-current,
.nominal-jump-bar button.is-current,
.paradigm-jump-bar button.is-current {
  border-color:var(--orange);
  color:#fff;
  background:var(--orange-dark);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--orange) 20%,transparent);
}
.sandhi-page-final-conditions { margin-top:4px; }
.sandhi-lesson-section { margin:0 0 22px; padding:clamp(20px,3vw,32px); scroll-margin-top:128px; border:1px solid var(--line); border-radius:18px; background:var(--surface-raised); box-shadow:0 12px 34px color-mix(in srgb,var(--ink) 5%,transparent); }
.sandhi-lesson-section > header { max-width:88ch; }
.sandhi-lesson-section > header h3 { margin:5px 0 7px; color:var(--ink); font:600 clamp(25px,3vw,39px)/1.12 var(--serif); }
.sandhi-lesson-section > header > p:last-child { margin:0; color:var(--soft); line-height:1.62; }
.sandhi-lesson-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:20px; }
.sandhi-lesson-family-heading { grid-column:1/-1; margin:12px 0 0; padding-bottom:8px; border-bottom:1px solid var(--line); color:var(--orange-dark); font:800 12px/1.3 var(--sans); letter-spacing:.09em; text-transform:uppercase; }
.sandhi-lesson-family-heading:first-child { margin-top:0; }
.sandhi-lesson-card { display:flex; min-width:0; flex-direction:column; padding:18px; border:1px solid var(--line); border-left:5px solid var(--gold); border-radius:12px; background:var(--surface); }
.sandhi-lesson-card h4 { margin:0 0 7px; color:var(--ink); font:600 22px/1.2 var(--serif); }
.sandhi-lesson-card > p { margin:0; color:var(--soft); font-size:12px; line-height:1.58; }
.sandhi-lesson-example { margin:15px 0; padding:13px; border-radius:10px; background:var(--wash); }
.sandhi-lesson-example span,.sandhi-lesson-example small { display:block; overflow-wrap:anywhere; }
.sandhi-lesson-example span { color:var(--orange-dark); font:600 19px/1.35 var(--iast-font); }
.sandhi-lesson-example small { margin-top:5px; color:var(--ink); font:500 24px/1.3 var(--sanskrit-serif); }
.sandhi-lesson-card button { align-self:flex-start; margin-top:auto; min-height:40px; padding:8px 12px; border:1px solid var(--line); border-radius:9px; color:var(--orange-dark); background:var(--surface-raised); cursor:pointer; font-weight:800; }
.sandhi-lesson-card button:hover,.sandhi-lesson-card button:focus-visible { border-color:var(--orange); box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 18%,transparent); }

/* Visible outlines for interactive controls. Buttons embedded in bordered table
   cells retain the table cell as their outline so dense paradigms stay legible. */
.clear,
.direction button,
.theme-menu button,
.reading-word-line button,
.sentence-token-line button,
.epic-text-choice button,
.epic-token,
.epic-iast-token,
.pronunciation-mode button,
.dictionary-search-modes button,
.parser-mode-tabs button {
  border-color: var(--line);
  border-style: solid;
  border-width: 1px;
}
.sandhi-help-return { position:fixed; right:clamp(14px,3vw,34px); bottom:clamp(14px,3vw,28px); z-index:30; min-height:48px; padding:11px 17px; border:1px solid color-mix(in srgb,var(--orange) 68%,var(--line)); border-radius:999px; color:#fffaf0; background:var(--orange-dark); box-shadow:0 12px 30px color-mix(in srgb,var(--ink) 24%,transparent); cursor:pointer; font:800 13px/1 var(--sans); }
.sandhi-help-return[hidden] { display:none; }
.sandhi-linked-rule { position:relative; outline:4px solid var(--orange)!important; outline-offset:-4px; animation:sandhi-linked-pulse 1.2s ease-out 1; }
@keyframes sandhi-linked-pulse { 0% { box-shadow:inset 0 0 0 999px color-mix(in srgb,var(--gold) 48%,transparent); } 100% { box-shadow:none; } }
.sandhi-decision-table [data-sandhi-script-pair] small,
#sandhi-bartholomae .sandhi-table [data-sandhi-script-pair] small,
#sandhi-scutva .sandhi-table [data-sandhi-script-pair] small,
#sandhi-jastva .sandhi-table [data-sandhi-script-pair] small { display:block; margin-top:3px; color:var(--soft); font-family:var(--sanskrit-serif); font-size:17px; line-height:1.35; }
#sandhi-scutva .scutva-working-table td:last-child small { display:block; margin-top:5px; color:var(--soft); font:500 11px/1.45 var(--sans); }

@media (max-width:900px) {
  .sandhi-tool-results,.sandhi-tool-result-grid,.sandhi-lesson-list,.sandhi-family-map { grid-template-columns:1fr; }
  .sandhi-tool-form > div:first-of-type { grid-template-columns:1fr 1fr; }
  .sandhi-tool-form input { grid-column:1/-1; }
  .sandhi-explain-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .sandhi-category-tabs button { min-height:54px; font-size:16px; }
  .sandhi-subtabs,.sandhi-subtabs.sandhi-overview-tabs,.sandhi-subtabs.sandhi-tool-tabs { overflow-x:auto; grid-template-columns:none; grid-auto-columns:minmax(132px,1fr); grid-auto-flow:column; }
  .vowel-rule-families,.sandhi-map-steps,.sandhi-contrast-grid,.sandhi-overview-example-list.compact { grid-template-columns:1fr; }
  .vowel-rule-families .sandhi-distinction-card { grid-column:auto; }
  .sandhi-tool-form > div:first-of-type { grid-template-columns:1fr; }
  .sandhi-tool-form input { grid-column:1; }
  .sandhi-tool-form > div:first-of-type > button,.sandhi-tool-form > div:first-of-type > select { width:100%; }
  .sandhi-keyboard .verb-keyboard-group > span { flex-basis:100%; width:auto; }
  .sandhi-tool-results { padding:14px; }
  .sandhi-tool-result { grid-template-columns:1fr; }
  .sandhi-result-meta dl > div { grid-template-columns:1fr; gap:2px; }
  .sandhi-result-meta dd { margin-bottom:6px; }
  .sandhi-explain-nav { position:static; grid-template-columns:1fr; }
  .sandhi-lesson-section { scroll-margin-top:72px; }
  .sandhi-help-return { right:10px; bottom:10px; max-width:calc(100vw - 20px); }
}

@media (max-width:760px) {
  .verb-class-map .verb-class-overview { min-width:1280px; }
}

@media (max-width:720px) {
  .context-return-shell { top:66px; width:calc(100% - 20px); }
  .context-return-button { max-width:calc(100vw - 20px); }
  .vocabulary-table thead th { top:0; }
}
