/*
  Shared Uttarakhand study-note polish.
  This layer keeps each page's content intact while aligning reading comfort,
  mobile spacing, tables, footer, and the Hindi/Geography study theme.
*/
:root{
  --uk-paper:#f6f1e4;
  --uk-paper-2:#ede4cf;
  --uk-card:#fdfaf1;
  --uk-ink:#1a2533;
  --uk-soft:#41506a;
  --uk-faint:#6b7889;
  --uk-line:#d4c8a6;
  --uk-line-soft:#e3d8b8;
  --uk-accent:#2f6f6a;
  --uk-gold:#b5842a;
  --uk-shadow:0 4px 14px rgba(28,43,58,.07),0 1px 2px rgba(28,43,58,.05);
}

/* Legacy pages used different colour systems. These aliases keep their
   existing components but render them in the common study-note palette. */
:root{
  --bg-main:var(--uk-paper);
  --bg-sidebar:var(--uk-paper-2);
  --bg-content:var(--uk-card);
  --text-primary:var(--uk-ink);
  --text-secondary:var(--uk-soft);
  --text-muted:var(--uk-faint);
  --border-color:var(--uk-line);
  --border-color-light:var(--uk-line-soft);
  --card-bg:var(--uk-card);
  --body-bg:var(--uk-paper);
  --navy:var(--uk-ink);
  --navy-mid:var(--uk-paper-2);
  --navy-soft:var(--uk-card);
  --gold:var(--uk-accent);
  --gold-light:var(--uk-accent);
  --saffron:var(--uk-accent);
  --saffron-light:var(--uk-accent);
  --emerald:var(--uk-accent);
  --emerald-light:var(--uk-accent);
  --sky:var(--uk-accent);
  --sky-light:var(--uk-accent);
  --teal:var(--uk-accent);
  --accent-geru:var(--uk-accent);
  --accent-geru-light:var(--uk-accent);
  --accent-geru-bg:color-mix(in srgb,var(--uk-accent) 10%,transparent);
  --ink-dark:var(--uk-ink);
  --ink-mid:var(--uk-soft);
  --text-main:var(--uk-ink);
  --white:var(--uk-card);
  --parchment:var(--uk-paper);
  --parchment-dark:var(--uk-paper-2);
  --stamp-border:var(--uk-accent);
}

html[data-theme="dark"],
[data-theme="dark"]{
  --uk-paper:#14171d;
  --uk-paper-2:#1b1f27;
  --uk-card:#20242d;
  --uk-ink:#ece6d6;
  --uk-soft:#b3ad9b;
  --uk-faint:#807a6c;
  --uk-line:#353c48;
  --uk-line-soft:#2a313d;
  --uk-accent:#5cbab2;
  --uk-gold:#e0a93f;
  --uk-shadow:0 4px 16px rgba(0,0,0,.35);
}

body{
  background:var(--uk-paper) !important;
  color:var(--uk-ink);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.sticky-nav,
.app-header{
  border-bottom:1px solid var(--uk-line) !important;
  box-shadow:0 2px 12px rgba(28,43,58,.08) !important;
}

.sticky-nav{
  background:color-mix(in srgb,var(--uk-paper) 92%,transparent) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.sticky-nav .nav-title,
.sticky-nav .nav-brand,
.sticky-nav .nav-link,
.sticky-nav .nav-btn,
.sticky-nav .nav-mode-btn{
  color:var(--uk-ink) !important;
}

.sticky-nav .nav-link,
.sticky-nav .nav-btn,
.sticky-nav .nav-mode-btn{
  border:1px solid var(--uk-line-soft) !important;
  background:var(--uk-card) !important;
  border-radius:8px !important;
}

.sticky-nav .nav-link:hover,
.sticky-nav .nav-btn:hover,
.sticky-nav .nav-mode-btn:hover{
  color:var(--uk-accent) !important;
  border-color:var(--uk-accent) !important;
}

.sidebar,
.sidebar__brand,
.sidebar-header{
  background:var(--uk-paper-2) !important;
  border-color:var(--uk-line) !important;
}

.sidebar a,
.sidebar button,
.sidebar .nav-link{
  border-radius:8px !important;
}

.hero,
.study-card,
.topic-section,
.day-card,
.stamp-card,
.rev-card,
.reminder-card,
.info-card,
.fact-card,
.glance-box,
.master-table-wrap,
.table-section,
.recall-section-inner{
  border-radius:12px !important;
  border-color:var(--uk-line) !important;
  box-shadow:var(--uk-shadow) !important;
}

.hero{
  background:var(--uk-card) !important;
  color:var(--uk-ink) !important;
}

.hero-title,
.hero h1,
.topic-title,
.study-card__head h2,
.section-heading h2,
.card-title,
.stamp-title{
  color:var(--uk-ink) !important;
  letter-spacing:0 !important;
}

.hero-sub,
.hero-desc,
.content-zone p,
.card-fact,
.stamp-desc,
.topic-content p,
.topic-content li,
.fact-card li,
.fact-card p{
  color:var(--uk-soft) !important;
}

.eyebrow,
.hero-label,
.hero-eyebrow,
.study-kicker,
.topic-eyebrow,
.section-heading .eyebrow{
  color:var(--uk-accent) !important;
}

.hero-stamp-frame{
  border-color:var(--uk-line) !important;
}

.badge,
.hbadge,
.chip,
.era-chip,
.tab-btn,
.recall-mode-btn,
.recall-cat-chip{
  border-radius:999px !important;
}

.cards-grid,
.stamps-grid,
.revision-grid,
.key-facts,
.glance-list{
  gap:16px !important;
}

.day-card,
.stamp-card{
  overflow:hidden;
}

.day-card:hover,
.stamp-card:hover,
.info-card:hover{
  transform:translateY(-2px) !important;
}

.full-table,
.master-table{
  width:100%;
  border-collapse:collapse;
  border:1px solid var(--uk-line) !important;
  border-radius:10px;
  overflow:hidden;
  background:var(--uk-card) !important;
}

.full-table th,
.master-table th{
  background:var(--uk-paper-2) !important;
  color:var(--uk-soft) !important;
  font-size:12px !important;
  letter-spacing:.3px !important;
  text-transform:uppercase;
}

.full-table td,
.master-table td{
  color:var(--uk-soft) !important;
  border-color:var(--uk-line-soft) !important;
  overflow-wrap:anywhere;
}

.full-table tbody tr:hover,
.master-table tbody tr:hover{
  background:color-mix(in srgb,var(--uk-accent) 10%,var(--uk-card)) !important;
}

.uk-study-footer{
  width:100%;
  margin-top:72px;
  border-top:4px solid var(--uk-accent);
  background:var(--uk-paper-2);
  color:var(--uk-soft);
}

.uk-study-footer__inner{
  max-width:1180px;
  margin:0 auto;
  padding:34px 22px 26px;
  display:grid;
  grid-template-columns:1.1fr repeat(3,minmax(150px,1fr));
  gap:26px;
}

.uk-study-footer h2,
.uk-study-footer h3{
  margin:0 0 12px;
  color:var(--uk-ink);
  font-size:18px;
  line-height:1.3;
}

.uk-study-footer p{
  margin:0;
  line-height:1.65;
}

.uk-study-footer a{
  display:block;
  color:var(--uk-soft);
  text-decoration:none;
  line-height:1.9;
}

.uk-study-footer a:hover{
  color:var(--uk-accent);
  text-decoration:underline;
}

.uk-study-footer__brand strong{
  color:var(--uk-accent);
}

.uk-study-footer__meta{
  border-top:1px solid var(--uk-line);
  max-width:1180px;
  margin:0 auto;
  padding:16px 22px 22px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  font-size:13px;
}

@media(max-width:780px){
  body{
    font-size:16px !important;
    line-height:1.65 !important;
  }

  .hero{
    padding:28px 16px !important;
    border-radius:0 !important;
  }

  .hero-stamp-frame{
    padding:24px 14px !important;
  }

  .hero-title,
  .hero h1{
    font-size:clamp(24px,8vw,34px) !important;
    line-height:1.22 !important;
  }

  .hero-sub,
  .hero-desc{
    font-size:15px !important;
    line-height:1.65 !important;
  }

  .main,
  .main-content,
  .container{
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .study-card,
  .topic-section,
  .day-card,
  .stamp-card,
  .info-card,
  .fact-card,
  .reminder-card,
  .recall-section-inner{
    border-radius:10px !important;
  }

  .study-card,
  .topic-section{
    padding:18px 14px !important;
  }

  .study-card__head,
  .instrument__header,
  .section-heading-inner{
    gap:10px !important;
  }

  .study-card__head h2,
  .topic-title,
  .section-heading h2{
    font-size:22px !important;
    line-height:1.28 !important;
  }

  .instrument__name,
  .card-title,
  .stamp-title{
    font-size:18px !important;
    line-height:1.35 !important;
  }

  .content-zone p,
  .instrument__intro,
  .fact-card li,
  .fact-card p,
  .card-fact,
  .stamp-desc,
  .topic-content p,
  .topic-content li{
    font-size:15.5px !important;
    line-height:1.62 !important;
  }

  .cards-grid,
  .stamps-grid,
  .revision-grid,
  .key-facts,
  .glance-list{
    grid-template-columns:1fr !important;
  }

  .card-top{
    min-height:auto !important;
  }

  .card-date-block{
    width:68px !important;
    padding:12px 6px !important;
  }

  .card-date-day{
    font-size:22px !important;
  }

  .table-search-wrap{
    padding:0 !important;
  }

  .full-table,
  .full-table thead,
  .full-table tbody,
  .full-table tr,
  .full-table td,
  .master-table,
  .master-table thead,
  .master-table tbody,
  .master-table tr,
  .master-table td{
    display:block;
    width:100%;
  }

  .full-table,
  .master-table{
    border:0 !important;
    background:transparent !important;
  }

  .full-table thead,
  .master-table thead{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
  }

  .full-table tr,
  .master-table tr{
    margin:0 0 12px;
    border:1px solid var(--uk-line);
    border-radius:10px;
    overflow:hidden;
    background:var(--uk-card) !important;
    box-shadow:var(--uk-shadow);
  }

  .full-table td,
  .master-table td{
    display:grid;
    grid-template-columns:minmax(82px,32%) 1fr;
    gap:10px;
    align-items:start;
    padding:10px 12px !important;
    border-bottom:1px solid var(--uk-line-soft) !important;
    text-align:left !important;
    font-size:14.5px !important;
  }

  .full-table td:last-child,
  .master-table td:last-child{
    border-bottom:0 !important;
  }

  .full-table td::before,
  .master-table td::before{
    color:var(--uk-accent);
    font-weight:800;
    font-size:11px;
    line-height:1.35;
    text-transform:uppercase;
  }

  .full-table td:nth-child(1)::before{content:"क्रम";}
  .full-table td:nth-child(2)::before{content:"तिथि";}
  .full-table td:nth-child(3)::before{content:"विषय";}
  .full-table td:nth-child(4)::before{content:"तथ्य";}
  .master-table td:nth-child(1)::before{content:"तिथि";}
  .master-table td:nth-child(2)::before{content:"दिवस";}
  .master-table td:nth-child(3)::before{content:"वर्ग";}
  .master-table td:nth-child(4)::before{content:"तथ्य";}

  .uk-study-footer{
    margin-top:42px;
  }

  .uk-study-footer__inner{
    grid-template-columns:1fr;
    gap:18px;
    padding:28px 18px 22px;
  }

  .uk-study-footer__meta{
    padding:14px 18px 20px;
    display:block;
  }
}

body.uk-dance-page .content-area > .uk-study-footer,
body.uk-folk-song-page > .uk-study-footer{
  width:100% !important;
  margin-left:0 !important;
}

/* Page-scoped repairs for the legacy Uttarakhand layouts. */
.uk-diwas-page,
.uk-postal-page,
.uk-lokchitra-page{
  --uk-paper:#f4f7f6;
  --uk-paper-2:#e8efed;
  --uk-card:#ffffff;
  --uk-ink:#172522;
  --uk-soft:#465955;
  --uk-faint:#6c7c78;
  --uk-line:#cdd9d6;
  --uk-line-soft:#e2e9e7;
  --uk-accent:#0f766e;
  --uk-shadow:0 6px 20px rgba(23,37,34,.07),0 1px 2px rgba(23,37,34,.05);
  --body-bg:var(--uk-paper);
  --card-bg:var(--uk-card);
  --text-dark:var(--uk-ink);
  --text-main:var(--uk-ink);
  --text-mid:var(--uk-soft);
  --text-muted:var(--uk-faint);
  --ink-dark:var(--uk-ink);
  --ink-mid:var(--uk-soft);
  --border:var(--uk-line);
  --border-color:var(--uk-line);
  --border-color-light:var(--uk-line-soft);
  --bg-main:var(--uk-paper);
  --bg-sidebar:var(--uk-paper-2);
  --bg-content:var(--uk-card);
  --text-primary:var(--uk-ink);
  --text-secondary:var(--uk-soft);
  --card-bg:var(--uk-card);
  --quote-bg:#edf5f3;
  --white:#ffffff;
  --parchment:var(--uk-paper);
  --parchment-dark:var(--uk-paper-2);
  --navy:var(--uk-ink);
  --navy-mid:var(--uk-paper-2);
  --navy-soft:#31534d;
  --gold:var(--uk-accent);
  --gold-light:#17877e;
  --stamp-border:var(--uk-accent);
  --saffron:var(--uk-accent);
  --saffron-light:#17877e;
  --saffron-pale:#e7f3f1;
  --emerald:#287a4b;
  --emerald-light:#37945d;
  --green-deep:#285f4c;
  --green-mid:#367961;
}

html[data-theme="dark"] body.uk-diwas-page,
html[data-theme="dark"] body.uk-postal-page,
html[data-theme="dark"] body.uk-lokchitra-page{
  --uk-paper:#141917;
  --uk-paper-2:#1b2320;
  --uk-card:#202926;
  --uk-ink:#edf3f1;
  --uk-soft:#bdcac6;
  --uk-faint:#8fa09b;
  --uk-line:#35423e;
  --uk-line-soft:#2b3733;
  --uk-accent:#5bc3ba;
  --bg-main:var(--uk-paper);
  --bg-sidebar:var(--uk-paper-2);
  --bg-content:var(--uk-card);
  --text-primary:var(--uk-ink);
  --text-secondary:var(--uk-soft);
  --text-muted:var(--uk-faint);
  --border-color:var(--uk-line);
  --border-color-light:var(--uk-line-soft);
  --card-bg:var(--uk-card);
  --quote-bg:#26332f;
  --body-bg:var(--uk-paper);
  --card-bg:var(--uk-card);
  --text-dark:var(--uk-ink);
  --text-main:var(--uk-ink);
  --text-mid:var(--uk-soft);
  --ink-dark:var(--uk-ink);
  --ink-mid:var(--uk-soft);
  --border:var(--uk-line);
  --white:var(--uk-card);
  --parchment:var(--uk-paper);
  --parchment-dark:var(--uk-paper-2);
  --navy:var(--uk-ink);
  --navy-mid:var(--uk-paper-2);
  --navy-soft:#8fb1aa;
  --saffron-pale:#213630;
}

/* State-GK pages: compact headers and bounded, readable content. */
.uk-diwas-page .sticky-nav,
.uk-postal-page .sticky-nav{
  min-height:56px;
  height:auto;
  padding:7px max(18px,calc((100vw - 1180px)/2));
  gap:12px;
}

.uk-diwas-page .hero,
.uk-postal-page .hero{
  padding:42px 20px 46px !important;
  background:var(--uk-card) !important;
  border-bottom:1px solid var(--uk-line) !important;
}

.uk-diwas-page .hero-inner,
.uk-postal-page .hero-stamp-frame{
  max-width:780px;
}

.uk-postal-page .hero-stamp-frame{
  padding:24px 28px !important;
  border:1px solid var(--uk-line) !important;
  border-radius:8px !important;
  background:var(--uk-card) !important;
}

.uk-postal-page .hero-title,
.uk-postal-page .hero-subtitle,
.uk-postal-page .hero-label{
  opacity:1 !important;
}

.uk-postal-page .hero-title{
  color:var(--uk-ink) !important;
}

.uk-postal-page .hero-subtitle{
  color:var(--uk-soft) !important;
}

.uk-diwas-page .hero-sub,
.uk-diwas-page .hero-title,
.uk-postal-page .hero-title{
  margin-left:auto;
  margin-right:auto;
}

.uk-diwas-page .hero-title,
.uk-postal-page .hero-title{
  font-size:clamp(30px,4.2vw,46px) !important;
}

.uk-diwas-page .hero-sub,
.uk-postal-page .hero-subtitle{
  max-width:720px;
  font-size:15px !important;
  line-height:1.7 !important;
}

.uk-diwas-page .hero-badges,
.uk-postal-page .hero-badges{
  margin-top:20px;
}

.uk-diwas-page .stats-bar,
.uk-postal-page .stats-bar{
  min-height:76px;
  background:var(--uk-paper-2) !important;
  border-bottom:1px solid var(--uk-line) !important;
}

.uk-diwas-page .stat-item,
.uk-postal-page .stat-item{
  padding:14px 26px;
  border-color:var(--uk-line) !important;
}

.uk-diwas-page .container,
.uk-postal-page .container{
  width:min(100%,1160px);
}

.uk-diwas-page .tabs-section{
  position:relative !important;
  top:auto !important;
  z-index:1 !important;
  padding-top:20px;
}

.uk-diwas-page #tabsWrap{
  scroll-margin-top:72px;
}

.uk-diwas-page .tabs-wrap{
  width:max-content;
  max-width:100%;
  margin:0 auto;
  border:1px solid var(--uk-line);
  border-radius:8px;
  overflow-x:auto;
  box-shadow:var(--uk-shadow);
}

.uk-diwas-page .tab-btn{
  flex:0 0 auto;
  min-width:0;
  min-height:40px;
  padding:8px 12px;
  font-family:'Noto Sans Devanagari',sans-serif;
  font-size:12px;
  line-height:1.25;
}

.uk-diwas-page .tab-btn .tab-count{
  padding:1px 5px;
  margin-left:4px;
  font-size:9px;
}

.uk-diwas-page .section-wrap,
.uk-diwas-page .table-section,
.uk-diwas-page .forgot-section{
  padding-top:32px;
}

.uk-diwas-page .table-section,
.uk-diwas-page .forgot-section{
  width:min(calc(100% - 40px),1120px);
  margin-left:auto;
  margin-right:auto;
  background:transparent !important;
}

.uk-diwas-page .master-table-wrap{
  width:100%;
  margin-left:auto;
  margin-right:auto;
  background:transparent !important;
}

.uk-diwas-page .section-heading{
  margin-bottom:20px;
}

.uk-diwas-page .section-heading-inner{
  padding:16px 18px;
  border:1px solid var(--uk-line);
  border-left:4px solid var(--uk-accent);
  background:var(--uk-card) !important;
}

.uk-diwas-page .day-card,
.uk-postal-page .stamp-card{
  border:1px solid var(--uk-line) !important;
  background:var(--uk-card) !important;
  box-shadow:0 3px 12px rgba(23,37,34,.06) !important;
}

.uk-diwas-page .mt-row{
  grid-template-columns:72px minmax(0,1fr) 136px;
  border-color:var(--uk-line);
  background:var(--uk-card);
  box-shadow:0 2px 8px rgba(23,37,34,.05);
}

.uk-diwas-page .mt-content,
.uk-diwas-page .mt-cat{
  min-width:0;
}

.uk-postal-page .section-heading{
  padding-top:42px;
}

.uk-postal-page .stamps-grid{
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:18px !important;
}

.uk-postal-page .stamp-card::before{
  inset:0;
  border:0;
  border-radius:12px;
  background:
    radial-gradient(circle at 7px 7px,var(--uk-paper) 0 4px,transparent 4.5px) 0 0/18px 18px,
    linear-gradient(135deg,color-mix(in srgb,var(--uk-card) 96%,var(--uk-accent)),var(--uk-card));
  opacity:.72;
}

.uk-postal-page .stamp-card{
  overflow:visible !important;
  padding:14px;
  border:1px solid var(--uk-line) !important;
  border-radius:12px !important;
  background:
    linear-gradient(var(--uk-card),var(--uk-card)) padding-box,
    linear-gradient(135deg,color-mix(in srgb,var(--uk-accent) 24%,var(--uk-line)),var(--uk-line-soft)) border-box !important;
  box-shadow:0 10px 24px rgba(23,37,34,.08),0 1px 2px rgba(23,37,34,.05) !important;
}

.uk-postal-page .stamp-inner{
  min-height:250px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:2px solid var(--uk-accent);
  border-radius:5px;
  background:var(--uk-card);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--uk-accent) 16%,transparent);
}

.uk-postal-page .stamp-header{
  padding:17px 18px 14px;
  background:linear-gradient(180deg,var(--uk-card),color-mix(in srgb,var(--uk-card) 94%,var(--uk-paper)));
}

.uk-postal-page .stamp-year-badge{
  top:15px;
  right:15px;
  min-width:58px;
  text-align:center;
  background:#f8fffd;
  color:#0b4f4a;
  border:1px solid color-mix(in srgb,var(--uk-accent) 42%,var(--uk-line));
  font-weight:900;
  text-shadow:none;
  box-shadow:0 2px 8px rgba(23,37,34,.12),0 1px 0 rgba(255,255,255,.9) inset;
}

.uk-postal-page .stamp-category{
  max-width:calc(100% - 78px);
  color:var(--uk-accent) !important;
  letter-spacing:.08em;
  text-transform:none;
}

.uk-postal-page .stamp-date{
  color:var(--uk-faint) !important;
}

.uk-postal-page .stamp-title{
  color:var(--uk-ink) !important;
}

.uk-postal-page .stamp-body{
  flex:1;
  padding:15px 18px 18px;
  border-top:1px dashed color-mix(in srgb,var(--uk-accent) 34%,var(--uk-line));
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--uk-paper) 58%,var(--uk-card)),var(--uk-card));
}

.uk-postal-page .stamp-desc{
  color:var(--uk-soft) !important;
}

.uk-postal-page .stamp-tag{
  letter-spacing:.04em;
  text-transform:none;
  border:1px solid color-mix(in srgb,currentColor 18%,transparent);
  background:color-mix(in srgb,currentColor 11%,var(--uk-card)) !important;
}

.uk-postal-page .stamp-card:hover{
  transform:translateY(-4px) !important;
  border-color:color-mix(in srgb,var(--uk-accent) 48%,var(--uk-line)) !important;
  box-shadow:0 16px 34px rgba(23,37,34,.13),0 0 0 1px color-mix(in srgb,var(--uk-accent) 28%,transparent) !important;
}

html[data-theme="dark"] body.uk-postal-page .stamp-card{
  background:
    linear-gradient(color-mix(in srgb,var(--uk-card) 88%,#101614),color-mix(in srgb,var(--uk-card) 94%,#101614)) padding-box,
    linear-gradient(135deg,color-mix(in srgb,var(--uk-accent) 34%,var(--uk-line)),var(--uk-line-soft)) border-box !important;
  box-shadow:0 12px 28px rgba(0,0,0,.26),0 1px 0 rgba(255,255,255,.04) inset !important;
}

html[data-theme="dark"] body.uk-postal-page .stamp-card::before{
  background:
    radial-gradient(circle at 7px 7px,var(--uk-paper) 0 4px,transparent 4.5px) 0 0/18px 18px,
    linear-gradient(135deg,color-mix(in srgb,var(--uk-card) 82%,#0c1110),var(--uk-card));
  opacity:.5;
}

html[data-theme="dark"] body.uk-postal-page .stamp-inner{
  border-color:var(--uk-accent);
  background:color-mix(in srgb,var(--uk-card) 92%,#0f1513);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--uk-accent) 22%,transparent);
}

html[data-theme="dark"] body.uk-postal-page .stamp-header{
  background:linear-gradient(180deg,color-mix(in srgb,var(--uk-card) 95%,#0f1513),color-mix(in srgb,var(--uk-card) 86%,#0f1513));
}

html[data-theme="dark"] body.uk-postal-page .stamp-year-badge{
  background:#f4fffc;
  color:#07524d;
  border-color:rgba(255,255,255,.82);
  box-shadow:0 2px 10px rgba(0,0,0,.24),0 1px 0 rgba(255,255,255,.92) inset;
}

html[data-theme="dark"] body.uk-postal-page .stamp-body{
  background:linear-gradient(180deg,color-mix(in srgb,var(--uk-card) 88%,#111715),color-mix(in srgb,var(--uk-card) 96%,#111715));
  border-top-color:color-mix(in srgb,var(--uk-accent) 38%,var(--uk-line));
}

html[data-theme="dark"] body.uk-postal-page .stamp-tag{
  background:color-mix(in srgb,currentColor 15%,var(--uk-card)) !important;
}

/* State-GK reading system: two fonts and a restrained text palette. */
.uk-postal-page,
.uk-diwas-page{
  font-family:'Noto Sans Devanagari',Hind,system-ui,sans-serif !important;
}

.uk-postal-page :where(.hero-title,.section-heading h2,.stamp-title,.rev-title,.recall-question,.recall-answer-title,.recall-done-box h3),
.uk-diwas-page :where(.hero-title,.sh-title,.card-title,.campaign-header-title,.forgot-card-name,.fc-front-text,.mcq-question){
  font-family:'Noto Serif Devanagari',serif !important;
}

.uk-postal-page :where(.sticky-nav,.hero-label,.hero-subtitle,.badge,.stat-item,.eyebrow,.era-chip,.stamp-category,.stamp-date,.stamp-desc,.stamp-tag,.full-table,.table-search,.recall-section,.recall-btn,.score-pill,.kbd-hint),
.uk-diwas-page :where(.sticky-nav,.hero-sub,.hero-badges,.stats-bar,.tab-btn,.sh-eyebrow,.sh-subtitle,.sh-count,.card-date-block,.card-cat-tag,.card-fact,.campaign-fact,.master-table,.forgot-section){
  font-family:'Noto Sans Devanagari',Hind,system-ui,sans-serif !important;
}

.uk-postal-page .stamp-title{
  font-size:18px !important;
  line-height:1.45 !important;
}

.uk-postal-page .stamp-desc{
  font-size:15.5px !important;
  line-height:1.8 !important;
  color:var(--uk-soft) !important;
}

.uk-postal-page .stamp-date{
  font-size:14px !important;
  color:var(--uk-soft) !important;
}

.uk-postal-page .stamp-category{
  font-size:12.5px !important;
  color:var(--uk-soft) !important;
  letter-spacing:0 !important;
}

.uk-postal-page .stamp-year-badge{
  min-width:62px;
  padding:5px 10px;
  font-family:'Noto Sans Devanagari',Hind,system-ui,sans-serif !important;
  font-size:14px !important;
  line-height:1.2;
  color:var(--uk-ink) !important;
  background:var(--uk-paper-2) !important;
  border-color:color-mix(in srgb,var(--uk-accent) 58%,var(--uk-line)) !important;
}

.uk-postal-page :where(.stamp-tag,.tag-vyaktitva,.tag-sansthan,.tag-dham,.tag-prakriti,.tag-sena,.tag-shiksha){
  padding:4px 11px;
  font-size:12px !important;
  color:var(--uk-soft) !important;
  background:var(--uk-paper-2) !important;
  border-color:var(--uk-line) !important;
}

.uk-postal-page :where(.cat-vyaktitva,.cat-sansthan,.cat-dham,.cat-prakriti,.cat-sena,.cat-shiksha){
  color:var(--uk-soft) !important;
}

html[data-theme="dark"] body.uk-postal-page .stamp-year-badge{
  color:var(--uk-ink) !important;
  background:var(--uk-paper-2) !important;
  border-color:var(--uk-accent) !important;
  box-shadow:0 2px 10px rgba(0,0,0,.24) !important;
}

html[data-theme="dark"] body.uk-postal-page :where(.stamp-tag,.tag-vyaktitva,.tag-sansthan,.tag-dham,.tag-prakriti,.tag-sena,.tag-shiksha){
  color:var(--uk-soft) !important;
  background:var(--uk-paper-2) !important;
}

.uk-diwas-page .card-date-block,
.uk-diwas-page :where(.db-emerald,.db-saffron,.db-sky,.db-water,.db-teal,.db-purple,.db-gold,.db-navy){
  background:var(--uk-paper-2) !important;
  color:var(--uk-ink) !important;
  border-right:1px solid var(--uk-line) !important;
}

.uk-diwas-page .card-date-day{
  font-family:'Noto Sans Devanagari',Hind,system-ui,sans-serif !important;
  font-size:28px !important;
  color:var(--uk-ink) !important;
}

.uk-diwas-page .card-date-month{
  font-family:'Noto Sans Devanagari',Hind,system-ui,sans-serif !important;
  font-size:11.5px !important;
  color:var(--uk-soft) !important;
  letter-spacing:0 !important;
}

.uk-diwas-page .card-title{
  font-size:18px !important;
  line-height:1.45 !important;
}

.uk-diwas-page .card-fact{
  font-size:16px !important;
  line-height:1.8 !important;
  color:var(--uk-soft) !important;
}

.uk-diwas-page :where(.card-cat-tag,.tag-sanskriti,.tag-andolan,.tag-paryavaran,.tag-vibhuti,.tag-bhasha,.tag-jal,.tag-abhiyan){
  font-size:11.5px !important;
  letter-spacing:0 !important;
  color:var(--uk-soft) !important;
  background:var(--uk-paper-2) !important;
}

.uk-diwas-page .card-fact :where(.hl,.hl-r,.hl-g,.hl-b){
  color:var(--uk-ink) !important;
  background:var(--uk-paper-2) !important;
}

.uk-diwas-page :where(.sh-eyebrow,.sh-eyebrow-emerald,.sh-eyebrow-crimson,.sh-eyebrow-saffron,.sh-eyebrow-water){
  color:var(--uk-soft) !important;
  letter-spacing:.08em !important;
}

.uk-diwas-page .sh-count{
  color:var(--uk-ink) !important;
  background:var(--uk-paper-2) !important;
  border:1px solid var(--uk-line);
}

@media(max-width:640px){
  .uk-postal-page .stamp-desc{font-size:15px !important;}
  .uk-postal-page .stamp-title{font-size:17px !important;}
  .uk-diwas-page .card-fact{font-size:15.5px !important;}
  .uk-diwas-page .card-title{font-size:17px !important;}
}

/* Lokchitra is an app layout, so a topic is a page, not a card. */
.uk-lokchitra-page .main-content{
  background:var(--uk-paper) !important;
  padding-top:44px;
}

.uk-lokchitra-page .content-wrapper{
  width:min(100%,820px);
}

.uk-lokchitra-page .topic-section{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.uk-lokchitra-page .page-intro{
  margin-bottom:28px;
  padding:0 0 18px;
}

.uk-lokchitra-page .page-intro .topic-eyebrow{
  margin-bottom:8px;
  padding:0;
  border-radius:0;
  background:transparent !important;
}

.uk-lokchitra-page .page-intro h1{
  font-family:'Tiro Devanagari Hindi',serif;
  font-weight:400;
}

.uk-lokchitra-page .topic-header{
  margin-bottom:32px;
  padding-bottom:22px;
}

.uk-lokchitra-page .topic-title{
  font-size:clamp(2rem,4vw,2.65rem) !important;
}

.uk-lokchitra-page .info-card,
.uk-lokchitra-page .fact-pill,
.uk-lokchitra-page .lineage-flow{
  box-shadow:none !important;
}

.uk-lokchitra-page .sidebar .nav-link.active{
  border-left:3px solid var(--uk-accent) !important;
  box-shadow:none !important;
}

@media(max-width:780px){
  .uk-diwas-page .sticky-nav,
  .uk-postal-page .sticky-nav{
    padding:7px 10px !important;
  }

  .uk-diwas-page .hero,
  .uk-postal-page .hero{
    padding:30px 14px 34px !important;
  }

  .uk-diwas-page .hero-title,
  .uk-postal-page .hero-title{
    font-size:28px !important;
  }

  .uk-postal-page .hero-stamp-frame{
    padding:20px 14px !important;
  }

  .uk-diwas-page .stats-bar,
  .uk-postal-page .stats-bar{
    display:grid;
    grid-template-columns:repeat(2,1fr);
  }

  .uk-diwas-page .stat-item,
  .uk-postal-page .stat-item{
    padding:12px 8px;
    border-bottom:1px solid var(--uk-line);
  }

  .uk-diwas-page .tabs-section{
    top:auto !important;
    padding-top:10px;
  }

  .uk-diwas-page .tabs-wrap{
    border-radius:8px;
  }

  .uk-diwas-page .tab-btn{
    min-width:0;
    min-height:38px;
    padding:7px 10px;
    font-size:11px;
  }

  .uk-diwas-page .section-wrap,
  .uk-diwas-page .table-section,
  .uk-diwas-page .forgot-section{
    padding-top:22px;
  }

  .uk-diwas-page .table-section,
  .uk-diwas-page .forgot-section{
    width:calc(100% - 24px);
  }

  .uk-diwas-page .mt-row{
    grid-template-columns:58px minmax(0,1fr);
  }

  .uk-diwas-page .mt-content{
    padding:12px;
  }

  .uk-postal-page .section-heading{
    padding-top:34px;
  }

  .uk-postal-page .stamp-card{
    padding:9px;
  }

  .uk-postal-page .stamp-inner{
    min-height:0;
  }

  .uk-lokchitra-page .main-content{
    padding:78px 16px 60px !important;
  }

  .uk-lokchitra-page .page-intro{
    margin-bottom:22px;
  }

  .uk-lokchitra-page .topic-header{
    margin-bottom:26px;
    padding-bottom:18px;
  }

  .uk-lokchitra-page .topic-title{
    font-size:1.9rem !important;
  }

  .uk-lokchitra-page .topic-section h2:not(.topic-title){
    margin-top:34px;
  }
}

/* Quiet, consistent surfaces for the four legacy layouts. */
body{
  background-image:none !important;
}

.sticky-nav,
.app-header{
  background:var(--uk-card) !important;
}

.sticky-nav .nav-mode-btn,
.sticky-nav .nav-mode-btn-2{
  background:var(--uk-card) !important;
  color:var(--uk-ink) !important;
}

.sticky-nav .nav-link.active,
.sticky-nav .nav-btn.active,
.sticky-nav .nav-mode-btn.active{
  color:var(--uk-accent) !important;
  border-color:var(--uk-accent) !important;
}

.hero::before,
.hero::after,
.hero-decoration,
.hero-watermark,
.perf-edge{
  opacity:0 !important;
}

.hero-title,
.hero h1,
.hero-title span,
.hero-subtitle,
.hero-sub,
.hero-label,
.hero-eyebrow{
  color:var(--uk-ink) !important;
  text-shadow:none !important;
}

.hero-title span,
.hero-label,
.hero-eyebrow{
  color:var(--uk-accent) !important;
}

.hero-stamp-frame{
  background:var(--uk-card) !important;
  box-shadow:none !important;
}

.stats-bar,
.streak-bar{
  background:var(--uk-paper-2) !important;
  border-color:var(--uk-line) !important;
}

.stat-item{border-color:var(--uk-line-soft) !important;}
.stat-num{color:var(--uk-accent) !important;}
.stat-lbl,.streak-item{color:var(--uk-soft) !important;}

.tabs-section{
  background:var(--uk-paper) !important;
  border-color:var(--uk-line) !important;
}

.tab-btn,
.era-chip,
.recall-mode-btn,
.recall-cat-chip,
.focus-toggle-btn,
.recall-btn,
.streak-reset-btn{
  background:var(--uk-card) !important;
  border:1px solid var(--uk-line) !important;
  color:var(--uk-soft) !important;
  box-shadow:none !important;
}

.tab-btn.active,
.era-chip.active,
.recall-mode-btn.active,
.recall-cat-chip.active{
  color:var(--uk-accent) !important;
  border-color:var(--uk-accent) !important;
  background:color-mix(in srgb,var(--uk-accent) 10%,var(--uk-card)) !important;
}

.chip,
.study-icon,
.instrument__index,
.instrument__badge,
.hbadge,
.badge,
.cultural-dot{
  --chip-accent:var(--uk-accent) !important;
  --icon-accent:var(--uk-accent) !important;
  background-color:color-mix(in srgb,var(--uk-accent) 12%,var(--uk-card)) !important;
  border-color:color-mix(in srgb,var(--uk-accent) 35%,var(--uk-line)) !important;
  color:var(--uk-accent) !important;
}

.instrument__index,
.cultural-dot{
  color:var(--uk-card) !important;
  background:var(--uk-accent) !important;
}

.sidebar-header,
.sidebar-footer{
  border-color:var(--uk-line) !important;
}

.sidebar .nav-link,
.sidebar .nav-en,
.sidebar .nav-section-label{
  color:var(--uk-soft) !important;
}

.sidebar .nav-link:hover,
.sidebar .nav-link.active{
  color:var(--uk-accent) !important;
  background:color-mix(in srgb,var(--uk-accent) 9%,var(--uk-card)) !important;
}

/* Shared Uttarakhand study tools: synced theme and Geography-style highlighting. */
.uk-vadya-page .theme-toggle,
.uk-lokchitra-page .sidebar-footer{
  display:none !important;
}

.uk-shared-tools{
  display:flex;
  align-items:center;
  gap:8px;
}

.uk-shared-tools.is-inline{
  position:static;
  flex:0 0 auto;
  margin-left:auto;
}

.uk-shared-tools-slot{
  position:relative;
  z-index:20;
  display:flex;
  justify-content:flex-end;
  width:min(100%,1180px);
  margin:0 auto;
  padding:12px clamp(14px,3vw,28px) 0;
}

.uk-shared-tools.is-static{
  position:static;
}

.uk-shared-tool-btn{
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0;
  border:1px solid var(--uk-line,#cdd9d6);
  border-radius:50%;
  background:var(--uk-card,#fff);
  color:var(--uk-accent,#0f766e);
  box-shadow:0 5px 18px rgba(23,37,34,.12);
  cursor:pointer;
  text-decoration:none;
}

.uk-shared-tool-btn:hover{
  border-color:var(--uk-accent,#0f766e);
}

.uk-shared-tool-btn:focus-visible{
  outline:3px solid color-mix(in srgb,var(--uk-accent,#0f766e) 35%,transparent);
  outline-offset:2px;
}

.uk-shared-tool-btn svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

mark.uk-user-highlight{
  padding:0 .08em;
  border-radius:3px;
  color:inherit;
  cursor:pointer;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

mark.uk-highlight-yellow{background:#fff3a3;}
mark.uk-highlight-green{background:#bcecc8;}
mark.uk-highlight-pink{background:#ffd0dc;}
mark.uk-highlight-blue{background:#bee5ff;}

html[data-theme="dark"] mark.uk-highlight-yellow{background:#76691d;}
html[data-theme="dark"] mark.uk-highlight-green{background:#285f3d;}
html[data-theme="dark"] mark.uk-highlight-pink{background:#743849;}
html[data-theme="dark"] mark.uk-highlight-blue{background:#285777;}

#uk-highlight-toolbar{
  position:fixed;
  z-index:9500;
  display:none;
  align-items:center;
  gap:3px;
  max-width:calc(100vw - 16px);
  padding:5px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:9px;
  background:#172522;
  color:#f4f7f6;
  box-shadow:0 10px 30px rgba(0,0,0,.3);
}

#uk-highlight-toolbar button{
  min-height:34px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:inherit;
  font:600 13px/1.2 'Noto Sans Devanagari',sans-serif;
  cursor:pointer;
  white-space:nowrap;
}

#uk-highlight-toolbar button:hover,
#uk-highlight-toolbar button:focus-visible{
  background:rgba(255,255,255,.14);
  outline:none;
}

.uk-highlight-swatch{
  width:15px;
  height:15px;
  flex:0 0 15px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:3px;
}

.uk-highlight-swatch.is-yellow{background:#fff3a3;}
.uk-highlight-swatch.is-green{background:#bcecc8;}
.uk-highlight-swatch.is-pink{background:#ffd0dc;}
.uk-highlight-swatch.is-blue{background:#bee5ff;}
.uk-highlight-divider{width:1px;height:24px;margin:0 2px;background:rgba(255,255,255,.22);}

@media(max-width:600px){
  .uk-shared-tool-btn{
    width:40px;
    height:40px;
  }

  #uk-highlight-toolbar button[data-highlight-color] span:last-child{
    display:none;
  }

  #uk-highlight-toolbar button{
    padding:7px;
  }
}

/* Folk dance and folk song pages share the Hindi/Geography reading palette. */
body.uk-dance-page,
body.uk-folk-song-page{
  --uk-paper:#f4f7f6;
  --uk-paper-2:#e8efed;
  --uk-card:#ffffff;
  --uk-ink:#172522;
  --uk-soft:#465955;
  --uk-faint:#6c7c78;
  --uk-line:#cdd9d6;
  --uk-line-soft:#e2e9e7;
  --uk-accent:#0f766e;
  --uk-shadow:0 6px 20px rgba(23,37,34,.07),0 1px 2px rgba(23,37,34,.05);
}

html[data-theme] body.uk-page.uk-dance-page{
  --bg:var(--uk-paper);
  --bg-elevated:var(--uk-paper-2);
  --bg-card:var(--uk-card);
  --bg-sidebar:var(--uk-paper-2);
  --text:var(--uk-ink);
  --text-muted:var(--uk-soft);
  --text-subtle:var(--uk-faint);
  --accent:var(--uk-accent);
  --accent-hover:#0b5e58;
  --accent-soft:rgba(15,118,110,.10);
  --accent-glow:rgba(15,118,110,.22);
  --gold:#826315;
  --forest:#287a4b;
  --forest-soft:rgba(40,122,75,.10);
  --border:var(--uk-line);
  --border-strong:#b4c4c0;
  --completed:#287a4b;
  --completed-soft:rgba(40,122,75,.12);
  --shadow-sm:0 1px 2px rgba(23,37,34,.05);
  --shadow-md:0 4px 16px rgba(23,37,34,.08);
  --shadow-lg:0 12px 36px rgba(23,37,34,.12);
}

body.uk-folk-song-page{
  --bg-void:var(--uk-paper);
  --bg-panel:var(--uk-card);
  --bg-card:var(--uk-card);
  --bg-card-hi:var(--uk-paper-2);
  --border:var(--uk-line);
  --border-hi:#b4c4c0;
  --text-primary:var(--uk-ink);
  --text-muted:var(--uk-soft);
  --text-dim:var(--uk-faint);
  --buransh:var(--uk-accent);
  --buransh-soft:rgba(15,118,110,.10);
  --brass:#826315;
  --brass-soft:rgba(130,99,21,.11);
  --pine:#287a4b;
  --pine-soft:rgba(40,122,75,.10);
  --accent-red-text:var(--uk-accent);
  --accent-green-text:#287a4b;
  --shadow:0 12px 32px -18px rgba(23,37,34,.22);
}

html[data-theme="dark"] body.uk-dance-page,
html[data-theme="dark"] body.uk-folk-song-page{
  --uk-paper:#141917;
  --uk-paper-2:#1b2320;
  --uk-card:#202926;
  --uk-ink:#edf3f1;
  --uk-soft:#bdcac6;
  --uk-faint:#8fa09b;
  --uk-line:#35423e;
  --uk-line-soft:#2b3733;
  --uk-accent:#5bc3ba;
  --uk-shadow:0 8px 24px rgba(0,0,0,.25);
}

html[data-theme="dark"] body.uk-dance-page{
  --bg:var(--uk-paper);
  --bg-elevated:var(--uk-paper-2);
  --bg-card:var(--uk-card);
  --bg-sidebar:var(--uk-paper-2);
  --text:var(--uk-ink);
  --text-muted:var(--uk-soft);
  --text-subtle:var(--uk-faint);
  --accent:var(--uk-accent);
  --accent-hover:#76d4cc;
  --accent-soft:rgba(91,195,186,.12);
  --accent-glow:rgba(91,195,186,.24);
  --gold:#d4b761;
  --forest:#73c98e;
  --forest-soft:rgba(115,201,142,.12);
  --border:var(--uk-line);
  --border-strong:#50605b;
}

html[data-theme="dark"] body.uk-folk-song-page{
  --bg-void:var(--uk-paper);
  --bg-panel:var(--uk-paper-2);
  --bg-card:var(--uk-card);
  --bg-card-hi:#26312d;
  --border:var(--uk-line);
  --border-hi:#50605b;
  --text-primary:var(--uk-ink);
  --text-muted:var(--uk-soft);
  --text-dim:var(--uk-faint);
  --buransh:var(--uk-accent);
  --buransh-soft:rgba(91,195,186,.12);
  --brass:#d4b761;
  --brass-soft:rgba(212,183,97,.12);
  --pine:#73c98e;
  --pine-soft:rgba(115,201,142,.12);
  --accent-red-text:var(--uk-accent);
  --accent-green-text:#73c98e;
}

.uk-dance-page #theme-toggle,
.uk-folk-song-page #themeToggle{
  display:none !important;
}

.uk-dance-page .content{
  max-width:920px;
}

.uk-dance-page .content-area > .uk-study-footer{
  position:relative;
  z-index:2;
  margin-top:0;
}

.uk-folk-song-page .uk-study-footer{
  position:relative;
  z-index:2;
}

.uk-dance-page .content-header,
.uk-folk-song-page .topbar{
  border-color:var(--uk-line);
}

.uk-dance-page .dance-number-label,
.uk-folk-song-page .song-tab.active{
  background:color-mix(in srgb,var(--uk-accent) 13%,var(--uk-card));
  color:var(--uk-accent);
  box-shadow:none;
}

.uk-dance-page .notes,
.uk-folk-song-page .panel{
  overflow-wrap:anywhere;
}

.uk-folk-song-page .card,
.uk-dance-page .notes > ul{
  border-radius:8px;
}

.uk-folk-song-page table{
  max-width:100%;
}

@media(max-width:780px){
  .uk-dance-page .content{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .uk-dance-page .dance-title{
    font-size:clamp(30px,10vw,42px);
  }

  .uk-dance-page .dance-meta{
    gap:14px;
  }

  .uk-folk-song-page .main{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .uk-folk-song-page .topbar{
    padding:12px 14px;
  }

  .uk-folk-song-page .stage{
    padding:16px 12px 24px;
  }

  .uk-folk-song-page .panel-head h2{
    font-size:clamp(26px,9vw,36px);
    line-height:1.25;
  }

  .uk-folk-song-page .panel-head .meaning,
  .uk-folk-song-page .card p,
  .uk-folk-song-page .card li,
  .uk-folk-song-page .theme-block p{
    font-size:15.5px;
    line-height:1.65;
  }

  .uk-folk-song-page .song-tabs{
    border-radius:8px;
  }

  .uk-folk-song-page .song-tab{
    padding:8px 12px;
    border-radius:6px;
  }
}

.topic-section,
.day-card,
.stamp-card,
.info-card,
.fact-card,
.recall-section-inner,
.table-section,
.master-table-wrap{
  background:var(--uk-card) !important;
}

.topic-section blockquote,
.reminder-card,
.glance-box,
.pro-tip,
.compare-note{
  background:color-mix(in srgb,var(--uk-accent) 7%,var(--uk-card)) !important;
  border-color:var(--uk-line) !important;
}

.uk-study-footer{
  clear:both;
  position:relative;
  z-index:1;
}

.sidebar-title{
  margin:0;
  color:var(--uk-ink);
  font-size:1.5rem;
  font-weight:800;
}

.page-intro{
  margin:0 0 28px;
  padding:4px 0 22px;
  border-bottom:1px solid var(--uk-line);
}

.page-intro h1{
  margin:6px 0 8px;
  color:var(--uk-ink);
  font-size:clamp(1.7rem, 3vw, 2.35rem);
  line-height:1.25;
}

.page-intro p:last-child{
  margin:0;
  color:var(--uk-soft);
  font-size:1rem;
  line-height:1.7;
}

@media(min-width:901px){
  body:has(.sidebar) .uk-study-footer{
    margin-left:300px;
    width:calc(100% - 300px);
  }

  body:has(.sidebar__brand) .uk-study-footer{
    margin-left:var(--sidebar-w);
    width:calc(100% - var(--sidebar-w));
  }
}

@media(max-width:780px){
  .sticky-nav{
    min-height:54px !important;
    padding:7px 12px !important;
    flex-wrap:nowrap !important;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .sticky-nav::-webkit-scrollbar{display:none;}

  .sticky-nav .nav-title,
  .sticky-nav .nav-brand{
    flex:0 0 auto;
    font-size:13px !important;
  }

  .sticky-nav .nav-links{
    flex:0 0 auto;
    flex-wrap:nowrap !important;
  }

  .sticky-nav .nav-link,
  .sticky-nav .nav-btn,
  .sticky-nav .nav-mode-btn{
    min-height:36px !important;
    padding:6px 10px !important;
    font-size:11px !important;
  }

  body:has(.sidebar) .uk-study-footer{
    margin-left:0;
    width:100%;
  }

  .page-intro{
    margin-bottom:20px;
    padding-bottom:18px;
  }
}

/* LokGeet: stable study-reader layout */
body.uk-folk-song-page .app{
  align-items:start;
}

body.uk-folk-song-page .sidebar{
  width:280px;
  min-width:280px;
  max-height:100dvh;
}

body.uk-folk-song-page .main{
  width:calc(100% - 280px);
  min-width:0;
}

body.uk-folk-song-page .topbar{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(0,auto) auto;
  grid-template-areas:"title tabs progress";
  align-items:center;
  gap:14px;
  min-height:64px;
  padding:9px clamp(18px,2.5vw,34px);
}

body.uk-folk-song-page .title-wrap{
  grid-area:title;
  min-width:0;
}

body.uk-folk-song-page .page-title{
  font-family:'Hind',sans-serif;
  font-size:clamp(18px,1.4vw,23px);
  font-weight:700;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

body.uk-folk-song-page .song-tabs:not(.hidden-group){
  grid-area:tabs;
  display:flex;
  max-width:min(48vw,700px);
  padding:4px;
  overflow-x:auto;
  scrollbar-width:none;
}

body.uk-folk-song-page .song-tabs::-webkit-scrollbar{
  display:none;
}

body.uk-folk-song-page .song-tab{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:7px 13px;
  color:var(--uk-muted);
  font-size:14px;
  line-height:1.2;
  text-decoration:none;
}

body.uk-folk-song-page .progress-badge{
  grid-area:progress;
  min-height:38px;
  padding:6px 10px;
}

body.uk-folk-song-page .progress-track{
  width:52px;
}

body.uk-folk-song-page .stage{
  width:100%;
  max-width:1220px;
  margin:0 auto;
  padding:30px clamp(20px,3vw,42px) 54px;
}

body.uk-folk-song-page .panel{
  height:auto;
  scroll-margin-top:84px;
}

body.uk-folk-song-page .panel-head{
  max-width:1080px;
  margin:0 auto 24px;
  padding-right:170px;
}

body.uk-folk-song-page .panel-head h2{
  font-family:'Hind',sans-serif;
  font-size:clamp(34px,3.2vw,50px);
  font-weight:700;
  line-height:1.16;
  letter-spacing:0;
  text-align:left;
}

body.uk-folk-song-page .panel-head .meaning{
  max-width:900px;
  margin:10px 0 0;
  color:var(--uk-muted);
  font-size:18px;
  line-height:1.7;
  text-align:left;
}

body.uk-folk-song-page .tagrow{
  justify-content:flex-start;
  gap:8px;
  margin-top:14px;
}

body.uk-folk-song-page .tag{
  padding:7px 12px;
  border-radius:6px;
  font-size:14px;
}

body.uk-folk-song-page .complete-btn{
  top:4px;
}

body.uk-folk-song-page .grid{
  grid-template-columns:minmax(0,760px) minmax(240px,300px);
  justify-content:center;
  gap:24px;
  max-width:1080px;
  margin:0 auto;
}

body.uk-folk-song-page .side-col-main,
body.uk-folk-song-page .side-col{
  min-width:0;
}

body.uk-folk-song-page .side-col{
  top:84px;
}

body.uk-folk-song-page .card{
  padding:20px;
  box-shadow:0 8px 24px -20px rgba(15,23,20,.36);
}

body.uk-folk-song-page .card h3{
  margin-bottom:12px;
  font-size:17px;
  letter-spacing:0;
  text-transform:none;
}

body.uk-folk-song-page .panel.is-completed .grid,
body.uk-folk-song-page .panel.is-completed .grid:hover{
  filter:none;
  opacity:1;
}

body.uk-folk-song-page .cmp-wrap{
  max-width:1080px;
  margin:8px auto 0;
  overflow-x:auto;
}

@media(max-width:1350px){
  body.uk-folk-song-page .grid{
    grid-template-columns:minmax(0,820px);
  }

  body.uk-folk-song-page .side-col{
    position:static;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  body.uk-folk-song-page .side-col .card + .card{
    margin-top:0;
  }
}

@media(max-width:980px){
  body.uk-folk-song-page .main{
    width:100%;
  }

  body.uk-folk-song-page .topbar{
    position:sticky;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:
      "menu title progress"
      "tabs tabs tabs";
    gap:8px 10px;
    padding:8px 14px 9px;
  }

  body.uk-folk-song-page .menu-btn{
    grid-area:menu;
    order:initial;
  }

  body.uk-folk-song-page .title-wrap{
    order:initial;
    margin:0;
  }

  body.uk-folk-song-page .page-title{
    font-size:18px;
  }

  body.uk-folk-song-page .song-tabs:not(.hidden-group){
    order:initial;
    width:100%;
    max-width:none;
  }

  body.uk-folk-song-page .progress-badge{
    order:initial;
    width:auto;
    margin:0;
  }

  body.uk-folk-song-page .progress-track{
    display:none;
  }

  body.uk-folk-song-page .stage{
    padding:24px 18px 42px;
  }

  body.uk-folk-song-page .panel-head{
    padding-right:0;
  }

  body.uk-folk-song-page .complete-btn{
    position:static;
    margin:14px 0 0;
  }
}

@media(max-width:680px){
  body.uk-folk-song-page .sidebar{
    width:min(88vw,320px);
    min-width:min(88vw,320px);
  }

  body.uk-folk-song-page .progress-badge{
    padding:5px 8px;
    font-size:12px;
  }

  body.uk-folk-song-page .stage{
    padding:20px 12px 36px;
  }

  body.uk-folk-song-page .panel-head h2{
    font-size:32px;
  }

  body.uk-folk-song-page .panel-head .meaning{
    font-size:16px;
    line-height:1.65;
  }

  body.uk-folk-song-page .grid{
    gap:14px;
  }

  body.uk-folk-song-page .side-col{
    grid-template-columns:1fr;
  }

  body.uk-folk-song-page .card{
    padding:17px 15px;
  }

  body.uk-folk-song-page .bullets li{
    padding-left:20px;
  }

  body.uk-folk-song-page table.cmp{
    min-width:680px;
  }
}

/* Shared tools belong to the page chrome, never over the study content. */
.sticky-nav > .uk-shared-tools,
.topbar > .uk-shared-tools,
.content-header > .uk-shared-tools{
  margin-left:auto;
}

.sticky-nav > .uk-shared-tools .uk-shared-tool-btn,
.topbar > .uk-shared-tools .uk-shared-tool-btn,
.content-header > .uk-shared-tools .uk-shared-tool-btn{
  width:40px;
  height:40px;
  box-shadow:none;
}

body.uk-folk-song-page .topbar > .uk-shared-tools{
  grid-area:tools;
}

@media(min-width:981px){
  body.uk-folk-song-page .topbar{
    grid-template-columns:minmax(170px,1fr) minmax(0,auto) auto auto;
    grid-template-areas:"title tabs progress tools";
    gap:10px;
    min-height:58px;
    padding:6px clamp(16px,2vw,26px);
  }
}

@media(max-width:980px){
  body.uk-folk-song-page .topbar{
    grid-template-columns:auto minmax(0,1fr) auto auto;
    grid-template-areas:
      "menu title progress tools"
      "tabs tabs tabs tabs";
    gap:6px 8px;
    min-height:0;
    padding:6px 10px 7px;
  }
}

@media(max-width:520px){
  body.uk-folk-song-page .topbar > .uk-shared-tools{
    gap:5px;
  }

  body.uk-folk-song-page .topbar > .uk-shared-tools .uk-shared-tool-btn{
    width:34px;
    height:34px;
  }

  body.uk-folk-song-page .topbar .menu-btn{
    width:34px;
    height:34px;
  }

  body.uk-folk-song-page .topbar .progress-badge{
    min-height:34px;
    padding:4px 7px;
  }

  body.uk-folk-song-page .topbar .song-tabs:not(.hidden-group){
    padding:3px;
  }

  body.uk-folk-song-page .topbar .song-tab{
    min-height:32px;
    padding:6px 10px;
    font-size:13px;
  }
}

/* UKDiwas: focused study-list interface. */
body.uk-diwas-page{
  --diwas-accent:var(--uk-accent);
  margin:0;
  background:var(--uk-paper) !important;
  background-image:none !important;
  color:var(--uk-ink);
  font-family:'Noto Sans Devanagari','Hind',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important;
}

.uk-diwas-page button,
.uk-diwas-page input,
.uk-diwas-page select,
.uk-diwas-page textarea{
  font:inherit;
}

.uk-diwas-page .sticky-nav{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:8px max(16px,calc((100vw - 1120px)/2));
  background:color-mix(in srgb,var(--uk-paper) 94%,transparent) !important;
}

.uk-diwas-page .nav-brand{
  min-width:0;
  overflow:hidden;
  color:var(--uk-ink) !important;
  font-family:inherit;
  font-size:15px !important;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.uk-diwas-page .hero{
  position:relative;
  margin:0;
  padding:44px 20px 34px;
  overflow:visible;
  border:0 !important;
  border-bottom:1px solid var(--uk-line) !important;
  border-radius:0 !important;
  background:var(--uk-paper-2) !important;
  box-shadow:none !important;
  text-align:left;
}

.uk-diwas-page .hero-decoration{
  display:none;
}

.uk-diwas-page .hero-inner{
  width:min(100%,1080px);
  max-width:none;
  margin:0 auto;
}

.uk-diwas-page .hero-eyebrow{
  display:block;
  margin:0 0 8px;
  color:var(--uk-accent);
  font-family:inherit;
  font-size:12px;
  font-weight:700;
  letter-spacing:0;
  text-align:left;
  text-transform:none;
}

.uk-diwas-page .hero-eyebrow::before,
.uk-diwas-page .hero-eyebrow::after{
  display:none;
}

.uk-diwas-page .hero-title{
  max-width:820px;
  margin:0 0 10px;
  color:var(--uk-ink) !important;
  font-family:inherit;
  font-size:clamp(30px,4vw,48px);
  font-weight:700;
  line-height:1.22;
  text-align:left;
  text-shadow:none;
}

.uk-diwas-page .hero-title span{
  color:var(--uk-accent) !important;
}

.uk-diwas-page .hero-sub{
  max-width:900px;
  margin:0 0 20px;
  color:var(--uk-soft);
  font-family:inherit;
  font-size:17px;
  line-height:1.75;
  text-align:left;
}

.uk-diwas-page .hero-badges{
  justify-content:flex-start;
  gap:7px 18px;
}

.uk-diwas-page .hbadge,
.uk-diwas-page .hbadge-gold,
.uk-diwas-page .hbadge-green,
.uk-diwas-page .hbadge-red,
.uk-diwas-page .hbadge-blue{
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--uk-soft) !important;
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  letter-spacing:0;
}

.uk-diwas-page .tabs-section{
  position:sticky;
  top:58px;
  z-index:180;
  padding:12px 0;
  border-bottom:1px solid var(--uk-line);
  background:color-mix(in srgb,var(--uk-paper) 94%,transparent) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.uk-diwas-page .tabs-section .container{
  padding-inline:20px;
}

.uk-diwas-page .tabs-wrap{
  gap:6px;
  padding:4px;
  border:1px solid var(--uk-line);
  border-radius:8px;
  background:var(--uk-card) !important;
  box-shadow:none;
}

.uk-diwas-page .tab-btn{
  flex:1 0 auto;
  min-width:max-content;
  min-height:40px;
  margin:0;
  padding:8px 13px;
  border:1px solid transparent !important;
  border-radius:6px !important;
  background:transparent !important;
  color:var(--uk-soft) !important;
  font-family:inherit;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
}

.uk-diwas-page .tab-btn:hover{
  color:var(--uk-accent) !important;
  background:color-mix(in srgb,var(--uk-accent) 7%,var(--uk-card)) !important;
}

.uk-diwas-page .tab-btn.active{
  border-color:color-mix(in srgb,var(--uk-accent) 32%,var(--uk-line)) !important;
  background:color-mix(in srgb,var(--uk-accent) 11%,var(--uk-card)) !important;
  color:var(--uk-accent) !important;
}

.uk-diwas-page .tab-btn:focus-visible{
  outline:2px solid var(--uk-accent);
  outline-offset:1px;
}

.uk-diwas-page > .container,
.uk-diwas-page > main > .container{
  max-width:1120px;
  padding-inline:20px;
}

.uk-diwas-page .section-wrap{
  padding-top:32px;
}

.uk-diwas-page .section-heading{
  margin-bottom:18px;
}

.uk-diwas-page .section-heading-inner{
  display:block;
  padding:0 0 14px;
  border:0;
  border-bottom:1px solid var(--uk-line);
  border-radius:0;
  background:transparent !important;
}

.uk-diwas-page .sh-icon,
.uk-diwas-page .sh-eyebrow,
.uk-diwas-page .sh-count{
  display:none;
}

.uk-diwas-page .sh-title{
  color:var(--uk-ink);
  font-family:inherit;
  font-size:clamp(22px,3vw,28px);
  font-weight:700;
  line-height:1.35;
}

.uk-diwas-page .sh-subtitle{
  margin-top:5px;
  color:var(--uk-soft);
  font-family:inherit;
  font-size:15px;
  line-height:1.65;
}

.uk-diwas-page .cards-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding-bottom:44px;
}

.uk-diwas-page .day-card{
  min-width:0;
  overflow:hidden;
  border:1px solid var(--uk-line) !important;
  border-radius:8px !important;
  background:var(--uk-card) !important;
  box-shadow:var(--uk-shadow) !important;
  animation:none;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.uk-diwas-page .day-card:hover{
  transform:none;
  border-color:color-mix(in srgb,var(--uk-accent) 45%,var(--uk-line)) !important;
  box-shadow:0 7px 22px rgba(23,37,34,.10) !important;
}

.uk-diwas-page .card-top{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  min-height:86px;
  align-items:stretch;
}

.uk-diwas-page .card-date-block,
.uk-diwas-page .db-saffron,
.uk-diwas-page .db-crimson,
.uk-diwas-page .db-emerald,
.uk-diwas-page .db-sky,
.uk-diwas-page .db-gold,
.uk-diwas-page .db-purple,
.uk-diwas-page .db-navy,
.uk-diwas-page .db-teal,
.uk-diwas-page .db-water,
.uk-diwas-page .db-green-light{
  width:auto;
  padding:14px 8px;
  border-right:1px solid var(--uk-line);
  background:color-mix(in srgb,var(--uk-accent) 10%,var(--uk-card)) !important;
}

.uk-diwas-page .card-date-day{
  color:var(--uk-accent);
  font-family:inherit;
  font-size:26px;
  font-weight:700;
}

.uk-diwas-page .card-date-month{
  margin-top:2px;
  color:var(--uk-soft);
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}

.uk-diwas-page .card-main{
  min-width:0;
  padding:14px 16px 12px;
}

.uk-diwas-page .card-cat-tag,
.uk-diwas-page [class*="tag-"]{
  margin:0 0 5px;
  padding:2px 7px;
  border:0;
  border-radius:4px;
  background:color-mix(in srgb,var(--uk-accent) 9%,var(--uk-card)) !important;
  color:var(--uk-accent) !important;
  font-family:inherit;
  font-size:11px;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}

.uk-diwas-page .card-title{
  overflow-wrap:anywhere;
  color:var(--uk-ink);
  font-family:inherit;
  font-size:18px;
  font-weight:700;
  line-height:1.4;
}

.uk-diwas-page .card-divider{
  height:1px;
  margin:0;
  background:var(--uk-line-soft);
}

.uk-diwas-page .card-body{
  padding:14px 16px 16px;
}

.uk-diwas-page .card-fact,
.uk-diwas-page .campaign-fact,
.uk-diwas-page .mt-fact{
  overflow-wrap:anywhere;
  color:var(--uk-soft);
  font-family:inherit;
  font-size:15px;
  line-height:1.75;
}

.uk-diwas-page .hl,
.uk-diwas-page .hl-g,
.uk-diwas-page .hl-r,
.uk-diwas-page .hl-b{
  padding:0 .14em;
  border-radius:3px;
  background:color-mix(in srgb,var(--uk-accent) 10%,transparent) !important;
  color:var(--uk-ink) !important;
}

.uk-diwas-page .campaign-card,
.uk-diwas-page .jaadi-card,
.uk-diwas-page .forgot-card{
  overflow:hidden;
  border:1px solid var(--uk-line) !important;
  border-radius:8px !important;
  background:var(--uk-card) !important;
  box-shadow:var(--uk-shadow) !important;
}

.uk-diwas-page .campaign-card:hover,
.uk-diwas-page .forgot-card:hover{
  transform:none;
}

.uk-diwas-page .campaign-header,
.uk-diwas-page .jaadi-card .campaign-header{
  padding:15px 18px;
  background:color-mix(in srgb,var(--uk-accent) 11%,var(--uk-card)) !important;
}

.uk-diwas-page .campaign-header-title,
.uk-diwas-page .campaign-header-sub{
  color:var(--uk-ink);
  font-family:inherit;
}

.uk-diwas-page .table-section{
  max-width:1040px;
  margin:0 auto;
  padding:30px 0 44px;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.uk-diwas-page .master-table-wrap{
  margin-top:16px;
}

.uk-diwas-page .mt-month-block{
  margin-bottom:18px;
}

.uk-diwas-page .mt-month-block:last-child{
  margin-bottom:0;
}

.uk-diwas-page .mt-month-label{
  gap:10px;
  margin-bottom:8px;
}

.uk-diwas-page .mt-month-pill{
  padding:4px 11px;
  border-color:var(--uk-line);
  background:var(--uk-paper-2);
  color:var(--uk-accent);
  font-family:inherit;
  font-size:12px;
  letter-spacing:0;
  text-transform:none;
}

.uk-diwas-page .mt-row{
  grid-template-columns:62px minmax(0,1fr) 96px;
  min-height:66px;
  margin-bottom:6px;
  border:1px solid var(--uk-line) !important;
  border-top:1px solid var(--uk-line) !important;
  border-radius:7px;
  background:var(--uk-card) !important;
  box-shadow:none;
}

.uk-diwas-page .mt-row:hover{
  transform:none;
  border-color:color-mix(in srgb,var(--uk-accent) 42%,var(--uk-line)) !important;
  box-shadow:none;
}

.uk-diwas-page .mt-date,
.uk-diwas-page [class*="mt-"] .mt-date{
  background:color-mix(in srgb,var(--uk-accent) 10%,var(--uk-card)) !important;
}

.uk-diwas-page .mt-date-num{
  color:var(--uk-accent);
  font-family:inherit;
  font-size:20px;
}

.uk-diwas-page .mt-date-mon,
.uk-diwas-page .mt-serial{
  color:var(--uk-faint);
  font-family:inherit;
  letter-spacing:0;
  text-transform:none;
}

.uk-diwas-page .mt-name{
  color:var(--uk-ink);
  font-family:inherit;
  font-size:15px;
  line-height:1.35;
  margin-bottom:2px;
}

.uk-diwas-page .mt-content{
  padding:9px 13px;
}

.uk-diwas-page .mt-serial{
  display:none;
}

.uk-diwas-page .mt-fact{
  font-size:13.5px;
  line-height:1.5;
}

.uk-diwas-page .mt-cat{
  padding:8px;
  background:var(--uk-paper-2);
}

.uk-diwas-page .mt-cat-icon{
  display:none;
}

.uk-diwas-page .mt-cat-label{
  background:transparent !important;
  color:var(--uk-accent) !important;
  font-family:inherit;
  font-size:11px;
  letter-spacing:0;
  text-transform:none;
}

.uk-diwas-page .forgot-section{
  display:none !important;
}

.uk-diwas-page .overlay{
  font-family:inherit;
}

@media(max-width:760px){
  .uk-diwas-page .sticky-nav{
    min-height:54px;
    padding:7px 12px !important;
    overflow:visible;
  }

  .uk-diwas-page .nav-brand{
    font-size:13px !important;
  }

  .uk-diwas-page .sticky-nav .uk-shared-tool-btn{
    width:38px;
    height:38px;
  }

  .uk-diwas-page .hero{
    padding:30px 16px 26px;
  }

  .uk-diwas-page .hero-title{
    font-size:30px;
  }

  .uk-diwas-page .hero-sub{
    font-size:15.5px;
    line-height:1.7;
  }

  .uk-diwas-page .hero-badges{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px 12px;
  }

  .uk-diwas-page .hbadge,
  .uk-diwas-page .hbadge-gold,
  .uk-diwas-page .hbadge-green,
  .uk-diwas-page .hbadge-red,
  .uk-diwas-page .hbadge-blue{
    font-size:13px;
  }

  .uk-diwas-page .tabs-section{
    top:54px;
    padding:8px 0;
  }

  .uk-diwas-page .tabs-section .container{
    padding-inline:12px;
  }

  .uk-diwas-page .tabs-wrap{
    overflow-x:auto;
  }

  .uk-diwas-page .tab-btn{
    min-height:38px;
    padding:7px 11px;
    font-size:13px;
  }

  .uk-diwas-page > .container,
  .uk-diwas-page > main > .container{
    padding-inline:14px;
  }

  .uk-diwas-page .section-wrap{
    padding-top:24px;
  }

  .uk-diwas-page .cards-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .uk-diwas-page .card-title{
    font-size:17px;
  }

  .uk-diwas-page .card-fact,
  .uk-diwas-page .campaign-fact,
  .uk-diwas-page .mt-fact{
    font-size:14.5px;
  }

  .uk-diwas-page .mt-row{
    grid-template-columns:54px minmax(0,1fr);
    min-height:62px;
  }

  .uk-diwas-page .mt-cat{
    display:none;
  }
}

@media(max-width:430px){
  .uk-diwas-page .nav-brand{
    max-width:calc(100vw - 112px);
  }

  .uk-diwas-page .hero-badges{
    grid-template-columns:1fr;
  }

  .uk-diwas-page .card-top{
    grid-template-columns:66px minmax(0,1fr);
  }

  .uk-diwas-page .card-main,
  .uk-diwas-page .card-body{
    padding-left:13px;
    padding-right:13px;
  }
}

/* Nine-page study reader baseline, aligned with Geography/continent-theme.css. */
body.uk-vadya-page,
body.uk-lokchitra-page,
body.uk-dance-page,
body.uk-folk-song-page,
body.uk-diwas-page,
body.uk-postal-page,
body.uk-gorkha-page,
body.uk-rajya-aandolan-page,
body.uk-forest-page{
  --uk-paper:#f7f9f8;
  --uk-paper-2:#eef3f1;
  --uk-card:#ffffff;
  --uk-ink:#18211e;
  --uk-soft:#43514c;
  --uk-faint:#5d6b65;
  --uk-line:rgba(24,33,30,.17);
  --uk-line-soft:rgba(24,33,30,.10);
  --uk-accent:#0b7768;
  --uk-shadow:0 2px 10px rgba(28,45,39,.07);
}

html[data-theme="dark"] body.uk-dance-page,
html[data-theme="dark"] body.uk-folk-song-page,
html[data-theme="dark"] body.uk-diwas-page,
html[data-theme="dark"] body.uk-postal-page,
html[data-theme="dark"] body.uk-vadya-page,
html[data-theme="dark"] body.uk-lokchitra-page,
html[data-theme="dark"] body.uk-gorkha-page,
html[data-theme="dark"] body.uk-rajya-aandolan-page,
html[data-theme="dark"] body.uk-forest-page,
html.dark body.uk-gorkha-page,
html.dark body.uk-rajya-aandolan-page,
html.dark body.uk-forest-page{
  --uk-paper:#111315;
  --uk-paper-2:#20252a;
  --uk-card:#181c1f;
  --uk-ink:#f3f6f5;
  --uk-soft:#c3cdca;
  --uk-faint:#8d9995;
  --uk-line:rgba(225,235,232,.18);
  --uk-line-soft:rgba(225,235,232,.10);
  --uk-accent:#5cc7b2;
  --uk-shadow:0 2px 10px rgba(0,0,0,.22);
}

body.uk-vadya-page{
  --bg-0:var(--uk-paper);
  --blob-1:var(--uk-paper);
  --blob-2:var(--uk-paper-2);
  --blob-3:var(--uk-paper-2);
  --glass:var(--uk-card);
  --glass-strong:var(--uk-card);
  --glass-border:var(--uk-line);
  --glass-shadow:rgba(28,45,39,.12);
  --text-1:var(--uk-ink);
  --text-2:var(--uk-soft);
  --text-3:var(--uk-faint);
  --divider:var(--uk-line);
  --acc-avanaddha:var(--uk-accent);
  --acc-sushir:var(--uk-accent);
  --acc-ghan:var(--uk-accent);
  --acc-tat:var(--uk-accent);
}

html[data-theme] body.uk-page.uk-folk-song-page{
  --brass:var(--uk-accent);
  --brass-soft:color-mix(in srgb,var(--uk-accent) 12%,transparent);
  --buransh:var(--uk-accent);
  --buransh-soft:color-mix(in srgb,var(--uk-accent) 10%,transparent);
  --pine:var(--uk-accent);
  --pine-soft:color-mix(in srgb,var(--uk-accent) 10%,transparent);
  --accent-red-text:var(--uk-ink);
  --accent-green-text:var(--uk-ink);
}

html[data-theme] body.uk-page.uk-dance-page{
  --accent:var(--uk-accent);
  --accent-hover:var(--uk-accent);
  --accent-soft:color-mix(in srgb,var(--uk-accent) 10%,transparent);
  --accent-glow:color-mix(in srgb,var(--uk-accent) 22%,transparent);
  --gold:var(--uk-accent);
  --forest:var(--uk-accent);
  --forest-soft:color-mix(in srgb,var(--uk-accent) 10%,transparent);
  --completed:var(--uk-accent);
  --completed-soft:color-mix(in srgb,var(--uk-accent) 12%,transparent);
}

body.uk-dance-page::before{
  display:none !important;
}

body.uk-folk-song-page .complete-btn{
  font-size:12.5px !important;
  line-height:1.4 !important;
}

.uk-rajya-aandolan-page .master-btn{
  font-size:13px !important;
  line-height:1.45 !important;
}

.uk-rajya-aandolan-page :where(table th,.table-card th){
  font-size:12.5px !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
}

.uk-rajya-aandolan-page :where(.chrono-col-btn,#chrono-tbl tr.section-sep td){
  font-size:12.5px !important;
  line-height:1.45 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

body.uk-page{
  min-height:100vh;
  min-height:100dvh;
}

.uk-skip-link{
  position:fixed;
  top:8px;
  left:8px;
  z-index:9999;
  padding:9px 13px;
  transform:translateY(-150%);
  border:2px solid var(--uk-accent,#0b7768);
  border-radius:8px;
  background:var(--uk-card,#fff);
  color:var(--uk-ink,#18211e);
  font:600 14px/1.3 system-ui,sans-serif;
  text-decoration:none;
  transition:transform .15s ease;
}

.uk-skip-link:focus{
  transform:translateY(0);
}

body.uk-page :where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:2px solid var(--uk-accent,#0b7768) !important;
  outline-offset:2px !important;
}

body.uk-page main{
  scroll-margin-top:72px;
}

body.uk-page :where(p,li,td){
  overflow-wrap:anywhere;
}

body.uk-page :where(.table-scroll,.tbl-wrap,.table-wrap,.master-table-wrap){
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
}

.uk-forest-page .hero h1{
  margin:0 0 14px;
  color:var(--ink);
  font-size:var(--fs-3xl);
  font-weight:700;
  line-height:1.25;
}

/* Final limited-colour layer for Important Days. */
.uk-diwas-page :where(.hero-eyebrow,.card-date-day,.mt-date-num,.stat-num){
  color:var(--uk-ink) !important;
}

.uk-diwas-page .card-cat-tag,
.uk-diwas-page [class*="tag-"],
.uk-diwas-page .mt-cat-label,
.uk-diwas-page .mt-month-pill,
.uk-diwas-page .sh-eyebrow{
  color:var(--uk-soft) !important;
  background:var(--uk-paper-2) !important;
}

.uk-diwas-page :where(.card-date-block,[class*="db-"]){
  background:var(--uk-paper-2) !important;
  border-color:var(--uk-line) !important;
}

.uk-diwas-page :where(.hl,.hl-g,.hl-r,.hl-b){
  color:var(--uk-ink) !important;
  background:var(--uk-paper-2) !important;
}

.uk-diwas-page .diwas-study-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}

.uk-diwas-page .diwas-study-btn{
  min-height:42px;
  padding:9px 15px;
  border:1px solid var(--uk-line);
  border-radius:7px;
  background:var(--uk-card);
  color:var(--uk-ink);
  font:700 14px/1.3 'Noto Sans Devanagari',Hind,system-ui,sans-serif;
  cursor:pointer;
}

.uk-diwas-page .diwas-study-btn:hover{
  border-color:var(--uk-accent);
  background:color-mix(in srgb,var(--uk-accent) 9%,var(--uk-card));
}

@media(max-width:480px){
  .uk-diwas-page .diwas-study-actions{display:grid;grid-template-columns:1fr 1fr;}
  .uk-diwas-page .diwas-study-btn{padding-inline:8px;font-size:13px;}
}

.uk-diwas-page .overlay{
  background:rgba(10,13,12,.94) !important;
  color:#f3f6f5;
}

.uk-diwas-page :where(.flashcard-box,.mcq-box){
  border:1px solid rgba(92,199,178,.55) !important;
  border-radius:8px !important;
  background:#181c1f !important;
  box-shadow:0 20px 60px rgba(0,0,0,.45) !important;
}

.uk-diwas-page :where(.fc-header,.mcq-header){
  border-color:rgba(225,235,232,.14) !important;
  background:#20252a !important;
}

.uk-diwas-page :where(.fc-mode-label,.mcq-header-label){
  color:#c3cdca !important;
  font-family:'Noto Sans Devanagari',Hind,system-ui,sans-serif !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
}

.uk-diwas-page :where(.fc-close,.mcq-close){
  border-color:rgba(225,235,232,.24) !important;
  color:#f3f6f5 !important;
}

.uk-diwas-page :where(.fc-prog-text,.mcq-prog-text,.fc-score-lbl,.fc-front-hint,.fc-flip-hint,.mcq-q-label){
  color:#c3cdca !important;
  font-family:'Noto Sans Devanagari',Hind,system-ui,sans-serif !important;
  font-size:12px !important;
  letter-spacing:0 !important;
}

.uk-diwas-page :where(.fc-score-val,.fc-front-text,.fc-back-date,.fc-back-month,.fc-back-context,.mcq-question,.mcq-option,.mcq-explanation){
  color:#f3f6f5 !important;
}

.uk-diwas-page .fc-front-text,
.uk-diwas-page .mcq-question{
  font-family:'Noto Serif Devanagari',serif !important;
  font-size:clamp(19px,3vw,24px) !important;
  line-height:1.55 !important;
}

.uk-diwas-page :where(.flip-card-front,.flip-card-back,.mcq-question-box,.mcq-option){
  border-color:rgba(225,235,232,.18) !important;
  background:#20252a !important;
}

.uk-diwas-page :where(.fc-reveal-btn,.mcq-next-btn,.fc-restart-btn,.mcq-restart){
  background:#5cc7b2 !important;
  color:#111315 !important;
  box-shadow:none !important;
}

.uk-diwas-page .mcq-option{
  min-height:48px;
  font-family:'Noto Sans Devanagari',Hind,system-ui,sans-serif !important;
  font-size:15px !important;
  line-height:1.5 !important;
}

@media(max-width:640px){
  .uk-postal-page .sticky-nav{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:
      "title tools"
      "links links";
    gap:6px 10px !important;
    overflow:visible !important;
    padding:6px 10px 7px !important;
  }

  .uk-postal-page .sticky-nav .nav-title{
    grid-area:title;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .uk-postal-page .sticky-nav .nav-links{
    grid-area:links;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .uk-postal-page .sticky-nav .nav-links::-webkit-scrollbar{display:none;}

  .uk-postal-page .sticky-nav > .uk-shared-tools{
    grid-area:tools;
    margin-left:0;
  }
}

/* Final layout corrections for the five completed Uttarakhand readers. */
.uk-gorkha-page .hero,
.uk-rajya-aandolan-page .hero{
  box-sizing:border-box !important;
  width:100% !important;
  margin-top:0 !important;
  margin-bottom:56px !important;
  padding:clamp(30px,3vw,46px) !important;
  border:1px solid var(--rule,var(--line,var(--uk-line))) !important;
  border-radius:8px !important;
}

.uk-gorkha-page .hero :where(.hero-kicker,h1,.hero-lead),
.uk-rajya-aandolan-page .hero :where(.hero-eyebrow,h1,.hero-desc){
  margin-top:0 !important;
}

.uk-gorkha-page .hero h1,
.uk-rajya-aandolan-page .hero h1{
  margin-bottom:18px !important;
  line-height:1.24 !important;
}

.uk-gorkha-page .hero-lead,
.uk-rajya-aandolan-page .hero-desc{
  max-width:68ch !important;
  margin-bottom:0 !important;
  font-size:1rem !important;
  line-height:1.8 !important;
}

.uk-gorkha-page .hero-chips,
.uk-rajya-aandolan-page .hero-stats{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px !important;
  margin-top:28px !important;
}

.uk-gorkha-page .hero .chip,
.uk-rajya-aandolan-page .hero .stat-pill{
  box-sizing:border-box;
  width:100%;
  min-width:0;
  min-height:58px;
  margin:0;
}

.uk-gorkha-page .uk-study-footer,
.uk-rajya-aandolan-page .uk-study-footer,
.uk-forest-page .uk-study-footer{
  background:var(--uk-paper-2) !important;
  color:var(--uk-soft) !important;
  border-color:var(--uk-accent) !important;
}

.uk-gorkha-page .uk-study-footer :where(h2,h3),
.uk-rajya-aandolan-page .uk-study-footer :where(h2,h3),
.uk-forest-page .uk-study-footer :where(h2,h3){
  color:var(--uk-ink) !important;
}

.uk-gorkha-page .uk-study-footer a,
.uk-rajya-aandolan-page .uk-study-footer a,
.uk-forest-page .uk-study-footer a{
  color:var(--uk-soft) !important;
}

/* UKFOREST's footer is outside #layout, so it must reserve the fixed sidebar. */
.uk-forest-page .uk-study-footer{
  box-sizing:border-box;
  width:calc(100% - 270px) !important;
  margin-left:270px !important;
}

/* Postal recall uses the same calm paper surfaces as the study cards. */
.uk-postal-page .recall-card{
  min-height:280px;
}

.uk-postal-page #recall-section{
  scroll-margin-top:64px;
}

.uk-postal-page .recall-face,
.uk-postal-page .recall-face.front,
.uk-postal-page .recall-face.back,
.uk-postal-page #focus-overlay .recall-face.front,
.uk-postal-page #focus-overlay .recall-face.back{
  padding:clamp(24px,4vw,36px) !important;
  border:1px solid var(--uk-line) !important;
  border-radius:8px !important;
  background:var(--uk-card) !important;
  color:var(--uk-ink) !important;
  box-shadow:var(--uk-shadow) !important;
}

.uk-postal-page .recall-face.front{
  border-top:3px solid var(--uk-accent) !important;
}

.uk-postal-page :where(.recall-question,.recall-answer-date,.recall-answer-title){
  color:var(--uk-ink) !important;
}

.uk-postal-page .recall-question{
  max-width:30ch;
  font-size:clamp(19px,3vw,24px) !important;
  line-height:1.55 !important;
}

.uk-postal-page :where(.recall-face-label,.recall-answer-hint,.recall-tap-hint),
.uk-postal-page .front .recall-face-label,
.uk-postal-page .front .recall-tap-hint,
.uk-postal-page .back .recall-face-label,
.uk-postal-page .back .recall-tap-hint{
  color:var(--uk-soft) !important;
}

.uk-postal-page .recall-face-label{
  margin-bottom:16px;
  font-size:11px !important;
  letter-spacing:.05em !important;
}

.uk-postal-page .recall-tap-hint{
  margin-top:22px;
  font-size:12px !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.uk-postal-page .recall-cat-badge{
  border:1px solid var(--uk-line) !important;
  background:var(--uk-paper-2) !important;
  color:var(--uk-soft) !important;
}

@media(max-width:900px){
  .uk-gorkha-page .hero-chips,
  .uk-rajya-aandolan-page .hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .uk-forest-page .uk-study-footer{
    width:100% !important;
    margin-left:0 !important;
  }
}

@media(max-width:480px){
  .uk-gorkha-page #main,
  .uk-rajya-aandolan-page #main-content{
    padding:18px 12px 72px !important;
  }

  .uk-gorkha-page .hero,
  .uk-rajya-aandolan-page .hero{
    margin-bottom:34px !important;
    padding:24px 16px !important;
    border-radius:8px !important;
  }

  .uk-gorkha-page .hero h1,
  .uk-rajya-aandolan-page .hero h1{
    font-size:clamp(26px,8vw,31px) !important;
  }

  .uk-gorkha-page .hero-chips,
  .uk-rajya-aandolan-page .hero-stats{
    grid-template-columns:1fr;
  }

  .uk-gorkha-page .hero .chip,
  .uk-rajya-aandolan-page .hero .stat-pill{
    min-height:54px;
  }

  .uk-postal-page .recall-card{
    min-height:250px;
  }

  .uk-postal-page #recall-section{
    scroll-margin-top:96px;
  }

  .uk-postal-page .recall-face,
  .uk-postal-page .recall-face.front,
  .uk-postal-page .recall-face.back{
    padding:22px 16px !important;
  }
}

/* Gorkha: legacy micro-labels were designed below a readable study size. */
.uk-gorkha-page :where(.hero-kicker,.sec-eye,.sb-label,.sb-prog-lbl){
  font-size:12.5px !important;
  line-height:1.5 !important;
  letter-spacing:.05em !important;
}

.uk-gorkha-page :where(.mstr-btn,.modal-open-btn,.st-toolbar button,.st-toolbar span){
  font-size:13px !important;
  line-height:1.45 !important;
}

.uk-gorkha-page :where(.rev-title,.section table th,.st-tbl th){
  font-size:13.5px !important;
  line-height:1.5 !important;
  letter-spacing:0 !important;
}

.uk-gorkha-page .section :where(
  [style*="font-size:9px"],
  [style*="font-size:9.5px"],
  [style*="font-size:10px"],
  [style*="font-size:10.5px"],
  [style*="font-size:11px"],
  [style*="font-size:11.5px"]
){
  font-size:12.5px !important;
  line-height:1.5 !important;
}

@media(max-width:480px){
  .uk-gorkha-page .tb-badge{
    font-size:10.5px !important;
  }
}

/* Forest: compact study typography for narrow phones without shrinking desktop. */
@media(max-width:640px){
  .uk-forest-page{
    --fs-2xs:.75rem !important;
    --fs-xs:.8125rem !important;
    --fs-sm:.875rem !important;
    --fs-base:.9375rem !important;
    --fs-md:1rem !important;
    --fs-lg:1.0625rem !important;
    --fs-xl:1.125rem !important;
    --fs-2xl:1.25rem !important;
    --fs-3xl:1.625rem !important;
    --fs-display:2.5rem !important;
    line-height:1.68 !important;
  }

  .uk-forest-page .hero h1{
    font-size:26px !important;
  }
}

/* Postal recall: keep advanced controls available without front-loading them. */
.uk-postal-page .recall-section-inner{
  max-width:700px;
  padding-bottom:52px;
  overflow:hidden;
  border:1px solid var(--uk-line);
  border-radius:8px;
  box-shadow:var(--uk-shadow);
}

.uk-postal-page .recall-controls-panel{
  padding:16px 18px 13px;
  border-bottom:1px solid var(--uk-line);
  background:var(--uk-paper-2);
}

.uk-postal-page .recall-primary-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.uk-postal-page .recall-controls-panel .recall-mode-bar{
  display:inline-flex;
  flex-wrap:nowrap;
  justify-content:flex-start;
  gap:3px;
  margin:0;
  padding:3px;
  border:1px solid var(--uk-line);
  border-radius:8px;
  background:var(--uk-card);
}

.uk-postal-page .recall-controls-panel .recall-mode-btn{
  min-height:36px;
  padding:7px 12px;
  border:0 !important;
  border-radius:6px !important;
  background:transparent !important;
  color:var(--uk-soft) !important;
  box-shadow:none !important;
  font-size:13px !important;
  white-space:nowrap;
}

.uk-postal-page .recall-controls-panel .recall-mode-btn.active{
  background:color-mix(in srgb,var(--uk-accent) 12%,var(--uk-card)) !important;
  color:var(--uk-ink) !important;
}

.uk-postal-page .recall-utility-controls{
  display:flex;
  align-items:center;
  gap:7px;
}

.uk-postal-page .recall-cat-select-wrap{
  display:flex;
  align-items:center;
  gap:7px;
  min-height:42px;
  padding:0 9px 0 11px;
  border:1px solid var(--uk-line);
  border-radius:7px;
  background:var(--uk-card);
  color:var(--uk-faint);
  font:600 12px/1.3 'Noto Sans Devanagari',Hind,system-ui,sans-serif;
}

.uk-postal-page .recall-cat-select-wrap select{
  min-width:112px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--uk-ink);
  font:700 13px/1.3 'Noto Sans Devanagari',Hind,system-ui,sans-serif;
  cursor:pointer;
}

.uk-postal-page .focus-toggle-btn{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  min-width:42px;
  margin:0;
  padding:0;
  border:1px solid var(--uk-line) !important;
  border-radius:7px !important;
  background:var(--uk-card) !important;
  color:var(--uk-ink) !important;
  box-shadow:none !important;
  font-size:18px;
  transform:none !important;
}

.uk-postal-page .focus-toggle-btn:hover{
  border-color:var(--uk-accent) !important;
  color:var(--uk-accent) !important;
}

.uk-postal-page .recall-status-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:13px;
}

.uk-postal-page .recall-controls-panel .recall-scorebar{
  flex-wrap:nowrap;
  justify-content:flex-start;
  gap:10px;
  margin:0;
}

.uk-postal-page .recall-controls-panel .score-pill,
html[data-theme="dark"] .uk-postal-page .recall-controls-panel .score-pill{
  padding:0 !important;
  border:0;
  background:transparent !important;
  color:var(--uk-soft) !important;
  font-size:12px;
  white-space:nowrap;
}

.uk-postal-page .recall-controls-panel .recall-progress{
  display:grid;
  grid-template-columns:auto minmax(72px,110px);
  align-items:center;
  gap:8px;
  min-width:168px;
  margin:0;
  text-align:left;
}

.uk-postal-page .recall-controls-panel .recall-progress-text{
  margin:0;
  color:var(--uk-faint);
  font-size:11px;
  letter-spacing:0;
  white-space:nowrap;
}

.uk-postal-page .recall-controls-panel .recall-progress-bar{
  height:4px;
  background:var(--uk-line-soft);
}

.uk-postal-page .recall-controls-panel .recall-progress-fill{
  height:4px;
  background:var(--uk-accent);
}

.uk-postal-page .recall-controls-panel .streak-badge{
  min-height:0;
  margin:8px 0 0;
}

@media(max-width:640px){
  .uk-postal-page .recall-section-inner{
    width:calc(100% - 24px);
    padding-bottom:36px;
  }

  .uk-postal-page .recall-controls-panel{
    padding:12px;
  }

  .uk-postal-page .recall-primary-controls{
    align-items:stretch;
    flex-direction:column;
    gap:8px;
  }

  .uk-postal-page .recall-controls-panel .recall-mode-bar{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }

  .uk-postal-page .recall-controls-panel .recall-mode-btn{
    min-width:0;
    padding-inline:7px;
    font-size:12px !important;
  }

  .uk-postal-page .recall-utility-controls{
    justify-content:space-between;
  }

  .uk-postal-page .recall-cat-select-wrap{
    flex:1;
  }

  .uk-postal-page .recall-cat-select-wrap select{
    flex:1;
    min-width:0;
  }

  .uk-postal-page .recall-status-row{
    gap:9px;
    margin-top:11px;
  }

  .uk-postal-page .recall-controls-panel .recall-scorebar{
    gap:7px;
  }

  .uk-postal-page .recall-controls-panel .score-pill{
    font-size:11px;
  }

  .uk-postal-page .recall-controls-panel .recall-progress{
    grid-template-columns:1fr;
    gap:3px;
    min-width:74px;
  }
}

@media(prefers-reduced-motion:reduce){
  body.uk-page *,
  body.uk-page *::before,
  body.uk-page *::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}
