/* Theme overrides for Oat UI. Only CSS variables + a few layout rules — see docs/ui-oat/00-UI-DESIGN-PRINCIPLES.md */

@font-face {
  font-family: "Noto Sans Devanagari";
  font-style: normal; font-weight: 400; font-display: swap;
  src: url(/fonts/noto-sans-devanagari-devanagari-400-normal.woff2) format("woff2");
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
@font-face {
  font-family: "Noto Sans Devanagari";
  font-style: normal; font-weight: 600; font-display: swap;
  src: url(/fonts/noto-sans-devanagari-devanagari-600-normal.woff2) format("woff2");
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}
@font-face {
  font-family: "Noto Sans Devanagari";
  font-style: normal; font-weight: 400; font-display: swap;
  src: url(/fonts/noto-sans-devanagari-latin-400-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Noto Sans Devanagari";
  font-style: normal; font-weight: 600; font-display: swap;
  src: url(/fonts/noto-sans-devanagari-latin-600-normal.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* Never system-ui alone: Nirmala (Windows) breaks conjuncts like "प्रश्न". */
  --font-sans: "Noto Sans Devanagari", system-ui, sans-serif;
  --primary: light-dark(#0f766e, #5eead4);
  --primary-foreground: light-dark(#ffffff, #042f2e);
  --radius-medium: 0.375rem;
  --radius-large: 0.625rem;
}

body {
  max-width: 34rem;
  margin: 0 auto;
  padding: 0 var(--space-4);
  font-variant-numeric: tabular-nums;
}

.topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: var(--space-4) 0; border-bottom: 1px solid var(--border); margin-bottom: var(--space-6);
}
.topbar .brand { font-weight: 600; text-decoration: none; color: var(--foreground); }
.topbar .brand small { color: var(--muted-foreground); font-weight: 400; }
.foot { margin: var(--space-12) 0 var(--space-6); color: var(--muted-foreground); }

/* verification checklist: label left, status right */
dl.checks { display: grid; grid-template-columns: 1fr auto; gap: var(--space-2) var(--space-4); margin: var(--space-4) 0; }
dl.checks dt { color: var(--muted-foreground); }
dl.checks dd { margin: 0; text-align: right; }

.sub { display: block; color: var(--muted-foreground); font-size: var(--text-7); }

/* long legal text: scroll inside the card, keep the accept button in view */
.terms { max-height: 50vh; overflow-y: auto; font-size: var(--text-7); line-height: 1.6; }
.terms { margin-bottom: var(--space-4); }

/* consent rows: checkbox left, wrapped text right */
label:has(> input[type=checkbox]) { display: flex; gap: var(--space-3); align-items: flex-start; margin: var(--space-4) 0; }
label:has(> input[type=checkbox]) > input { margin-top: 0.3rem; flex: none; }

fieldset { border: none; padding: 0; margin: var(--space-4) 0; }
fieldset.card { border: 1px solid var(--border); padding: var(--space-4); }
legend { font-weight: 600; }
label:has(> input[type=radio]) { display: flex; gap: var(--space-3); align-items: flex-start; margin: var(--space-3) 0; }
