/* Sunny — shared identity. Assets are original; Anek is licensed under OFL.txt. */
@font-face{font-family:"Anek Latin";src:url("fonts/AnekLatin.woff2") format("woff2");font-weight:100 800;font-stretch:75% 125%;font-style:normal;font-display:swap}
@font-face{font-family:"Anek Malayalam";src:url("fonts/AnekMalayalam.woff2") format("woff2");font-weight:100 800;font-stretch:75% 125%;font-style:normal;font-display:swap}
/* Subset: Devanagari block, ZWJ/ZWNJ, rupee, quotes, dashes, ellipsis, NBSP, dotted circle, basic Latin; weight 400-700, no width axis. */
@font-face{font-family:"Anek Devanagari";src:url("fonts/AnekDevanagari.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
/* @languages:start (generated by scripts/build_language_assets.py from poti/languages.py; edit that) */
@font-face{font-family:"Anek Tamil";src:url("fonts/AnekTamil.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Anek Telugu";src:url("fonts/AnekTelugu.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Anek Kannada";src:url("fonts/AnekKannada.woff2") format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
html[lang="hi"]{--sans-ml:"Anek Devanagari","Anek Latin",system-ui,sans-serif}
html[lang="ta"]{--sans-ml:"Anek Tamil","Anek Latin",system-ui,sans-serif}
html[lang="te"]{--sans-ml:"Anek Telugu","Anek Latin",system-ui,sans-serif}
html[lang="kn"]{--sans-ml:"Anek Kannada","Anek Latin",system-ui,sans-serif}
html[lang="mr"]{--sans-ml:"Anek Devanagari","Anek Latin",system-ui,sans-serif}
/* @languages:end */
:root{
  color-scheme:light;
  --rice:#FAF7F0;--jamun:#352638;--marigold:#E9B44C;--stone:#E8E3DA;
  --muted:#6D636C;--success:#35634D;--error:#A13832;
  --surface:#F4EEE3;--haldi:#F6DC9A;--kamal:#EEA7A6;
  --radius-control:999px;--radius-card:22px;--radius-panel:28px;
  --lift:0 1px 2px rgb(53 38 56/.05),0 10px 28px -14px rgb(53 38 56/.22);
  /* Semantic soft fills and the warning tone (member page v6, 1 Oct). The founder picks the final palette on 2 Oct:
     change these, not the rules that use them. */
  --card:#FFFFFF;--success-soft:#E3EFE7;--warn:#9A5B12;--warn-soft:#FDF1DC;--haldi-soft:#FCF1D3;
  --sans:"Anek Latin","Anek Malayalam",system-ui,sans-serif;
  --sans-ml:"Anek Malayalam","Anek Latin",system-ui,sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
/* The page colour sits on html too, so nothing flashes white between pages or past the edges. */
html{background:var(--rice);-webkit-tap-highlight-color:transparent}
body{margin:0;background:var(--rice);color:var(--jamun);font:18px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button{min-height:48px;border:1.5px solid var(--jamun);border-radius:var(--radius-control);padding:10px 20px;background:var(--jamun);color:var(--rice);font-weight:600;cursor:pointer;line-height:1.3}
/* Touch like a native app (29 Sep): no double-tap zoom wait, no text selection or callout from a press,
   and a small press-in (scale .96, 100 ms; transform and opacity only). Hover rings only where there is
   a real pointer: on a phone a tap leaves :hover stuck and drew a marigold line round the button. */
button,a.button,summary,[role="button"]{touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:transform .1s ease,opacity .1s ease}
/* The press-in is the family app's (body.sunny-app): the elder page keeps its own big-yes press. */
@media (prefers-reduced-motion:no-preference){.sunny-app :is(button,a.button,[role="button"]):active:not(:disabled):not(.big-yes){transform:scale(.96)}}
@media (hover:hover){button:hover:not(:disabled){box-shadow:0 0 0 2px var(--marigold)}}
button:disabled{cursor:wait;opacity:.65}
button.alt{background:transparent;color:var(--jamun)}
a{color:var(--jamun);text-underline-offset:4px}
a.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1.5px solid var(--jamun);border-radius:var(--radius-control);padding:10px 20px;background:var(--jamun);color:var(--rice);font-weight:600;text-decoration:none;line-height:1.3}
@media (hover:hover){a.button:hover{box-shadow:0 0 0 2px var(--marigold)}}
a.button.alt{background:transparent;color:var(--jamun)}
@media (hover:hover){a:hover{text-decoration-thickness:2px}}
:focus-visible{outline:3px solid var(--jamun);outline-offset:4px}
/* Focus moved by code (headings, main, notices with tabindex=-1, for screen readers) draws no box; pointer
   focus draws none either. Keyboard focus on real controls keeps the ring above. */
:focus:not(:focus-visible),[tabindex="-1"]:focus{outline:none}
input,textarea{min-width:0;min-height:48px;border:1.5px solid var(--muted);border-radius:var(--radius-card);padding:12px 16px;background:var(--rice);color:var(--jamun)}
[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.skip-link{position:absolute;left:16px;top:-90px;z-index:10;padding:12px 20px;background:var(--jamun);color:var(--rice);border-radius:12px}
.skip-link:focus{top:12px}
.brand-lockup{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex:none;min-height:48px}
.brand-lockup .wm{width:116px;height:auto;display:block}
.eyebrow{font-size:13px;letter-spacing:.13em;text-transform:uppercase;font-weight:650;color:var(--muted);margin:0 0 12px}
.muted,.meta{color:var(--muted);font-size:15px}
.vine{height:48px;background:var(--haldi);border-radius:var(--radius-panel);pointer-events:none}
.notice{padding:16px 20px;border:1px solid var(--stone);border-radius:var(--radius-card);font-size:16px;background:var(--surface)}
.notice.error{border-color:var(--error);color:var(--error)}
.notice.success{border-color:var(--success);color:var(--success)}
.notice button{margin:10px 12px 0 0}
.notice p{margin:0}
.empty{padding:22px 24px;border:1px dashed var(--muted);border-radius:var(--radius-card);color:var(--muted);font-size:16px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Page-to-page fades inside the apps and the site (cross-document view transitions; ignored where unsupported). */
@media (prefers-reduced-motion: no-preference) { @view-transition { navigation: auto; } }
