@font-face {
  font-family: "Noto Serif Devanagari";
  src: url("./assets/fonts/noto-serif-devanagari-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans Devanagari";
  src: url("./assets/fonts/noto-sans-devanagari-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Noto Sans Devanagari";
  src: url("./assets/fonts/noto-sans-devanagari-600.ttf") format("truetype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Kalimati";
  src: url("./assets/fonts/kalimati-nepali.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Noto Serif Devanagari";
  src: url("./assets/fonts/noto-serif-devanagari-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

:root {
  --devanagari-font: "Noto Serif Devanagari", "Nirmala UI", "Mangal", serif;
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #17231d;
  background: #edf3ec;
}

:root[data-devanagari-font="noto-sans"] { --devanagari-font: "Noto Sans Devanagari", "Nirmala UI", "Mangal", sans-serif; }
:root[data-devanagari-font="kalimati"] { --devanagari-font: "Kalimati", "Nirmala UI", "Mangal", sans-serif; }
:root[data-devanagari-font="system"] { --devanagari-font: "Nirmala UI", "Kohinoor Devanagari", "Devanagari Sangam MN", "Mangal", sans-serif; }

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
.platform-page { font-family: var(--devanagari-font); font-synthesis: none; text-rendering: optimizeLegibility; }
button, input, select, textarea { font: inherit; }

.shell { width: min(1050px, calc(100% - 32px)); margin: 0 auto; padding: 64px 0 48px; }
.eyebrow { margin: 0 0 14px; color: #357357; font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
h1 { max-width: 760px; margin: 0; font-family: Georgia, serif; font-size: clamp(2.35rem, 5vw, 4.5rem); font-weight: 500; letter-spacing: -.045em; line-height: 1; }
.lede { max-width: 900px; margin: 24px 0 38px; color: #526159; font-size: 1.08rem; line-height: 1.65; }

.workspace { overflow: hidden; border: 1px solid #c7d4ca; border-radius: 24px; background: rgba(255,255,255,.76); box-shadow: 0 24px 70px rgba(31,58,43,.10); }
.toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; border-bottom: 1px solid #dce4de; }
.language { display: flex; align-items: center; gap: 10px; font-weight: 700; }
.language span { display: grid; box-sizing: border-box; width: 32px; height: 32px; padding-top: .14em; place-items: center; border-radius: 50%; background: #d9eadb; color: #21633f; font-family: var(--devanagari-font); font-weight: 600; line-height: 1; }
.language small { padding: 3px 7px; border-radius: 999px; background: #edf2ee; color: #68776e; font-size: .68rem; letter-spacing: .06em; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; }
button { border: 0; cursor: pointer; }
.action { padding: 9px 13px; border-radius: 10px; background: #e6eee8; color: #294536; font-weight: 700; }
.action.primary { background: #245d3e; color: white; }

.panes { display: grid; grid-template-columns: 1fr 1fr; }
.pane { min-width: 0; padding: 22px; }
.pane + .pane { border-left: 1px solid #dce4de; background: rgba(246,249,246,.75); }
label { display: block; margin-bottom: 12px; color: #617067; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
textarea { width: 100%; min-height: 420px; resize: vertical; border: 0; outline: 0; background: transparent; color: #17231d; font-size: 1.35rem; line-height: 1.7; }
#devanagari-output { font-family: var(--devanagari-font); font-size: 1.55rem; }
#devanagari-output { cursor: text; }

.suggestions { padding: 15px 22px 20px; border-top: 1px solid #dce4de; }
.suggestions-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.suggestions-label { margin: 0; color: #617067; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.learning-toggle { display: flex; align-items: center; gap: 9px; margin: 16px 0 0; color: #294536; font-size: .9rem; font-weight: 750; letter-spacing: 0; text-transform: none; cursor: pointer; }
.learning-toggle input { width: 16px; height: 16px; margin: 0; accent-color: #245d3e; }
.candidate { display: inline-flex; align-items: center; gap: 8px; margin: 0 8px 8px 0; padding: 8px 13px; border: 1px solid #cbd9ce; border-radius: 999px; background: white; font-family: var(--devanagari-font); font-size: 1rem; }
.candidate:hover { border-color: #32734f; background: #edf7ef; }
.candidate.selected { border-color: #245d3e; background: #245d3e; color: white; box-shadow: 0 0 0 2px rgba(36,93,62,.14); }
.candidate kbd { color: #748179; font: 700 .68rem/1 ui-sans-serif, system-ui, sans-serif; }
.candidate.selected kbd { color: #cfe4d6; }
.candidate em { padding-left: 3px; color: #6d7b72; font: 600 .68rem/1 ui-sans-serif, system-ui, sans-serif; }
.candidate.selected em { color: #dbeadf; }
.candidate.contextual:not(.selected), .candidate.nepali-equivalent:not(.selected), .candidate.standard:not(.selected) { border-color: #79a98b; background: #f2f8f3; }
.engine2-pilot-status { display: inline-flex; margin: .75rem 0 0; padding: .35rem .7rem; border: 1px solid #79a98b; border-radius: 999px; background: #f2f8f3; color: #285d43; font: 700 .78rem/1.2 system-ui, sans-serif; letter-spacing: .02em; }
.engine2-review-capture{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:10px;margin:0 0 16px;padding:13px 15px;border:1px solid #d7c59a;border-radius:14px;background:#fff8df;color:var(--ink);font-family:var(--devanagari-font)}
.engine2-review-capture>div{display:grid;gap:2px}.engine2-review-capture span{color:var(--muted);font-size:.78rem}.engine2-review-capture p{margin:0;white-space:nowrap}.engine2-review-capture button{padding:8px 11px;border:1px solid #cdbb8d;border-radius:8px;background:#fffdf7;color:var(--ink);font-weight:800;cursor:pointer}
.engine2-review-metrics{display:flex;gap:12px;margin:0}.engine2-review-metrics>div{display:grid;justify-items:center;gap:2px;min-width:62px}.engine2-review-metrics dt{color:var(--muted);font-size:.66rem;white-space:nowrap}.engine2-review-metrics dd{margin:0;font:800 1rem/1 system-ui,sans-serif}.engine2-review-reasons{margin-top:3px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:760px){.engine2-review-capture{grid-template-columns:1fr auto}.engine2-review-capture>div{grid-column:1/-1}}
.candidate.personalized:not(.selected) { border-color: #4f8d69; background: #eaf5ed; }
.candidate.next-word { border-color: #91ad99; background: #f5f9f5; }
.candidate.next-word em { font-family: Inter, ui-sans-serif, system-ui, sans-serif; font-style: normal; }
.candidate.accepted:not(.selected) { border-color: #a9bcae; }
.candidate.loanword:not(.selected), .candidate.phonetic:not(.selected), .candidate.morphology:not(.selected), .candidate.seed:not(.selected) { border-style: dashed; }
.candidate.english em { font-style: normal; }
.hint { color: #7b887f; font-size: .9rem; }
.candidate-help { margin: 7px 0 0; color: #748179; font-size: .78rem; }
.typing-tips { margin-top: 10px; color: #65736b; font-size: .78rem; }
.typing-tips summary { width: fit-content; font-weight: 750; cursor: pointer; }
.typing-tips div { margin-top: 8px; line-height: 1.65; }
.typing-tips code { padding: 1px 5px; border-radius: 5px; background: #e8efea; color: #294536; }
.typing-tips span { font-family: var(--devanagari-font); font-size: 1rem; }
.learning-status { margin: 5px 0 0; color: #748179; font-size: .74rem; }
.settings-dialog { width: min(620px, calc(100% - 32px)); max-height: min(760px, calc(100vh - 32px)); padding: 0; overflow: auto; border: 1px solid #b9cbbd; border-radius: 20px; background: #fbfdfb; color: #17231d; box-shadow: 0 28px 90px rgba(22,48,33,.28); }
.settings-dialog::backdrop { background: rgba(18,34,25,.45); backdrop-filter: blur(3px); }
.report-dialog { width: min(650px, calc(100% - 32px)); }
.report-panel { display: grid; gap: 16px; }
.report-panel .settings-header { padding-bottom: 4px; }
.report-privacy { margin: 0; padding: 12px 14px; border-radius: 10px; background: #edf4ef; color: #40564a; font-size: .82rem; line-height: 1.55; }
.report-field { display: grid; gap: 6px; color: #24382d; font-size: .82rem; font-weight: 750; }
.report-field input, .report-field select, .report-field textarea { width: 100%; padding: 10px 11px; border: 1px solid #cbd7cf; border-radius: 9px; background: white; color: #17231d; font: inherit; font-weight: 500; }
.report-field textarea { resize: vertical; }
#report-notes { min-height: 64px; max-height: 130px; }
.report-field input:focus, .report-field select:focus, .report-field textarea:focus { border-color: #357357; outline: 2px solid rgba(53,115,87,.16); }
.report-actions { display: flex; justify-content: flex-end; gap: 10px; }
.report-status { min-height: 1.25em; margin: 0; color: #357357; font-size: .78rem; font-weight: 750; }
.settings-panel { padding: 24px; }
.settings-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 18px; }
.settings-kicker { margin: 0 0 5px; color: #357357; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.settings-header h2 { margin: 0; font-family: Georgia, serif; font-size: 1.75rem; font-weight: 500; }
.dialog-close { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #e8efea; color: #40564a; font-size: 1.45rem; line-height: 1; }
.dialog-close:hover { background: #dce8df; }
.settings-section { padding: 20px 0; border-top: 1px solid #dce4de; }
.settings-section h3 { margin: 0 0 8px; font-size: 1rem; }
.settings-section p { margin: 0; color: #617067; font-size: .86rem; line-height: 1.55; }
.font-select-label { margin: 16px 0 7px; color: #526159; font-size: .72rem; }
#devanagari-font-select { width: 100%; padding: 10px 11px; border: 1px solid #c9d7cc; border-radius: 9px; background: white; color: #294536; font: 700 .86rem Inter, ui-sans-serif, system-ui, sans-serif; }
.font-preview { margin-top: 12px; padding: 14px; border: 1px solid #d7e2d9; border-radius: 11px; background: white; color: #17231d; font-family: var(--devanagari-font); font-size: 1.35rem; line-height: 1.65; }
.settings-section .font-note { margin-top: 9px; font-size: .74rem; }
.settings-primary, .settings-secondary { padding: 9px 12px; border-radius: 9px; font-size: .8rem; font-weight: 750; }
.settings-primary { background: #245d3e; color: white; }
.settings-secondary { background: #e8efea; color: #294536; }
.settings-secondary:hover { background: #dce8df; }
.settings-secondary:disabled { cursor: default; opacity: .45; }
.settings-secondary.danger { margin-top: 12px; background: #f3ece9; color: #7a4438; }
.settings-secondary.danger:hover:not(:disabled) { background: #ecdeda; }
.profile-tasks { display: grid; gap: 10px; margin-top: 16px; }
.profile-task { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px; border: 1px solid #dce4de; border-radius: 12px; background: white; }
.profile-task div { display: grid; gap: 3px; }
.profile-task strong { color: #294536; font-size: .84rem; }
.profile-task span { color: #748179; font-size: .75rem; line-height: 1.4; }
.profile-task button { flex: 0 0 auto; }
.settings-section .profile-status { min-height: 1.2em; margin-top: 10px; color: #357357; font-size: .76rem; font-weight: 700; }
.advanced-restore { margin-top: 14px; padding-top: 12px; border-top: 1px solid #e5ebe6; }
.advanced-restore summary { color: #65736b; font-size: .76rem; font-weight: 750; cursor: pointer; }
.replace-profile-toggle { display: flex; align-items: flex-start; gap: 8px; margin: 13px 0 6px; color: #743f34; font-size: .8rem; font-weight: 750; letter-spacing: 0; line-height: 1.35; text-transform: none; }
.replace-profile-toggle input { margin: 2px 0 0; accent-color: #914b3c; }
.settings-section .advanced-restore p { color: #8a5a50; font-size: .74rem; }
.evidence-example { display: grid; gap: 8px; margin: 14px 0; }
.evidence-example div { display: grid; gap: 3px; padding: 11px 12px; border: 1px solid #dce4de; border-radius: 10px; background: white; }
.evidence-example strong { color: #294536; font-size: .78rem; }
.evidence-example span { color: #6d7a72; font-size: .75rem; line-height: 1.45; }
.evidence-consent-preview h3 small { display: block; margin-top: 3px; color: #65736b; font-size: .72rem; font-weight: 650; }
.settings-section .evidence-english { margin-top: 9px; font-size: .78rem; }
.evidence-consent-label span { display: grid; gap: 2px; }
.evidence-consent-label small { color: #6d7a72; font-size: .72rem; font-weight: 600; }
.settings-section .evidence-preview-warning { margin-top: 10px; color: #8a5a50; font-size: .75rem; font-weight: 700; }
.principles { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 22px; color: #526159; font-size: .9rem; }
.principles span::before { content: "✓"; margin-right: 7px; color: #2d7450; font-weight: 900; }

@media (max-width: 700px) {
  .shell { padding-top: 38px; }
  .toolbar { align-items: flex-start; flex-direction: column; }
  .actions { width: 100%; }
  .suggestions-heading { align-items: flex-start; flex-direction: column; }
  .panes { grid-template-columns: 1fr; }
  .pane + .pane { border-top: 1px solid #dce4de; border-left: 0; }
  textarea { min-height: 260px; }
  .settings-panel { padding: 20px; }
  .profile-task { align-items: stretch; flex-direction: column; }
  .profile-task button { align-self: flex-start; }
}

/* v43 platform identity */
:root {
  --ink: #10264d;
  --ink-soft: #304363;
  --crimson: #b51f4c;
  --crimson-dark: #8f173d;
  --teal: #007f7b;
  --gold: #e6a62e;
  --violet: #613f91;
  --ivory: #fbf5e9;
  --paper: #fffdf8;
  --line: #ded6c7;
  --muted: #706b62;
  background: var(--ivory);
  color: var(--ink);
}

html { scroll-behavior: smooth; }
body { background: var(--ivory); color: var(--ink); }
a { color: inherit; text-decoration: none; }
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline:3px solid rgba(0,127,123,.3);
  outline-offset:3px;
}
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 10px 14px; transform: translateY(-150%); border-radius: 8px; background: var(--ink); color: white; }
.skip-link:focus { transform: none; }
.home-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }

.site-header { position: relative; z-index: 20; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 32px; width: min(1280px, calc(100% - 48px)); margin: 0 auto; padding: 22px 0; }
.brand { display: inline-flex; align-items: center; gap: 11px; min-width: max-content; }
.brand img { width: 50px; height: 50px; object-fit: contain; }
.brand span { display: grid; line-height: 1; }
.brand strong { font-family: var(--devanagari-font); font-size: 1.2rem; font-weight: 700; }
.brand small { margin-top: 5px; color: var(--crimson); font-size: .58rem; font-weight: 900; letter-spacing: .18em; }
.brand em { max-width: 250px; margin-top: 7px; color: var(--muted); font-family: var(--devanagari-font); font-size: .63rem; font-style: normal; line-height: 1.35; }
.site-nav { display: flex; justify-content: center; gap: clamp(10px, 2vw, 26px); }
.site-nav a { position: relative; display: grid; gap: 3px; padding: 7px 3px; text-align: center; }
.site-nav a[href="./write.html"] { padding-right: 10px; padding-left: 10px; border-radius: 9px; background: rgba(0,127,123,.07); }
.site-nav a[href="./write.html"]:hover, .site-nav a[href="./write.html"].active { background: rgba(0,127,123,.13); }
.site-nav a::after { position: absolute; right: 25%; bottom: -8px; left: 25%; height: 2px; transform: scaleX(0); background: var(--crimson); content: ""; transition: transform .2s ease; }
.site-nav a:hover::after, .site-nav a.active::after { transform: scaleX(1); }
.site-nav span { font-family: var(--devanagari-font); font-size: 1.04rem; font-weight: 800; }
.site-nav small { color: var(--muted); font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }

.hero { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; min-height: 560px; padding: 42px 0 48px; }
.hero-copy { position: relative; z-index: 2; }
.hero h1, .writer-intro h1 { color: var(--ink); font-family: var(--devanagari-font); font-size: clamp(3.5rem, 7.2vw, 7rem); font-weight: 600; letter-spacing: -.045em; line-height: .98; }
.hero h1 em, .writer-intro h1 em { color: var(--crimson); font-style: normal; }
.hero-english { margin: 18px 0 0; color: var(--crimson); font-family: Georgia, serif; font-size: clamp(1.2rem, 2vw, 1.65rem); font-style: italic; }
.hero .lede { max-width: 680px; margin: 25px 0 8px; color: var(--ink-soft); font-family: var(--devanagari-font); font-size: 1.16rem; line-height: 1.75; }
.lede-english { max-width: 620px; margin: 0; color: var(--muted); font-size: .93rem; line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.home-page .hero-actions .button { flex:1 1 0; min-width:260px; }
.button { display: inline-flex; align-items: center; gap: 12px; min-height: 61px; padding: 11px 17px; border: 1px solid var(--ink); border-radius: 10px; font-weight: 800; }
.button-icon { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; }
.button-icon svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.button-copy { display: grid; gap: 3px; text-align: left; }
.button-copy strong { font-family: var(--devanagari-font); font-size: .92rem; }
.button small { font-size: .66rem; opacity: .76; }
.button-copy small[lang] { font-family: var(--devanagari-font); }
.button.primary { background: var(--crimson); border-color: var(--crimson); color: white; box-shadow: 0 9px 25px rgba(181,31,76,.2); }
.button.primary:hover { background: var(--crimson-dark); }
.button.secondary { background: rgba(255,255,255,.52); }
.button.secondary:hover { border-color: var(--crimson); color: var(--crimson-dark); }
.button.windows { background: var(--ink); border-color: var(--ink); color: #fff; box-shadow: 0 9px 25px rgba(16,38,77,.18); }
.button.windows:hover { background: #1d407a; border-color: #1d407a; }
.hero-bird { position: relative; min-height: 500px; isolation: isolate; }
.hero-bird::before { position: absolute; z-index: 1; top: 50%; left: 50%; width: min(390px, 78%); aspect-ratio: 1; border-radius: 50%; background: #fde2a4; content: ""; transform: translate(-50%, -48%); }
.hero-bird img { position: absolute; z-index: 2; top: 50%; left: 48%; width: min(620px, 118%); max-width: none; height: auto; object-fit: contain; transform: translate(-50%, -50%); filter: drop-shadow(0 28px 28px rgba(16,38,77,.15)); }

.demo-section { padding: 46px 0 62px; border-top: 1px solid var(--line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 30px; }
.section-kicker { margin: 0 0 8px; color: var(--crimson); font-family: var(--devanagari-font); font-size: .76rem; font-weight: 800; letter-spacing: .08em; }
.section-kicker.light { color: #8de0d5; }
.section-heading h2, .feature-intro h2 { max-width: 760px; margin: 0; color: var(--ink); font-family: var(--devanagari-font); font-size: clamp(2rem, 4vw, 3.7rem); font-weight: 600; line-height: 1.12; }
.text-link { color: var(--crimson); font-family: var(--devanagari-font); font-size: .84rem; font-weight: 800; }
.demo-intro { max-width: 620px; margin: 10px 0 0; color: var(--muted); font-family: var(--devanagari-font); font-size: .88rem; line-height: 1.6; }
.demo-heading-actions { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.subtle-control, .full-tool-link, .fact-control { border-radius: 9px; font-family: var(--devanagari-font); font-weight: 800; cursor: pointer; }
.subtle-control { padding: 10px 13px; border: 1px solid var(--line); background: transparent; color: var(--muted); }
.full-tool-link { padding: 12px 15px; background: var(--crimson); color: white; box-shadow: 0 8px 20px rgba(181,31,76,.16); }
.quick-demo { display: grid; grid-template-columns: 1fr 50px 1fr; gap: 14px; padding: 24px; border: 1px solid var(--line); border-radius: 22px; background: var(--paper); box-shadow: 0 22px 60px rgba(16,38,77,.08); }
.quick-demo label { margin: 0; color: var(--ink); letter-spacing: 0; text-transform: none; }
.quick-input-label { grid-column: 1; grid-row: 1; }
.quick-output-label { grid-column: 3; grid-row: 1; }
.quick-input-label { display:flex; align-items:end; justify-content:space-between; gap:12px; }
.quick-input-label #demo-char-count { font-family:var(--devanagari-font); white-space:nowrap; }
.quick-demo label span { display: block; font-family: var(--devanagari-font); font-size: .94rem; }
.quick-demo label small { color: var(--muted); font-size: .66rem; }
.quick-demo textarea { min-height: 150px; padding: 18px; border: 1px solid #e5ded1; border-radius: 12px; background: #fcfaf5; font-size: 1.25rem; resize: none; }
#quick-input { grid-column: 1; grid-row: 2; }
#quick-output { grid-column: 3; grid-row: 2; font-family: var(--devanagari-font); font-size: 1.45rem; }
.demo-arrow { display: grid; grid-column: 2; grid-row: 2; place-items: center; color: var(--crimson); font-size: 1.4rem; transform: rotate(-90deg); }
.demo-candidates { display:flex; grid-column:1 / -1; align-items:center; gap:10px; min-height:42px; padding:8px 10px; border:1px solid #ded7ca; border-radius:11px; background:#f5efe5; overflow:hidden; }
.demo-candidates-label { flex:0 0 auto; color:var(--teal); font-family:var(--devanagari-font); font-size:.72rem; font-weight:850; }
.demo-candidate-list { display:flex; min-width:0; flex-wrap:wrap; gap:6px; }
.demo-candidate-chip { display:inline-flex; align-items:center; gap:5px; min-height:28px; padding:4px 9px; border:1px solid #d2c6b5; border-radius:999px; background:var(--paper); color:var(--ink); font-family:var(--devanagari-font); cursor:pointer; }
.demo-candidate-chip:hover,.demo-candidate-chip.selected { border-color:var(--teal); background:#e1eee9; color:#075d59; }
.demo-candidate-chip strong { font-size:.84rem; }
.demo-candidate-chip small { color:var(--crimson); font-size:.58rem; }
.demo-candidate-hint { color:var(--muted); font-family:var(--devanagari-font); font-size:.7rem; }
.demo-note { display:flex; grid-column: 1 / -1; align-items:center; justify-content:space-between; gap:12px; margin: 2px 0 0; color: var(--muted); font-size: .72rem; }
.demo-note span[lang] { font-family: var(--devanagari-font); }
#demo-copy-status { color:var(--teal); font-family:var(--devanagari-font); font-weight:850; white-space:nowrap; }
.status-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: var(--teal); }

.desktop-beta { display: grid; grid-template-columns: 1.35fr .65fr; gap: 44px; align-items: center; margin-top: 16px; margin-bottom: 86px; padding: 46px 50px; border: 1px solid #d8cdbd; border-radius: 26px; background: #f2e7d4; box-shadow: 0 18px 48px rgba(16,38,77,.07); }
.desktop-beta h2 { max-width: 720px; margin: 0; font-family: var(--devanagari-font); font-size: clamp(2rem,4vw,3.4rem); line-height: 1.15; }
.desktop-beta-copy > p:not(.section-kicker) { max-width: 720px; color: var(--ink-soft); font-family: var(--devanagari-font); line-height: 1.75; }
.desktop-beta ul { display: flex; flex-wrap: wrap; gap: 9px 22px; margin: 22px 0 0; padding: 0; color: var(--muted); font-size: .78rem; list-style: none; }
.desktop-beta li::before { margin-right: 7px; color: var(--teal); content: "✓"; font-weight: 900; }
.desktop-beta-action { padding: 27px; border-radius: 18px; background: var(--paper); box-shadow: 0 16px 38px rgba(16,38,77,.09); }
.desktop-beta-action > strong { display: block; margin-top: 13px; font-size: 1.2rem; }
.desktop-beta-action > p { margin: 8px 0 20px; color: var(--muted); font-family: var(--devanagari-font); font-size: .8rem; line-height: 1.55; }
.desktop-beta-action .button { width: 100%; justify-content: center; }
.beta-pill { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #f4dbdf; color: var(--crimson-dark); font-size: .66rem; font-weight: 900; letter-spacing: .12em; }

.feature-band { margin-top: 10px; margin-bottom: 10px; padding: 64px 52px; border-radius: 28px; background: var(--ink); color: white; box-shadow: 0 22px 55px rgba(16,38,77,.12); }
.feature-grid { display: block; }
.feature-intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.feature-intro h2 { color: white; }
.feature-intro > p:last-child { max-width: 420px; margin: 0 0 7px; color: #b9c5d8; font-family: var(--devanagari-font); line-height: 1.7; text-align: right; }
.feature-points { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.feature-points article { display: block; min-height: 175px; padding: 22px; border: 1px solid rgba(255,255,255,.17); border-radius: 14px; background: rgba(255,255,255,.035); }
.feature-points article:last-child { border-bottom: 1px solid rgba(255,255,255,.17); }
.feature-points article > span { color: #8de0d5; font-family: var(--devanagari-font); font-size: .82rem; font-weight: 900; }
.feature-points h3 { margin: 28px 0 0; font-family: var(--devanagari-font); font-size: 1.22rem; }
.feature-points p { margin: 7px 0 0; color: #b9c5d8; font-family: var(--devanagari-font); font-size: .82rem; line-height: 1.5; }

.discovery-grid { display: grid; grid-template-columns: minmax(300px, .85fr) minmax(0, 1.15fr); gap: 16px; margin-bottom: 52px; }
.discovery-section { padding: 42px 0 26px; }
.discovery-section > header { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.discovery-section > header h2 { margin: 0; }
.editorial-more { color: var(--crimson); font-family: var(--devanagari-font); font-size: .82rem; font-weight: 850; }
.editorial-more:hover { color: var(--ink); }
.learn-typing-path { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 30px; margin-top: 34px; margin-bottom: 34px; padding: 30px 34px; border: 1px solid #d8cdbd; border-radius: 20px; background: linear-gradient(135deg,#f2e7d4,#e5f1ed); box-shadow: 0 15px 36px rgba(16,38,77,.07); }
.learn-typing-path h2 { margin: 3px 0 8px; }
.learn-typing-path p:last-child { max-width: 760px; margin: 0; color: var(--ink-soft); line-height: 1.7; }
.learn-typing-path > a { padding: 12px 16px; border: 1px solid var(--ink); border-radius: 10px; color: var(--ink); font-family: var(--devanagari-font); font-weight: 850; white-space: nowrap; }
.learn-typing-path > a:hover { background: var(--ink); color: white; }
.language-fact, .beautiful-word { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 18px; padding: 24px 26px; border: 1px solid #d8cdbd; border-radius: 18px; }
.language-fact { background: #f2e7d4; }
.language-fact .section-kicker { color: var(--teal); }
.language-fact { display: block; }
.language-fact #language-fact-heading { margin: 4px 0 8px; color: var(--ink); font-family: var(--devanagari-font); font-size: clamp(1.25rem, 2vw, 1.68rem); font-weight: 750; line-height: 1.35; }
.language-fact #language-fact { max-width: none; margin: 0 0 9px; color: var(--ink-soft); font-family: var(--devanagari-font); font-size: clamp(.95rem, 1.35vw, 1.12rem); font-weight: 500; line-height: 1.65; }
.language-fact a { color: var(--crimson); font-family: var(--devanagari-font); font-size: .7rem; font-weight: 800; }
.fact-footer { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-top: 10px; }
.fact-control { display: inline-flex; min-height: 40px; align-items: center; justify-content: center; padding: 8px 13px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font-size: .78rem; line-height: 1.15; text-align: center; transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.fact-control:hover { border-color: var(--crimson); background: var(--crimson); color: #fff; transform: translateY(-1px); }
.fact-control:focus-visible { outline: 3px solid rgba(190, 32, 83, .24); outline-offset: 3px; }
.beautiful-word { background: #e1eee9; }
.beautiful-word .section-kicker { color: var(--crimson); }
.beautiful-word #beautiful-word { margin: 3px 0 8px; color: var(--teal); font-family: var(--devanagari-font); font-size: clamp(2rem, 3.2vw, 3.25rem); font-weight: 700; line-height: 1.15; }
.beautiful-word #beautiful-word-meaning { max-width: 390px; margin: 0; color: var(--ink-soft); font-family: var(--devanagari-font); font-size: .92rem; line-height: 1.65; }
.beautiful-word .word-example { max-width: 430px; margin: 12px 0 0; padding-top: 11px; border-top: 1px solid rgba(0,127,123,.2); color: #46635e; font-family: var(--devanagari-font); font-size: .8rem; line-height: 1.65; }

.additional-features { padding: 48px 0; }
.additional-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.additional-feature-grid article { display:grid; min-height:138px; grid-template-columns:40px minmax(0,1fr); grid-template-rows:auto 1fr; align-content:start; gap:5px 14px; padding:19px; border: 1px solid #d8cdbd; border-radius: 16px; background: var(--paper); transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
.additional-feature-grid article:hover { border-color: #b9aa96; transform: translateY(-2px); box-shadow: 0 14px 34px rgba(16,38,77,.07); }
.additional-feature-icon { display: grid; width: 40px; height: 40px; grid-row:1 / span 2; place-items: center; border-radius: 11px; background: #e1eee9; color: var(--teal); }
.additional-feature-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.additional-feature-grid article:nth-child(2) .additional-feature-icon { background: #f4dbdf; color: var(--crimson); }
.additional-feature-grid article:nth-child(3) .additional-feature-icon { background: #f4df9f; color: #76540b; }
.additional-feature-grid article:nth-child(4) .additional-feature-icon { background: #ded7ee; color: #493176; }
.additional-feature-grid h3 { margin: 0; color: var(--ink); font-family: var(--devanagari-font); font-size: 1.02rem; line-height: 1.35; }
.additional-feature-grid p { margin: 0; color: var(--muted); font-family: var(--devanagari-font); font-size: .81rem; line-height: 1.55; }

.site-footer { padding: 38px 0; background: #eee5d7; }
.footer-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.footer-inner p { margin: 0; color: var(--muted); font-size: .75rem; }.footer-inner p[lang] { font-family: var(--devanagari-font); }
.footer-meta { display: grid; gap: 5px; text-align: right; }
.footer-meta a { color: var(--crimson); font-weight: 800; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.footer-nav { display: flex; flex-wrap: wrap; justify-content: flex-end; justify-self: end; gap: 10px 18px; text-align: right; }
.footer-nav a[aria-current="page"] { color:var(--crimson); }

.about-hero { display: grid; grid-template-columns: minmax(0,1fr) 280px; align-items: center; gap: 52px; padding: 64px 0 54px; border-bottom: 1px solid var(--line); }
.about-hero h1 { margin: 0; color: var(--ink); font-family: var(--devanagari-font); font-size: clamp(3rem,6vw,5.8rem); font-weight: 600; line-height: 1.05; }
.about-hero p:last-child { max-width: 720px; color: var(--ink-soft); font-family: var(--devanagari-font); font-size: 1.15rem; line-height: 1.75; }
.about-hero img { width: 100%; height: auto; }
.about-story { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; padding: 58px 0; }
.about-story article { padding: 30px; border: 1px solid #d8cdbd; border-radius: 18px; background: var(--paper); }
.about-story h2, .about-author h2 { margin: 0 0 14px; color: var(--ink); font-family: var(--devanagari-font); font-size: 1.65rem; line-height: 1.3; }
.about-story article > p:not(.section-kicker), .about-author p { color: var(--ink-soft); font-family: var(--devanagari-font); line-height: 1.8; }
.about-editorial { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:24px; margin-bottom:64px; padding:28px 32px; border:1px solid #c9ddd6; border-radius:18px; background:#e7f2ee; }
.about-editorial h2 { margin:4px 0 8px; font-size:clamp(1.45rem,2.6vw,2.15rem); }
.about-editorial p:last-child { max-width:760px; margin:0; color:var(--ink-soft); line-height:1.75; }
.about-editorial > a { flex:none; padding:13px 17px; border-radius:10px; background:var(--ink); color:#fff; font-weight:850; white-space:nowrap; }
@media(max-width:760px){.about-editorial{align-items:flex-start;flex-direction:column}.about-editorial>a{white-space:normal}}
.about-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px; margin-top: 24px; }
.about-actions .button { flex:1 1 210px; justify-content:center; }
.about-author { display: grid; grid-template-columns: 120px minmax(0,720px); align-items: center; gap: 28px; padding: 48px 0 72px; border-top: 1px solid var(--line); }
.about-author img { width: 100%; height: auto; border: 1px solid var(--line); border-radius: 50%; background: #fff7e8; object-fit: cover; }
.footer-nav a { color: var(--ink-soft); font-family: var(--devanagari-font); font-size: .75rem; font-weight: 700; }
.footer-brand img { width: 40px; height: 40px; }

/* Focused writer */
.writer-page { background: #f5efe4; }
.compact-header { border-bottom: 1px solid var(--line); }
.writer-shell { width: min(1240px, calc(100% - 48px)); margin: 0 auto; padding: 55px 0 70px; }
.writer-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 18px; align-items: start; }
.writer-intro { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 34px; }
.writer-intro h1 { margin: 0; font-size: clamp(2.4rem, 5vw, 4.6rem); line-height: 1.18; }
.writer-intro h1 { white-space: nowrap; }
.writer-search-bridge,.learn-search-bridge { max-width:760px; margin:16px 0 0; color:var(--ink-soft); font-family:var(--devanagari-font); font-size:.95rem; line-height:1.75; }
.writer-search-bridge span,.learn-search-bridge span { color:var(--teal); font-family:var(--sans-font); font-weight:800; }
.learn-search-bridge { max-width:850px; margin:-8px 0 28px; padding:16px 18px; border-left:4px solid var(--teal); border-radius:0 14px 14px 0; background:#edf7f4; font-size:1rem; }
.editorial-page main { padding-top:clamp(42px,7vw,88px); padding-bottom:clamp(60px,8vw,110px); }
.editorial-hero { max-width:900px; }
.editorial-hero h1 { margin:8px 0 20px; font-size:clamp(2.7rem,6vw,5rem); line-height:1.08; }
.editorial-hero > p:last-child { max-width:780px; color:var(--ink-soft); font-size:1.05rem; line-height:1.85; }
.editorial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:42px; }
.editorial-grid article { padding:28px; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.editorial-grid h2 { margin:0 0 12px; font-size:1.45rem; }
.editorial-grid p,.editorial-grid li { color:var(--ink-soft); line-height:1.8; }
.editorial-grid ul { margin:12px 0 0; padding-left:22px; }
.editorial-correction { margin-top:22px; padding:24px 28px; border-radius:18px; background:#e7f2ee; }
.editorial-correction h2 { margin:0 0 8px; }
.editorial-correction p { margin:0; color:var(--ink-soft); line-height:1.75; }
@media(max-width:720px){.editorial-grid{grid-template-columns:1fr}}
.writer-page .workspace { border-color: #d8cdbd; border-radius: 18px; background: var(--paper); box-shadow: 0 26px 70px rgba(16,38,77,.1); }
.writer-page .toolbar { padding: 13px 16px; border-color: #e6dfd3; background: #faf6ef; }
.export-menu { position: relative; }
.export-dropdown { position: absolute; z-index: 30; top: calc(100% + 7px); right: 0; min-width: 205px; padding: 7px; border: 1px solid #d8cdbd; border-radius: 11px; background: var(--paper); box-shadow: 0 16px 38px rgba(16,38,77,.16); }
.export-dropdown button { display: block; width: 100%; padding: 10px 11px; border: 0; border-radius: 7px; background: transparent; color: var(--ink); font-family: var(--devanagari-font); font-size: .78rem; font-weight: 750; text-align: left; cursor: pointer; }
.export-dropdown button:hover, .export-dropdown button:focus-visible { background: #f0e8dc; outline: none; }
.writing-utilities { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 16px; border-bottom: 1px solid #e6dfd3; background: #fffdf8; }
.symbol-palette, .document-stats { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.utility-label { margin-right: 3px; color: var(--muted); font-family: var(--devanagari-font); font-size: .68rem; font-weight: 800; }
.symbol-palette button { min-width: 31px; height: 31px; padding: 2px 7px; border: 1px solid #d8cdbd; border-radius: 7px; background: white; color: var(--ink); font-family: var(--devanagari-font); font-size: 1rem; font-weight: 750; cursor: pointer; }
.symbol-palette button:hover, .symbol-palette button:focus-visible { border-color: var(--teal); background: #edf8f5; outline: none; }
.symbol-palette .digit-converter { width: auto; font-family: ui-sans-serif,system-ui,sans-serif; font-size: .68rem; }
.document-stats { flex: 0 0 auto; gap: 12px; color: var(--muted); font-family: var(--devanagari-font); font-size: .68rem; }
.document-stats span { white-space: nowrap; }.document-stats strong { color: var(--ink-soft); }
.writer-page .language { gap: 9px; }.writer-page .language span { background: var(--ink); color: white; }.writer-page .language div { display: grid; }.writer-page .language strong { font-family: var(--devanagari-font); }.writer-page .language small { padding: 0; background: transparent; color: var(--muted); }
.writer-page .action { background: #eee7db; color: var(--ink); }.writer-page .action.primary { background: var(--crimson); color: white; }
.writer-page .pane { padding: 24px; }.writer-page .pane + .pane { border-color: #e6dfd3; background: #fbf8f2; }
.writer-page .pane label { color: var(--ink); letter-spacing: 0; text-transform: none; }.writer-page .pane label span { display: block; font-family: var(--devanagari-font); font-size: .9rem; }.writer-page .pane label small { color: var(--muted); font-size: .65rem; }
.writer-page textarea { min-height: 440px; color: var(--ink); }
.writer-page .suggestions { border-color: #e6dfd3; background: #fffdf9; }
.writer-page .candidate.selected { border-color: var(--crimson); background: var(--crimson); }
.writer-page .candidate:hover { border-color: var(--teal); background: #edf8f5; }
.writer-page .typing-tips code { background: #eee7db; color: var(--ink); }
.writer-download-note { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 16px; padding: 22px 4px 0; color: var(--muted); font-family: var(--devanagari-font); font-size: .82rem; }.writer-download-note a { color: var(--crimson); font-weight: 850; }
.typing-assistance { position: sticky; top: 18px; padding: 20px; border: 1px solid #d8cdbd; border-radius: 16px; background: #fffaf2; box-shadow: 0 16px 42px rgba(16,38,77,.08); }
.typing-assistance h2 { margin: 0 0 15px; font-family: var(--devanagari-font); font-size: 1.25rem; }
.typing-assistance dl { display: grid; gap: 0; margin: 0; }
.typing-assistance dl div { display: grid; grid-template-columns: 1fr; gap: 7px; padding: 11px 0; border-top: 1px solid #e8dfd3; }
.typing-assistance dt, .typing-assistance dd { margin: 0; }
.typing-assistance dt { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.typing-assistance kbd { display: inline-block; padding: 4px 7px; border: 1px solid #d3c7b7; border-bottom-width: 2px; border-radius: 6px; background: white; color: var(--ink); font: 750 .78rem/1.1 ui-monospace, monospace; }
.typing-assistance dd { color: var(--muted); font-family: var(--devanagari-font); font-size: .82rem; line-height: 1.5; }
.typing-assistance .featured-help { margin: 2px -8px; padding: 12px 8px; border-radius: 9px; background: #f5ecde; }
.typing-assistance .featured-help dd { color: var(--ink-soft); }.typing-assistance .featured-help strong, .typing-assistance .featured-help small, .typing-assistance dd small { display: block; }.typing-assistance .featured-help small, .typing-assistance dd small { margin-top: 4px; color: var(--muted); font-size: .72rem; }.typing-assistance .featured-help code, .typing-assistance dd code { font-family: ui-monospace,monospace; }
.typing-assistance .precision-key { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 31px; padding: 2px 8px 0; font-size: 1.18rem; line-height: 1; }.typing-assistance .double-star { gap: 3px; min-width: 50px; }.typing-assistance .double-star span { display: block; }
.typing-assistance-note { margin: 14px 0 0; padding-top: 13px; border-top: 1px solid #e8dfd3; color: var(--muted); font-family: var(--devanagari-font); font-size: .8rem; line-height: 1.6; }
.typing-report-help { margin-top: 15px; padding: 14px; border-radius: 10px; background: var(--ink); color: white; font-family: var(--devanagari-font); }.typing-report-help p { margin: 0 0 9px; font-size: .78rem; }.typing-report-help button { width: 100%; padding: 9px 10px; border-radius: 7px; background: var(--crimson); color: white; font-family: inherit; font-size: .77rem; font-weight: 850; }
.writer-footer { display: flex; justify-content: space-between; gap: 20px; padding: 24px max(24px, calc((100% - 1240px) / 2)); border-top: 1px solid var(--line); color: var(--muted); font-size: .75rem; }.writer-footer a { color: var(--crimson); font-family: var(--devanagari-font); font-weight: 800; }
.settings-dialog { border-color: #d6c9b8; background: var(--paper); color: var(--ink); }.settings-primary { background: var(--crimson); }.learning-toggle input { accent-color: var(--crimson); }

@media (max-width: 900px) {
  .writer-layout { grid-template-columns: 1fr; }.typing-assistance { position: static; }
  .writing-utilities { align-items: flex-start; flex-direction: column; }.document-stats { width: 100%; }
  .site-header { grid-template-columns: auto 1fr; }.site-nav { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; overflow-x: auto; padding: 8px 2px 12px; }
  .hero { grid-template-columns: 1fr; padding-top: 55px; }.hero-bird { position: absolute; right: -40px; bottom: 15px; width: 44%; min-height: 370px; opacity: .32; }.hero-copy { max-width: 760px; }
  .feature-intro > p:last-child { max-width: 700px; }.feature-points, .additional-feature-grid { grid-template-columns: 1fr 1fr; }.discovery-grid { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: auto 1fr; }.footer-nav, .footer-meta { justify-self: end; }
  .desktop-beta { grid-template-columns: 1fr; }
  .writer-intro { align-items: flex-start; flex-direction: column; }.writer-intro h1 { white-space: normal; }
}

@media print {
  .writer-page .site-header, .writer-intro, .writer-page .toolbar, .writing-utilities, .input-pane, .suggestions, .virtual-keyboard-wrapper, .typing-assistance, .writer-download-note, .writer-page .site-footer { display: none !important; }
  .writer-page, .writer-shell, .writer-layout, .workspace, .panes, .output-pane { width: 100%; max-width: none; margin: 0; padding: 0; border: 0; background: white; box-shadow: none; }
  .writer-page .panes { display: block; }.writer-page .output-pane textarea { min-height: 90vh; padding: 0; border: 0; color: black; font-size: 14pt; line-height: 1.75; overflow: visible; resize: none; }
}

@media (max-width: 700px) {
  .home-shell, .site-header, .writer-shell { width: min(100% - 28px, 1180px); }
  .site-header { padding: 14px 0; }.brand img { width: 43px; height: 43px; }.site-nav { gap: 22px; }
  .brand em { max-width: 185px; font-size: .57rem; }.hero { min-height: auto; padding: 48px 0 52px; }.hero h1 { font-size: clamp(3.2rem, 16vw, 5.1rem); }.hero-bird { top: 70px; right: -55px; bottom: auto; width: 68%; opacity: .18; }.hero .lede { font-size: 1rem; }
  .hero-actions { align-items: stretch; flex-direction: column; }.button { justify-content: center; }
  .desktop-beta { width: min(100% - 28px,1180px); margin-bottom: 58px; padding: 32px 23px; border-radius: 20px; }.additional-features { padding: 44px 0; }.additional-feature-grid { grid-template-columns: 1fr; }.additional-feature-grid article { min-height: auto; }
  .section-heading { align-items: flex-start; flex-direction: column; }.demo-heading-actions { align-items: stretch; flex-direction: column; width: 100%; }.subtle-control, .full-tool-link { text-align: center; }
  .quick-demo { grid-template-columns: 1fr; }.quick-input-label, .quick-output-label, #quick-input, #quick-output, .demo-candidates, .demo-note { grid-column: 1; }.quick-input-label { grid-row: 1; }#quick-input { grid-row:2; }.demo-arrow { grid-column: 1; grid-row: 3; transform: none; }.quick-output-label { grid-row: 4; }#quick-output { grid-row:5; }.demo-candidates { grid-row:6; align-items:flex-start; flex-direction:column; }.demo-note { grid-row:7; align-items:flex-start; flex-direction:column; }.quick-demo textarea { min-height: 130px; }
  .feature-band { width: min(100% - 28px, 1180px); padding: 42px 22px; border-radius: 20px; }.feature-intro { align-items: flex-start; flex-direction: column; }.feature-intro > p:last-child { text-align: left; }.feature-points { grid-template-columns: 1fr; }.language-fact, .beautiful-word { grid-template-columns: 1fr; align-items: start; padding: 22px; }.fact-control { width: 100%; }
  .footer-inner { display: flex; align-items: flex-start; flex-direction: column; }.footer-nav, .footer-meta { justify-self: auto; }.footer-meta { text-align: left; }
  .writer-shell { padding-top: 36px; }.writer-page textarea { min-height: 280px; }.writer-footer { align-items: flex-start; flex-direction: column; }
}

/* Windows Beta download */
.download-hero { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; min-height: 570px; padding: 62px 0 70px; }
.download-hero h1 { max-width: 760px; color: var(--ink); font-family: var(--devanagari-font); font-size: clamp(3.4rem,7vw,6.5rem); font-weight: 650; letter-spacing: -.055em; line-height: 1.02; }
.download-hero h1 em { color: var(--crimson); font-style: normal; }
.download-hero-copy > p:not(.section-kicker) { max-width: 650px; margin: 25px 0 0; color: var(--ink-soft); font-family: var(--devanagari-font); font-size: 1.05rem; line-height: 1.8; }
.download-hero > img { width: min(100%,500px); height: auto; justify-self: end; }
.download-trust { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 27px; }
.download-trust span { padding: 7px 11px; border: 1px solid #d8cdbd; border-radius: 999px; background: rgba(255,255,255,.55); color: var(--muted); font-size: .72rem; font-weight: 800; }
.download-options { padding: 76px 0 82px; border-top: 1px solid var(--line); }
.download-options .section-heading > .release-date { margin: 0; color: var(--muted); font-size: .78rem; font-weight: 750; }
.installer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; }
.installer-card { position: relative; padding: 30px; border: 1px solid #d8cdbd; border-radius: 20px; background: var(--paper); box-shadow: 0 18px 44px rgba(16,38,77,.07); }
.installer-card.recommended { border: 2px solid var(--crimson); }
.recommended-label { position: absolute; top: -14px; left: 25px; padding: 7px 12px; border-radius: 999px; background: var(--crimson); color: white; font-family: var(--devanagari-font); font-size: .68rem; font-weight: 800; }
.installer-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; }
.installer-heading p { margin: 0 0 7px; color: var(--crimson); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.installer-heading h3 { margin: 0; font-family: var(--devanagari-font); font-size: 1.55rem; }
.architecture { padding: 7px 9px; border-radius: 8px; background: #e1eee9; color: var(--teal); font-size: .68rem; font-weight: 900; }
.installer-card > p { min-height: 52px; color: var(--muted); font-family: var(--devanagari-font); font-size: .82rem; line-height: 1.6; }
.installer-button { display: grid; gap: 2px; margin: 22px 0; padding: 14px 17px; border-radius: 11px; background: var(--crimson); color: white; text-align: center; box-shadow: 0 10px 25px rgba(181,31,76,.18); }
.installer-button:hover { background: var(--crimson-dark); }
.installer-button strong { font-family: var(--devanagari-font); }
.installer-button small { opacity: .76; }
.installer-button.pending { pointer-events: none; background: #d8d2c7; color: #746f66; box-shadow: none; }
.file-details { display: grid; gap: 9px; margin: 0; padding-top: 18px; border-top: 1px solid var(--line); }
.file-details div { display: grid; grid-template-columns: 75px 1fr; gap: 12px; font-size: .7rem; }
.file-details dt { color: var(--muted); font-weight: 800; }.file-details dd { min-width: 0; margin: 0; color: var(--ink-soft); }
.file-details code { display: block; overflow: hidden; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.architecture-help { margin-top: 18px; padding: 17px 20px; border: 1px solid var(--line); border-radius: 13px; background: #f6efe4; }
.architecture-help summary { width: fit-content; font-family: var(--devanagari-font); font-weight: 800; cursor: pointer; }.architecture-help p { margin: 12px 0 0; color: var(--muted); font-family: var(--devanagari-font); font-size: .8rem; line-height: 1.7; }
.install-guide { display: grid; grid-template-columns: .65fr 1.35fr; gap: 50px; padding: 75px 0; border-top: 1px solid var(--line); }
.install-guide h2, .beta-expectations h2 { margin: 0; font-family: var(--devanagari-font); font-size: clamp(2rem,4vw,3.6rem); line-height: 1.15; }
.desktop-use-guide { padding: 70px 0; border-top: 1px solid var(--line); }
.desktop-use-guide .section-heading > p { max-width: 380px; color: var(--muted); line-height: 1.6; }
.guide-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.guide-grid article { padding: 26px; border: 1px solid var(--line); border-radius: 16px; background: #fffaf2; }
.guide-grid h3 { margin: 0 0 18px; font-family: var(--devanagari-font); font-size: 1.2rem; }
.guide-grid dl { display: grid; gap: 0; margin: 0; }
.guide-grid dl div { display: grid; grid-template-columns: minmax(92px,.45fr) 1fr; gap: 14px; padding: 9px 0; border-top: 1px solid #e9dfd1; }
.guide-grid dl div:first-child { border-top: 0; }
.guide-grid dt { font-family: ui-monospace, monospace; font-size: .78rem; font-weight: 800; }
.guide-grid dd, .guide-grid li, .guide-grid p { margin: 0; color: var(--muted); font-size: .83rem; line-height: 1.55; }
.guide-grid ul { display: grid; gap: 9px; margin: 0; padding-left: 20px; }
.install-steps { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.install-steps li { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.install-steps b { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--ink); color: white; font-family: var(--devanagari-font); }
.install-steps h3 { margin: 0; font-family: var(--devanagari-font); }.install-steps p { margin: 6px 0 0; color: var(--muted); font-family: var(--devanagari-font); font-size: .8rem; line-height: 1.55; }
.smartscreen-note { display: grid; grid-template-columns: 44px 1fr; gap: 19px; margin-bottom: 78px; padding: 25px 28px; border: 1px solid #e0c26e; border-radius: 17px; background: #f8e8b7; }
.note-icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: var(--gold); color: var(--ink); font-weight: 900; }
.smartscreen-note h2 { margin: 0; font-family: var(--devanagari-font); font-size: 1.25rem; }.smartscreen-note p { margin: 7px 0 0; color: #5e501f; font-family: var(--devanagari-font); font-size: .8rem; line-height: 1.7; }
.beta-expectations { display: grid; grid-template-columns: .8fr 1.2fr; gap: 52px; padding: 76px 0 95px; border-top: 1px solid var(--line); }
.beta-expectations > div:first-child > p:last-child { color: var(--muted); font-family: var(--devanagari-font); line-height: 1.75; }
.support-list { display: grid; gap: 12px; }.support-list article { padding: 20px 22px; border-left: 4px solid var(--teal); border-radius: 0 13px 13px 0; background: #e1eee9; }
.support-list h3 { margin: 0; font-family: var(--devanagari-font); }.support-list p { margin: 7px 0 0; color: #46635e; font-family: var(--devanagari-font); font-size: .8rem; line-height: 1.65; }

@media (max-width: 900px) {
  .download-hero { grid-template-columns: 1fr; }.download-hero > img { position: absolute; right: -55px; width: 48%; opacity: .18; }.download-hero-copy { position: relative; z-index: 1; }
  .install-guide, .beta-expectations { grid-template-columns: 1fr; }
  .about-story { grid-template-columns: 1fr; }.about-hero { grid-template-columns: minmax(0,1fr) 180px; }
}
@media (max-width: 700px) {
  .download-hero { min-height: auto; padding: 48px 0 58px; }.download-hero h1 { font-size: clamp(3rem,15vw,4.8rem); }.download-hero > img { width: 70%; }
  .installer-grid { grid-template-columns: 1fr; }.installer-card { padding: 27px 22px; }.download-options { padding-top: 58px; }
  .install-guide, .beta-expectations { gap: 28px; padding: 58px 0; }.smartscreen-note { grid-template-columns: 1fr; margin-bottom: 55px; }
  .guide-grid { grid-template-columns: 1fr; }
  .about-hero { grid-template-columns: 1fr; padding: 46px 0; }.about-hero img { display: none; }.about-story { padding: 42px 0; }.about-author { grid-template-columns: 80px 1fr; padding: 38px 0 54px; }
  .fact-footer { align-items: stretch; flex-direction: column; }.fact-footer .fact-control { align-self: end; width: auto; }
}

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

/* Optional on-screen keyboard. Phonetic labels mirror the engine's real Roman mappings. */
.virtual-keyboard-wrapper { padding: 16px; border-top: 1px solid var(--line); background: #f6efe4; }
.keyboard-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.keyboard-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
.kb-tab, .kb-close-btn { border: 1px solid var(--line); border-radius: 9px; background: var(--paper); color: var(--ink); font: inherit; font-size: .76rem; font-weight: 800; cursor: pointer; }
.kb-tab { padding: 9px 12px; }.kb-tab.active { border-color: var(--ink); background: var(--ink); color: white; }
.kb-close-btn { width: 36px; height: 36px; font-size: 1.2rem; }
.keyboard-note { margin: 11px 0; color: var(--muted); font-family: var(--devanagari-font); font-size: .76rem; }
.keyboard-body { display: grid; gap: 7px; overflow-x: auto; padding: 2px 0 5px; }
.kb-row { display: flex; justify-content: center; gap: 6px; min-width: max-content; }
.kb-key { display: grid; min-width: 50px; min-height: 49px; place-items: center; align-content: center; padding: 5px 8px; border: 1px solid #d8cdbd; border-radius: 9px; background: #fffdf8; color: var(--ink); font-family: var(--devanagari-font); font-size: 1.05rem; font-weight: 800; box-shadow: 0 2px 0 rgba(16,38,77,.1); cursor: pointer; }
.kb-key:hover, .kb-key:focus-visible { border-color: var(--teal); background: #e5f1ed; }.kb-key:active { transform: translateY(1px); box-shadow: none; }
.kb-key small { color: var(--muted); font-family: ui-monospace, monospace; font-size: .59rem; font-weight: 700; }.kb-key.wide { min-width: 150px; }
.action.active { border-color: var(--teal); background: #e5f1ed; }
@media (max-width: 650px) { .virtual-keyboard-wrapper { padding: 12px 8px; }.keyboard-header { align-items: flex-start; }.kb-key { min-width: 44px; }.kb-key.wide { min-width: 110px; } }

/* v43.5 visual learning hub */
.compact-header { border-bottom: 1px solid var(--line); }
.learn-page, .lesson-page { font-family: var(--devanagari-font); }
.learn-hero { display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; min-height: 530px; padding: 70px 0 80px; }
.learn-hero h1 { max-width: 780px; margin: 0; color: var(--ink); font-family: var(--devanagari-font); font-size: clamp(3.2rem, 7vw, 6.6rem); font-weight: 650; letter-spacing: -.055em; line-height: 1.02; }
.learn-hero > div > p:not(.section-kicker) { max-width: 660px; margin: 25px 0 0; color: var(--ink-soft); font-size: 1.1rem; line-height: 1.8; }
.lesson-legend { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 28px; color: var(--muted); font-size: .78rem; font-weight: 700; }
.lesson-legend span { display: inline-flex; align-items: center; gap: 7px; }
.lesson-legend i { width: 9px; height: 9px; border-radius: 50%; }.standard-dot { background: var(--teal); }.variant-dot { background: var(--gold); }.wrong-dot { background: var(--crimson); }
.learn-hero-visual { position: relative; min-height: 370px; }
.learn-hero-visual span { position: absolute; display: grid; width: 96px; height: 96px; place-items: center; border-radius: 28px; color: white; font-size: 3.8rem; font-weight: 800; box-shadow: 0 18px 36px rgba(16,38,77,.14); transform: rotate(-8deg); }
.learn-hero-visual span:nth-child(1) { top: 5%; left: 16%; background: var(--crimson); }.learn-hero-visual span:nth-child(2) { top: 4%; right: 12%; background: var(--teal); transform: rotate(8deg); }.learn-hero-visual span:nth-child(3) { bottom: 8%; left: 8%; background: var(--gold); transform: rotate(6deg); }.learn-hero-visual span:nth-child(4) { right: 8%; bottom: 5%; background: var(--violet); transform: rotate(-6deg); }
.learn-hero-visual strong { position: absolute; top: 50%; left: 50%; display: grid; width: 190px; height: 190px; place-items: center; transform: translate(-50%,-50%) rotate(-3deg); border: 12px solid var(--ivory); border-radius: 50%; background: var(--ink); color: white; font-size: 2.2rem; box-shadow: 0 25px 55px rgba(16,38,77,.22); }
.lesson-library { padding: 78px 0 100px; border-top: 1px solid var(--line); }
.lesson-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.lesson-card { position: relative; min-height: 330px; padding: 30px; overflow: hidden; border-radius: 24px; transition: transform .18s ease, box-shadow .18s ease; }.lesson-card:hover { transform: translateY(-4px); box-shadow: 0 20px 45px rgba(16,38,77,.12); }
.lesson-card.lesson-pink { background: #f3d8e1; color: #8e173d; }.lesson-card.lesson-teal { background: #d6ece8; color: #006c68; }.lesson-card.lesson-gold { background: #f7e3a7; color: #73520d; }.lesson-card.lesson-violet { background: #e2daf0; color: #51347d; }
.lesson-no { display: inline-block; padding: 6px 10px; border: 1px solid currentColor; border-radius: 999px; font-size: .7rem; font-weight: 800; opacity: .72; }.lesson-card h3 { margin: 50px 0 8px; font-size: 2.25rem; line-height: 1.1; }.lesson-card p { max-width: 520px; margin: 0; font-size: .93rem; line-height: 1.7; }.lesson-meta { position: absolute; bottom: 27px; left: 30px; font-size: .72rem; font-weight: 800; opacity: .7; }
.symbol-pair { position: absolute; top: 27px; right: 28px; display: flex; gap: 5px; }.symbol-pair b { display: grid; min-width: 48px; height: 48px; padding: 0 9px; place-items: center; border-radius: 14px; background: rgba(255,255,255,.55); font-size: 1.7rem; }
.learning-promise { display: grid; grid-template-columns: .75fr 1.25fr; gap: 70px; padding: 90px 0; border-top: 1px solid var(--line); }.learning-promise h2 { margin: 0; font-size: 2.8rem; line-height: 1.15; }.promise-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }.promise-steps article { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }.promise-steps b { color: var(--crimson); }.promise-steps h3 { margin: 28px 0 7px; font-size: 1.15rem; }.promise-steps p { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.6; }

.lesson-page { --lesson-accent: var(--crimson); --lesson-soft: #f3d8e1; background: #fffaf1; }.lesson-page.lesson-teal { --lesson-accent: #007f7b; --lesson-soft: #d6ece8; }.lesson-page.lesson-gold { --lesson-accent: #9a6811; --lesson-soft: #f7e3a7; }.lesson-page.lesson-violet { --lesson-accent: #613f91; --lesson-soft: #e2daf0; }
.lesson-top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; width: min(1080px,calc(100% - 40px)); margin: 0 auto; padding: 19px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .78rem; font-weight: 800; }.lesson-top > span { text-align: right; }.mini-brand { display: inline-flex; align-items: center; gap: 8px; color: var(--ink); font-size: 1rem; }.mini-brand img { width: 34px; height: 34px; object-fit: contain; }
.lesson-shell { width: min(940px,calc(100% - 40px)); margin: 0 auto; }.lesson-title { position: relative; min-height: 540px; padding: 110px 0 80px; overflow: hidden; }.lesson-title > p:first-child, .lesson-kicker { margin: 0 0 13px; color: var(--lesson-accent); font-size: .74rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }.lesson-title h1 { max-width: 750px; margin: 0; font-family: var(--devanagari-font); font-size: clamp(3.7rem,8vw,7.2rem); font-weight: 650; letter-spacing: -.06em; line-height: .97; }.lesson-title h1 em { color: var(--lesson-accent); font-style: normal; }.lesson-title > p:nth-of-type(2) { max-width: 650px; margin: 28px 0 0; color: var(--ink-soft); font-size: 1.05rem; line-height: 1.8; }.title-symbols { position: absolute; right: 0; bottom: 50px; display: flex; gap: 8px; opacity: .18; }.title-symbols b { font-size: 6.5rem; }
.mistake-scene { display: grid; grid-template-columns: 1.15fr .85fr; gap: 18px; margin-bottom: 80px; }.mistake-scene > div, .mistake-scene aside { padding: 34px; border-radius: 22px; }.mistake-scene > div { background: var(--ink); color: white; }.mistake-scene > div > span { color: #b8c7df; font-size: .72rem; font-weight: 800; }.mistake-scene > div p { margin: 22px 0 0; font-size: 2.1rem; }.mistake-scene mark, .visual-rule mark { padding: 0 3px; background: transparent; color: var(--lesson-accent); }.mistake-scene aside { background: var(--lesson-soft); color: var(--ink); }.mistake-scene aside strong { color: var(--lesson-accent); }.mistake-scene aside p { margin: 30px 0 0; line-height: 1.75; }
.visual-rule { margin: 0 0 80px; padding: 45px; border: 1px solid var(--line); border-radius: 24px; background: var(--paper); }.visual-rule h2, .quiz-block h2, .memory-card h2 { margin: 0; font-size: clamp(1.8rem,4vw,3rem); line-height: 1.2; }.word-tiles { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 33px; }.word-tiles span { padding: 15px 19px; border-radius: 12px; background: var(--lesson-soft); font-size: 1.45rem; font-weight: 700; }.rule-note { margin: 28px 0 0; color: var(--muted); font-size: .88rem; line-height: 1.75; }.split-rule { display: grid; grid-template-columns: .85fr 1.15fr; gap: 44px; align-items: center; }.split-rule > div:first-child > p:last-child { color: var(--muted); line-height: 1.8; }.ending-map { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.ending-map article { padding: 24px; border-radius: 17px; background: var(--lesson-soft); }.ending-map article > b { display: block; color: var(--lesson-accent); font-size: 2.2rem; }.ending-map article p { margin: 18px 0 0; line-height: 1.8; }
.three-columns { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 32px; }.three-columns article { padding: 24px; border-radius: 16px; background: var(--lesson-soft); }.three-columns article > b { display: grid; width: 50px; height: 50px; place-items: center; border-radius: 50%; background: var(--lesson-accent); color: white; font-size: 1.8rem; }.three-columns p { margin: 22px 0 0; font-size: 1.12rem; line-height: 2; }
.sound-lane { display: grid; grid-template-columns: repeat(5,1fr); gap: 8px; margin-top: 30px; }.sound-lane span { display: grid; min-height: 135px; padding: 16px; border-radius: 14px; background: var(--lesson-soft); font-size: .72rem; }.sound-lane b { align-self: center; color: var(--lesson-accent); font-size: 2.2rem; }.sound-lane small { align-self: end; line-height: 1.5; }.build-words { display: grid; gap: 9px; margin-top: 30px; }.build-words span { display: grid; grid-template-columns: 1fr 40px 1fr; align-items: center; padding: 17px 20px; border-radius: 13px; background: var(--lesson-soft); }.build-words i { color: var(--lesson-accent); font-style: normal; text-align: center; }.build-words strong { color: var(--lesson-accent); font-size: 1.25rem; }
.memory-card { margin-bottom: 80px; padding: 45px; border-radius: 24px; background: var(--lesson-accent); color: white; }.memory-card > span { font-size: .7rem; font-weight: 900; letter-spacing: .1em; }.memory-card h2 { margin-top: 35px; }.memory-card p { max-width: 700px; margin: 15px 0 0; line-height: 1.75; opacity: .84; }
.quiz-block { margin-bottom: 22px; padding: 42px; border: 1px solid var(--line); border-radius: 22px; background: var(--paper); }.quiz-prompt { margin: 25px 0 0; font-size: 1.3rem; }.quiz-choices { display: grid; gap: 10px; margin-top: 28px; }.quiz-choices.inline { grid-template-columns: repeat(auto-fit,minmax(150px,1fr)); }.quiz-choices button { padding: 17px 20px; border: 2px solid transparent; border-radius: 12px; background: #f0ede6; color: var(--ink); font-family: var(--devanagari-font); font-size: 1rem; font-weight: 700; text-align: left; }.quiz-choices button:hover { border-color: var(--lesson-accent); }.quiz-choices button.is-right { border-color: #16805a; background: #dcefe7; }.quiz-choices button.is-wrong { border-color: #b51f4c; background: #f4dce3; }.quiz-feedback { min-height: 1.5em; margin: 16px 0 0; color: var(--muted); font-size: .84rem; }.quiz-feedback.right { color: #116747; }.quiz-feedback.wrong { color: #9c1a42; }
.takeaway { margin: 80px 0 20px; padding: 38px; border-radius: 22px; background: var(--ink); color: white; }.takeaway b { color: #8de0d5; }.takeaway p { max-width: 700px; margin: 20px 0; font-size: 1.25rem; line-height: 1.6; }.takeaway a { display: inline-block; padding: 11px 14px; border-radius: 9px; background: var(--lesson-accent); font-weight: 800; }.lesson-nav { display: flex; justify-content: space-between; gap: 18px; padding: 27px 0 55px; font-weight: 800; }.lesson-sources { padding: 0 0 80px; color: var(--muted); font-size: .78rem; line-height: 1.7; }.lesson-sources summary { color: var(--ink-soft); font-weight: 800; cursor: pointer; }.lesson-sources a { text-decoration: underline; }

@media (max-width: 800px) {
  .learn-hero { grid-template-columns: 1fr; padding-top: 45px; }.learn-hero-visual { min-height: 330px; }.lesson-card-grid { grid-template-columns: 1fr; }.learning-promise { grid-template-columns: 1fr; gap: 35px; }.promise-steps { grid-template-columns: 1fr; }
  .mistake-scene, .split-rule { grid-template-columns: 1fr; }.sound-lane { grid-template-columns: repeat(2,1fr); }.title-symbols { display: none; }
}
@media (max-width: 600px) {
  .lesson-top { grid-template-columns: 1fr auto; }.lesson-top .mini-brand { display: none; }.lesson-title { min-height: 0; padding: 70px 0; }.lesson-title h1 { font-size: 3.3rem; }.mistake-scene > div, .mistake-scene aside, .visual-rule, .memory-card, .quiz-block, .takeaway { padding: 25px; }.mistake-scene > div p { font-size: 1.55rem; }.ending-map, .three-columns { grid-template-columns: 1fr; }.sound-lane { grid-template-columns: 1fr 1fr; }.lesson-nav { align-items: stretch; flex-direction: column; }.lesson-nav a { padding: 13px; border: 1px solid var(--line); border-radius: 9px; }.learn-hero-visual span { width: 75px; height: 75px; font-size: 2.8rem; }.learn-hero-visual strong { width: 155px; height: 155px; font-size: 1.8rem; }.lesson-card { min-height: 350px; }.build-words span { grid-template-columns: 1fr 25px 1fr; padding: 14px; }
}

/* Edited language collection */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.explore-page { font-family: var(--devanagari-font); }
.explore-hero { padding: 90px 0 75px; }
.explore-hero h1 { max-width: 950px; margin: 0; color: var(--ink); font-size: clamp(3.4rem,8vw,7rem); font-weight: 650; letter-spacing: -.055em; line-height: 1; }
.explore-hero h1 em { color: var(--violet); font-style: normal; }
.explore-hero > p:last-child { max-width: 720px; margin: 27px 0 0; color: var(--ink-soft); font-size: 1.05rem; line-height: 1.8; }
.explore-library { padding: 65px 0 100px; border-top: 1px solid var(--line); }
.explore-toolbar { display: grid; grid-template-columns: minmax(260px,.8fr) 1.2fr; gap: 18px; align-items: center; }
.explore-search { position: relative; }.explore-search input { width: 100%; padding: 15px 48px 15px 17px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); color: var(--ink); font: inherit; }.explore-search > span:last-child { position: absolute; top: 50%; right: 17px; color: var(--teal); font-size: 1.35rem; transform: translateY(-50%); }
.explore-tabs, .explore-categories { display: flex; flex-wrap: wrap; gap: 8px; }.explore-tabs { justify-content: flex-end; }
.explore-tabs button, .explore-categories button { padding: 10px 14px; border: 1px solid var(--line); border-radius: 999px; background: transparent; color: var(--ink); font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }.explore-tabs button:hover, .explore-categories button:hover { border-color: var(--teal); background: #e5f1ed; }.explore-tabs button.active { border-color: var(--ink); background: var(--ink); color: white; }.explore-categories button.active { border-color: var(--teal); background: var(--teal); color: white; }
.collection-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: 62px; }.collection-heading h2 { margin: 0; font-size: clamp(2.1rem,4.5vw,3.7rem); }.collection-heading > p { color: var(--muted); font-size: .8rem; font-weight: 800; }.explore-categories { margin: 24px 0; }
.explore-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; }
.explore-item { position: relative; min-height: 285px; padding: 27px; border: 1px solid var(--line); border-radius: 19px; background: var(--paper); }.explore-item.ukhan { border-top: 4px solid var(--teal); }.explore-item.tukka { border-top: 4px solid var(--crimson); }.explore-item.katha { border-top: 4px solid var(--violet); }
.explore-item-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; }.explore-type { color: var(--muted); font-size: .7rem; font-weight: 900; letter-spacing: .06em; }.favorite { display: grid; width: 40px; height: 40px; padding: 0; overflow: hidden; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: transparent; cursor: pointer; }.favorite::before { content: "♡"; display: block; color: var(--crimson); font-family: Arial,sans-serif; font-size: 1.45rem; line-height: 1; transform: translateY(-1px); }.favorite.active::before { content: "♥"; }.favorite:hover { background: #f7e3e9; }
.explore-item h3 { margin: 22px 0 12px; font-size: 1.65rem; line-height: 1.4; }.explore-meaning, .explore-hint, .explore-answer { margin: 0; color: var(--ink-soft); line-height: 1.7; }.explore-example { margin: 16px 0 35px; color: var(--muted); font-size: .82rem; line-height: 1.7; }.explore-category { position: absolute; bottom: 23px; left: 27px; color: var(--muted); font-size: .68rem; font-weight: 800; }.reveal-answer { display: inline-flex; width: fit-content; margin-top: 22px; padding: 12px 17px; align-items: center; border: 0; border-radius: 999px; background: var(--violet); color: white; box-shadow: 0 8px 20px rgba(81,52,125,.2); font: inherit; font-size: .82rem; font-weight: 900; cursor: pointer; transition: transform .18s ease,box-shadow .18s ease,background .18s ease; }.reveal-answer::before { margin-right: 8px; content: "✦"; }.reveal-answer:hover { background: #68459b; box-shadow: 0 11px 25px rgba(81,52,125,.3); transform: translateY(-2px); }.reveal-answer.is-open { background: var(--ink); }.explore-answer { margin-top: 16px; padding: 13px 15px; border-radius: 11px; background: #e9e0f4; color: var(--violet); font-size: 1.05rem; font-weight: 900; }
.explore-empty { padding: 50px; border: 1px dashed var(--line); border-radius: 18px; color: var(--muted); text-align: center; }.explore-editorial-note { margin-top: 45px; padding: 25px 28px; border-left: 4px solid var(--gold); border-radius: 0 14px 14px 0; background: #f8e8b7; }.explore-editorial-note p { max-width: 900px; margin: 8px 0 0; color: #5e501f; line-height: 1.75; }
@media (max-width: 780px) { .explore-toolbar { grid-template-columns: 1fr; }.explore-tabs { justify-content: flex-start; }.explore-results { grid-template-columns: 1fr; }.explore-hero { padding: 60px 0; }.explore-hero h1 { font-size: 3.5rem; }.collection-heading { align-items: flex-start; flex-direction: column; margin-top: 45px; } }

/* Explore discovery experience */
.explore-page { background: #fffaf1; }
.explore-page .explore-hero { position: relative; padding: 62px 0 0; background: linear-gradient(145deg,#f7ecda 0%,#fffaf1 57%,#e3f0ec 100%); border-bottom: 1px solid var(--line); }
.explore-hero-inner { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(260px,.75fr); gap: 55px; align-items: center; padding-bottom: 112px; }
.explore-hero-copy { position: relative; z-index: 1; }
.explore-badge { display: inline-flex; margin: 0 0 22px !important; padding: 8px 13px; border: 1px solid rgba(0,127,123,.25); border-radius: 999px; background: rgba(255,255,255,.56); color: var(--teal) !important; font-size: .7rem !important; font-weight: 900; letter-spacing: .04em; }
.explore-page .explore-hero h1 { max-width: 930px; font-size: clamp(3.35rem,6.3vw,6.2rem); line-height: 1.02; }
.explore-page .explore-hero h1 .hero-nepali,.explore-page .explore-hero h1 .hero-vast { color: var(--ink); }.explore-page .explore-hero h1 .hero-ukhan { color: var(--teal); }.explore-page .explore-hero h1 .hero-tukka { color: var(--violet); }.explore-page .explore-hero h1 .hero-katha { color: var(--crimson); }
.explore-subnav { display: grid; width: min(920px,calc(100% - 48px)); grid-template-columns: repeat(2,minmax(0,1fr)); margin: 14px auto 0; gap: 9px; }.explore-subnav a { display: grid; min-height: 64px; align-content: center; padding: 11px 18px; border: 1px solid #d8cdbd; border-radius: 14px; background: var(--paper); color: var(--ink); font-size: .78rem; font-weight: 750; line-height: 1.35; box-shadow: 0 8px 22px rgba(16,38,77,.05); }.explore-subnav a span { display: block; margin-bottom: 2px; color: var(--crimson); font-size: 1rem; font-weight: 900; }.explore-subnav a:hover { border-color: #d3b65e; background: #fff7df; }.explore-subnav a.active { border-color: var(--ink); background: var(--ink); color: white; box-shadow: 0 9px 22px rgba(16,38,77,.15); }.explore-subnav a.active span { color: #f7dfa0; }
.explore-page .explore-hero-copy > p:last-child { max-width: 680px; margin-top: 26px; color: var(--ink-soft); font-size: 1.07rem; line-height: 1.85; }
.explore-hero-visual { position:relative; min-height:470px; isolation:isolate; }
.explore-hero-artwork { position:absolute; right:20px; bottom:-58px; width:min(710px,190%); }
.explore-hero-bird { display:block; width:100%; height:auto; object-fit:contain; filter:drop-shadow(0 20px 20px rgba(16,38,77,.12)); }
.explore-hero-bubble { position:absolute; z-index:2; top:3.4%; right:12.4%; display:flex; width:29.4%; height:24%; padding:2.6% 2.8% 2.4%; align-items:center; justify-content:center; color:var(--ink); }
.explore-hero-bubble strong { display:-webkit-box; width:100%; min-width:0; overflow:hidden; overflow-wrap:anywhere; font-size:clamp(.96rem,1.16vw,1.24rem); font-weight:700; line-height:1.36; text-align:center; transform:translateX(30%); -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.explore-hero-bubble strong.is-medium { font-size:clamp(.91rem,1.07vw,1.14rem); line-height:1.32; }
.explore-hero-bubble strong.is-long { font-size:clamp(.81rem,.95vw,1.02rem); line-height:1.28; }
.explore-search-panel { position: relative; z-index: 2; margin-bottom: -92px; padding: 29px 32px 0; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,253,248,.97); box-shadow: 0 24px 65px rgba(16,38,77,.13); }
.explore-search { display: grid; grid-template-columns: 39px 1fr; min-height: 66px; align-items: center; border: 2px solid transparent; border-radius: 16px; background: #f5f0e7; transition: border-color .18s ease,background .18s ease; }.explore-search:focus-within { border-color: var(--teal); background: white; }.explore-search > span:last-of-type { position: static; color: var(--teal); font-size: 1.9rem; text-align: right; transform: none; }
.explore-search input { min-height: 62px; border: 0; background: transparent; font-size: 1.1rem; outline: none; }
.explore-search-area > p { margin: 10px 3px 19px; color: var(--muted); font-size: .72rem; }.explore-search-panel code { color: var(--teal); font-family: ui-monospace,monospace; }
.explore-page .explore-tabs { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; margin: 0 -32px; border-top: 1px solid var(--line); }
.explore-page .explore-tabs button { display: grid; min-height: 91px; padding: 15px 10px; place-items: center; align-content: center; gap: 3px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); }.explore-page .explore-tabs button:first-child { border-radius: 0 0 0 21px; }.explore-page .explore-tabs button:last-child { border-right: 0; border-radius: 0 0 21px; }.explore-page .explore-tabs button:hover { background: #edf5f2; }.explore-page .explore-tabs button.active { background: var(--ink); color: white; }
.explore-tabs strong { color: var(--crimson); font-family: var(--devanagari-font); font-size: 2rem; font-weight: 700; line-height: 1; }.explore-tabs span { color: var(--ink-soft); font-size: .92rem; font-weight: 800; }.explore-tabs button.active strong,.explore-tabs button.active span { color: white; }
.explore-spotlight { padding: 140px 0 76px; }
.spotlight-heading { display: flex; align-items: end; justify-content: space-between; gap: 25px; margin-bottom: 25px; }.spotlight-heading h2 { margin: 0; font-size: clamp(2rem,4vw,3.4rem); }.spotlight-heading button { padding: 11px 15px; border: 1px solid var(--line); border-radius: 10px; background: transparent; color: var(--ink); font: inherit; font-size: .78rem; font-weight: 800; cursor: pointer; }.spotlight-heading button:hover { border-color: var(--crimson); background: var(--crimson); color: white; }
.spotlight-card { position: relative; display: grid; grid-template-columns: 185px minmax(0,1fr) 45px; gap: 35px; min-height: 305px; padding: 38px; overflow: hidden; border-radius: 24px; background: var(--ink); color: white; box-shadow: 0 23px 55px rgba(16,38,77,.17); }.spotlight-card::after { content: "“"; position: absolute; right: 70px; bottom: -60px; color: white; font-family: Georgia,serif; font-size: 16rem; line-height: 1; opacity: .045; }.spotlight-card.tukka { background: #8e173d; }.spotlight-card.katha { background: #51347d; }
.spotlight-label { position: relative; z-index: 1; display: flex; align-content: start; align-items: flex-start; flex-direction: column; gap: 9px; padding-right: 25px; border-right: 1px solid rgba(255,255,255,.18); }.spotlight-label .spotlight-icon { display: grid; width: 58px; height: 58px; margin-bottom: 17px; place-items: center; border-radius: 18px; background: rgba(255,255,255,.13); font-size: 1.45rem; font-weight: 900; }.spotlight-label strong,.spotlight-label > span:last-child { display: inline-flex; padding: 7px 10px; border: 1px solid rgba(255,255,255,.2); border-radius: 9px; background: rgba(255,255,255,.1); }.spotlight-label strong { color: white; font-size: .86rem; }.spotlight-label > span:last-child { color: rgba(255,255,255,.82); font-size: .69rem; font-weight: 750; }.spotlight-card.ukhan .spotlight-label strong { background: rgba(7,143,136,.35); }.spotlight-card.tukka .spotlight-label strong { background: rgba(247,223,160,.2); }.spotlight-card.katha .spotlight-label strong { background: rgba(181,31,76,.3); }
.spotlight-body { position: relative; z-index: 1; align-self: center; }.spotlight-body h3 { max-width: 800px; margin: 0; font-size: clamp(2rem,4vw,3.45rem); font-weight: 650; line-height: 1.3; }.spotlight-body > p { max-width: 760px; margin: 20px 0 0; color: rgba(255,255,255,.78); line-height: 1.75; }.spotlight-body .spotlight-example { padding-top: 17px; border-top: 1px solid rgba(255,255,255,.15); font-size: .82rem; }.spotlight-favorite { position: relative; z-index: 2; }.spotlight-card .favorite { border-color: rgba(255,255,255,.28); }.spotlight-card .favorite::before { color: white; }.spotlight-card .favorite:hover { background: rgba(255,255,255,.15); }.spotlight-card .reveal-answer { background: white; color: var(--violet); box-shadow: none; }.spotlight-card .reveal-answer:hover { background: #f1eaf8; color: var(--violet); }
.spotlight-body .spotlight-parallel { display: inline-block; margin-top: 16px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.22); border-radius: 9px; background: rgba(255,255,255,.08); color: white; font-family: var(--sans-font); font-size: .78rem; font-weight: 700; }
.explore-page .explore-library { padding: 82px 0 105px; background: transparent; border-top: 1px solid var(--line); }
.explore-page .collection-heading { margin-top: 0; }.category-heading { display: grid; grid-template-columns: 175px 1fr; gap: 20px; align-items: start; margin: 30px 0; padding: 22px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.category-heading > span { padding-top: 10px; color: var(--muted); font-size: .73rem; font-weight: 900; }
.explore-page .explore-categories { display: flex; margin: 0; padding: 2px 2px 10px; flex-wrap: nowrap; gap: 9px; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; }.explore-page .explore-categories button { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 8px; border-color: transparent; background: var(--paper); box-shadow: inset 0 0 0 1px rgba(16,38,77,.08); }.explore-page .explore-categories button small { display: grid; min-width: 22px; height: 22px; padding: 0 5px; place-items: center; border-radius: 999px; background: rgba(255,255,255,.58); font-size: .62rem; }.explore-page .explore-categories button.tone-teal { background: #dff1ec; color: #006c68; }.explore-page .explore-categories button.tone-crimson { background: #f5dfe6; color: #981b43; }.explore-page .explore-categories button.tone-gold { background: #f8e8b7; color: #74520e; }.explore-page .explore-categories button.tone-violet { background: #e8e0f2; color: #51347d; }.explore-page .explore-categories button.tone-blue { background: #e1eaf5; color: #244b78; }.explore-page .explore-categories button.tone-green { background: #e5efdd; color: #3d672a; }.explore-page .explore-categories button.tone-all { background: #ede8df; color: var(--ink); }.explore-page .explore-categories button.active { border-color: var(--ink); background: var(--ink); color: white; box-shadow: none; }.explore-page .explore-categories button.active small { background: rgba(255,255,255,.2); }
.explore-page .explore-results { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.explore-page .explore-item { display: flex; min-height: 410px; padding: 28px 30px 0; overflow: hidden; flex-direction: column; border: 1px solid #dfd4c2; border-radius: 20px; background: #fbf4e8; box-shadow: 0 8px 24px rgba(16,38,77,.045); transition: transform .18s ease,box-shadow .18s ease; }.explore-page .explore-item:hover { transform: translateY(-4px); box-shadow: 0 18px 38px rgba(16,38,77,.11); }.explore-page .explore-item.ukhan { background: #fbf4e8; }.explore-page .explore-item.tukka { background: #f8f0e4; }.explore-page .explore-item.katha { min-height: 360px; background: #f5f0e8; }
.explore-item-identity { display: flex; align-items: center; gap: 10px; }.explore-type-icon { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 11px; background: rgba(255,255,255,.7); color: currentColor; }.explore-type-icon svg,.spotlight-icon svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }.explore-item.ukhan .explore-item-identity { color: var(--teal); }.explore-item.tukka .explore-item-identity { color: var(--crimson); }.explore-item.katha .explore-item-identity { color: var(--violet); }
.explore-page .explore-type { color: currentColor; }.explore-page .explore-item h3 { margin-top: 29px; font-size: 2rem; font-weight: 600; }.explore-page .explore-meaning,.explore-page .explore-hint { color: var(--ink); font-size: 1.06rem; }.explore-page .explore-parallel { font-size: .82rem; }.explore-page .explore-example { color: #615d55; font-size: .9rem; }.explore-page .favorite { background: rgba(255,255,255,.55); }
.explore-parallel { margin: 17px 0 0; padding: 11px 13px; border-left: 3px solid currentColor; border-radius: 0 8px 8px 0; background: rgba(255,255,255,.5); color: var(--ink); font-family: var(--sans-font); font-size: .75rem; font-weight: 700; line-height: 1.55; }.explore-item.ukhan .explore-parallel { border-color: var(--teal); }.explore-item.tukka .explore-parallel { border-color: var(--crimson); }
.explore-card-actions { display: flex; min-height: 67px; align-items: center; justify-content: space-between; gap: 14px; margin: auto -30px 0; padding: 14px 22px; border-top: 1px solid rgba(16,38,77,.1); background: rgba(255,255,255,.42); }.explore-action-buttons,.explore-card-tags { display: flex; flex-wrap: wrap; gap: 8px; }.explore-action { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 0; border-radius: 9px; background: rgba(16,38,77,.07); color: var(--ink); font: inherit; font-size: .75rem; font-weight: 900; cursor: pointer; }.explore-action:hover { background: var(--ink); color: white; }.explore-action svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }.explore-card-tags button { padding: 7px 9px; border: 0; border-radius: 9px; background: rgba(16,38,77,.06); color: var(--ink-soft); font: inherit; font-size: .67rem; font-weight: 800; cursor: pointer; }.explore-card-tags button:hover { background: var(--teal); color: white; }
.load-more-wrap { display: flex; justify-content: center; padding: 35px 0 5px; }.load-more-wrap[hidden] { display: none; }.load-more-wrap button { padding: 13px 20px; border: 1px solid var(--ink); border-radius: 11px; background: transparent; color: var(--ink); font: inherit; font-size: .82rem; font-weight: 900; cursor: pointer; }.load-more-wrap button:hover { background: var(--ink); color: white; }
.explore-page .explore-editorial-note { display: grid; grid-template-columns: 45px 1fr; gap: 18px; margin-top: 60px; border: 1px solid #e0c26e; border-left: 1px solid #e0c26e; border-radius: 17px; }.explore-editorial-note > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: var(--gold); }
.explore-contribute { display: grid; grid-template-columns: 45px minmax(0,1fr) auto; gap: 18px; align-items: center; margin-top: 22px; padding: 26px 28px; border: 1px solid #e0c26e; border-radius: 17px; background: #fff1bd; color: var(--ink); }.contribute-icon { display: flex; width: 40px; height: 40px; align-items: center; justify-content: center; padding: 0 0 2px; border-radius: 50%; background: var(--gold); color: var(--ink); font-family: Arial,sans-serif; font-size: 1.4rem; font-weight: 700; line-height: 1; }.explore-contribute .section-kicker { margin-bottom: 5px; color: #80600d; }.explore-contribute h2 { margin: 0; font-size: clamp(1.35rem,2.5vw,2rem); line-height: 1.25; }.explore-contribute p:last-child { max-width: 830px; margin: 7px 0 0; color: #5e501f; font-size: .86rem; line-height: 1.7; }.explore-contribute > a { padding: 12px 16px; border: 1px solid var(--ink); border-radius: 10px; font-size: .8rem; font-weight: 900; white-space: nowrap; }.explore-contribute > a:hover { background: var(--ink); color: white; }
.explore-filtering .explore-spotlight { display: none; }.explore-filtering .explore-library { padding-top: 135px; }.explore-filtering .collection-heading > div { display: none; }.explore-filtering .collection-heading { align-items: center; justify-content: flex-start; }.explore-filtering .collection-heading > p { margin: 0; color: var(--crimson); font-size: 1rem; }.explore-filtering .category-heading { margin-top: 16px; }
@media (max-width: 850px) { .explore-hero-inner { grid-template-columns: 1fr; padding-bottom: 135px; }.explore-hero-visual { display: none; }.spotlight-card { grid-template-columns: 120px minmax(0,1fr) 40px; gap: 24px; }.category-heading { grid-template-columns: 1fr; }.explore-page .explore-results { grid-template-columns: 1fr; }.explore-contribute { grid-template-columns: 45px 1fr; }.explore-contribute > a { grid-column: 2; justify-self: start; } }
@media (max-width: 620px) { .explore-page .explore-hero { padding-top: 48px; }.explore-page .explore-hero h1 { font-size: 3.25rem; }.explore-hero-inner { padding-bottom: 105px; }.explore-search-panel { padding: 18px 17px 0; }.explore-page .explore-tabs { grid-template-columns: repeat(3,1fr); margin: 0 -17px; }.explore-page .explore-tabs button { min-height: 76px; border-bottom: 1px solid var(--line); }.explore-page .explore-tabs button:nth-child(3) { border-right: 0; }.explore-page .explore-tabs button:first-child { border-radius: 0; }.explore-spotlight { padding-top: 130px; }.spotlight-heading { align-items: flex-start; flex-direction: column; }.spotlight-card { grid-template-columns: 1fr; min-height: 0; padding: 28px; }.spotlight-label { display: flex; align-items: center; padding: 0 0 18px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }.spotlight-label .spotlight-icon { width: 40px; height: 40px; margin: 0; }.spotlight-favorite { position: absolute; top: 24px; right: 24px; }.spotlight-body h3 { font-size: 2rem; }.explore-page .explore-item { min-height: 410px; padding: 24px 24px 0; }.explore-page .explore-item.katha { min-height: 350px; }.explore-card-actions { align-items: flex-start; flex-direction: column; margin-right: -24px; margin-left: -24px; }.explore-page .explore-editorial-note { grid-template-columns: 1fr; }.explore-contribute { grid-template-columns: 1fr; padding: 28px; }.explore-contribute > a { grid-column: 1; } }
@media (max-width: 620px) { .explore-subnav { width: min(100% - 28px,920px); grid-template-columns: 1fr; }.discovery-section > header { align-items: flex-start; flex-direction: column; }.learn-typing-path { grid-template-columns: 1fr; padding: 24px; }.learn-typing-path > a { justify-self: start; white-space: normal; } }

/* Daily Nepali crossword */
.crossword-main { padding-top: 55px; padding-bottom: 80px; }
.crossword-hero { display: flex; align-items: end; justify-content: space-between; gap: 36px; padding-bottom: 34px; }
.crossword-hero h1 { max-width:930px; margin:4px 0 8px; font-family:var(--devanagari-font); font-size:clamp(3.35rem,6.3vw,6.2rem); font-weight:650; letter-spacing:-.055em; line-height:1.02; }.crossword-hero h1 span { color:var(--ink); }.crossword-hero h1 em { color: var(--crimson); font-style: normal; }
.crossword-hero p:not(.section-kicker) { max-width: 680px; color: var(--muted); }.crossword-archive-button { min-height: 48px; padding: 10px 16px; border: 1px solid var(--ink); border-radius: 10px; color: var(--ink); font-weight: 800; }
.crossword-workspace { display: grid; grid-template-columns: minmax(480px,1.15fr) minmax(330px,.85fr); overflow: hidden; border: 1px solid #d8cdbd; border-radius: 24px; background: var(--paper); box-shadow: 0 24px 65px rgba(16,38,77,.09); }
.crossword-board-panel { padding: 30px; border-right: 1px solid #ddd2c3; background: #f4ead9; }.crossword-meta { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }.crossword-meta p { margin: 0; color: var(--muted); font-size: .78rem; }.crossword-meta h2 { margin: 3px 0 0; font-size: 1.7rem; }
.crossword-grid { --crossword-columns: 7; --crossword-rows: 7; display: grid; width: min(100%,560px); margin: auto; grid-template-columns: repeat(var(--crossword-columns),1fr); grid-template-rows: repeat(var(--crossword-rows),1fr); border: 3px solid var(--ink); background: var(--ink); gap: 2px; aspect-ratio: var(--crossword-columns) / var(--crossword-rows); }.crossword-block { display: grid; min-width: 0; place-items: center; background: var(--ink); }.crossword-block.branded img { width:58%; height:58%; object-fit:contain; opacity:.72; filter:saturate(.95) drop-shadow(0 2px 5px rgba(0,0,0,.5)); transition:transform .24s cubic-bezier(.34,1.56,.64,1),opacity .2s,filter .2s; }.crossword-block.branded:hover img { transform:scale(1.16) rotate(2deg); opacity:1; filter:saturate(1.12) brightness(1.12) drop-shadow(0 0 9px rgba(48,185,214,.7)); }
.crossword-cell { position: relative; display: grid; min-width: 0; place-items: center; border: 0; background: #fffdf8; color: var(--ink); font-family: var(--devanagari-font); }.crossword-cell small { position: absolute; top: 3px; left: 5px; font: 700 .58rem/1 var(--devanagari-font); }.crossword-cell strong { font-size: clamp(1rem,2vw,1.65rem); font-weight: 600; }.crossword-cell.selected { background: #f4df9f; }.crossword-cell.wrong { background: #f7cbd3; color: #8f1838; }
.crossword-keyboard-note { max-width: 560px; margin: 16px auto 0; color: var(--muted); font-size: .74rem; text-align: center; }.crossword-clue-panel { padding: 30px; }.crossword-clue-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 18px; }.crossword-clue-tabs button { padding: 10px; border-radius: 9px; background: #eee8de; color: var(--muted); font-weight: 850; }.crossword-clue-tabs button.active { background: var(--ink); color: white; }
.crossword-clues { display: grid; gap: 6px; margin: 0 0 24px; padding: 0; list-style: none; }.crossword-clues button { display: grid; width: 100%; grid-template-columns: 25px 1fr; gap: 9px; padding: 10px; border-radius: 9px; color: var(--ink); text-align: left; }.crossword-clues button:hover,.crossword-clues button.active { background: #f4ead9; }.crossword-clues strong { color: var(--crimson); }
.crossword-answer-form { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }.crossword-answer-form label { margin-bottom: 8px; color: var(--ink); font-family: var(--devanagari-font); letter-spacing: 0; text-transform: none; }.crossword-answer-form > div { display: grid; grid-template-columns: 1fr auto; }.crossword-answer-form input { min-width: 0; padding: 12px; border: 1px solid #cfc3b3; border-radius: 9px 0 0 9px; font: 600 1rem/1.2 var(--devanagari-font); }.crossword-answer-form button { padding: 10px 15px; border-radius: 0 9px 9px 0; background: var(--crimson); color: white; font-weight: 850; }.crossword-answer-form > p { min-height: 22px; margin: 7px 0 0; color: var(--teal); font-size: .76rem; }
.crossword-actions { display: flex; gap: 8px; margin-top: 17px; }.crossword-actions button { padding: 9px 12px; border: 1px solid var(--ink); border-radius: 8px; color: var(--ink); font-weight: 800; }.crossword-actions button:first-child { background: var(--ink); color: white; }.crossword-status { min-height: 24px; margin-top: 15px; color: var(--crimson-dark); font-weight: 750; }
.crossword-archive { padding-top: 70px; }.crossword-archive-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }.crossword-archive-list > button { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px; border: 1px solid #d8cdbd; border-radius: 14px; background: var(--paper); text-align: left; }.crossword-archive-list > button:hover,.crossword-archive-list > button.active { border-color: var(--crimson); transform: translateY(-2px); }.crossword-archive-list span { display: grid; gap: 4px; }.crossword-archive-list small { color: var(--muted); }.crossword-archive-list em { color: var(--teal); font-size: .74rem; font-style: normal; font-weight: 800; }
@media (max-width: 900px) { .crossword-workspace { grid-template-columns: 1fr; }.crossword-board-panel { border-right: 0; border-bottom: 1px solid #ddd2c3; }.crossword-archive-list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .crossword-main { padding-top: 30px; }.crossword-hero { align-items: flex-start; flex-direction: column; }.crossword-workspace { border-radius: 16px; }.crossword-board-panel,.crossword-clue-panel { padding: 18px; }.crossword-cell small { top: 2px; left: 3px; font-size: .48rem; }.crossword-archive-list { grid-template-columns: 1fr; } }
.play-mode-tabs { display:flex; width:fit-content; margin:0 0 18px; padding:4px; border:1px solid #d8cdbd; border-radius:12px; background:#eee8de; }.play-mode-tabs button { padding:10px 18px; border-radius:9px; color:var(--muted); font-weight:850; }.play-mode-tabs button.active { background:var(--ink); color:#fff; }.crossword-session-meta { display:flex; justify-content:space-between; gap:12px; margin-bottom:12px; color:var(--teal); font-size:.72rem; font-weight:850; }.crossword-actions { flex-wrap:wrap; }.word-builder-mode { padding:12px 0 70px; }.word-builder-intro { max-width:680px; margin-bottom:22px; }.word-builder-intro h2 { margin:4px 0 8px; font-size:clamp(2rem,4vw,3.6rem); }.word-builder-intro > p:last-child { color:var(--muted); }.word-builder-card { max-width:760px; padding:32px; border:1px solid #d8cdbd; border-radius:22px; background:#fffdf8; box-shadow:0 24px 65px rgba(16,38,77,.09); }.word-builder-letters { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }.word-builder-letters span { display:grid; width:64px; height:64px; place-items:center; border:2px solid var(--ink); border-radius:12px; background:#f4df9f; color:var(--ink); font:700 1.7rem/1 var(--devanagari-font); }.word-builder-card form > div { display:flex; }.word-builder-card input { flex:1; min-width:0; padding:13px; border:1px solid #cfc3b3; border-radius:9px 0 0 9px; font:600 1rem/1.2 var(--devanagari-font); }.word-builder-card form button { padding:10px 18px; border-radius:0 9px 9px 0; background:var(--crimson); color:#fff; font-weight:850; }.word-builder-card form label { font-family:var(--devanagari-font); letter-spacing:0; text-transform:none; }.word-builder-card > p { min-height:24px; color:var(--teal); }.word-builder-found { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }.word-builder-found span { padding:6px 10px; border-radius:999px; background:#e2f0eb; color:var(--teal); font-weight:800; }

/* Linguistic map */
.language-map-main { padding-bottom: 90px; }.language-map-hero { padding-top: 62px; padding-bottom: 48px; }.language-map-hero h1 { margin: 7px 0 14px; font-size: clamp(3.4rem,7vw,6.6rem); line-height: 1.03; }.language-map-hero h1 em { color: var(--crimson); font-style: normal; }.language-map-hero > p:last-child { max-width: 780px; color: var(--muted); font-size: 1rem; line-height: 1.75; }
.language-map-explorer { padding: 32px; border: 1px solid #d8cdbd; border-radius: 25px; background: var(--paper); box-shadow: 0 25px 70px rgba(16,38,77,.08); }.language-map-toolbar { display: flex; align-items: end; justify-content: space-between; gap: 25px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }.language-map-toolbar h2 { margin: 0; font-size: 2rem; }.language-map-toolbar p { margin: 5px 0 0; color: var(--muted); }
.language-family-filters { display: flex; max-width: 650px; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }.language-family-filters button { padding: 8px 11px; border: 1px solid color-mix(in srgb,var(--family-color) 34%,white); border-radius: 999px; background: color-mix(in srgb,var(--family-color) 8%,white); color: var(--family-color); font-size: .72rem; font-weight: 850; }.language-family-filters button:hover,.language-family-filters button.active { background: var(--family-color); color: white; }
.language-map-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(300px,.45fr); gap: 25px; padding: 30px 0; }.language-map-canvas { min-width: 0; padding: 18px; border-radius: 18px; background: #f3eadb; }.language-map-canvas svg { display: block; width: 100%; height: auto; overflow: visible; }.province-shape { fill: #d8e8e2; stroke: var(--paper); stroke-width: 3; cursor: pointer; transition: fill .18s ease,opacity .18s ease,transform .18s ease; vector-effect: non-scaling-stroke; }.province-shape:hover,.province-shape:focus,.province-shape.selected { fill: var(--gold); outline: none; }.province-shape.highlighted { fill: var(--teal); }.province-shape.muted { opacity: .2; }.map-legend { display: flex; flex-wrap: wrap; gap: 9px 20px; color: var(--muted); font-size: .69rem; }.map-legend span { display: inline-flex; align-items: center; gap: 7px; }.map-legend i { width: 11px; height: 11px; border-radius: 3px; background: var(--teal); }.map-legend span:last-child i { background: #d8e8e2; }
.language-map-detail { min-height: 330px; padding: 25px; border: 1px solid #d8cdbd; border-radius: 18px; background: #fffdf8; }.language-map-detail h2 { margin: 6px 0 12px; font-size: 2.35rem; }.language-map-detail > p:not(.section-kicker) { color: var(--ink-soft); line-height: 1.75; }.language-map-detail > strong { display: block; margin-top: 20px; color: var(--teal); }.language-map-detail > small { display: block; margin-top: 18px; color: var(--muted); line-height: 1.6; }.language-detail-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 18px; }.language-detail-chips button { padding: 7px 10px; border-radius: 999px; background: #e2f0eb; color: var(--teal); font-weight: 800; }
.language-map-list-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; padding: 35px 0 20px; border-top: 1px solid var(--line); }.language-map-list-heading h2 { margin: 4px 0 0; font-size: 2rem; }.language-map-list-heading label { width: min(100%,330px); margin: 0; color: var(--ink); font-family: var(--devanagari-font); letter-spacing: 0; text-transform: none; }.language-map-list-heading input { width: 100%; margin-top: 7px; padding: 11px 13px; border: 1px solid #d1c5b5; border-radius: 10px; font: 600 .9rem/1.2 var(--devanagari-font); }
.language-profile-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 11px; }.language-profile { min-width: 0; }.language-profile > button { display: flex; width: 100%; min-height: 255px; flex-direction: column; padding: 20px; border: 1px solid #ded4c5; border-top: 4px solid var(--family-color); border-radius: 14px; background: #fffdf8; text-align: left; }.language-profile > button:hover,.language-profile.active > button { border-color: var(--family-color); box-shadow: 0 13px 30px rgba(16,38,77,.08); transform: translateY(-2px); }.language-profile small { color: var(--family-color); font-size: .64rem; font-weight: 850; }.language-profile h3 { margin: 12px 0 7px; font-size: 1.65rem; }.language-national-stat { color: var(--family-color); font-size: .69rem; font-weight: 850; line-height: 1.45; }.language-map-detail .language-national-stat { margin-top: 0; }.language-profile p { color: var(--ink-soft); font-size: .78rem; line-height: 1.65; }.language-province-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: auto; padding-top: 14px; }.language-province-tags span { padding: 4px 7px; border-radius: 999px; background: #f0ebe3; color: var(--muted); font-size: .59rem; font-weight: 750; }.language-map-empty { grid-column: 1/-1; padding: 35px; color: var(--muted); text-align: center; }
.language-map-note { display: grid; grid-template-columns: .7fr 1.3fr; gap: 45px; margin-top: 25px; padding: 30px; border: 1px solid #e0c26e; border-radius: 19px; background: #fff1bd; }.language-map-note h2 { margin: 5px 0 0; }.language-map-note > p { color: #5e501f; line-height: 1.75; }.language-map-sources { display: flex; grid-column: 2; flex-wrap: wrap; gap: 8px; }.language-map-sources a { padding: 7px 10px; border: 1px solid rgba(16,38,77,.18); border-radius: 8px; color: var(--ink); font-size: .7rem; font-weight: 800; }
.language-map-promo { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 19px; margin-top: 35px; padding: 24px 27px; border-radius: 17px; background: var(--ink); color: white; }.language-map-promo > span { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 50%; background: var(--teal); font-size: 1.5rem; }.language-map-promo .section-kicker { color: #96d8d2; }.language-map-promo h2 { margin: 4px 0; }.language-map-promo p:last-child { color: rgba(255,255,255,.68); }.language-map-promo > strong { padding: 10px 13px; border: 1px solid rgba(255,255,255,.35); border-radius: 9px; }
@media (max-width: 1000px) { .language-map-toolbar { align-items: flex-start; flex-direction: column; }.language-family-filters { justify-content: flex-start; }.language-map-layout { grid-template-columns: 1fr; }.language-profile-list { grid-template-columns: repeat(2,minmax(0,1fr)); }.language-map-detail { min-height: 0; } }
@media (max-width: 620px) { .language-map-hero { padding-top: 36px; }.language-map-hero h1 { font-size: 3.3rem; }.language-map-explorer { padding: 18px; border-radius: 17px; }.language-map-canvas { padding: 5px; }.language-map-list-heading { align-items: stretch; flex-direction: column; }.language-map-list-heading label { width: 100%; }.language-profile-list { grid-template-columns: 1fr; }.language-map-note { grid-template-columns: 1fr; padding: 22px; }.language-map-sources { grid-column: 1; }.language-map-promo { grid-template-columns: 42px 1fr; }.language-map-promo > strong { grid-column: 2; justify-self: start; } }

/* Richer, source-safe linguistic-map controls */
.language-map-page { font-family:var(--devanagari-font); }
.language-province-filters { display:flex; flex-wrap:wrap; gap:8px; padding:18px 0 0; }
.language-province-filters button { padding:7px 11px; border:1px solid #d8cdbd; border-radius:999px; color:var(--ink); font-weight:800; }
.language-province-filters button:hover,.language-province-filters button.active { border-color:var(--teal); background:#e2f0eb; color:var(--teal); }
.language-map-list-heading > div > p:last-child { margin:6px 0 0; color:var(--muted); font-size:.75rem; }
.language-map-list-controls { display:flex; align-items:end; gap:10px; }
.language-map-list-heading .language-map-list-controls label:last-child { width:175px; }
.language-map-list-heading select { width:100%; margin-top:7px; padding:11px 13px; border:1px solid #d1c5b5; border-radius:10px; background:#fffdf8; font:600 .9rem/1.2 var(--devanagari-font); }
.language-family-overview,.language-script-overview,.language-phrasebook { display:grid; grid-template-columns:.65fr 1.35fr; gap:34px; margin-top:35px; padding:30px; border:1px solid #d8cdbd; border-radius:19px; background:#fffdf8; }
.language-family-overview { display:block; }
.language-family-overview-grid { margin-top:24px; }
.language-family-overview h2,.language-script-overview h2 { margin:4px 0 8px; }
.language-family-overview > div:first-child > p:last-child,.language-script-overview > div:first-child > p:last-child { color:var(--muted); line-height:1.7; }
.language-family-overview-grid,.language-script-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.language-family-overview-grid article,.language-script-grid article { padding:16px; border-left:4px solid var(--family-color,var(--gold)); border-radius:10px; background:#f5efe5; }
.language-family-card > button,.language-script-card > button { display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; color:var(--ink); text-align:left; }.language-family-card > button span,.language-script-card > button strong { font-weight:850; }.language-family-card > button b { margin:0; }.language-family-card-detail,.language-script-card-detail { margin-top:13px; padding-top:13px; border-top:1px solid #ded4c5; }.language-family-card-detail p,.language-script-card-detail > p { margin:0 0 9px; color:var(--ink-soft); font-size:.77rem; line-height:1.65; }.language-family-language-links { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }.language-family-language-links button { padding:6px 9px; border-radius:999px; background:#fffdf8; color:var(--family-color); font-size:.69rem; font-weight:800; }.language-script-card > button span { color:var(--teal); font-size:.68rem; font-weight:850; }.script-facts { display:grid; gap:7px; margin:10px 0 0; }.script-facts div { display:grid; grid-template-columns:92px 1fr; gap:8px; }.script-facts dt { color:var(--crimson); font-size:.68rem; font-weight:850; }.script-facts dd { margin:0; color:var(--muted); font-size:.7rem; line-height:1.5; }
.language-family-overview-grid b,.language-family-overview-grid small { display:block; }
.language-family-overview-grid b { margin-top:8px; color:var(--family-color); font-size:1.5rem; }
.language-family-overview-grid small,.language-script-grid p { margin:4px 0 0; color:var(--muted); font-size:.72rem; line-height:1.6; }
.language-section-intro h2 { margin:4px 0 8px; }.language-section-intro > p:last-child { color:var(--muted); line-height:1.7; }.phrasebook-scroll { overflow-x:auto; }.language-phrasebook table { width:100%; border-collapse:collapse; min-width:760px; }.language-phrasebook th,.language-phrasebook td { padding:13px 14px; border-bottom:1px solid #ded4c5; text-align:left; vertical-align:top; }.language-phrasebook th { background:#f4ead9; color:var(--ink); font-size:.76rem; }.language-phrasebook td { font-size:.82rem; line-height:1.55; }.language-phrasebook td:first-child { color:var(--crimson); font-weight:850; }.script-glyph-sample { min-height:54px; margin:12px 0 8px; color:var(--ink); font-family:"Noto Sans", "Segoe UI Historic", sans-serif; font-size:1.65rem; line-height:1.6; letter-spacing:.08em; overflow-wrap:anywhere; }
@media (max-width:1000px) { .language-family-overview,.language-script-overview,.language-phrasebook { grid-template-columns:1fr; } }
@media (max-width:620px) { .language-map-list-controls { align-items:stretch; flex-direction:column; }.language-map-list-heading .language-map-list-controls label,.language-map-list-heading .language-map-list-controls label:last-child { width:100%; }.language-family-overview,.language-script-overview,.language-phrasebook { padding:22px; }.language-family-overview-grid,.language-script-grid { grid-template-columns:1fr; } }

/* v48 linguistic-map typography and wide comparative phrase table */
.language-map-hero h1 { max-width:950px; font-family:var(--devanagari-font); font-weight:650; letter-spacing:-.055em; }
.language-phrasebook { grid-template-columns:1fr; gap:18px; }
.language-phrasebook table { min-width:900px; border-collapse:separate; border-spacing:0; }
.language-phrasebook th,.language-phrasebook td { min-width:145px; border-right:1px solid #ded4c5; }
.language-phrasebook th { position:sticky; top:0; }
.language-phrasebook .phrase-anchor { position:sticky; left:0; z-index:2; min-width:135px; background:#fff3cf; color:var(--crimson); font-weight:850; box-shadow:8px 0 13px rgba(16,38,77,.06); }
.language-phrasebook th.phrase-anchor { z-index:3; background:#f3dda0; }
.phrasebook-note { margin:0; color:var(--muted); font-size:.76rem; line-height:1.7; }

/* AG-inspired daily game presentation, backed by Khula Lipi's own mechanics */
.crossword-page { background:#fffaf1; }
.crossword-page .crossword-hero { margin-bottom:28px; padding:30px 34px; border:1px solid #ded4c5; border-radius:20px; background:#fffdf8; box-shadow:0 18px 45px rgba(16,38,77,.07); }
.crossword-page .play-mode-tabs { width:100%; margin-bottom:22px; padding:6px; justify-content:center; border-radius:15px; }
.crossword-page .play-mode-tabs button { flex:1; max-width:330px; font-family:var(--devanagari-font); font-size:.95rem; }
.crossword-page .crossword-workspace { grid-template-columns:minmax(390px,.9fr) minmax(390px,1.1fr); max-width:1050px; margin-inline:auto; border:0; background:transparent; box-shadow:none; gap:22px; }.crossword-page .crossword-board-panel,.crossword-page .crossword-clue-panel { border:1px solid #ded4c5; border-radius:19px; background:#fffdf8; box-shadow:0 18px 45px rgba(16,38,77,.08); }.crossword-page .crossword-grid { width:min(100%,440px); border-radius:14px; overflow:hidden; }.crossword-page .crossword-cell { min-height:56px; }.crossword-page .crossword-clues { grid-template-columns:1fr 1fr; gap:9px; }.crossword-page .crossword-clues button { min-height:68px; background:#f5f7fa; }.crossword-page .crossword-clues button.active { background:#fff3cf; box-shadow:inset 3px 0 var(--gold); }
.word-builder-mode { max-width:1050px; margin-inline:auto; }.word-builder-intro { margin-inline:auto; text-align:center; }.word-builder-card.shabdavyuh-card { max-width:980px; display:grid; grid-template-columns:minmax(330px,.85fr) minmax(360px,1.15fr); gap:24px; padding:24px; }.shabdavyuh-columns { grid-row:1/7; }.shabdavyuh-column { gap:7px; }.shabdavyuh-column button { min-width:0; height:52px; padding:6px; }.shabdavyuh-results { grid-template-columns:1fr; gap:12px; }.shabdavyuh-results section { padding:14px; }.shabdavyuh-preview { margin:0; }.word-builder-card #word-builder-form,.word-builder-card #word-builder-status,.word-builder-card #word-builder-progress,.word-builder-card .shabdavyuh-results { grid-column:2; }
@media (max-width:900px) { .crossword-page .crossword-workspace,.word-builder-card.shabdavyuh-card { grid-template-columns:1fr; }.shabdavyuh-columns { grid-row:auto; }.word-builder-card #word-builder-form,.word-builder-card #word-builder-status,.word-builder-card #word-builder-progress,.word-builder-card .shabdavyuh-results { grid-column:1; }.crossword-page .crossword-clues { grid-template-columns:1fr; } }
.crossword-workspace { overflow:hidden; border-radius:22px; box-shadow:0 24px 60px rgba(16,38,77,.1); }
.crossword-board-panel { background:#f4ead9; }
.crossword-grid { padding:2px; background:var(--ink); gap:2px; }
.crossword-block { background:var(--ink); }
.crossword-cell { min-height:70px; background:#fffdf8; }
.crossword-cell.selected { background:#f7dfa0; }
.crossword-clue-panel { background:#fffdf8; }
.crossword-clue-tabs { padding:5px; border-radius:12px; background:#eee8df; }
.crossword-clue-tabs button { border-radius:9px; }
.shabdavyuh-card { max-width:none; }
.shabdavyuh-columns { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-bottom:22px; }
.shabdavyuh-column { display:grid; align-content:start; gap:7px; padding:9px; border:1px solid #ded4c5; border-radius:15px; background:#f5efe5; }
.shabdavyuh-column button { min-height:48px; padding:7px 4px; border:1px solid #d3c5b2; border-radius:9px; background:#fffdf8; color:var(--ink); font:700 1.05rem/1 var(--devanagari-font); cursor:pointer; }
.shabdavyuh-column button:hover { border-color:var(--gold); background:#fff3cf; transform:translateY(-1px); }
.shabdavyuh-column button.selected { border-color:var(--crimson); background:var(--crimson); color:white; box-shadow:0 7px 16px rgba(181,31,76,.2); }
.shabdavyuh-preview { display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; margin-bottom:20px; padding:16px 18px; border-radius:14px; background:var(--ink); color:white; }
.shabdavyuh-preview > span:first-child { color:#b9c9df; font-size:.72rem; font-weight:800; }
.shabdavyuh-preview strong { font-size:1.65rem; letter-spacing:.06em; }
.shabdavyuh-slots { display:flex; gap:5px; letter-spacing:0 !important; }
.shabdavyuh-slots > span { display:grid; width:34px; height:34px; place-items:center; border:1px dashed rgba(255,255,255,.36); border-radius:7px; background:rgba(255,255,255,.08); color:rgba(255,255,255,.42); font-size:.72rem; }
.shabdavyuh-slots > span.filled { border-style:solid; border-color:#fff; background:var(--crimson); color:#fff; font:800 1.05rem/1 var(--devanagari-font); box-shadow:0 3px 8px rgba(181,31,76,.38); }
.shabdavyuh-preview > span:last-child { display:flex; gap:7px; }
.shabdavyuh-preview button { padding:8px 11px; border:1px solid rgba(255,255,255,.3); border-radius:8px; color:white; font-weight:800; }
#word-builder-submit-selected { background:var(--crimson); }
.shabdavyuh-results { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
.shabdavyuh-results section { padding:20px; border:1px solid #ded4c5; border-radius:15px; background:#f8f3ea; }
.shabdavyuh-results h3 { display:flex; justify-content:space-between; margin:0 0 14px; }
.word-builder-found { display:grid; grid-template-columns:1fr 1fr; }
.word-builder-found span { text-align:center; background:#ece6dc; color:#908678; }
.word-builder-found span.found { background:#dff1ec; color:var(--teal); }
.word-builder-bonus { display:grid; gap:8px; }
.word-builder-bonus > div { display:grid; grid-template-columns:95px 1fr; gap:10px; align-items:center; padding:9px; border-radius:9px; background:#eee8df; color:var(--muted); font-size:.76rem; }
.word-builder-bonus > div.found { background:#fff0bd; color:var(--ink); }
.word-builder-bonus span { font-weight:850; }
@media (max-width:760px) { .shabdavyuh-columns { gap:4px; }.shabdavyuh-column { padding:4px; gap:4px; }.shabdavyuh-column button { min-height:42px; font-size:.88rem; }.shabdavyuh-preview { grid-template-columns:1fr; }.shabdavyuh-results { grid-template-columns:1fr; } }

/* v48 focused language sections and phrasebook. */
.language-pillar-nav { position:sticky; top:0; z-index:20; border-block:1px solid var(--line); background:rgba(247,240,228,.96); backdrop-filter:blur(12px); }
.language-pillar-nav .home-shell { display:flex; gap:8px; padding-block:12px; overflow-x:auto; scrollbar-width:thin; }
.language-pillar-nav a { flex:0 0 auto; padding:10px 15px; border:1px solid transparent; border-radius:999px; color:var(--ink-soft); font-family:var(--devanagari-font); font-size:.87rem; font-weight:750; text-decoration:none; }
.language-pillar-nav a:hover { border-color:#cfc2af; background:#fffdf8; }
.language-pillar-nav a.active { border-color:var(--ink); background:var(--ink); color:white; }
.language-pillar-section[hidden] { display:none !important; }
.language-content-panel { margin-top:35px; padding:34px; border:1px solid #d8cdbd; border-radius:19px; background:#fffdf8; }
.section-jump-note a { display:inline-flex; padding:10px 15px; border-radius:999px; background:var(--ink); color:white; font-weight:800; text-decoration:none; }
.phrasebook-search { display:grid; max-width:420px; gap:7px; color:var(--ink); font-size:.78rem; font-weight:800; }
.phrasebook-search input,.district-drilldown select { padding:12px 14px; border:1px solid #cfc2af; border-radius:10px; background:white; color:var(--ink); font:inherit; }
.language-phrasebook th,.language-phrasebook td { padding:11px 12px; border-right:1px solid #d8cdbd; border-bottom:1px solid #d8cdbd; font-family:var(--devanagari-font); }
.language-phrasebook td { font-size:.94rem; line-height:1.6; }
.phrasebook-nepali-row th,.phrasebook-nepali-row td { background:#fff8e5; font-weight:750; }
.phrasebook-more { justify-self:start; padding:10px 16px; border:1px solid var(--ink); border-radius:999px; background:transparent; color:var(--ink); font-family:var(--devanagari-font); font-weight:800; cursor:pointer; }
.phrasebook-more:hover { background:var(--ink); color:white; }
.district-drilldown { display:grid; grid-template-columns:.8fr 1.2fr; gap:28px; margin-top:32px; padding:26px; border:1px solid #d8cdbd; border-radius:17px; background:#fffaf0; }
.district-drilldown h2 { margin:0 0 8px; }.district-drilldown p { color:var(--muted); line-height:1.65; }
.district-drilldown label { display:grid; gap:7px; font-size:.78rem; font-weight:800; }
.district-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:15px; }
.district-list span { padding:7px 10px; border-radius:999px; background:#e7f3ef; color:#13675f; font-size:.8rem; font-weight:750; }
.district-list p { margin:0; }
.crossword-page .crossword-workspace { grid-template-columns:minmax(500px,.95fr) minmax(420px,1.05fr); max-width:1180px; }
.crossword-page .crossword-grid { width:min(100%,500px); border-color:transparent; background:transparent; overflow:visible; }
.crossword-page .crossword-block.outside { background:transparent; }
.crossword-page .crossword-block:not(.outside) { border-radius:3px; }
.crossword-page .crossword-actions { justify-content:center; margin:18px auto 0; }
.crossword-page .crossword-status { text-align:center; }
.shabdavyuh-column { grid-template-rows:repeat(var(--shabdavyuh-rows),52px); align-content:stretch; }
.shabdavyuh-filler { display:grid; min-height:52px; place-items:center; border:1px dashed #d5c9b9; border-radius:9px; background:rgba(255,253,248,.58); color:#b6aa98; }
.shabdavyuh-filler img { width:30px; height:30px; object-fit:contain; opacity:.38; filter:saturate(.7); }
.crossword-page .crossword-cell { min-height:0; font-size:clamp(.78rem,1.45vw,1.15rem); }
.crossword-block.branded img { width:72%; height:72%; opacity:1; filter:none; }
.crossword-block.branded { position:relative; isolation:isolate; }
.crossword-block.branded::after { position:absolute; z-index:-1; width:58%; aspect-ratio:1; border-radius:50%; background:rgba(246,196,78,.68); filter:blur(13px); opacity:0; content:""; transition:opacity .2s ease,transform .2s ease; }
.crossword-block.branded img { position:relative; z-index:1; transition:filter .2s ease,transform .2s ease; }
.crossword-block.branded:hover::after { opacity:1; transform:scale(1.18); }
.crossword-block.branded:hover img { filter:drop-shadow(0 0 9px rgba(255,219,104,.92)); transform:scale(1.08); }
.download-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.download-hero-actions a { padding:12px 17px; border:1px solid var(--ink); border-radius:10px; color:var(--ink); font-family:var(--devanagari-font); font-weight:850; text-decoration:none; }
.download-hero-actions a.primary { background:var(--ink); color:white; box-shadow:0 10px 24px rgba(16,38,77,.16); }
.download-hero-actions a:hover { transform:translateY(-1px); }
.download-capabilities { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:64px; }
.download-capabilities article { display:grid; gap:5px; padding:18px; border:1px solid #d8cdbd; border-radius:14px; background:#fffdf8; }
.download-capabilities strong { color:var(--ink); font-family:var(--devanagari-font); }
.download-capabilities span { color:var(--muted); font-size:.76rem; line-height:1.45; }
@media (max-width:850px) { .download-capabilities { grid-template-columns:1fr 1fr; } }
@media (max-width:520px) { .download-capabilities { grid-template-columns:1fr; } }
@media (max-width:620px) { .district-drilldown { grid-template-columns:1fr; }.language-pillar-nav a { padding:8px 12px; font-size:.8rem; } }

/* Quiet visual rhythm for homepage sections without descriptive kickers. */
.home-page .additional-features,.home-page .discovery-section { --section-accent:var(--teal); position:relative; border-top:1px solid var(--line); }
.home-page .discovery-section { --section-accent:#6f52a3; }
.home-page .additional-features::before,.home-page .discovery-section::before { position:absolute; top:-2px; left:0; width:58px; height:3px; border-radius:999px; background:var(--section-accent); content:""; }

/* Prominent, scannable national language totals. */
.language-national-stat { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; width:100%; margin:5px 0 10px; color:var(--family-color,var(--teal)); }
.language-national-stat > span { display:grid; gap:2px; padding:9px 8px; border-radius:9px; background:color-mix(in srgb,var(--family-color,var(--teal)) 8%,white); }
.language-national-stat strong { font-size:1rem; line-height:1.1; }
.language-national-stat small { color:var(--ink-soft); font-size:.56rem; font-weight:800; line-height:1.3; }
.language-map-detail .language-national-stat { max-width:430px; margin:10px 0 18px; }
.language-map-detail .language-national-stat strong { font-size:1.5rem; }
.language-map-detail .language-national-stat small { font-size:.67rem; }

.download-updates { padding:76px 0 95px; border-top:1px solid var(--line); }

/* v48.0.9: denser discovery controls and clearer language-reference layouts. */
.download-hero { grid-template-columns:minmax(0,1.08fr) minmax(330px,.92fr); gap:48px; }
.download-hero h1 { max-width:720px; margin:12px 0 0; font-size:clamp(3.2rem,5.7vw,5.65rem); letter-spacing:-.045em; line-height:1.06; }
.explore-search-panel { padding:29px 32px 0; }
.explore-search-area { padding-top:0; border-top:0; }
.explore-search-area > p { margin:10px 3px 19px; color:var(--muted); font-size:.72rem; }
.explore-page .explore-tabs { margin:0 -32px; border-top:1px solid var(--line); }
.explore-page .explore-tabs button:first-child { border-radius:0 0 0 21px; }
.explore-page .explore-tabs button:last-child { border-radius:0 0 21px; }
.explore-page .explore-categories { display:grid; grid-template-rows:repeat(2,auto); grid-auto-flow:column; grid-auto-columns:max-content; flex-wrap:initial; }
.language-script-overview { grid-template-columns:1fr; gap:24px; }
.language-script-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.language-phrasebook th,.language-phrasebook td { padding:16px 15px; border-color:#ddd3c4; }
.language-phrasebook th { font-size:.86rem; line-height:1.45; }
.language-phrasebook td { font-size:1rem; line-height:1.7; }
@media (max-width:1100px) { .language-script-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:850px) { .download-hero { grid-template-columns:1fr; gap:0; } }
@media (max-width:700px) { .language-script-grid { grid-template-columns:1fr; } }
@media (max-width:620px) {
  .explore-search-panel { padding:18px 17px 0; }
  .explore-page .explore-tabs { margin:0 -17px; }
  .explore-search-area { padding-top:0; }
  .download-hero h1 { font-size:clamp(2.8rem,13vw,4.25rem); line-height:1.08; }
}
.download-updates h2,.about-statistics h2 { margin:0; font-size:clamp(2rem,4vw,3.6rem); }
.update-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.update-grid article { padding:24px; border:1px solid #d8cdbd; border-radius:16px; background:#fffdf8; }
.update-grid time { color:var(--crimson); font-size:.72rem; font-weight:850; }
.update-grid h3 { margin:9px 0 8px; font-size:1.25rem; }
.update-grid p { margin:0; color:var(--ink-soft); line-height:1.7; }
.about-statistics { display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); gap:45px; padding:72px 0 90px; border-top:1px solid var(--line); }
.statistics-heading > p:last-child { color:var(--ink-soft); line-height:1.75; }
.statistics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.statistics-grid article { display:grid; gap:4px; padding:22px; border:1px solid #d8cdbd; border-radius:15px; background:#fffdf8; }
.statistics-grid strong { color:var(--crimson); font-size:2rem; line-height:1; }
.statistics-grid span { font-weight:850; }
.statistics-grid small { color:var(--muted); }
@media (max-width:800px) { .update-grid { grid-template-columns:1fr; }.about-statistics { grid-template-columns:1fr; }.statistics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px) { .statistics-grid { grid-template-columns:1fr; } }

/* v48.0.18: clearer navigation, compact filters and repaired game boards. */
.site-nav { gap:clamp(8px,1.15vw,24px); }
.site-nav a { min-width:62px; }
.category-heading { grid-template-columns:1fr; gap:5px; margin:18px 0 22px; padding:12px 0 14px; }
.category-heading > span { padding-top:0; line-height:1.25; text-align:center; }
.category-heading .explore-categories { justify-content:center; }
.explore-page .explore-categories { padding-bottom:5px; gap:7px; }
.explore-page .explore-categories button { padding:8px 12px; }
[data-language-panel][hidden] { display:none !important; }
.language-map-hero h1 { max-width:900px; font-size:clamp(3.25rem,6vw,5.65rem); letter-spacing:-.035em; line-height:1.08; }
.language-map-hero h1 span { white-space:nowrap; }
.crossword-page .crossword-grid { border:3px solid var(--ink); background:var(--ink); overflow:hidden; }
.crossword-page .crossword-block.outside { background:var(--ink); }
.crossword-creator { display:inline-flex; align-items:center; gap:5px; margin:7px 0 0; padding:5px 9px; border-radius:999px; background:#f6eee2; color:var(--muted); font-size:.72rem; font-weight:750; }
.crossword-creator a { color:var(--crimson); font-weight:850; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.crossword-active-clue { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:10px; max-width:560px; margin:0 auto 12px; padding:10px 12px; border:1px solid #decfb9; border-radius:10px; background:#fffaf1; color:var(--ink); }
.crossword-active-clue strong { padding:5px 8px; border-radius:7px; background:var(--crimson); color:#fff; font-size:.73rem; white-space:nowrap; }
.crossword-active-clue span { font-size:.84rem; font-weight:700; line-height:1.45; }
.crossword-active-clue small { padding:4px 7px; border-radius:999px; background:#f9e3ea; color:var(--crimson); font-size:.66rem; font-weight:850; white-space:nowrap; }
.crossword-invitation { max-width:760px; margin:28px 0 0 auto; padding:24px 26px; border:1px dashed #e2a8b9; border-radius:18px; background:#fffafc; }
.crossword-invitation h2 { margin:5px 0 8px; font-size:1.35rem; }
.crossword-invitation > p:not(.section-kicker) { margin:0; color:var(--muted); line-height:1.7; }
.crossword-submit-link { display:inline-flex; margin-top:15px; padding:10px 14px; border-radius:9px; background:var(--ink); color:#fff; font-weight:850; }
@media (max-width:620px) { .crossword-active-clue { grid-template-columns:auto 1fr; }.crossword-active-clue small { grid-column:2; justify-self:start; }.crossword-invitation { padding:20px; } }
.play-mode-tiles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.play-mode-tiles button { display:grid; grid-template-columns:58px 1fr; grid-template-rows:auto auto; min-height:92px; padding:16px 20px; text-align:left; }
.play-mode-tiles button > span { grid-row:1/3; align-self:center; font-size:2.5rem; line-height:1; }.play-mode-tiles button strong { align-self:end; font-size:1.05rem; }.play-mode-tiles button small { align-self:start; color:var(--muted); font-size:.7rem; }
.play-mode-tiles button.active small { color:rgba(255,255,255,.72); }
.crossword-clue-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.crossword-clue-columns h3 { margin:0 0 8px; padding-bottom:8px; border-bottom:2px solid var(--gold); font-size:1rem; }
.crossword-clue-columns .crossword-clues { max-height:430px; overflow:auto; }
@media (max-width:620px) { .play-mode-tiles { grid-template-columns:1fr; }.crossword-clue-columns { grid-template-columns:1fr; }.crossword-clue-columns .crossword-clues { max-height:none; } }
.changes-page { max-width:920px; padding-top:70px; padding-bottom:100px; }.changes-page > h1 { max-width:760px; margin:8px 0 42px; font-size:clamp(2.8rem,6vw,5rem); line-height:1.05; }.changes-page section { margin-top:18px; padding:28px; border:1px solid var(--line); border-radius:18px; background:var(--paper); }.changes-page time { color:var(--crimson); font-size:.75rem; font-weight:850; }.changes-page h2 { margin:6px 0 16px; }.changes-page li { margin:8px 0; color:var(--ink-soft); line-height:1.65; }.changes-source-note { margin-top:24px; color:var(--muted); font-size:.78rem; }

/* Rebuilt learning course: one focused lesson at a time. */
.learn-course { padding:72px 0 110px; }
.learn-course-intro { max-width:1040px; margin:auto; padding:clamp(32px,5vw,62px); border:1px solid var(--line); border-radius:28px; background:#fffdf8; box-shadow:0 24px 65px rgba(16,38,77,.08); }
.learn-course-intro h1 { max-width:830px; margin:8px 0 28px; font-size:clamp(2.6rem,6vw,5.5rem); line-height:1.04; }
.learn-intro-copy { max-width:850px; color:var(--ink-soft); font-size:clamp(1rem,1.35vw,1.16rem); line-height:1.95; }
.learn-intro-copy p { margin:0 0 16px; }
.learn-start-button { display:inline-flex; gap:12px; align-items:center; margin-top:18px; padding:14px 18px; border-radius:12px; background:var(--crimson); color:#fff; font-weight:850; }
.learn-lesson-one { max-width:1040px; margin:64px auto 0; padding:clamp(26px,4vw,46px); border:1px solid var(--line); border-radius:28px; background:#fffdf8; box-shadow:0 24px 65px rgba(16,38,77,.08); }
.lesson-one-header { display:flex; justify-content:space-between; align-items:flex-start; gap:20px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.lesson-one-header h2 { margin:5px 0 0; font-size:clamp(1.55rem,3vw,2.55rem); line-height:1.2; }.lesson-one-header h2 span { display:block; margin-bottom:5px; color:var(--crimson); font:800 clamp(.82rem,1.2vw,1rem)/1.2 var(--sans-font); letter-spacing:.02em; }
.lesson-one-badge { display:flex; align-items:baseline; gap:6px; padding:10px 16px; border:2px solid #e4a6b9; border-radius:999px; background:#fff0f4; color:var(--crimson); font-size:.9rem; font-weight:850; box-shadow:0 8px 20px rgba(190,29,76,.12); white-space:nowrap; }
.lesson-one-badge strong { font-size:1.35rem; line-height:1; }
.lesson-one-intro { max-width:800px; margin:28px 0; color:var(--ink-soft); font-size:1.05rem; line-height:1.85; }
.hraswa-game { max-width:780px; margin:36px auto 0; }
.hraswa-game-top { display:flex; justify-content:space-between; gap:18px; padding:15px 20px; border-radius:14px; background:var(--cream); color:var(--ink-soft); font-weight:750; }
.hraswa-progress { height:7px; margin:10px 0 22px; overflow:hidden; border-radius:999px; background:#eee5d8; }
.hraswa-progress i { display:block; width:0; height:100%; background:var(--crimson); transition:width .25s ease; }
.hraswa-question-card { padding:clamp(24px,4vw,44px); border:1px solid #e2d7c8; border-radius:22px; text-align:center; }
.hraswa-question-card > p { margin:0; color:var(--muted); }
.hraswa-question-card h3 { margin:10px 0 28px; font-size:clamp(1.8rem,4vw,3rem); }
.hraswa-choices { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.hraswa-choices button { min-height:105px; border:2px solid #dfd5c8; border-radius:17px; background:#fff; color:var(--ink); font-family:var(--devanagari-font); font-size:clamp(1.65rem,4vw,2.5rem); font-weight:750; cursor:pointer; }
.hraswa-choices button:hover:not(:disabled) { border-color:var(--gold); transform:translateY(-2px); }
.hraswa-choices button.is-right { border-color:#1baa62; background:#dcf8e7; box-shadow:inset 0 0 0 2px #1baa62; }
.hraswa-choices button.is-wrong { border-color:#d94747; background:#fff0f0; }
.hraswa-feedback { margin-top:18px; padding:17px 20px; border-radius:14px; text-align:left; }
.hraswa-feedback.right { background:#e9f8ef; color:#126b3d; }.hraswa-feedback.wrong { background:#fff0f0; color:#9c2b2b; }
.hraswa-feedback { border:2px solid currentColor; font-size:1.02rem; box-shadow:0 12px 28px rgba(16,38,77,.08); }
.hraswa-feedback strong { display:block; font-size:1.15rem; }
.hraswa-feedback p { margin:7px 0 0; color:var(--ink); font-weight:650; line-height:1.7; }
.hraswa-choices button.is-correct { border-color:#168451; background:#e5f5eb; color:#0d633a; }
.lesson-source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0; }
.lesson-source-grid article { padding:20px; border-radius:15px; background:#f5eee4; }
.lesson-source-grid h3 { margin-top:0; color:var(--crimson); }
.lesson-source-grid h3 small { display:block; margin-top:5px; color:var(--muted); font-size:.72rem; font-weight:750; line-height:1.45; }
.origin-language-list { display:grid; grid-template-columns:1fr; gap:0; margin:0; }
.origin-language-list div { display:flex; align-items:baseline; flex-wrap:nowrap; gap:4px 6px; padding:9px 0; border-top:1px solid rgba(16,38,77,.1); }
.origin-language-list dt { color:var(--crimson); font-weight:850; }
.origin-language-list dd { margin:0; color:var(--ink); font-weight:700; line-height:1.55; white-space:nowrap; }
.tatsama-clues { margin-top:38px; padding-top:28px; border-top:1px solid var(--line); }
.tatsama-clues > h2 { margin:0 0 10px; color:var(--ink); }
.tatsama-clues > p { color:var(--ink-soft); line-height:1.75; }
.tatsama-clue-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:22px 0; }
.tatsama-clue-grid article { padding:18px 20px; border:1px solid #e4d9ca; border-radius:15px; background:#fbf7f0; }
.tatsama-clue-grid h3 { margin:0 0 8px; color:var(--crimson); font-size:1rem; line-height:1.45; }
.tatsama-clue-grid p { margin:0; color:var(--ink); font-weight:700; line-height:1.65; }
.tatsama-clue-note { margin-bottom:0; padding:15px 17px; border-left:4px solid var(--teal); border-radius:0 12px 12px 0; background:#eaf4f1; }
.hraswa-game-actions { display:grid; grid-template-columns:1fr; gap:9px; margin-top:16px; }.hraswa-next,.hraswa-skip { width:100%; padding:14px; border-radius:11px; font-family:var(--devanagari-font); font-weight:850; cursor:pointer; }.hraswa-next { border:0; background:var(--crimson); color:#fff; }.hraswa-skip { border:1px solid var(--line); background:transparent; color:var(--ink-soft); }.hraswa-skip:hover { border-color:var(--crimson); color:var(--crimson); }
.hraswa-choices button.is-selected { border-color:var(--ink); background:#eef2f8; color:var(--ink); }
@media (max-width:650px) { .learn-course { padding-top:34px; }.hraswa-choices { grid-template-columns:1fr; }.hraswa-choices button { min-height:82px; }.lesson-one-header { align-items:flex-start; flex-direction:column; } }
.learn-course-grid { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:28px; align-items:start; }
.learn-primary { min-width:0; }.learn-primary .learn-course-intro,.learn-primary .learn-lesson-one { max-width:none; }
.learn-primary > .lesson-breadcrumb { margin:0 0 18px; color:var(--muted); }
.learn-primary > .lesson-breadcrumb a { color:var(--crimson); font-weight:850; }
.learn-primary > .lesson-body { display:flow-root; padding:clamp(26px,4vw,46px); border:1px solid var(--line); border-radius:26px; background:var(--paper); box-shadow:0 22px 58px rgba(16,38,77,.07); }
.learn-primary > .lesson-body > h1 { max-width:800px; margin-top:8px; color:var(--ink); font-family:var(--devanagari-font); font-size:clamp(2.15rem,4.5vw,4.25rem); font-weight:650; line-height:1.08; }
.learn-primary > .lesson-body .lesson-lede { max-width:760px; color:var(--ink-soft); font-size:1.08rem; line-height:1.85; }
.lesson-inline-illustration {
  float:right;
  width:clamp(220px,35%,380px);
  margin:4px 0 20px 24px;
  overflow:visible;
  background:transparent;
}
.lesson-inline-illustration img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
  mix-blend-mode:multiply;
  filter:contrast(1.04);
}
.lesson-body > :is(.hraswa-position-grid,.sibilant-grid,.bwo-grid,.letter-pair-grid,.letter-comparison,.nasal-rules-grid,.halant-ajant-grid,.padyog-grid,.misspelling-tools,.misspelling-section,.lesson-source-grid,.sound-pair-sections,.lesson-memory,.reference-list,table,.table-wrap,.misspelling-table-wrap) { clear:both; }
.lesson-illustrated-heading.is-quiz {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,30%);
  gap:clamp(24px,4vw,54px);
  align-items:end;
  padding-bottom:24px;
  border-bottom:1px solid var(--line);
}
.lesson-illustrated-heading.is-quiz > figure { grid-column:2; grid-row:1; margin:0; align-self:end; }
.lesson-illustrated-heading.is-quiz > figure img { display:block; width:100%; height:auto; object-fit:contain; mix-blend-mode:multiply; filter:contrast(1.04); }
.lesson-illustrated-heading.is-quiz > div { grid-column:1; grid-row:1; min-width:0; }
.lesson-illustrated-heading.is-quiz .lesson-one-header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:0 0 22px; border:0; border-bottom:1px solid var(--line); }
.lesson-illustrated-heading.is-quiz .lesson-one-header h1 { margin-bottom:0; }
.lesson-illustrated-heading.is-quiz .lesson-one-badge { flex:0 0 auto; width:max-content; margin:0; }
.lesson-illustrated-heading.is-quiz .lesson-one-intro { margin-top:22px; }
.lesson-illustrated-heading.is-quiz .lesson-one-intro p { margin:0; }
.learn-primary > .lesson-page-nav { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:stretch; gap:12px; margin-top:22px; }
.learn-primary > .lesson-page-nav a { display:flex; flex-direction:column; justify-content:center; gap:3px; min-height:62px; padding:11px 16px; border:1px solid var(--line); border-radius:15px; background:var(--paper); color:var(--ink); text-decoration:none; }
.learn-primary > .lesson-page-nav a:last-child { align-items:flex-end; text-align:right; }
.lesson-sequence-nav a small { color:var(--muted); font-size:.68rem; font-weight:750; }
.lesson-sequence-nav a strong { font-size:.9rem; line-height:1.35; }
.lesson-sequence-nav .lesson-nav-index { align-items:center!important; min-width:96px; color:var(--crimson); font-weight:850; text-align:center!important; }
.lesson-sequence-nav button { align-self:center; min-height:44px; }
.learn-primary .lesson-examples { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:30px 0; }
.learn-primary .lesson-examples article { display:grid; gap:9px; padding:20px; border-radius:15px; background:#f5eee4; }
.learn-primary .lesson-examples b { color:var(--crimson); }
.learn-primary .lesson-memory,.learn-primary .lesson-warning { margin-top:16px; padding:20px; border-radius:14px; }
.learn-primary .lesson-memory { background:#e5f3ef; }.learn-primary .lesson-warning { background:#fff1d2; }
.learn-bites > a { display:block; color:inherit; text-decoration:none; }
.learn-bites > a article { transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.learn-bites > a:hover article,.learn-bites > a:focus-visible article { transform:translateY(-2px); border-color:var(--crimson); box-shadow:0 12px 26px rgba(16,38,77,.1); }
.learn-primary .learn-lesson-one { margin-top:42px; }
.learn-bites { position:sticky; top:18px; display:grid; gap:11px; max-height:calc(100vh - 36px); overflow:auto; padding:22px; border:1px solid var(--line); border-radius:22px; background:#f5efe4; }
.learn-bites > h2 { margin:0 0 5px; font-size:1.55rem; }.learn-bites article { padding:16px; border:1px solid #e0d5c6; border-radius:14px; background:#fffdf8; }
.learn-bites h3 { margin:0 0 7px; font-size:1.05rem; }.learn-bites h3 small { display:block; margin-top:2px; color:var(--crimson); font:700 .67rem/1.2 var(--sans-font); letter-spacing:.03em; }
.learn-bites article p { margin:0; color:var(--ink-soft); font-size:.78rem; line-height:1.65; }
.post-quiz-lessons { margin-top:28px; padding:28px; border:1px solid var(--gold); border-radius:18px; background:#fff6d8; }.post-quiz-lessons h3 { margin:5px 0 10px; font-size:1.8rem; }.post-quiz-lessons p:last-child { margin:0; color:var(--ink-soft); line-height:1.7; }
.lesson-rule-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:22px; }.lesson-rule-grid article { padding:20px; border:1px solid #e4cf87; border-radius:14px; background:#fffdf8; }.lesson-rule-grid b { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:var(--gold); }.lesson-rule-grid h4 { margin:10px 0 7px; font-size:1.05rem; }.lesson-rule-grid p { margin:0; color:var(--ink-soft); font-size:.84rem; line-height:1.7; }.lesson-source { margin:18px 0 0; font-size:.74rem; }.lesson-source a { color:var(--crimson); font-weight:800; text-decoration:underline; text-underline-offset:3px; }.next-lesson-preview { margin-top:22px; padding:20px; border-radius:14px; background:var(--ink); color:#fff; }.next-lesson-preview span { color:var(--gold); font-size:.7rem; font-weight:850; }.next-lesson-preview h4 { margin:5px 0; font-size:1.2rem; }.next-lesson-preview p { margin:0; color:rgba(255,255,255,.78); }
@media (max-width:980px) { .learn-course-grid { grid-template-columns:1fr; }.learn-bites { position:static; max-height:none; grid-template-columns:repeat(2,minmax(0,1fr)); }.learn-bites > .section-kicker,.learn-bites > h2 { grid-column:1/-1; } }
@media (max-width:620px) { .learn-bites,.lesson-rule-grid { grid-template-columns:1fr; } }
@media (max-width:760px) {
  .lesson-inline-illustration {
    float:none;
    width:100%;
    max-width:360px;
    max-height:none;
    margin:14px auto 24px;
    overflow:visible;
  }
  .lesson-illustrated-heading.is-quiz { grid-template-columns:1fr; }
  .lesson-illustrated-heading.is-quiz > figure { grid-column:1; grid-row:1; width:100%; max-width:360px; margin:0 auto 18px; }
  .lesson-illustrated-heading.is-quiz > div { grid-column:1; grid-row:2; }
  .lesson-illustrated-heading.is-quiz .lesson-one-header { align-items:flex-start; }
}

.privacy-page .policy-updated { margin-top:16px; color:var(--muted); font-size:.82rem; font-weight:750; }

/* Keep the category label in its original column; center only its text. */
.category-heading { grid-template-columns:132px 1fr; gap:4px; margin:18px 0 22px; padding:14px 0; }
.category-heading > span { padding-top:4px; text-align:center; }
.category-heading .explore-categories { justify-content:flex-start; }
.shabdavyuh-column { grid-template-rows:repeat(var(--shabdavyuh-rows),42px); gap:5px; padding:7px; }
.shabdavyuh-column button,.shabdavyuh-filler { min-height:42px; height:42px; }
.shabdavyuh-filler img { width:24px; height:24px; }
.shabdavyuh-column button.exhausted { border-color:#ded7cc; background:#e8e4dd; color:#a19a90; cursor:not-allowed; box-shadow:none; transform:none; }
@media (max-width:850px) {
  .category-heading { grid-template-columns:1fr; gap:7px; }
  .category-heading > span br { display:none; }
  .language-map-hero h1 span { white-space:normal; }
}
.meaning-pairs-lesson{margin-top:24px;padding:28px;border-radius:18px;background:var(--ink);color:#fff}.meaning-pairs-lesson h3{margin:5px 0 8px;font-size:1.75rem}.meaning-pairs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.meaning-pairs-grid article{padding:16px;border:1px solid #ffffff2e;border-radius:14px;background:#ffffff14}.meaning-picture{float:left;display:grid;width:58px;height:58px;margin-right:13px;place-items:center;border-radius:13px;background:#fff;font-size:2rem}.meaning-pairs-grid h4{margin:0;color:var(--gold);font-size:1.45rem}.meaning-pairs-grid p{margin:2px 0 12px;font-weight:750}.meaning-pairs-grid span{display:block;clear:both;padding-top:10px;color:#ffffffcc;font-size:.82rem}
.ag-shabdavyuh-card{max-width:1120px;margin-inline:auto;padding:24px}.cadgy-header,.cadgy-workspace-layout,.cadgy-lists-grid{display:grid;gap:20px}.cadgy-header{grid-template-columns:1fr auto;align-items:center;margin-bottom:20px}.cadgy-header>div:last-child{display:flex;gap:12px;align-items:center}.cadgy-workspace-layout{grid-template-columns:minmax(390px,.9fr) minmax(360px,1.1fr)}.cadgy-columns-container{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.cadgy-column{display:grid;gap:7px;align-content:start;padding:8px;border:1px solid #ded4c5;border-radius:14px;background:#f5efe5}.cadgy-tile{min-height:48px;border:1px solid #d3c5b2;border-radius:9px;background:#fff;color:var(--ink);font:800 1rem var(--devanagari-font)}.cadgy-tile.selected{background:var(--crimson);color:#fff}.cadgy-tile.exhausted{opacity:.35}.danfe-tile-img{width:30px;opacity:.4}.cadgy-action-card{margin-top:15px;padding:16px;border-radius:14px;background:var(--ink);color:#fff}.cadgy-slots-container{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:10px 0}.cadgy-slot-box{display:grid;min-height:42px;place-items:center;border:1px dashed #ffffff73;border-radius:8px}.cadgy-slot-box .slot-placeholder{opacity:.45}.cadgy-slot-box.filled .slot-placeholder{display:none}.cadgy-action-btns{display:flex;gap:8px}.cadgy-action-btns button{padding:9px 14px;border-radius:8px;color:#fff;font-weight:800}.cadgy-guide-card,.cadgy-list-card{padding:16px;border:1px solid #ded4c5;border-radius:14px;background:#fffdf8}.cadgy-lists-grid{grid-template-columns:1fr}.cadgy-basic-grid,.cadgy-bonus-rows{display:grid;gap:8px}.cadgy-basic-item,.cadgy-bonus-item{padding:10px;border-radius:9px;background:#f4eee4}.cadgy-basic-item.found,.cadgy-bonus-item.found{background:#e6f5e9}.bonus-clue-header{display:flex;gap:8px;justify-content:space-between}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:900px){.cadgy-workspace-layout{grid-template-columns:1fr}}@media(max-width:640px){.meaning-pairs-grid{grid-template-columns:1fr}.cadgy-column{padding:4px;gap:4px}.cadgy-tile{min-height:42px;font-size:.85rem}}

/* v48.0.18: denser lessons and play workspaces. */
.join-examples { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:18px 0; }.join-examples article { padding:14px; border:1px solid #ffffff24; border-radius:12px; background:#ffffff0d; }.join-examples b { color:var(--gold); }.join-examples p { margin-top:6px; font-size:.84rem; line-height:1.65; }
.learn-intro-copy { text-align:justify; text-justify:inter-word; }
.learn-bites { position:static; max-height:none; overflow:visible; }
.lesson-one-header h2 del { color:var(--muted); font:700 clamp(.9rem,1.4vw,1.15rem)/1.2 var(--sans-font); }
.lesson-one-header h2 > span { display:inline; margin:0; color:var(--crimson); font:800 clamp(.9rem,1.4vw,1.15rem)/1.2 var(--sans-font); }
.lesson-memory-card { display:grid; grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:24px; margin-top:20px; padding:24px; border-radius:18px; background:#fffdf8; }
.lesson-memory-card h4 { margin:5px 0 10px; font-size:1.55rem; }.lesson-memory-card > div > p:last-child { color:var(--ink-soft); line-height:1.7; }
.memory-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.memory-columns article { padding:18px; border-radius:15px; background:#f2d4de; }.memory-columns h5 { margin:0 0 12px; color:var(--crimson); font-size:1.15rem; }.memory-columns p { margin:7px 0; font-size:.82rem; line-height:1.55; }
.crossword-page .crossword-workspace { grid-template-columns:minmax(420px,.95fr) minmax(520px,1.2fr); max-width:1180px; gap:16px; }
.crossword-page .crossword-clue-panel { padding:18px; }.crossword-clue-columns { gap:10px; }.crossword-clue-columns .crossword-clues { max-height:none; overflow:visible; }
.crossword-page .crossword-clues { grid-template-columns:1fr; gap:5px; margin-bottom:12px; }.crossword-page .crossword-clues button { grid-template-columns:22px minmax(0,1fr) auto; gap:6px; min-height:0; padding:8px; }
.crossword-clues button span { min-width:0; overflow:visible; overflow-wrap:anywhere; white-space:normal; line-height:1.45; }.crossword-clues button em { align-self:start; color:var(--muted); font-size:.7rem; font-style:normal; white-space:nowrap; }
.ag-shabdavyuh-card { max-width:1180px; }.cadgy-workspace-layout { grid-template-columns:minmax(430px,.9fr) minmax(480px,1.1fr); gap:26px; }.cadgy-columns-container { gap:10px; }.cadgy-column { padding:9px; }.cadgy-action-card { max-width:100%; }
@media(max-width:900px){.lesson-memory-card,.memory-columns{grid-template-columns:1fr}.crossword-page .crossword-workspace,.cadgy-workspace-layout{grid-template-columns:1fr}}

/* Keep the compact board card independent of the taller clue column. */
.crossword-page .crossword-workspace { align-items:start; overflow:visible; }
.crossword-page .crossword-board-panel { position:sticky; top:18px; align-self:start; }
@media(max-width:900px){.crossword-page .crossword-board-panel{position:static}}

/* v48.0.18: consistent full-width Play cards and compact Shabdavyuh dashboard. */
.crossword-invitation { width:100%; max-width:none; margin:28px 0 0; }
.cadgy-tile { min-height:60px; font-size:1.2rem; }.danfe-tile-img { width:42px; opacity:.58; }
.cadgy-tile { display:grid; place-items:center; border:1px solid #c6b79f; background:linear-gradient(180deg,#fff 0%,#fffaf1 100%); box-shadow:0 4px 0 #d8ccba,0 8px 16px rgba(16,38,77,.08); transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }.cadgy-tile:hover { border-color:var(--gold); box-shadow:0 5px 0 #cfb466,0 11px 20px rgba(16,38,77,.12); transform:translateY(-2px); }.cadgy-tile.selected { border-color:var(--crimson); box-shadow:0 3px 0 #8f1838,0 9px 20px rgba(185,29,76,.22); transform:translateY(1px); }.cadgy-tile .danfe-tile-img { display:block; margin:auto; }
.crossword-cell.selected { background:#f7dfa0; box-shadow:inset 0 0 0 3px #d59e22; }.crossword-clues button.active { background:#fff0be; box-shadow:inset 4px 0 #c58a08,0 5px 14px rgba(16,38,77,.08); }
.crossword-page .crossword-actions { flex-wrap:nowrap; gap:5px; }
.crossword-page .crossword-actions button { min-width:0; padding:7px 8px; font-size:.72rem; white-space:nowrap; }
.crossword-page .crossword-actions button:disabled { opacity:.42; cursor:not-allowed; }
.crossword-cell.given { background:#f6efe3; color:var(--ink); cursor:default; opacity:1; }
.shortcut-deck { display:grid; gap:18px; margin:58px 0 90px; }.shortcut-deck > header { max-width:650px; }.shortcut-deck > header h2 { margin:5px 0 8px; font-size:clamp(1.8rem,3vw,2.6rem); }.shortcut-deck > header > p:last-child { color:var(--muted); }.shortcut-card { padding:clamp(22px,3vw,34px); border:1px solid var(--line); border-top:5px solid currentColor; border-radius:22px; background:#fffdf8; box-shadow:0 15px 38px rgba(16,38,77,.07); }.shortcut-card h3 { margin:7px 0 14px; color:var(--ink); font-size:clamp(1.35rem,2.2vw,2rem); }.shortcut-card > p:not(.lesson-kicker),.shortcut-card div > p { line-height:1.65; }.shortcut-card.tone-teal{color:#007f7b}.shortcut-card.tone-violet{color:#613f91}.shortcut-card.tone-crimson{color:var(--crimson)}.shortcut-card.tone-gold{color:#a66f05}.shortcut-card.tone-blue{color:#315b94}.shortcut-card.tone-green{color:#44804a}.shortcut-card.tone-rose{color:#a4385b}.shortcut-four,.shortcut-three,.shortcut-examples { display:grid; gap:10px; }.shortcut-four { grid-template-columns:repeat(4,minmax(0,1fr)); }.shortcut-three { grid-template-columns:repeat(3,minmax(0,1fr)); }.shortcut-four p,.shortcut-three p,.shortcut-examples p { display:grid; gap:7px; margin:0; padding:16px; border-radius:13px; background:#f5efe6; color:var(--ink); }.shortcut-four b,.shortcut-three b,.shortcut-examples b { color:currentColor; }.shortcut-four span,.shortcut-three span,.shortcut-examples span { color:var(--ink-soft); font-size:.84rem; }.shortcut-split { display:grid; grid-template-columns:minmax(0,.85fr) minmax(320px,1.15fr); gap:28px; align-items:center; }.shortcut-card .sound-lane { margin-top:18px; }
@media(max-width:820px){.shortcut-four{grid-template-columns:1fr 1fr}.shortcut-three,.shortcut-split{grid-template-columns:1fr}}
@media(max-width:520px){.shortcut-four{grid-template-columns:1fr}}
.cadgy-lists-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-items:start; }
.cadgy-list-card { padding:12px; }.cadgy-basic-grid,.cadgy-bonus-rows { gap:6px; }.cadgy-basic-item,.cadgy-bonus-item { padding:8px; font-size:.78rem; }
.download-capabilities-section { margin-bottom:64px; }.download-capabilities-section .section-heading { margin-bottom:18px; }.download-capabilities-section h2 { margin:4px 0 0; }.download-capabilities { margin-bottom:0; }
.lesson-library { padding:0 0 100px; }.lesson-library .section-heading p:last-child { max-width:620px; color:var(--muted); line-height:1.7; }.lesson-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }.lesson-library-grid a { min-height:190px; padding:24px; border:1px solid var(--line); border-top:5px solid currentColor; border-radius:18px; background:var(--paper); box-shadow:0 13px 34px rgba(16,38,77,.06); }.lesson-library-grid span { font-size:.7rem; font-weight:900; }.lesson-library-grid h3 { margin:28px 0 8px; color:var(--ink); font-size:1.3rem; }.lesson-library-grid p { margin:0; color:var(--muted); font-size:.82rem; line-height:1.6; }.lesson-library-grid .tone-teal{color:#007f7b}.lesson-library-grid .tone-crimson{color:var(--crimson)}.lesson-library-grid .tone-violet{color:#613f91}.lesson-library-grid .tone-gold{color:#b67b08}.lesson-library-grid .tone-blue{color:#315b94}.lesson-library-grid .tone-green{color:#44804a}
.learn-bites > a:nth-of-type(6n+1) article{border-top:4px solid #148b87}.learn-bites > a:nth-of-type(6n+2) article{border-top:4px solid var(--crimson)}.learn-bites > a:nth-of-type(6n+3) article{border-top:4px solid #b78312}.learn-bites > a:nth-of-type(6n+4) article{border-top:4px solid #684a91}.learn-bites > a:nth-of-type(6n+5) article{border-top:4px solid #4b70a4}.learn-bites > a:nth-of-type(6n) article{border-top:4px solid #58865b}
.explore-hero #hero-proverb { display:block; max-height:none; overflow:visible; white-space:normal; }
@media(max-width:900px){.cadgy-lists-grid,.lesson-library-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.cadgy-lists-grid,.lesson-library-grid{grid-template-columns:1fr}.cadgy-tile{min-height:52px}.danfe-tile-img{width:36px}}

/* v49.0.0: calmer numbered games, clearer instructions and replay controls. */
.word-builder-intro { max-width:820px; }
.word-builder-intro .word-builder-lede { color:var(--ink-soft); font-size:clamp(1rem,1.35vw,1.15rem); font-weight:650; line-height:1.85; }
.cadgy-creator { margin:7px 0 0; color:var(--muted); font-size:.78rem; }
.cadgy-creator strong { color:var(--crimson); }
.cadgy-replay-button { padding:7px 10px; border:1px solid var(--line); border-radius:999px; background:#fffdf8; color:var(--ink); font-size:.72rem; font-weight:850; }
.crossword-active-clue { border-color:#e7dece; background:#fbf7ef; box-shadow:none; }
.crossword-active-clue strong { background:#efe4d3; color:var(--crimson-dark); }

/* v49.1.3: shared puzzle identity and a calmer Shabdavyuh selection path. */
.game-puzzle-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:24px; max-width:1180px; margin:0 auto 16px; padding:20px 22px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 14px 34px rgba(16,38,77,.055); }
.game-puzzle-number { margin:0; color:var(--crimson); font-size:.72rem; font-weight:850; }
.game-puzzle-identity h2 { margin:5px 0 4px; color:var(--ink); font-size:clamp(1.35rem,2.4vw,1.8rem); line-height:1.25; }
.game-puzzle-instruction { max-width:760px; margin:6px 0 0; color:var(--ink-soft); font-size:.86rem; font-weight:600; line-height:1.65; }
.game-creator { display:inline-flex; align-items:center; gap:5px; margin:9px 0 0; padding:5px 9px; border-radius:999px; background:#f6eee2; color:var(--muted); font-size:.72rem; font-weight:750; }
.game-creator a,.game-creator strong { color:var(--crimson); font-weight:850; }
.game-puzzle-tools { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding:8px 10px; border:1px solid #e6dccd; border-radius:16px; background:#faf7f1; }
.game-timer { display:grid; gap:2px; min-width:76px; padding:3px 10px 3px 4px; border-right:1px solid #ded3c3; text-align:right; }
.game-timer small { color:var(--muted); font-size:.62rem; font-weight:850; }
.game-timer strong { color:var(--teal); font-size:1.05rem; font-variant-numeric:tabular-nums; }
.game-progress { color:var(--teal); font-size:.74rem; font-weight:850; white-space:nowrap; }
.game-progress-block { display:grid; min-width:210px; gap:7px; }
.game-progress-copy { display:grid; grid-template-columns:1fr auto; align-items:end; column-gap:12px; }
.game-progress-copy small { grid-column:1/-1; color:var(--muted); font-size:.62rem; font-weight:850; letter-spacing:.02em; }
.game-progress-copy strong { color:var(--ink); font-size:.83rem; font-weight:900; }
.game-progress-copy span { color:var(--teal); font-size:.75rem; font-weight:900; }
.game-progress-track { height:8px; overflow:hidden; border-radius:999px; background:#e7e0d5; box-shadow:inset 0 1px 2px rgba(16,38,77,.1); }
.game-progress-track>span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--teal),#35aaa2); transition:width .35s ease; }
.crossword-puzzle-header + .crossword-workspace .crossword-board-panel { padding-top:18px; }
.crossword-session-meta { justify-content:flex-end; }
.ag-shabdavyuh-card { padding:0; border:0; background:transparent; box-shadow:none; }
.ag-shabdavyuh-card .cadgy-header { margin-bottom:16px; }
.cadgy-header > div:last-child { justify-content:flex-end; }
.cadgy-workspace-layout { grid-template-columns:minmax(430px,.9fr) minmax(520px,1.1fr); align-items:start; gap:16px; }
.cadgy-matrix-card,.cadgy-words-dashboard { padding:18px; border:1px solid var(--line); border-radius:20px; background:var(--paper); box-shadow:0 14px 34px rgba(16,38,77,.055); }
.cadgy-words-dashboard > h4 { margin:0 0 14px; color:var(--teal); }
.cadgy-progress-block { margin:0 0 16px; padding:12px 14px; border:1px solid #d8e4df; border-radius:14px; background:#f2f8f5; }
.cadgy-progress-block .game-progress-track { height:11px; background:#dce9e4; }
.cadgy-progress-block .game-progress-copy strong { font-size:1rem; }
.cadgy-replay-button { min-height:36px; white-space:nowrap; }
.cadgy-lists-grid { grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); }
.cadgy-columns-container { position:relative; isolation:isolate; }
.cadgy-column { position:relative; z-index:2; }
.cadgy-tile.selected { position:relative; z-index:6; }
.cadgy-selection-path { position:absolute; inset:0; z-index:5; width:100%; height:100%; overflow:visible; pointer-events:none; }
.cadgy-selection-path path { fill:none; stroke:var(--crimson); stroke-width:3; stroke-linecap:round; opacity:.72; stroke-dasharray:1; stroke-dashoffset:1; animation:cadgy-path-draw .3s ease-out forwards; filter:drop-shadow(0 2px 2px rgba(181,31,76,.18)); }
.cadgy-selection-path.success path { stroke:var(--gold); stroke-width:5; opacity:1; animation:cadgy-path-success .42s ease-out both; }
.cadgy-feedback { min-height:22px; margin:8px 0 0; color:#d7e3f5; font-size:.78rem; font-weight:750; line-height:1.45; }
.cadgy-feedback.error { color:#ffd0dc; }
.cadgy-feedback.success { color:#bde8cf; }
.cadgy-tile.invalid { animation:cadgy-tile-error .42s ease-in-out 2; border-color:var(--crimson); background:#fff0f3; color:var(--crimson-dark); }
@keyframes cadgy-path-draw { to { stroke-dashoffset:0; } }
@keyframes cadgy-path-success { 0% { stroke-dashoffset:1; } 100% { stroke-dashoffset:0; } }
@keyframes cadgy-tile-error { 0%,100% { transform:translateX(0); } 35% { transform:translateX(-3px); } 70% { transform:translateX(3px); } }
@media(max-width:900px){.cadgy-workspace-layout{grid-template-columns:1fr}.game-puzzle-header{grid-template-columns:1fr}.game-puzzle-tools{justify-content:flex-start}.game-timer{text-align:left}}
@media(max-width:620px){.game-puzzle-tools{width:100%;align-items:stretch;flex-wrap:wrap}.game-progress-block{min-width:min(210px,100%);flex:1}.game-timer{border-right:0}.cadgy-replay-button{margin-left:auto}}
@media(max-width:620px){.cadgy-lists-grid{grid-template-columns:1fr}.cadgy-matrix-card,.cadgy-words-dashboard{padding:12px}}

/* v49.1.3: compact Kothepad tools and a feedback-first Shabdavyuh footer. */
.cadgy-action-card { display:flex; min-height:58px; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding:12px 14px; border:1px solid #d8cdbd; background:#f8f2e8; color:var(--ink); }
.cadgy-feedback { display:flex; min-height:30px; flex:1; align-items:center; margin:0; color:var(--muted); font-size:.94rem; font-weight:800; line-height:1.45; }
.cadgy-feedback.error,.cadgy-feedback.success { padding:9px 12px; border-radius:10px; }
.cadgy-feedback.error { background:#fff0f3; color:var(--crimson-dark); }
.cadgy-feedback.success { background:#e4f5e9; color:#116645; font-size:1.08rem; box-shadow:inset 4px 0 #2a9a66,0 6px 18px rgba(25,114,77,.1); animation:cadgy-feedback-pop .38s cubic-bezier(.2,.9,.25,1.25); }
.cadgy-action-btns { flex:0 0 auto; }
.cadgy-action-btns button { border:1px solid var(--line); background:var(--paper); color:var(--ink); font-size:.72rem; }
.shabdavyuh-invitation { margin-top:28px; }
@keyframes cadgy-feedback-pop { 0% { opacity:.35; transform:scale(.96); } 100% { opacity:1; transform:scale(1); } }
@media(max-width:620px){.crossword-page .crossword-actions{flex-wrap:wrap}.cadgy-action-card{align-items:stretch;flex-direction:column}.cadgy-action-btns{align-self:flex-start}}

/* v48.0.38: standalone course pages and a calmer language-map hierarchy. */
.learn-page > main.lesson-page { width:min(1040px,calc(100% - 40px)); margin:48px auto 90px; padding:0; background:transparent; font-family:var(--devanagari-font); }
.learn-page > main.lesson-page .lesson-breadcrumb { margin-bottom:18px; color:var(--muted); }.learn-page > main.lesson-page .lesson-breadcrumb a { color:var(--crimson); font-weight:850; }
.learn-page > main.lesson-page .lesson-body { padding:clamp(26px,5vw,52px); border:1px solid var(--line); border-radius:26px; background:var(--paper); box-shadow:0 22px 58px rgba(16,38,77,.07); }
.learn-page > main.lesson-page .lesson-body > h1 { max-width:800px; color:var(--ink); font-family:var(--devanagari-font); font-size:clamp(2.5rem,6vw,5.2rem); font-weight:650; line-height:1.05; }
.learn-page > main.lesson-page .lesson-lede { max-width:760px; color:var(--ink-soft); font-size:1.08rem; line-height:1.85; }
.learn-page > main.lesson-page .lesson-page-nav { display:flex; justify-content:space-between; gap:12px; margin-top:22px; }.learn-page > main.lesson-page .lesson-page-nav a { padding:12px 16px; border:1px solid var(--line); border-radius:999px; background:var(--paper); color:var(--ink); font-weight:800; text-decoration:none; }
.language-map-explorer { padding:36px; }
.language-map-canvas { padding:22px; border:1px solid #eadfce; background:linear-gradient(145deg,#f6eddf,#eee3d2); box-shadow:inset 0 1px 0 rgba(255,255,255,.7); }
.map-legend { padding-top:10px; }
.language-map-detail { border-top:4px solid var(--crimson); box-shadow:0 10px 28px rgba(16,38,77,.05); }
.language-profile-list { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
@media(max-width:1000px){.language-profile-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.language-map-explorer{padding:18px}.language-profile-list{grid-template-columns:1fr}.learn-page > main.lesson-page .lesson-page-nav{align-items:stretch;flex-direction:column}}
@media(max-width:650px){.learn-primary .lesson-examples{grid-template-columns:1fr}.learn-primary > .lesson-page-nav{grid-template-columns:1fr}.learn-primary > .lesson-page-nav a,.learn-primary > .lesson-page-nav a:last-child{align-items:flex-start;text-align:left}.lesson-source-grid .origin-language-card{grid-column:auto}.origin-language-list{grid-template-columns:1fr}}
.explore-index-links{display:flex;flex-wrap:wrap;gap:.7rem;margin:0 0 1.25rem}.explore-index-links a{display:inline-flex;min-height:44px;align-items:center;padding:.65rem 1rem;border:1px solid #d9cebe;border-radius:999px;background:#fff;color:#132c5c;text-decoration:none;font-weight:700}.explore-item h3 a,.spotlight-body h3 a{color:inherit;text-decoration:none}.explore-item h3 a:hover,.spotlight-body h3 a:hover{text-decoration:underline;text-decoration-color:#bd174d;text-underline-offset:.2em}
.lokgyan-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0}.lokgyan-actions button{min-height:42px;padding:9px 14px;border:1px solid #d7cdbd;border-radius:999px;background:#fffdf8;color:#102d55;font:inherit;font-weight:800}.lokgyan-action-status{color:#687487;font-size:.84rem}.lokgyan-related{margin-top:24px;padding:22px;border:1px solid #e6dccd;border-radius:16px;background:#faf7f1}.lokgyan-related h2{font-size:1.25rem}.lokgyan-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.lokgyan-related a{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:12px;min-height:174px;padding:16px;border:1px solid #e3d9ca;border-top:4px solid var(--related-accent,#bd174d);border-radius:14px;background:#fff;color:#102d55;text-decoration:none;box-shadow:0 8px 20px rgba(16,38,77,.045);transition:transform .16s ease,box-shadow .16s ease}.lokgyan-related a:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(16,38,77,.09)}.lokgyan-related a strong{font-size:1.05rem;line-height:1.55}.lokgyan-related-type{display:flex;align-items:center;gap:8px}.lokgyan-related-type i{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--related-accent) 12%,white);color:var(--related-accent);font-size:.72rem;font-style:normal;font-weight:900}.lokgyan-related a small{color:var(--related-accent);font-weight:850}.lokgyan-related-link{display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid #eee6da;color:#746b60;font-size:.78rem;font-weight:800}.lokgyan-related-link b{color:var(--related-accent);font-size:1rem}.lokgyan-related-ukhan{--related-accent:#bd174d}.lokgyan-related-tukka{--related-accent:#138d87}.lokgyan-related-katha{--related-accent:#94691d}@media(max-width:700px){.lokgyan-related-grid{grid-template-columns:1fr}.lokgyan-related a{min-height:0}}

/* Restrained, private engagement surfaces. */
.engagement-home { padding:0; }
.engagement-home.has-content { padding:24px 0 72px; }
#continue-content { margin-top:0; }
.engagement-home .section-heading { margin-bottom:18px; }
.engagement-home .section-heading h2 { font-size:clamp(2rem,3.5vw,3.15rem); }
.continue-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.continue-card { position:relative; display:grid; gap:7px; min-height:126px; padding:20px; border:1px solid var(--line); border-radius:17px; background:var(--paper); color:var(--ink); text-decoration:none; box-shadow:0 10px 26px rgba(16,38,77,.045); }
.continue-card small { color:var(--crimson); font-weight:850; }.continue-card strong{font-size:1.05rem}.continue-card p{margin:0;color:var(--muted);font-size:.82rem}.continue-card>span{position:absolute;right:16px;top:16px;color:var(--teal);font-size:.72rem;font-weight:850}
@media(max-width:760px){.continue-grid{grid-template-columns:1fr}}
.game-completion-panel{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding:15px;border:1px solid #cfe3d8;border-radius:15px;background:#edf8f2}.game-completion-panel>div:first-child{display:grid;margin-right:auto}.game-completion-panel>div:first-child span{color:var(--muted);font-size:.78rem}.game-completion-panel>button,.game-reactions button{min-height:38px;padding:7px 11px;border:1px solid #c8d7d0;border-radius:999px;background:white;color:var(--ink);font-weight:800}.game-reactions{display:flex;align-items:center;gap:6px}.game-reactions span{color:var(--muted);font-size:.75rem}.game-reactions button.selected{border-color:var(--teal);background:var(--teal);color:white}.game-completion-panel>small{width:100%;color:var(--teal);font-weight:750}
.lesson-page-nav button{padding:12px 16px;border:1px solid #b9d7cf;border-radius:999px;background:#edf8f4;color:#0c6f68;font:inherit;font-weight:850}.lesson-page-nav button:disabled{opacity:.72}

/* v49.1.15: cross-page visual refinement — calmer scale, clearer hierarchy. */
:root { --surface-shadow:0 14px 38px rgba(16,38,77,.065); --surface-radius:20px; }
.skip-link { top:12px; left:12px; opacity:0; pointer-events:none; transition:transform .16s ease,opacity .16s ease; }
.skip-link:focus,.skip-link:focus-visible { opacity:1; pointer-events:auto; transform:none; }
.site-header { column-gap:28px; }
.site-nav a { border-radius:10px; transition:background-color .18s ease,color .18s ease; }
.site-nav a:not(.active):hover { background:rgba(16,38,77,.045); }
.site-nav a:focus-visible,.language-pillar-nav a:focus-visible,.play-mode-tabs button:focus-visible { outline:3px solid rgba(0,127,123,.28); outline-offset:3px; }
.site-nav a[href="./write.html"]:not(.active) { background:transparent; }
.site-nav a[href="./write.html"]:not(.active):hover { background:rgba(16,38,77,.045); }

/* Writing: keep the editor dominant and make reference help useful without stretching the page. */
.writer-shell { width:min(1320px,calc(100% - 48px)); padding-top:42px; }
.writer-intro { margin-bottom:24px; }
.writer-intro h1 { font-size:clamp(2.3rem,4.2vw,4.1rem); }
.writer-layout { grid-template-columns:minmax(0,1fr) 306px; gap:22px; }
.writer-page .workspace { box-shadow:var(--surface-shadow); }
.writer-page .pane textarea { min-height:430px; }
.typing-assistance { top:14px; max-height:calc(100vh - 28px); overflow:auto; padding:18px; box-shadow:0 10px 28px rgba(16,38,77,.055); scrollbar-width:thin; }
.typing-assistance dl div { padding:9px 0; }
.typing-assistance .featured-help { padding:10px 8px; }

/* Learn: strengthen the course introduction and turn lesson links into a compact library. */
.learn-course { padding-top:54px; }
.learn-course-grid { grid-template-columns:minmax(0,1fr) minmax(330px,390px); gap:36px; }
.learn-course-intro { padding:clamp(30px,4vw,48px); border:1px solid var(--line); border-radius:var(--surface-radius); background:var(--paper); box-shadow:var(--surface-shadow); }
.learn-course-intro h1 { max-width:760px; margin:6px 0 24px; font-size:clamp(2.5rem,4.6vw,4.5rem); line-height:1.08; }
.learn-bites { grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; padding:18px; border-radius:var(--surface-radius); background:#f3ecdf; }
.learn-bites > .section-kicker,.learn-bites > h2 { grid-column:1/-1; }
.learn-bites article { height:100%; padding:14px; }
.learn-bites h3 { font-size:.96rem; line-height:1.35; }
.learn-bites article p { font-size:.75rem; line-height:1.55; }

/* Play: reduce the repeated masthead and make the two games feel like one product. */
.crossword-main { padding-top:34px; }
.crossword-page .crossword-hero { align-items:center; margin-bottom:14px; padding:20px 26px; border-radius:var(--surface-radius); box-shadow:0 10px 28px rgba(16,38,77,.05); }
.crossword-page .crossword-hero h1 { margin:0; font-size:clamp(2.45rem,4.7vw,4.4rem); line-height:1; }
.crossword-page .crossword-hero p:not(.section-kicker) { margin:8px 0 0; }
.crossword-page .play-mode-tabs { margin-bottom:18px; padding:5px; border-color:#d9cebd; background:#ede6db; }
.crossword-page .play-mode-tabs button { min-height:58px; max-width:none; }
.crossword-page .play-mode-tabs button.active { box-shadow:0 8px 20px rgba(16,38,77,.18); }
.game-puzzle-header { border-radius:18px; box-shadow:0 10px 28px rgba(16,38,77,.05); }
.crossword-page .crossword-board-panel,.crossword-page .crossword-clue-panel,.cadgy-matrix-card,.cadgy-words-dashboard { box-shadow:var(--surface-shadow); }

/* Explore and language sections: bring useful content above the fold. */
.explore-page .explore-hero { padding-top:44px; }
.explore-hero-inner { padding-bottom:82px; }
.explore-page .explore-hero h1 { font-size:clamp(3rem,5.4vw,5.25rem); line-height:1.05; }
.explore-hero-visual { min-height:430px; }
.language-map-hero { padding-top:42px; padding-bottom:32px; }
.language-map-hero h1 { max-width:820px; margin-bottom:12px; font-size:clamp(2.9rem,5vw,4.8rem); line-height:1.07; }
.language-pillar-nav .home-shell { padding-block:9px; }
.language-map-main { padding-bottom:72px; }
.language-map-explorer,.language-family-overview,.language-script-overview,.language-phrasebook { border-radius:var(--surface-radius); box-shadow:var(--surface-shadow); }

/* Download and About: consistent section rhythm and an honest, finished empty state. */
.download-hero { padding-top:52px; padding-bottom:48px; }
.about-hero { gap:44px; padding:50px 0 44px; }
.about-hero h1 { font-size:clamp(2.8rem,5vw,4.9rem); }
.about-story article { border-radius:var(--surface-radius); }
.about-statistics { align-items:center; padding:58px 0 72px; }
.statistics-grid { gap:10px; padding:12px; border:1px solid #d6e2dc; border-radius:var(--surface-radius); background:linear-gradient(135deg,#edf7f2,#fffaf1); }
.statistics-grid article { min-height:118px; border-color:#e2d8c9; box-shadow:none; }
.statistics-grid strong { font-size:1.55rem; }
.statistics-pending { display:grid; grid-template-columns:auto 1fr; gap:16px; align-items:center; padding:24px; border:1px solid #d6e2dc; border-radius:var(--surface-radius); background:linear-gradient(135deg,#edf7f2,#fffaf1); box-shadow:0 10px 28px rgba(16,38,77,.05); }
.statistics-pending > span { display:grid; width:52px; height:52px; place-items:center; border-radius:50%; background:var(--teal); color:white; font-size:1.4rem; }
.statistics-pending strong { color:var(--ink); font-size:1.15rem; }
.statistics-pending p { margin:5px 0 0; color:var(--muted); line-height:1.65; }

@media(max-width:980px){
  .learn-course-grid{grid-template-columns:1fr}.learn-bites{grid-template-columns:repeat(3,minmax(0,1fr))}
  .typing-assistance{max-height:none;overflow:visible}
}
@media(max-width:760px){
  .learn-bites{grid-template-columns:repeat(2,minmax(0,1fr))}
  .crossword-page .crossword-hero{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .writer-shell{width:min(100% - 28px,1180px)}.writer-page .pane textarea{min-height:300px}
  .learn-course{padding-top:32px}.learn-course-intro{padding:24px}.learn-bites{grid-template-columns:1fr}
  .crossword-main{padding-top:24px}.crossword-page .crossword-hero{padding:18px}.crossword-page .crossword-hero h1{font-size:2.45rem}
  .explore-page .explore-hero{padding-top:34px}.explore-hero-inner{padding-bottom:82px}
  .language-map-hero{padding-top:30px;padding-bottom:24px}.language-map-hero h1{font-size:2.85rem}
  .statistics-pending{grid-template-columns:1fr}.statistics-pending>span{width:44px;height:44px}
}
@media(max-width:720px){.lesson-source-grid,.tatsama-clue-grid{grid-template-columns:1fr}}

/* v49.1.15: compact writer guidance, map note and expanded author profile. */
.writer-layout { grid-template-columns:1fr; }
.typing-assistance { position:static; max-height:none; overflow:visible; padding:20px 22px; }
.typing-assistance > h2 { margin-bottom:14px; }
.typing-help-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.typing-help-card { padding:15px 16px; border:1px solid #e4dacd; border-radius:14px; background:#fffdf9; }
.typing-help-card h3 { margin:0 0 8px; color:var(--ink); font-size:.98rem; }
.typing-help-card dl { display:block; }
.typing-help-card dl div { grid-template-columns:minmax(76px,auto) 1fr; align-items:start; gap:10px; padding:9px 0; }
.typing-help-card dt { white-space:nowrap; }
.typing-help-card dd { line-height:1.45; }
.typing-help-card dd small { margin-top:3px; }
.typing-assistance-note { display:block; margin-top:14px; padding:12px 14px; border:1px solid #e2d4ba; border-radius:12px; background:#fbf4e4; }
.typing-assistance-note strong { color:var(--crimson); white-space:nowrap; }
.typing-assistance-note p { margin:0; line-height:1.55; }
.typing-report-help { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 14px; }
.typing-report-help p { margin:0; }
.typing-report-help button { width:auto; white-space:nowrap; }
.writer-page .workspace .writer-download-note { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0; padding:18px 20px; border-top:1px solid #e5d8c7; background:linear-gradient(105deg,#f1f7f3,#fff4d6); font-size:.86rem; }
.writer-download-note > div { display:grid; gap:2px; }
.writer-download-note strong { color:var(--ink); font-size:.95rem; }
.writer-download-note a { display:inline-flex; min-height:42px; align-items:center; gap:7px; padding:9px 14px; border-radius:10px; background:var(--crimson); color:#fff; text-decoration:none; box-shadow:0 7px 18px rgba(181,31,76,.18); }
.language-map-note { grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr); gap:16px 30px; margin-top:20px; padding:20px 24px; }
.language-map-note h2 { font-size:1.35rem; }
.language-map-note > p { margin:0; align-self:center; line-height:1.65; }
.language-map-sources { grid-column:1/-1; padding-top:2px; }
.about-author { grid-template-columns:140px minmax(0,860px); align-items:start; }
.about-author-copy { display:grid; gap:14px; }
.about-author-copy p { margin:0; }
.about-links { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:20px; }
.about-social-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; padding:9px 14px; border:1px solid #d9cfc1; border-radius:999px; background:#fffdf8; color:var(--ink); font-weight:800; text-decoration:none; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.about-social-link svg { width:18px; height:18px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.about-social-link b { color:var(--crimson); font-size:.88rem; }
.about-social-link:hover { border-color:var(--crimson); box-shadow:0 7px 18px rgba(20,48,85,.09); transform:translateY(-1px); }
.about-social-link:focus-visible { outline:3px solid rgba(193,28,80,.22); outline-offset:3px; }
@media(max-width:900px){.typing-help-groups{grid-template-columns:1fr 1fr}.typing-help-card:last-child{grid-column:1/-1}}
@media(max-width:720px){.typing-help-groups{grid-template-columns:1fr}.typing-help-card:last-child{grid-column:auto}.typing-assistance-note{grid-template-columns:1fr;gap:5px}.typing-report-help,.writer-page .workspace .writer-download-note{align-items:flex-start;flex-direction:column}.language-map-note{grid-template-columns:1fr}.language-map-sources{grid-column:1}.about-author{grid-template-columns:80px minmax(0,1fr)}.about-author-copy,.about-links{grid-column:1/-1}}

/* Post-49.1.15: clearer typing guidance, a real lesson index and calmer hero spacing. */
.typing-help-card dl div { grid-template-columns:minmax(92px,auto) 1fr; column-gap:16px; padding:11px 0; }
.typing-help-card dd { color:var(--ink-soft); font-size:.94rem; font-weight:600; line-height:1.6; }
.typing-help-card dd strong { display:inline-block; min-width:1.45em; margin-right:7px; color:var(--ink); font-size:1.08em; }
.typing-help-card dd small { color:var(--muted); font-size:.77rem; font-weight:500; line-height:1.5; }
.typing-assistance-note p { color:var(--ink-soft); font-size:.91rem; }

.learn-course.home-shell { width:min(1420px,calc(100% - 48px)); }
.learn-course-grid { display:grid; grid-template-columns:minmax(250px,285px) minmax(0,1fr) minmax(250px,285px); grid-template-areas:"index lesson bites"; gap:24px; align-items:stretch; }
.learn-index { position:static; grid-area:index; height:100%; max-height:none; overflow:visible; padding:20px 18px; border:1px solid var(--line); border-radius:var(--surface-radius); background:#f5efe4; box-shadow:0 10px 26px rgba(16,38,77,.05); }
.learn-page h1,.learn-page h2,.learn-course h1,.learn-course h2 { font-family:var(--devanagari-font); }
.learn-index .section-kicker { margin-bottom:7px; }
.learn-index h2 { margin:0 0 17px; font-size:1.55rem; }
.learn-index ol { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.learn-index-group + .learn-index-group { margin-top:16px; padding-top:14px; border-top:1px solid rgba(19,44,92,.11); }
.learn-index-group h3 { margin:0 7px 7px; color:var(--crimson); font-size:.75rem; font-weight:900; letter-spacing:.045em; }
.learn-index a { display:grid; grid-template-columns:32px minmax(0,1fr); gap:8px; align-items:start; min-height:38px; padding:7px 8px; border-left:3px solid transparent; border-radius:8px; color:var(--ink-soft); font-size:.93rem; font-weight:760; line-height:1.35; text-decoration:none; }
.learn-index a span { padding-top:2px; color:var(--muted); font-size:.72rem; font-weight:900; letter-spacing:.03em; }
.learn-index-upcoming { display:grid; grid-template-columns:32px minmax(0,1fr); gap:8px; align-items:start; padding:7px 8px; border-left:3px solid transparent; color:#625e57; font-size:.89rem; font-weight:650; line-height:1.36; }
.learn-index-upcoming > span { padding-top:2px; color:#958b7e; font-size:.71rem; font-weight:900; letter-spacing:.03em; }
.learn-index a:hover,.learn-index a:focus-visible { background:#fffdf8; color:var(--ink); }
.learn-index a.active { border-left-color:var(--crimson); background:#f8e4ea; color:var(--ink); box-shadow:none; }
.learn-index a.active span { color:var(--crimson); }
.learn-primary { grid-area:lesson; min-width:0; }
.learn-bites { grid-area:bites; position:static; grid-template-columns:1fr; align-self:stretch; height:100%; gap:0; max-height:none; overflow:visible; padding:19px 17px; }
.learn-bites > .section-kicker,.learn-bites > h2 { grid-column:1; }
.learn-bites > h2 { margin-bottom:10px; font-size:1.35rem; }
.learn-bites > a { border-top:1px solid rgba(19,44,92,.1); }
.learn-bites > a article { position:relative; display:grid; grid-template-columns:34px minmax(0,1fr); min-height:0; padding:11px 3px; border:0; border-radius:8px; background:transparent; box-shadow:none; }
.learn-bites > a article::before { content:attr(data-number); display:grid; grid-row:1/3; width:27px; height:27px; place-items:center; margin-top:1px; border-radius:8px; background:var(--term-accent,#148b87); color:#fff; font:800 .67rem/1 var(--devanagari-font); }
.learn-bites > a article::after { content:"→"; position:absolute; top:10px; right:2px; color:var(--muted); font-size:.8rem; }
.learn-bites > a:nth-of-type(6n+1){--term-accent:#148b87}.learn-bites > a:nth-of-type(6n+2){--term-accent:var(--crimson)}.learn-bites > a:nth-of-type(6n+3){--term-accent:#b78312}.learn-bites > a:nth-of-type(6n+4){--term-accent:#684a91}.learn-bites > a:nth-of-type(6n+5){--term-accent:#4b70a4}.learn-bites > a:nth-of-type(6n){--term-accent:#58865b}
.learn-bites h3 { grid-column:2; margin:0 18px 2px 0; font-size:1rem; line-height:1.3; }
.learn-bites article p { grid-column:2; display:block; margin:2px 12px 0 0; color:var(--muted); font-size:.82rem; line-height:1.55; white-space:normal; }
.learn-bites > a:hover article,.learn-bites > a:focus-visible article { transform:none; border-color:transparent; background:#fffaf2; box-shadow:none; }

.crossword-page .crossword-hero .section-kicker,
.language-map-hero > .section-kicker,
.download-hero-copy > .section-kicker { display:block; margin-bottom:16px; line-height:1.45; }
.crossword-page .crossword-hero h1,
.language-map-hero h1,
.download-hero h1 { margin-top:0; }

@media(max-width:1240px){
  .learn-course-grid{grid-template-columns:minmax(220px,240px) minmax(0,1fr);grid-template-areas:"index lesson" "bites bites"}
  .learn-bites{position:static;grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;overflow:visible}
  .learn-bites>.section-kicker,.learn-bites>h2{grid-column:1/-1}
  .learn-bites article p{display:block;overflow:visible}
}
@media(max-width:820px){
  .learn-course.home-shell{width:min(100% - 28px,1180px)}
  .learn-course-grid{grid-template-columns:1fr;grid-template-areas:"lesson" "index" "bites"}
  .learn-index{position:static;max-height:none;overflow:visible}
  .learn-index ol{grid-template-columns:repeat(2,minmax(0,1fr))}
  .learn-bites{grid-template-columns:repeat(2,minmax(0,1fr))}
  .learn-bites > a article{min-height:0}
}
@media(max-width:620px){
  .learn-index ol,.learn-bites{grid-template-columns:1fr}
  .typing-help-card dl div{grid-template-columns:minmax(82px,auto) 1fr;column-gap:12px}
}

/* v49.1.22: unified Learn surfaces and clearer quiz feedback. */
.learn-primary { display:flex; min-height:100%; flex-direction:column; }
.learn-primary > .lesson-breadcrumb { position:relative; z-index:1; margin:0; padding:24px 30px 0; border:1px solid var(--line); border-bottom:0; border-radius:var(--surface-radius) var(--surface-radius) 0 0; background:var(--paper); }
.learn-primary > .lesson-breadcrumb + .lesson-body,
.learn-primary > .lesson-breadcrumb + .learn-course-intro,
.learn-primary > .lesson-breadcrumb + .learn-lesson-one { margin-top:0; padding-top:28px; border-top:0; border-radius:0 0 var(--surface-radius) var(--surface-radius); }
.learn-primary > .learn-course-intro,
.learn-primary > .lesson-body,
.learn-primary > .learn-lesson-one { width:100%; }
.learn-primary > .learn-course-intro { margin:0; }
.learn-primary > .learn-course-intro h1,
.learn-primary > .lesson-body > h1,
.learn-primary > .learn-lesson-one .lesson-one-header h1 { max-width:800px; margin:8px 0 24px; font-family:var(--devanagari-font); font-size:clamp(2.5rem,4.6vw,4.5rem); font-weight:650; line-height:1.08; }
.learn-primary > .learn-lesson-one .lesson-one-header h1 { margin-bottom:0; }
.hraswa-choices button { position:relative; overflow:visible; }
.hraswa-choices button.is-correct { border-color:#168451; background:#e5f5eb; color:#0d633a; box-shadow:inset 0 0 0 2px #168451; }
.hraswa-choices button.is-wrong { border-color:#c95b75; background:#faeaee; color:#851d3b; box-shadow:inset 0 0 0 1px rgba(181,31,76,.16); }
.answer-tick { position:absolute; top:-13px; right:-13px; display:grid; width:38px; height:38px; place-items:center; border:3px solid #fff; border-radius:50%; background:#168451; color:#fff; font:900 1.25rem/1 var(--sans-font); box-shadow:0 7px 18px rgba(13,99,58,.3); animation:answer-tick-in .42s cubic-bezier(.2,1.6,.4,1) both; }
@keyframes answer-tick-in { 0% { opacity:0; transform:scale(.25) rotate(-24deg); } 70% { transform:scale(1.12) rotate(4deg); } 100% { opacity:1; transform:scale(1) rotate(0); } }
.hraswa-feedback { padding:18px 22px; border:1px solid #cfe2d8; background:#f3f8f5; color:var(--ink); box-shadow:none; }
.hraswa-feedback.right,.hraswa-feedback.wrong { background:#f3f8f5; color:var(--ink); }
.hraswa-feedback p { margin:0; font-size:clamp(1.08rem,1.5vw,1.24rem); font-weight:700; line-height:1.75; }
.hraswa-feedback small { display:block; margin-top:8px; color:var(--muted); font-size:.8rem; font-weight:650; }
.hraswa-feedback.complete strong { display:block; color:#126b3d; }
.cadgy-header .cadgy-progress-block { min-width:210px; margin:0; padding:3px 10px 3px 0; border:0; border-right:1px solid #ded3c3; border-radius:0; background:transparent; }
.cadgy-header .cadgy-progress-block .game-progress-track { height:8px; background:#e7e0d5; }
@media(max-width:900px){.learn-primary > .lesson-breadcrumb{padding:22px 26px 0}}
@media(max-width:620px){.learn-primary > .lesson-breadcrumb{padding:20px 20px 0}.cadgy-header .cadgy-progress-block{border-right:0}}
@media(prefers-reduced-motion:reduce){.answer-tick{animation:none}}

/* v49.1.45: balanced हलन्त/अजन्त lesson comparison. */
.halant-ajant-lesson .lesson-subtitle { margin:-14px 0 22px; color:var(--crimson); font-family:var(--devanagari-font); font-size:clamp(1.15rem,2vw,1.45rem); font-weight:800; }
.nasal-sounds-lesson .lesson-subtitle { margin:-14px 0 22px; color:var(--crimson); font-family:var(--devanagari-font); font-size:clamp(1.15rem,2vw,1.45rem); font-weight:800; }
.nasal-sounds-lesson > section { margin-top:36px; }
.nasal-sounds-lesson > section > h2 { margin:0 0 12px; font-size:clamp(1.35rem,2.1vw,1.75rem); }
.nasal-sounds-lesson > section > p { color:var(--ink-soft); font-size:.98rem; font-weight:620; line-height:1.8; }
.nasal-overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:20px; }
.nasal-overview-grid article { padding:22px 19px; border:1px solid var(--line); border-top:5px solid currentColor; border-radius:18px; background:#fffdf8; }
.nasal-overview-grid article.is-chandra { color:var(--crimson); }
.nasal-overview-grid article.is-shira { color:var(--teal); }
.nasal-overview-grid article.is-pancham { color:#315b94; }
.nasal-overview-grid span { display:grid; width:58px; height:58px; place-items:center; border-radius:16px; background:#f5efe6; font-size:1.65rem; font-weight:900; }
.nasal-overview-grid h3 { margin:16px 0 7px; color:var(--ink); font-size:1.18rem; }
.nasal-overview-grid p { min-height:48px; margin:0 0 10px; color:var(--ink-soft); font-size:.9rem; line-height:1.55; }
.nasal-overview-grid strong { color:currentColor; font-size:.87rem; line-height:1.55; }
.nasal-table-wrap { overflow-x:auto; margin-top:16px; border:1px solid var(--line); border-radius:17px; background:#fffdf8; }
.nasal-table { width:100%; border-collapse:collapse; }
.nasal-table th { padding:14px 16px; background:var(--ink); color:#fff; text-align:left; font-size:.9rem; }
.nasal-table td { padding:14px 16px; border-top:1px solid var(--line); color:var(--ink-soft); vertical-align:top; font-size:.94rem; font-weight:630; line-height:1.65; }
.nasal-table tbody tr:nth-child(even) { background:#f8f3e9; }
.nasal-table td:first-child { color:var(--ink); font-weight:850; }
.nasal-rules-lesson > .lesson-lede { max-width:none; }
.nasal-rules-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:30px; align-items:start; }
.nasal-rule-column { overflow:hidden; border:1px solid var(--line); border-top:5px solid currentColor; border-radius:20px; background:#fffdf8; }
.nasal-rule-column.is-chandra { color:var(--crimson); }
.nasal-rule-column.is-shira { color:var(--teal); }
.nasal-rule-column.is-pancham { color:#315b94; }
.nasal-rule-column > header { display:flex; gap:12px; align-items:center; padding:19px; background:#f5efe6; }
.nasal-rule-column > header span { display:grid; min-width:49px; height:49px; place-items:center; border-radius:14px; background:#fffdf8; font-size:1.35rem; font-weight:900; }
.nasal-rule-column > header h2 { margin:0; color:var(--ink); font-size:1.2rem; }
.nasal-rule-column > article { margin:0 16px; padding:20px 2px; border-top:1px solid var(--line); }
.nasal-rule-column > article:first-of-type { border-top:0; }
.nasal-rule-column h3 { margin:0 0 10px; color:currentColor; font-size:1rem; }
.nasal-rule-column p { margin:0; color:var(--ink-soft); font-size:.9rem; font-weight:620; line-height:1.72; }
.nasal-rule-column .rule-examples { margin-top:10px; }
.nasal-rule-column .rule-examples strong { color:var(--ink); }
.nasal-correction > div { display:grid; gap:8px; margin-top:13px; }
.nasal-correction > div p { padding:12px; border-radius:12px; }
.nasal-correction > div p:first-child { background:#fff0f1; color:#98313e; }
.nasal-correction > div p:last-child { background:#eaf7f2; color:#087873; }
.pancham-map { display:grid; gap:9px; margin-top:16px; }
.pancham-map>div { min-width:0; padding:11px 12px; border:1px solid rgba(13,42,82,.12); border-radius:12px; background:rgba(255,255,255,.58); }
.pancham-map p { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:0 0 5px; }
.pancham-map b { min-width:0; overflow-wrap:anywhere; }
.pancham-map strong { flex:0 0 auto; color:var(--blue); white-space:nowrap; }
.pancham-map span { display:block; min-width:0; color:var(--muted); line-height:1.55; overflow-wrap:anywhere; }
@media(max-width:1500px){.nasal-rules-grid{grid-template-columns:1fr}}
@media(max-width:760px){.nasal-overview-grid{grid-template-columns:1fr}.nasal-overview-grid p{min-height:0}.nasal-table{min-width:580px}.nasal-sounds-lesson .lesson-subtitle{margin-top:-8px}}
.halant-ajant-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:30px; }
.halant-ajant-column { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fffdf8; }
.halant-ajant-column > header { position:relative; padding:22px 74px 20px 22px; color:#fff; }
.halant-ajant-column > header p { margin:0 0 3px; color:rgba(255,255,255,.8); font-size:.76rem; font-weight:850; }
.halant-ajant-column > header h2 { margin:0; color:#fff; font-size:1.75rem; }
.halant-ajant-column > header span { position:absolute; top:50%; right:22px; color:rgba(255,255,255,.92); font-size:2.4rem; font-weight:900; transform:translateY(-50%); }
.halant-ajant-column.is-halant > header { background:var(--crimson); }
.halant-ajant-column.is-ajant > header { background:var(--teal); }
.halant-ajant-column > article { padding:17px 20px; border-top:1px solid var(--line); }
.halant-ajant-column > article h3 { margin:0 0 7px; color:var(--ink); font-size:1rem; line-height:1.45; }
.halant-ajant-column > article p { margin:0; color:var(--ink-soft); font-size:.91rem; font-weight:650; line-height:1.65; }
@media(max-width:760px){.halant-ajant-grid{grid-template-columns:1fr}.halant-ajant-lesson .lesson-subtitle{margin-top:-8px}}

/* v49.1.45: three-way श/ष/स comparison. */
.sibilant-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:30px; }
.sibilant-column { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fffdf8; }
.sibilant-column > header { display:flex; align-items:center; gap:14px; padding:19px 18px; color:#fff; }
.sibilant-column > header > span { display:grid; width:48px; height:48px; flex:0 0 auto; place-items:center; border:1px solid rgba(255,255,255,.38); border-radius:14px; background:rgba(255,255,255,.12); font-size:2rem; font-weight:900; }
.sibilant-column > header p { margin:0; color:rgba(255,255,255,.78); font-size:.72rem; font-weight:850; }
.sibilant-column > header h2 { margin:1px 0 0; color:#fff; font-size:1.45rem; }
.sibilant-column.is-sha > header { background:var(--crimson); }
.sibilant-column.is-ssa > header { background:#76529a; }
.sibilant-column.is-sa > header { background:var(--teal); }
.sibilant-column > article { padding:16px 17px; border-top:1px solid var(--line); }
.sibilant-column > article h3 { margin:0 0 7px; color:var(--ink); font-size:.96rem; line-height:1.45; }
.sibilant-column > article p { margin:0; color:var(--ink-soft); font-size:.84rem; font-weight:620; line-height:1.7; }
@media(max-width:1050px){.sibilant-grid{grid-template-columns:1fr}.sibilant-column{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr)}.sibilant-column>header{grid-row:1/-1;align-items:flex-start}.sibilant-column>article{border-top:0;border-left:1px solid var(--line)}}
@media(max-width:620px){.sibilant-column{display:block}.sibilant-column>article{border-top:1px solid var(--line);border-left:0}}

/* v49.1.45: numbered comparison rules, linked grammar terms and पदयोग lesson. */
@counter-style devanagari { system:numeric; symbols:"०" "१" "२" "३" "४" "५" "६" "७" "८" "९"; suffix:""; }
.numbered-rules > section { counter-reset:lesson-rule; }
.numbered-rules > section > article { position:relative; padding-left:52px; }
.numbered-rules > section > article::before { content:counter(lesson-rule, devanagari); counter-increment:lesson-rule; position:absolute; top:17px; left:17px; display:grid; width:25px; height:25px; place-items:center; border-radius:8px; background:#eee6da; color:var(--ink); font-size:.7rem; font-weight:900; }
.grammar-link { color:var(--crimson); font-weight:850; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
.grammar-link:hover,.grammar-link:focus-visible { color:var(--crimson-dark); }
.padyog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:30px; }
.padyog-column { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fffdf8; }
.padyog-column > header { position:relative; padding:22px 72px 20px 22px; color:#fff; }
.padyog-column > header p { margin:0 0 3px; color:rgba(255,255,255,.8); font-size:.76rem; font-weight:850; }
.padyog-column > header h2 { margin:0; color:#fff; font-size:1.7rem; }
.padyog-column > header span { position:absolute; top:50%; right:22px; color:rgba(255,255,255,.9); font-size:2rem; font-weight:900; transform:translateY(-50%); }
.padyog-column.is-joined > header { background:var(--teal); }
.padyog-column.is-separated > header { background:var(--crimson); }
.padyog-column > article { padding-top:17px; padding-right:20px; padding-bottom:17px; border-top:1px solid var(--line); }
.padyog-column > article h3 { margin:0 0 7px; color:var(--ink); font-size:.98rem; line-height:1.45; }
.padyog-column > article p { margin:0; color:var(--ink-soft); font-size:.88rem; font-weight:630; line-height:1.68; }
@media(max-width:760px){.padyog-grid{grid-template-columns:1fr}.origin-language-list div{flex-wrap:wrap}.origin-language-list dd{white-space:normal}}

/* v49.1.45: paired letter rules and the consolidated reference chapter. */
.letter-comparison { margin-top:34px; }
.letter-comparison > h2 { margin:0 0 14px; font-size:clamp(1.35rem,2.2vw,1.8rem); }
.letter-pair-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.letter-rule-column { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fffdf8; }
.letter-rule-column > header { display:flex; align-items:center; gap:14px; padding:19px 20px; color:#fff; }
.letter-rule-column > header span { display:grid; min-width:50px; height:50px; padding:0 8px; place-items:center; border:1px solid rgba(255,255,255,.38); border-radius:14px; background:rgba(255,255,255,.12); font-size:1.8rem; font-weight:900; }
.letter-rule-column > header h3 { margin:0; color:#fff; font-size:1.3rem; }
.letter-rule-column.is-left > header { background:var(--crimson); }
.letter-rule-column.is-right > header { background:var(--teal); }
.letter-rule-column > article { padding-top:17px; padding-right:20px; padding-bottom:17px; border-top:1px solid var(--line); }
.letter-rule-column > article h3 { margin:0 0 7px; font-size:.98rem; line-height:1.45; }
.letter-rule-column > article p { margin:0; color:var(--ink-soft); font-size:.9rem; font-weight:630; line-height:1.72; }
.reference-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:22px; }
.reference-list article { padding:18px 20px; border:1px solid var(--line); border-radius:16px; background:#fffdf8; }
.reference-list span { color:var(--crimson); font-size:.76rem; font-weight:850; }
.reference-list h2 { margin:5px 0 6px; font-size:1.16rem; line-height:1.35; }
.reference-list p { margin:0 0 9px; color:var(--ink-soft); line-height:1.45; }
.reference-list a { color:var(--teal); font-weight:850; text-decoration:none; }
.reference-list a:hover,.reference-list a:focus-visible { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:760px){.letter-pair-grid,.reference-list{grid-template-columns:1fr}}

/* v49.1.59: three-part ह्रस्व–दीर्घ series and meaning-pair lesson. */
.hraswa-series-lesson > .lesson-lede { max-width:none; }
.hraswa-position-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:30px; align-items:start; }
.hraswa-position-column { overflow:hidden; border:1px solid var(--line); border-radius:20px; background:#fffdf8; }
.hraswa-position-column > header { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:21px 22px; color:#fff; }
.hraswa-position-column.is-short > header { background:var(--teal); }
.hraswa-position-column.is-long > header { background:var(--crimson); }
.hraswa-position-column > header span { order:2; padding:7px 11px; border:1px solid rgba(255,255,255,.35); border-radius:10px; background:rgba(255,255,255,.12); font-size:.88rem; font-weight:900; }
.hraswa-position-column > header h2 { margin:0; color:#fff; font-size:1.5rem; }
.hraswa-position-column > article { padding:17px 20px; border-top:1px solid var(--line); }
.hraswa-position-column > article h3 { margin:0 0 7px; color:var(--ink); font-size:1rem; line-height:1.45; }
.hraswa-position-column > article p { margin:0; color:var(--ink-soft); font-size:.9rem; font-weight:625; line-height:1.72; overflow-wrap:anywhere; }
.sound-pair-sections { display:grid; gap:34px; margin-top:32px; }
.sound-pair-sections > section > h2 { margin:0 0 15px; font-size:clamp(1.3rem,2.1vw,1.7rem); }
.sound-pair-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sound-pair-grid article { padding:19px 20px; border:1px solid var(--line); border-radius:17px; background:#fffdf8; }
.sound-pair-grid h3 { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin:0 0 11px; }
.sound-pair-grid h3 span { display:grid; min-height:52px; place-items:center; border-radius:12px; background:#f4ede2; color:var(--ink); font-size:1.35rem; }
.sound-pair-grid h3 span:last-child { background:#f8e8ed; color:var(--crimson); }
.sound-pair-grid p { margin:0; color:var(--ink-soft); font-size:.9rem; line-height:1.65; }
.sound-pair-grid p b { color:var(--ink); }
@media(max-width:760px){.hraswa-position-grid,.sound-pair-grid{grid-template-columns:1fr}}

/* v49.1.59: make both sides of each similar-sounding pair equally scannable. */
.sound-pair-meanings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.sound-pair-meanings p { display:grid; align-content:start; gap:4px; min-height:74px; padding:11px 12px; border-radius:11px; background:#f6f1e8; }
.sound-pair-meanings p:last-child { background:#fbf0f3; }
.sound-pair-meanings b { color:var(--ink); font-size:.96rem; }
.sound-pair-meanings p:last-child b { color:var(--crimson); }
.sound-pair-meanings span { color:var(--ink-soft); font-size:.86rem; font-weight:650; line-height:1.5; }
@media(max-width:480px){.sound-pair-meanings{grid-template-columns:1fr}.sound-pair-meanings p{min-height:0}}

/* v49.1.59: distinct quiz completion state. */
.hraswa-feedback.complete { padding:24px; border-color:#bcded3; background:linear-gradient(145deg,#f3faf7,#edf7f3); }
.quiz-result-summary { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:24px; text-align:left; }
.quiz-score-ring { display:grid; width:118px; height:118px; place-content:center; border-radius:50%; background:radial-gradient(circle at center,#f8fcfa 0 56%,transparent 57%),conic-gradient(var(--teal) var(--score),#dce9e4 0); color:var(--ink); text-align:center; box-shadow:0 10px 26px rgba(16,38,77,.1); }
.quiz-score-ring strong { color:var(--teal); font-size:1.65rem; line-height:1.05; }
.quiz-score-ring span { margin-top:4px; color:var(--muted); font-size:.72rem; font-weight:800; }
.quiz-result-count { color:var(--teal)!important; font-size:1rem!important; }
.quiz-result-summary h4 { margin:6px 0 2px; color:var(--ink); font-size:clamp(1.35rem,2.2vw,1.8rem); }
.quiz-result-summary p { margin:0; font-size:.96rem; font-weight:650; }
.quiz-restart { margin-top:20px; padding:10px 14px; border:1px solid #a9cec2; border-radius:10px; background:rgba(255,255,255,.72); color:var(--teal); font-family:var(--devanagari-font); font-weight:850; cursor:pointer; }
.quiz-restart:hover,.quiz-restart:focus-visible { border-color:var(--teal); background:#fff; }
@media(max-width:560px){.quiz-result-summary{grid-template-columns:1fr;text-align:center}.quiz-score-ring{margin:auto}.quiz-restart{width:100%}}

/* Lesson 14: scan-friendly incorrect/correct comparison. */
.misspelling-section { margin-top:30px; }
.misspelling-table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:18px; background:#fffdf8; }
.misspelling-table { width:100%; border-collapse:collapse; counter-reset:misspelling-row; }
.misspelling-table th { padding:14px 16px; background:var(--ink); color:#fff; text-align:left; font-size:.84rem; }
.misspelling-table th:first-child { width:64px; text-align:center; }
.misspelling-table th:nth-child(2),.misspelling-table th:nth-child(3) { width:19%; }
.misspelling-table td { padding:13px 16px; border-top:1px solid var(--line); vertical-align:top; color:var(--ink-soft); font-size:.9rem; font-weight:620; line-height:1.55; }
.misspelling-table tbody tr { counter-increment:misspelling-row; }
.misspelling-table tbody tr:nth-child(even) { background:#f8f3e9; }
.misspelling-table td:first-child { color:var(--muted); text-align:center; font-size:.78rem; font-weight:850; }
.misspelling-table td:first-child::before { content:counter(misspelling-row, devanagari); }
.misspelling-table td:nth-child(2) { color:#9b2d42; text-decoration:line-through; text-decoration-thickness:1px; }
.misspelling-table td:nth-child(3) { color:#087873; font-weight:850; }
.phrase-misspelling-table th:nth-child(2),.phrase-misspelling-table th:nth-child(3) { width:27%; }
.editorial-note { margin-top:18px; padding:18px 20px; border-left:4px solid var(--gold); border-radius:0 14px 14px 0; background:#faf4e4; }
.editorial-note strong { color:var(--ink); }
.editorial-note p { margin:6px 0 0; color:var(--ink-soft); font-size:.9rem; line-height:1.65; }
@media(max-width:700px){.misspelling-table{min-width:720px}.phrase-misspelling-table{min-width:900px}}

/* v49.1.59: cross-lesson reading comfort and visual consistency. */
.learn-primary > .lesson-body > h1 { text-wrap:balance; }
.learn-primary > .lesson-body > h1.lesson-title-long { font-size:clamp(2rem,3.7vw,3.55rem); line-height:1.1; }
.learn-primary > .lesson-body > h1.lesson-title-xlong { max-width:900px; font-size:clamp(1.8rem,3.15vw,3rem); line-height:1.13; }

.learn-bites { background:#f4eee3; }
.learn-bites article p { color:#756f67; font-size:.78rem; line-height:1.5; }
.learn-bites h3 { color:#17345f; }
.learn-bites > a article::after { opacity:.7; }

.lesson-reading-progress { position:fixed; z-index:120; top:0; left:0; width:100%; height:4px; pointer-events:none; background:rgba(19,44,92,.08); }
.lesson-reading-progress span { display:block; width:100%; height:100%; background:linear-gradient(90deg,var(--crimson),var(--teal)); transform:scaleX(0); transform-origin:left center; transition:transform .08s linear; }
.lesson-back-to-top { position:fixed; z-index:110; right:22px; bottom:22px; display:flex; align-items:center; gap:7px; min-height:42px; padding:8px 13px; border:1px solid #d8cdbd; border-radius:999px; background:#fffdf8; color:var(--ink); box-shadow:0 10px 28px rgba(16,38,77,.16); font:inherit; font-size:.8rem; font-weight:850; cursor:pointer; opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity .18s ease,transform .18s ease,border-color .18s ease; }
.lesson-back-to-top span { color:var(--crimson); font-size:1rem; }
.lesson-back-to-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.lesson-back-to-top:hover,.lesson-back-to-top:focus-visible { border-color:var(--crimson); }

.misspelling-tools { margin:26px 0 8px; padding:18px; border:1px solid var(--line); border-radius:18px; background:#f8f3e9; }
.misspelling-tools label { display:grid; gap:7px; }
.misspelling-tools label span { color:var(--ink); font-size:.86rem; font-weight:850; }
.misspelling-tools input { width:100%; min-height:48px; padding:10px 14px; border:1px solid #d7cbbb; border-radius:12px; background:#fffdf8; color:var(--ink); font:inherit; font-size:1rem; outline:none; }
.misspelling-tools input:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(20,139,135,.13); }
.misspelling-jumps { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.misspelling-jumps button { display:grid; min-width:34px; min-height:34px; place-items:center; padding:4px 8px; border:1px solid #ddd1c0; border-radius:9px; background:#fffdf8; color:var(--ink); font:inherit; font-size:.83rem; font-weight:850; cursor:pointer; }
.misspelling-jumps button:hover,.misspelling-jumps button:focus-visible { border-color:var(--crimson); background:#f9e8ed; color:var(--crimson); }
.misspelling-search-status { min-height:1.35em; margin:10px 0 0; color:var(--muted); font-size:.78rem; font-weight:750; }
.misspelling-table thead th { position:sticky; z-index:2; top:0; }
.misspelling-table tbody tr { transition:background-color .2s ease; }
.misspelling-table tbody tr.is-jump-target { background:#fff0bf; }
.misspelling-section[hidden],.misspelling-table tr[hidden] { display:none; }

.halant-ajant-column > header,.padyog-column > header,.letter-rule-column > header,.hraswa-position-column > header { min-height:86px; }
.halant-ajant-column > article,.padyog-column > article,.letter-rule-column > article,.hraswa-position-column > article { min-height:0; }
.halant-ajant-column > article h3,.padyog-column > article h3,.letter-rule-column > article h3,.hraswa-position-column > article h3 { text-wrap:balance; }
.halant-ajant-column > article p,.padyog-column > article p,.letter-rule-column > article p,.hraswa-position-column > article p { overflow-wrap:anywhere; }

@media(max-width:620px){
  .lesson-back-to-top{right:14px;bottom:14px}.lesson-back-to-top b{display:none}
  .misspelling-tools{padding:14px}.misspelling-jumps{gap:6px}
}
@media(prefers-reduced-motion:reduce){
  .lesson-reading-progress span,.lesson-back-to-top,.misspelling-table tbody tr{transition:none}
}

/* v49.1.59: compact editorial treatment for similar-sounding pairs. */
.sound-pair-sections { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.sound-pair-sections > section { overflow:hidden; border:1px solid var(--line); border-radius:20px; background:#fffdf8; }
.sound-pair-sections > section > h2 { margin:0; padding:19px 21px; border-bottom:1px solid var(--line); background:#f4ede2; font-size:1.25rem; }
.sound-pair-sections > section:last-child > h2 { background:#f8e8ed; color:var(--crimson); }
.sound-pair-grid { display:block; }
.sound-pair-grid article { display:grid; grid-template-columns:minmax(118px,.72fr) minmax(0,1.28fr); gap:14px; align-items:stretch; padding:0; border:0; border-radius:0; background:transparent; }
.sound-pair-grid article + article { border-top:1px solid var(--line); }
.sound-pair-grid h3 { display:grid; grid-template-columns:1fr 1fr; gap:6px; align-items:center; margin:0; padding:13px 0 13px 16px; }
.sound-pair-grid h3 span { min-height:38px; padding:5px 7px; border-radius:9px; font-size:1.03rem; }
.sound-pair-meanings { align-items:stretch; gap:6px; padding:13px 16px 13px 0; }
.sound-pair-meanings p { min-height:0; padding:8px 9px; border-radius:9px; }
.sound-pair-meanings span { font-size:.8rem; line-height:1.42; }
@media(max-width:1180px){.sound-pair-sections{grid-template-columns:1fr}}
@media(max-width:520px){
  .sound-pair-grid article{grid-template-columns:1fr;gap:0}
  .sound-pair-grid h3{padding:13px 14px 6px}
  .sound-pair-meanings{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 14px 13px}
}

/* v49.1.59: one unambiguous word-and-meaning comparison category. */
.sound-pair-sections { grid-template-columns:1fr; }
.sound-pair-sections > section:last-child > h2 { background:#f4ede2; color:var(--ink); }
.sound-pair-sections .sound-pair-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.sound-pair-sections .sound-pair-grid article { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto 1fr; gap:0 9px; padding:14px; border:0; border-radius:0; background:transparent; }
.sound-pair-sections .sound-pair-grid article:nth-child(even) { border-left:1px solid var(--line); }
.sound-pair-sections .sound-pair-grid article:nth-child(n+3) { border-top:1px solid var(--line); }
.sound-pair-sections .sound-pair-grid h3,.sound-pair-sections .sound-pair-grid .sound-pair-meanings { display:contents; }
.sound-pair-sections .sound-pair-grid h3 span { min-height:44px; padding:7px 9px; font-size:1.12rem; }
.sound-pair-sections .sound-pair-grid h3 span:first-child { grid-column:1; grid-row:1; }
.sound-pair-sections .sound-pair-grid h3 span:last-child { grid-column:2; grid-row:1; }
.sound-pair-sections .sound-pair-grid .sound-pair-meanings p { position:relative; min-height:64px; margin-top:6px; padding:18px 10px 9px; text-align:center; }
.sound-pair-sections .sound-pair-grid .sound-pair-meanings p::before { content:"अर्थ"; position:absolute; top:4px; left:0; width:100%; color:var(--muted); font-size:.62rem; font-weight:850; letter-spacing:.04em; }
.sound-pair-sections .sound-pair-grid .sound-pair-meanings p:first-child { grid-column:1; grid-row:2; }
.sound-pair-sections .sound-pair-grid .sound-pair-meanings p:last-child { grid-column:2; grid-row:2; }
.sound-pair-sections .sound-pair-grid .sound-pair-meanings span { font-size:.88rem; line-height:1.45; }
@media(max-width:760px){
  .sound-pair-sections .sound-pair-grid{grid-template-columns:1fr}
  .sound-pair-sections .sound-pair-grid article:nth-child(even){border-left:0}
  .sound-pair-sections .sound-pair-grid article:nth-child(n+2){border-top:1px solid var(--line)}
}

/* v51.3: focused Windows download journey. */
.download-page .download-hero { min-height:510px; padding-block:50px 58px; }
.download-page .download-options { padding-block:68px 72px; }
.download-panel { overflow:hidden; margin-top:26px; border:1px solid #d8cdbd; border-radius:22px; background:#fffdf8; box-shadow:0 18px 44px rgba(16,38,77,.07); }
.download-panel-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 26px; border-bottom:1px solid var(--line); background:#f7f0e5; }
.download-panel-header > div { display:grid; gap:4px; }
.download-panel-header strong { color:var(--ink); font-size:1.08rem; }
.download-panel-header span:not(.beta-badge) { color:var(--muted); font-size:.76rem; }
.beta-badge { padding:6px 9px; border-radius:7px; background:#e1eee9; color:var(--teal); font-size:.68rem; font-weight:900; letter-spacing:.06em; }
.installer-list { display:grid; }
.installer-choice { display:grid; grid-template-columns:minmax(0,1fr) minmax(190px,240px); gap:10px 30px; align-items:center; padding:27px 28px; border-top:1px solid var(--line); }
.installer-choice:first-child { border-top:0; }
.installer-choice.recommended { box-shadow:inset 4px 0 0 var(--crimson); }
.installer-choice-copy { min-width:0; }
.installer-choice-copy .recommended-label { position:static; display:inline-flex; margin-bottom:9px; padding:4px 8px; font-size:.62rem; }
.installer-choice-copy > p { margin:0 0 5px; color:var(--crimson); font-size:.68rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.installer-choice-copy h3 { margin:0; color:var(--ink); font-family:var(--devanagari-font); font-size:1.35rem; }
.installer-choice-copy > small { display:block; margin-top:7px; color:var(--muted); font-family:var(--devanagari-font); font-size:.78rem; line-height:1.5; }
.installer-choice .installer-button { grid-column:2; grid-row:1; width:100%; margin:0; box-sizing:border-box; }
.installer-choice .file-details { display:none; grid-column:1/-1; grid-template-columns:auto minmax(0,1fr); gap:12px 25px; margin-top:7px; padding-top:15px; }
.installer-choice.available .file-details { display:grid; }
.installer-choice .file-details div { grid-template-columns:62px minmax(0,1fr); }
.download-panel-help { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr); border-top:1px solid var(--line); background:#fbf6ed; }
.download-panel .architecture-help { margin:0; padding:20px 26px; border:0; border-radius:0; background:transparent; }
.download-safety { display:grid; grid-template-columns:30px 1fr; gap:12px; align-items:start; padding:20px 26px; border-left:1px solid #e3d39e; background:#fbefc7; }
.download-safety > span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:var(--gold); color:var(--ink); font-weight:900; }
.download-safety p { margin:0; color:#5e501f; font-family:var(--devanagari-font); font-size:.76rem; line-height:1.65; }
.download-page .install-guide { gap:44px; padding-block:66px; }
.download-page .install-steps { gap:9px; }
.download-page .install-steps li { grid-template-columns:38px 1fr; gap:14px; padding:16px 18px; }
.download-page .install-steps b { width:36px; height:36px; }
.download-page .install-steps p { margin-top:4px; }
.download-page .desktop-use-guide { padding-block:64px; }
.essential-shortcuts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; margin-top:24px; border:1px solid #d8cdbd; border-radius:18px; background:#fffdf8; box-shadow:0 14px 36px rgba(16,38,77,.055); }
.essential-shortcuts article { padding:24px; border-left:1px solid var(--line); }
.essential-shortcuts article:first-child { border-left:0; }
.essential-shortcuts h3 { margin:0 0 12px; color:var(--ink); font-family:var(--devanagari-font); font-size:1rem; }
.essential-shortcuts p { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0 0 10px; color:var(--ink); }
.essential-shortcuts kbd { display:inline-flex; min-height:29px; align-items:center; padding:3px 8px; border:1px solid #d4c8b8; border-bottom-width:2px; border-radius:6px; background:#fff; font:800 .73rem/1 ui-monospace,monospace; }
.essential-shortcuts span { color:var(--muted); font-family:var(--devanagari-font); font-size:.78rem; line-height:1.55; }
.download-page .download-updates { padding-block:66px 82px; }
.release-summary { display:grid; grid-template-columns:minmax(270px,.9fr) minmax(0,1.1fr); gap:16px; margin-top:26px; }
.latest-release { position:relative; padding:28px; border:1px solid #d8cdbd; border-top:4px solid var(--crimson); border-radius:18px; background:#fffdf8; }
.latest-release > span { position:absolute; top:24px; right:24px; padding:5px 8px; border-radius:999px; background:#f8dce6; color:var(--crimson); font-size:.64rem; font-weight:900; }
.release-summary time { color:var(--crimson); font-size:.69rem; font-weight:850; }
.release-summary h3 { margin:8px 0 7px; color:var(--ink); }
.release-summary p { margin:0; color:var(--ink-soft); font-size:.84rem; line-height:1.65; }
.recent-releases { display:grid; overflow:hidden; border:1px solid #d8cdbd; border-radius:18px; background:#fffdf8; }
.recent-releases article { display:grid; grid-template-columns:86px 1fr; gap:18px; align-items:start; padding:17px 20px; border-top:1px solid var(--line); }
.recent-releases article:first-child { border-top:0; }
.recent-releases h3 { margin-top:0; font-size:1rem; }
.recent-releases p { font-size:.76rem; }
@media(max-width:850px){
  .download-panel-help,.release-summary{grid-template-columns:1fr}
  .download-safety{border-top:1px solid #e3d39e;border-left:0}
  .essential-shortcuts{grid-template-columns:1fr}
  .essential-shortcuts article{border-top:1px solid var(--line);border-left:0}
  .essential-shortcuts article:first-child{border-top:0}
}
@media(max-width:620px){
  .download-page .download-hero{padding-block:42px 48px}
  .installer-choice{grid-template-columns:1fr;padding:23px 20px}
  .installer-choice .installer-button{grid-column:1;grid-row:auto;margin-top:8px}
  .installer-choice .file-details{grid-column:1}
  .download-panel-header{padding:19px 20px}
  .download-panel .architecture-help,.download-safety{padding:18px 20px}
  .recent-releases article{grid-template-columns:1fr;gap:5px}
}

/* v51.3: a calmer homepage rhythm with more room below navigation. */
@media (min-width:981px) {
  .home-page .hero { min-height:520px; padding-block:56px 38px; }
  .home-page .hero-bird { min-height:450px; }
  .home-page .hero-bird img { width:min(570px,112%); }
  .home-page .hero .lede { margin-top:20px; }
  .home-page .hero-actions { margin-top:24px; }
}
.home-page .additional-features { padding-block:42px; }
.home-page .discovery-section { padding-block:36px 70px; }
@media (max-width:980px) {
  .home-page .additional-features { padding-block:42px; }
}
@media (max-width:620px) {
  .home-page .hero { padding-block:52px 44px; }
  .home-page .additional-features { padding-block:38px; }
  .home-page .discovery-section { padding-bottom:56px; }
}

/* v51.3: focused homepage journey and contextual language facts. */
.home-page .additional-features .section-heading h2,
.home-page .discovery-section .section-heading h2 { font-size:clamp(1.85rem,3.2vw,3rem); }
.home-page .discovery-grid { grid-template-columns:1fr; }
.home-page .beautiful-word { min-height:190px; padding:27px 30px; }
.home-page .beautiful-word #beautiful-word-meaning,.home-page .beautiful-word .word-example { max-width:760px; }
.language-map-fact { margin:28px 0 0; padding:24px 27px; border-color:#d8cdbd; background:linear-gradient(135deg,#f2e7d4,#e8f1ed); }
.language-map-fact .section-kicker { color:var(--teal); }
.language-map-fact #language-fact { max-width:900px; }
.language-map-fact .fact-footer { align-items:center; }
@media (max-width:760px) {
  .home-page .beautiful-word { min-height:0; padding:22px; }
}

/* v51.3: focused Windows experience demo on the homepage. */
.desktop-demo-section { display:grid; grid-template-columns:minmax(280px,.78fr) minmax(520px,1.22fr); gap:clamp(34px,5vw,72px); align-items:center; padding-block:68px 46px; border-top:1px solid var(--line); }
.desktop-demo-copy h2 { margin:6px 0 16px; font-family:var(--devanagari-font); font-size:clamp(2rem,3.5vw,3.25rem); line-height:1.18; }
.desktop-demo-copy > p:not(.section-kicker) { margin:0; color:var(--ink-soft); font-family:var(--devanagari-font); font-size:.98rem; line-height:1.8; }
.desktop-demo-points { display:grid; gap:10px; margin:22px 0 26px; padding:0; list-style:none; }
.desktop-demo-points li { position:relative; padding-left:23px; color:var(--ink-soft); font-family:var(--devanagari-font); font-size:.84rem; line-height:1.55; }
.desktop-demo-points li::before { position:absolute; left:0; color:var(--teal); content:"✓"; font-weight:900; }
.desktop-demo-points kbd { padding:2px 6px; border:1px solid #d2c7b8; border-bottom-width:2px; border-radius:5px; background:#fffdf8; color:var(--ink); font:700 .68rem/1.2 ui-sans-serif,system-ui,sans-serif; }
.desktop-demo-download { width:max-content; max-width:100%; }
.desktop-demo-window { overflow:hidden; border:1px solid #c9c3b9; border-radius:15px; background:#f7f7f7; box-shadow:0 24px 54px rgba(16,38,77,.13); }
.desktop-demo-titlebar { display:grid; grid-template-columns:auto 1fr auto; gap:9px; align-items:center; min-height:42px; padding:0 12px; border-bottom:1px solid #dedede; background:#f1f3f6; color:#273449; font:500 .75rem/1.2 "Segoe UI",sans-serif; }
.desktop-demo-app-icon { display:grid; width:20px; height:20px; place-items:center; border-radius:4px; background:var(--ink); color:white; font-size:.68rem; }
.desktop-window-controls { color:#536071; letter-spacing:.08em; white-space:nowrap; }
.desktop-demo-menu { padding:8px 13px; border-bottom:1px solid #e7e7e7; background:white; color:#4f5968; font:400 .7rem/1.2 "Segoe UI",sans-serif; }
.desktop-demo-page { position:relative; display:flex; align-content:flex-start; flex-wrap:wrap; min-height:260px; padding:25px 26px 112px; background:#fff; cursor:text; }
.desktop-demo-page > span { color:#182744; font-family:var(--devanagari-font); font-size:1.16rem; line-height:1.8; white-space:pre-wrap; }
.desktop-demo-page > input { flex:1 1 190px; min-width:170px; height:2.1rem; padding:0 2px; border:0; outline:0; background:transparent; color:#182744; font:400 1rem/2.1rem "Segoe UI",sans-serif; }
.desktop-demo-page > input::placeholder { color:#7f8997; }
.desktop-demo-candidates { position:absolute; z-index:2; bottom:22px; left:25px; display:flex; max-width:calc(100% - 50px); gap:4px; padding:7px; overflow-x:auto; border:1px solid #cfc8bd; border-radius:10px; background:#fffdf9; box-shadow:0 10px 25px rgba(16,38,77,.18); }
.desktop-demo-candidates[hidden] { display:none; }
.desktop-demo-candidates button { display:flex; flex:0 0 auto; gap:7px; align-items:center; min-height:35px; padding:5px 10px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--ink); cursor:pointer; font-family:var(--devanagari-font); }
.desktop-demo-candidates button:hover,.desktop-demo-candidates button.selected { border-color:#a7c8bc; background:#e4f2ed; }
.desktop-demo-candidates kbd { color:var(--crimson); font:800 .65rem/1 ui-sans-serif,system-ui,sans-serif; }
.desktop-demo-candidates span { font-size:.93rem; font-weight:650; }
.desktop-demo-status { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:40px; padding:7px 12px; border-top:1px solid #e2e2e2; background:#f6f6f6; color:#596474; font:500 .68rem/1.2 "Segoe UI",sans-serif; }
.desktop-demo-status > span { display:flex; align-items:center; gap:7px; }
.desktop-demo-live-dot { width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 0 3px rgba(0,127,123,.12); }
.desktop-demo-status button { padding:5px 9px; border:1px solid #d5d0c8; border-radius:7px; background:white; color:var(--ink); cursor:pointer; font-family:var(--devanagari-font); font-size:.68rem; }
.desktop-demo-caption { margin:0; padding:10px 14px; border-top:1px solid #e4ddd2; background:#f3eadc; color:#6a6258; font-family:var(--devanagari-font); font-size:.68rem; line-height:1.5; }
@media(max-width:980px){
  .desktop-demo-section { grid-template-columns:1fr; }
  .desktop-demo-copy { max-width:720px; }
}
@media(max-width:620px){
  .desktop-demo-section { padding-block:48px 36px; }
  .desktop-demo-page { min-height:230px; padding:20px 18px 105px; }
  .desktop-demo-candidates { left:17px; max-width:calc(100% - 34px); }
  .desktop-demo-download { width:100%; justify-content:center; }
}

/* v51.3: lessons use the reading area for content; terminology moves to a compact capsule index. */
.learn-course-grid {
  grid-template-columns:minmax(250px,285px) minmax(0,1fr);
  grid-template-areas:"index lesson";
  gap:28px;
}
.learn-glossary-capsules {
  display:grid;
  grid-template-columns:minmax(190px,.32fr) minmax(0,1fr);
  gap:20px 28px;
  align-items:center;
  margin-top:22px;
  padding:22px 24px;
  border:1px solid var(--line);
  border-radius:var(--surface-radius);
  background:#f4eee3;
}
.learn-glossary-capsules h2 {
  margin:0;
  color:var(--ink);
  font-size:1.25rem;
}
.learn-glossary-capsules p {
  margin:5px 0 0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.5;
}
.learn-glossary-capsules nav {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.learn-glossary-capsules a {
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:7px 13px;
  border:1px solid #d8cdbd;
  border-radius:999px;
  background:#fffdf8;
  color:var(--ink-soft);
  font-size:.86rem;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
}
.learn-glossary-capsules a:hover,
.learn-glossary-capsules a:focus-visible {
  border-color:var(--crimson);
  background:#f8e4ea;
  color:var(--crimson);
  transform:translateY(-1px);
}
@media(max-width:900px) {
  .learn-course-grid {
    grid-template-columns:minmax(220px,240px) minmax(0,1fr);
    grid-template-areas:"index lesson";
  }
  .learn-glossary-capsules { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .learn-course-grid {
    grid-template-columns:1fr;
    grid-template-areas:"lesson" "index";
  }
}
@media(max-width:620px) {
  .learn-glossary-capsules { padding:19px 18px; }
  .learn-glossary-capsules nav { gap:8px; }
  .learn-glossary-capsules a { min-height:34px; padding:7px 11px; font-size:.82rem; }
}

/* v51.3 refinement: terminology capsules sit beneath the syllabus in the left rail. */
.learn-index .learn-glossary-capsules {
  display:block;
  margin:18px 0 0;
  padding:16px 4px 2px;
  border:0;
  border-top:1px solid rgba(19,44,92,.11);
  border-radius:0;
  background:transparent;
}

/* v51.3: let the short introduction use its wider reading canvas. */
.learn-primary .learn-course-intro .learn-search-bridge {
  max-width:none;
  font-size:clamp(1rem,1.2vw,1.12rem);
  line-height:1.75;
}
.learn-introduction-illustration {
  width:min(100%,880px);
  margin:24px auto 30px;
  background:transparent;
}
.learn-introduction-illustration img {
  display:block;
  width:100%;
  height:auto;
  mix-blend-mode:multiply;
  filter:contrast(1.035);
}
.learn-primary .learn-course-intro .learn-intro-copy {
  max-width:none;
  font-size:clamp(1.08rem,1.3vw,1.24rem);
  line-height:1.95;
}
.learn-primary .learn-course-intro .learn-intro-copy p {
  margin:0 0 18px;
}
.learn-index .learn-glossary-capsules h2 {
  margin:0 0 10px;
  color:var(--crimson);
  font-size:.78rem;
  font-weight:900;
  line-height:1.35;
  letter-spacing:.045em;
}
.learn-index .learn-glossary-links {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.learn-index .learn-glossary-capsules a {
  display:inline-flex;
  min-height:0;
  padding:6px 9px;
  border:1px solid #d8cdbd;
  border-radius:999px;
  background:#fffdf8;
  color:var(--ink-soft);
  font-size:.75rem;
  font-weight:800;
  line-height:1.15;
}
.learn-index .learn-glossary-capsules a:hover,
.learn-index .learn-glossary-capsules a:focus-visible {
  border-color:var(--crimson);
  background:#f8e4ea;
  color:var(--crimson);
}

/* v51.43: lesson readability and illustration consistency pass. */
.learn-primary > .learn-course-intro h1,
.learn-primary > .lesson-body > h1,
.learn-primary > .learn-lesson-one .lesson-one-header h1 {
  font-size:clamp(2.25rem,3.75vw,3.65rem);
  line-height:1.12;
}
.learn-primary > .lesson-body > h1.lesson-title-long { font-size:clamp(2.05rem,3.35vw,3.25rem); }
.learn-primary > .lesson-body > h1.lesson-title-xlong { font-size:clamp(1.9rem,2.9vw,2.8rem); }
.learn-primary > .lesson-body .lesson-lede,
.learn-primary .learn-course-intro .learn-search-bridge {
  font-size:clamp(1.12rem,1.35vw,1.25rem);
  line-height:1.9;
}
.learn-primary .learn-course-intro .learn-intro-copy {
  font-size:clamp(1.12rem,1.4vw,1.27rem);
  line-height:1.95;
}
.learn-introduction-illustration,
.lesson-inline-illustration {
  float:right;
  width:clamp(280px,39%,440px);
  margin:4px 0 24px 30px;
}
.learn-introduction-illustration img,
.lesson-inline-illustration img {
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:contain;
}
.learn-start-button { clear:both; }
.lesson-illustrated-heading.is-quiz { grid-template-columns:minmax(0,1fr) minmax(280px,35%); }

.hraswa-position-column > article h3,
.halant-ajant-column > article h3,
.padyog-column > article h3,
.letter-rule-column > article h3,
.sibilant-column > article h3,
.bwo-column > article h3,
.nasal-rule-column h3 { font-size:1.08rem; }
.hraswa-position-column > article p,
.halant-ajant-column > article p,
.padyog-column > article p,
.letter-rule-column > article p,
.sibilant-column > article p,
.bwo-column > article p,
.nasal-rule-column p,
.sound-pair-grid p,
.reference-list p {
  font-size:1rem;
  line-height:1.78;
}

.hraswa-position-grid { grid-template-columns:1fr; }
.hraswa-position-column {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.hraswa-position-column > header { grid-column:1/-1; }
.hraswa-position-column > article { border-top:1px solid var(--line); }
.hraswa-position-column > article:nth-of-type(even) { border-left:1px solid var(--line); }

.misspelling-tools {
  position:sticky;
  z-index:5;
  top:10px;
  box-shadow:0 10px 24px rgba(16,38,77,.08);
}
.misspelling-table th { font-size:.94rem; }
.misspelling-table td { font-size:1rem; line-height:1.68; }
.misspelling-table td:nth-child(2) {
  color:#9b2d42;
  text-decoration:none;
  font-weight:760;
}

.lesson-section-jumps {
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  clear:both;
  margin:24px 0 4px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:15px;
  background:#f8f3e9;
}
.lesson-section-jumps a {
  display:inline-flex;
  min-height:38px;
  align-items:center;
  padding:7px 13px;
  border:1px solid #d8cdbd;
  border-radius:999px;
  background:#fffdf8;
  color:var(--ink);
  font-weight:850;
  text-decoration:none;
}
.lesson-section-jumps a:hover,
.lesson-section-jumps a:focus-visible { border-color:var(--crimson); color:var(--crimson); }
.letter-comparison { scroll-margin-top:20px; }

@media(max-width:760px) {
  .learn-introduction-illustration,
  .lesson-inline-illustration {
    float:none;
    width:100%;
    max-width:390px;
    margin:14px auto 25px;
  }
  .hraswa-position-column { grid-template-columns:1fr; }
  .hraswa-position-column > article:nth-of-type(even) { border-left:0; }
  .misspelling-tools { position:static; box-shadow:none; }
}

/* v51.43: one typographic rhythm for every main lesson. */
.learn-primary {
  --lesson-title-size:clamp(2.2rem,3.55vw,3.45rem);
  --lesson-section-size:clamp(1.3rem,1.75vw,1.58rem);
  --lesson-card-title-size:1.06rem;
  --lesson-copy-size:1rem;
  --lesson-copy-leading:1.78;
}
.learn-primary > .learn-course-intro h1,
.learn-primary > .lesson-body > h1,
.learn-primary > .lesson-body > h1.lesson-title-long,
.learn-primary > .lesson-body > h1.lesson-title-xlong,
.learn-primary > .learn-lesson-one .lesson-one-header h1 {
  max-width:900px;
  font-size:var(--lesson-title-size);
  line-height:1.12;
}
.lesson-body > section > h2,
.lesson-memory > h2,
.lesson-warning > h2,
.letter-comparison > h2,
.sound-pair-sections > section > h2,
.nasal-sounds-lesson > section > h2 {
  font-size:var(--lesson-section-size);
  line-height:1.3;
}
.hraswa-position-column > article h3,
.halant-ajant-column > article h3,
.padyog-column > article h3,
.letter-rule-column > article h3,
.sibilant-column > article h3,
.bwo-column > article h3,
.nasal-rule-column h3,
.lesson-rule-grid h4 {
  font-size:var(--lesson-card-title-size);
  line-height:1.45;
}
.hraswa-position-column > article p,
.halant-ajant-column > article p,
.padyog-column > article p,
.letter-rule-column > article p,
.sibilant-column > article p,
.bwo-column > article p,
.nasal-rule-column p,
.sound-pair-grid p,
.reference-list p,
.lesson-rule-grid p,
.lesson-memory > p,
.lesson-warning > p,
.lesson-body > section > p {
  font-size:var(--lesson-copy-size);
  line-height:var(--lesson-copy-leading);
}
.learn-course-intro > .lesson-inline-illustration {
  float:right;
  width:clamp(280px,39%,440px);
  margin:4px 0 24px 30px;
}
@media(max-width:760px) {
  .learn-course-intro > .lesson-inline-illustration {
    float:none;
    width:100%;
    max-width:390px;
    margin:14px auto 25px;
  }
}

/* v51.60: keep the illustrated quiz header stacked at phone widths.
   This must follow the later desktop illustration rule so the cascade cannot
   force the narrow layout back into two columns. */
@media(max-width:760px) {
  .lesson-illustrated-heading.is-quiz {
    grid-template-columns:1fr;
    gap:18px;
  }
  .lesson-illustrated-heading.is-quiz > figure {
    grid-column:1;
    grid-row:1;
    width:min(100%,320px);
    margin:0 auto;
  }
  .lesson-illustrated-heading.is-quiz > div {
    grid-column:1;
    grid-row:2;
  }
  .lesson-illustrated-heading.is-quiz .lesson-one-header {
    gap:14px;
  }
}

@media(max-width:480px) {
  .lesson-illustrated-heading.is-quiz > figure { width:min(78%,260px); }
  .learn-primary > .learn-lesson-one .lesson-one-header h1 {
    font-size:clamp(2rem,11vw,2.75rem);
  }
}

/* v51.43: controlled overlap keeps the Downloads hero unified and readable. */
.download-page .download-hero {
  display:block;
  min-height:auto;
  padding-block:38px 36px;
}
.download-page .download-hero-copy {
  display:grid;
  grid-template-columns:minmax(560px,1.12fr) minmax(390px,.88fr);
  align-items:center;
  column-gap:0;
  max-width:1240px;
  margin-inline:auto;
}
.download-page .download-hero-copy > img {
  grid-column:2;
  grid-row:1;
  position:relative;
  z-index:0;
  width:min(100%,520px);
  max-width:none;
  height:auto;
  margin:0;
  justify-self:start;
  transform:translate(-30px,-10px);
}
.download-page .download-hero-message {
  grid-column:1;
  grid-row:1;
  position:relative;
  z-index:1;
  min-width:0;
  margin-left:0;
  padding-top:0;
}
.download-page .download-hero-message > p {
  max-width:650px;
  margin:25px 0 0;
  color:var(--ink-soft);
  font-family:var(--devanagari-font);
  font-size:1.05rem;
  line-height:1.8;
}
@media (min-width:851px) {
  .download-page .download-hero-message > h1 { max-width:none; }
}
@media (max-width:1050px) {
  .download-page .download-hero-copy {
    display:flex;
    flex-direction:column;
    align-items:stretch;
  }
  .download-page .download-hero-message { order:1; }
  .download-page .download-hero-copy > img {
    order:2;
    width:min(78%,390px);
    height:auto;
    align-self:center;
    margin:20px auto 4px;
    transform:none;
  }
  .download-page .download-hero-message { margin-left:0; }
}
.download-page .download-options { padding-block:58px 62px; }
.download-page .install-guide { padding-block:58px; }
.download-page .desktop-use-guide { padding-block:56px; }
.download-page .download-updates { padding-block:58px 70px; }

/* v51.44: keep the About illustration visually connected to its copy. */
.about-page .about-hero {
  grid-template-columns:minmax(420px,.88fr) minmax(500px,1.12fr);
  gap:clamp(4px,1vw,14px);
  padding-block:46px 40px;
}
.about-page .about-hero > div { position:relative; z-index:1; }
.about-page .about-hero h1 { font-size:clamp(3.15rem,5.2vw,5.35rem); }
.about-page .about-hero p:last-child { max-width:600px; }
.about-page .about-hero img {
  width:min(100%,520px);
  max-width:none;
  justify-self:start;
  filter:none;
}
@media (max-width:1050px) {
  .about-page .about-hero { grid-template-columns:minmax(330px,.9fr) minmax(430px,1.1fr); gap:20px; }
}
@media (max-width:760px) {
  .about-page .about-hero { grid-template-columns:1fr; gap:12px; padding-block:40px 30px; }
  .about-page .about-hero img { display:block; width:min(100%,450px); margin:-4px auto 0; justify-self:center; }
}

/* v51.45: the homepage hero uses the new self-contained Danphe artwork. */
.home-page .hero-bird::before { display:none; }
.home-page .hero-bird img {
  left:50%;
  width:auto;
  height:min(520px,112%);
  max-width:118%;
}
@media (max-width:900px) {
  .home-page .hero-bird img { width:auto; height:100%; max-width:none; }
}

/* Pre-1.0 writer polish: scoped to the writing workspace and screen layout. */
@media screen {
  .writer-page .workspace .toolbar .action {
    display:inline-flex; align-items:center; justify-content:center;
    min-height:42px; padding:8px 13px; border:1px solid transparent;
    border-radius:9px; line-height:1.4;
  }
  .writer-page .workspace .toolbar .actions { align-items:center; gap:8px; }
  .writer-page .workspace #clear-button { background:transparent; border-color:#d8cdbd; }
  .writer-page .workspace #clear-button:hover { background:#f1e9df; }
  .writer-page .workspace .toolbar .action:focus-visible,
  .writer-page .workspace .candidate:focus-visible {
    outline:3px solid var(--teal); outline-offset:3px;
  }
  .writer-page .workspace .input-pane { background:#fffdf9; }
  .writer-page .workspace .input-pane:focus-within {
    box-shadow:inset 0 0 0 2px var(--teal);
  }
  .writer-page .workspace .suggestions-label { color:var(--ink); letter-spacing:.025em; }
  .writer-page .workspace .suggestions .hint { color:#59665f; }
  .writer-page .workspace .candidate.selected,
  .writer-page .workspace .candidate.selected:hover {
    border-color:var(--ink); background:#dfefea; color:var(--ink);
    box-shadow:0 0 0 2px rgba(16,38,77,.10);
  }
  .writer-page .workspace .candidate.selected kbd,
  .writer-page .workspace .candidate.selected em { color:#245b58; }
}
@media screen and (min-width:761px) {
  /* Fit more writing controls on laptop screens; dragging to resize still works. */
  .writer-page .workspace .pane textarea { min-height:240px; height:clamp(240px,32vh,380px); }
}
@media screen and (max-width:760px) {
  .writer-page .workspace .toolbar .action { min-height:44px; }
  .writer-page .workspace .toolbar .actions { row-gap:10px; }
}

/* Writer polish follow-up: one focus indicator and a tighter introduction. */
@media screen {
  .writer-page .writer-shell { padding-top:26px; }
  .writer-page .writer-intro { margin-bottom:18px; }
  .writer-page .writer-intro .section-kicker { margin-bottom:8px; }
  .writer-page .writer-search-bridge { margin-top:12px; }
  .writer-page .workspace #roman-input:focus-visible { outline:none; }
}

/* Candidates precede the panes; unify focus and respect hidden controls. */
@media screen {
  .writer-page .writer-intro h1 { font-size:clamp(2rem,3.5vw,3.4rem); }
  .writer-page .workspace { overflow:visible; }
  .writer-page .workspace .toolbar { border-radius:17px 17px 0 0; }
  .writer-page .workspace .toolbar .action[hidden] { display:none; }
  .writer-page .workspace .output-pane:focus-within { box-shadow:inset 0 0 0 2px var(--teal); }
  .writer-page .workspace #devanagari-output:focus-visible { outline:none; }
  .writer-page .workspace > .suggestions {
    position:sticky; top:0; z-index:10;
    padding:12px 22px 8px; border-top:0; border-bottom:1px solid #e6dfd3;
    background:#fffdf9; box-shadow:0 3px 8px rgba(16,38,77,.045);
  }
  .writer-page .workspace > .suggestions .suggestions-heading { margin-bottom:8px; }
}

/* A launch with one public release fills the release-history row. */
.release-summary > .latest-release:only-child { grid-column:1 / -1; }

/* Let the Explore heading wrap naturally without isolating the conjunction. */
.explore-page .explore-hero h1 .hero-phrase { white-space:nowrap; }
.explore-page .explore-hero h1 { font-family:"Noto Serif Devanagari", serif; text-wrap:balance; }
