/* SAMARTH front end — design tokens and layout.
   Palette: deep signal green ground, gold accent, amber for "watch out".
   Phone-first; widens to a 720px column on desktop. */
:root{
  --green:#0B4A30; --green-deep:#062E1E; --green-soft:#E8F2EC; --green-line:#CFE3D6;
  --gold:#F0D49A; --amber-bg:#FFF4D6; --amber:#7A5200; --amber-ink:#B45309;
  --ink:#152019; --ink-2:#4A5A50; --ink-3:#6B7A70; --line:#D9DED8;
  --bg:#F6F7F4; --card:#FFFFFF; --bubble:#DCE9E1;
  --r:14px; --font:'Noto Sans','Noto Sans Devanagari',system-ui,sans-serif;
}
:root:not([data-theme="light"]){ @media (prefers-color-scheme: dark){
  --ink:#ECF1EC; --ink-2:#B9C9BF; --ink-3:#8FA398; --line:#2A3A32; --bg:#0F1A15; --card:#162420; --bubble:#1E3A2E; --green-soft:#1C3A2C; --green-line:#8FC9A8;
}}
:root[data-theme="dark"]{ --ink:#ECF1EC; --ink-2:#B9C9BF; --ink-3:#8FA398; --line:#2A3A32; --bg:#0F1A15; --card:#162420; --bubble:#1E3A2E; --green-soft:#1C3A2C; --green-line:#8FC9A8; }
/* dark mode: the green-on-green dots, chips and icon buttons need a light stroke to stay visible */
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .dot,:root:not([data-theme="light"]) .ib,:root:not([data-theme="light"]) .srcrow .chip,:root:not([data-theme="light"]) .md .cite{color:#8FC9A8} :root:not([data-theme="light"]) .door svg,:root:not([data-theme="light"]) .coming svg,:root:not([data-theme="light"]) .soon svg,:root:not([data-theme="light"]) .door .c,:root:not([data-theme="light"]) .coming b,:root:not([data-theme="light"]) .soon b,:root:not([data-theme="light"]) .soon-cta,:root:not([data-theme="light"]) .md h3,:root:not([data-theme="light"]) .chk.ok,:root:not([data-theme="light"]) a{color:#8FC9A8} :root:not([data-theme="light"]) .dot.warn{color:#F0B429} :root:not([data-theme="light"]) .stars button[aria-pressed="true"],:root:not([data-theme="light"]) .dot.fill{background:#8FC9A8;color:#0F1A15} :root:not([data-theme="light"]) .askbox{background:#162420} :root:not([data-theme="light"]) .askbox textarea{color:#ECF1EC} :root:not([data-theme="light"]) .askbox textarea::placeholder{color:#8FA398} :root:not([data-theme="light"]) .md blockquote{background:#1C3A2C} :root:not([data-theme="light"]) .md mark{background:#4A3A10;color:#F0D49A} :root:not([data-theme="light"]) .srcrow .chip.teach{background:#3A2F10;color:#F0D49A} }

*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%}
body{min-height:100vh;display:flex;flex-direction:column}
a{color:var(--green)} button{font:inherit;cursor:pointer}
.sr,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip:focus{position:fixed;left:8px;top:8px;width:auto;height:auto;clip:auto;background:#fff;padding:8px;z-index:50}
svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ib{width:44px;height:44px;border:0;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:var(--green-soft);color:var(--green);flex:none}
.ib svg{width:20px;height:20px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:12.5px;font-weight:600;text-decoration:none}
.chip svg{width:15px;height:15px}
.btn{min-height:44px;border:0;border-radius:12px;background:var(--green);color:#fff;font-weight:800;font-size:14px;padding:0 18px;letter-spacing:.02em}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px 14px}
.label{font-size:12px;font-weight:700;color:var(--ink-2);letter-spacing:.06em;margin:0 0 8px}
.label .en{font-weight:600}

/* ---------- hero ---------- */
.hero{background:var(--green);color:#fff;padding:14px 20px 18px;display:flex;flex-direction:column;gap:14px}
.hero-top{display:flex;align-items:center;justify-content:space-between}
.badge{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.langwrap{position:relative}
.langbtn{display:flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.16);color:#fff;font-size:12.5px;font-weight:700}
.langbtn svg{width:14px;height:14px}
.langmenu{position:absolute;right:0;top:40px;margin:0;padding:6px;list-style:none;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.18);z-index:20;min-width:170px}
.langmenu li{padding:10px 12px;border-radius:8px;font-size:14px;cursor:pointer}
.langmenu li:hover,.langmenu li[aria-selected="true"]{background:var(--green-soft)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff}
.mark{width:64px;height:64px;flex:none;stroke:none}
.lamp-on{animation:glow 2.4s ease-in-out infinite}
@keyframes glow{0%,100%{opacity:1}50%{opacity:.55}}
.wordmark{display:flex;flex-direction:column;line-height:1}
.wordmark .en{font-size:36px;font-weight:800;letter-spacing:.06em}
.wordmark .hi{font-size:22px;font-weight:700;color:var(--gold);margin-top:2px}
.promise{display:flex;flex-direction:column;gap:5px}
.expansion{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--green-line)}
.tag-hi{font-size:17px;font-weight:700;line-height:1.35}
.tag-en{font-size:13.5px;line-height:1.4;color:var(--green-line)}
html[data-lang="en"] .tag-hi,html[data-lang="hi"] .tag-en{display:none}
html[data-lang="en"] .tag-en{font-size:17px;font-weight:700;color:#fff}
.askbox{display:flex;align-items:flex-end;gap:8px;background:#fff;border-radius:16px;padding:8px 8px 8px 14px;color:var(--ink);margin:0}
.askbox textarea{flex:1;min-width:0;border:0;outline:none;resize:none;background:transparent;font:inherit;font-size:14px;line-height:1.5;color:#152019;padding:10px 0;max-height:160px}
.askbox textarea::placeholder{color:#78858A}
.askbox .send{background:var(--green);color:#fff}
.askbox .send:disabled{opacity:.45}
.askbox .mic.on{background:#E04B3F;color:#fff}
.hint{font-size:11px;color:var(--green-line);min-height:14px;margin-top:-6px}
.indian-ai{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--green-line);flex-wrap:wrap}
.ia-label{font-weight:700;color:var(--gold)}
.pill{border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:2px 8px;font-weight:700;color:#fff}
.ia-right{margin-left:auto}
body.chatting .hero{padding-bottom:12px;gap:8px}
body.chatting .promise,body.chatting .indian-ai,body.chatting .hint{display:none}
body.chatting .mark{width:40px;height:40px}
body.chatting .wordmark .en{font-size:22px}body.chatting .wordmark .hi{font-size:14px}
.composer{position:sticky;bottom:0;z-index:5;padding:10px 14px 14px;background:var(--bg);border-top:1px solid var(--line);margin-top:auto}
.composer[hidden]{display:none}
.composer .askbox{border:1.5px solid var(--green);background:var(--card)}
.composer .askbox textarea{color:var(--ink)}
@media(min-width:720px){.composer{padding-left:calc(50% - 340px);padding-right:calc(50% - 340px)}}

/* ---------- main ---------- */
main{flex:1;padding:16px 16px 0;display:flex;flex-direction:column;gap:14px;width:100%;max-width:720px;margin:0 auto}
.hero,.foot{width:100%}
@media(min-width:720px){.hero{padding-left:calc(50% - 340px);padding-right:calc(50% - 340px)}.foot{padding-left:calc(50% - 340px);padding-right:calc(50% - 340px)}}
.view[hidden]{display:none}
.how{display:flex;flex-direction:column;gap:10px}
.chain{display:flex;margin:0;padding:0;list-style:none;align-items:flex-start}
.chain li{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;position:relative}
.chain li+li::before{content:"›";position:absolute;left:-5px;top:7px;color:#9FB3A8;font-size:13px}
.dot{width:30px;height:30px;border-radius:999px;background:var(--green-soft);color:var(--green);display:flex;align-items:center;justify-content:center}
.dot svg{width:16px;height:16px}
.dot.warn{background:var(--amber-bg);color:var(--amber)}
.dot.fill{background:var(--green);color:#fff}
.chain .t{font-size:11px;font-weight:700;line-height:1.2}
.chain .t small{display:block;font-weight:500;color:var(--ink-2);font-size:10.5px}
.note{margin:0;font-size:11px;color:var(--ink-2);line-height:1.4}
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.door{text-align:left;border:1px solid var(--line);border-radius:var(--r);background:var(--card);padding:12px 10px;display:flex;flex-direction:column;gap:5px;color:var(--ink)}
.door svg{width:22px;height:22px;color:var(--green)}
.door .n{font-size:14px;font-weight:700;line-height:1.2}
.door .n small{display:block;font-size:12px;font-weight:600;color:var(--ink-2)}
.door .s{font-size:10.5px;line-height:1.35;color:var(--ink-2)}
.door .c{font-size:11px;font-weight:700;color:var(--green)}
.coming{display:block;font-size:11.5px;color:var(--ink-2);margin:0;line-height:1.5}
.coming svg{vertical-align:-2px;margin-right:4px}.coming b{white-space:nowrap}
.coming svg{width:14px;height:14px;color:var(--green)}.coming b{color:var(--green)}
.samples{display:flex;flex-direction:column;gap:8px}
.sample{text-align:left;border:1px dashed #B9C4BC;border-radius:12px;background:transparent;padding:10px 12px;font-size:13px;color:var(--ink);line-height:1.4}
.soon{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-2);text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:8px 14px;line-height:1.3;margin-bottom:6px}
.soon svg{width:14px;height:14px;color:var(--green);flex:none}
.soon-t{flex:1;min-width:0;line-height:1.4}.soon b{color:var(--green)}
.soon-cta{color:var(--green);font-weight:700}

/* ---------- chat ---------- */
.chatbar{display:flex;gap:8px;justify-content:space-between}
.viewbar{display:flex;align-items:center;gap:10px}.viewbar h2{margin:0;font-size:16px}
.col{display:flex;flex-direction:column;gap:12px}
.msg.u{align-self:flex-end;max-width:86%;background:var(--bubble);border-radius:16px 16px 4px 16px;padding:10px 14px;font-size:14px;line-height:1.45;white-space:pre-wrap}
.msg.a{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}
.searched{font-size:11.5px;color:var(--ink-2);display:flex;gap:6px;align-items:center}
.status{font-size:12px;color:var(--ink-2);display:flex;gap:8px;align-items:center}
.spin{width:14px;height:14px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;animation:sp .8s linear infinite;flex:none}
@keyframes sp{to{transform:rotate(360deg)}}
.md{font-size:14.5px;line-height:1.55}
.md p{margin:0 0 8px}.md p:last-child{margin:0}
.md h1,.md h2,.md h3{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin:10px 0 4px}
.md h3.warn{color:var(--amber-ink)}
.md blockquote{margin:0 0 8px;background:var(--green-soft);border-radius:10px;padding:10px 12px;font-style:italic;font-size:13px}
.md ul,.md ol{margin:0 0 8px;padding-left:20px}
.md table{border-collapse:collapse;font-size:13px;margin:0 0 8px;display:block;overflow-x:auto}
.md td,.md th{border:1px solid var(--line);padding:4px 8px;text-align:left}
.md code{font-family:ui-monospace,monospace;font-size:12.5px;background:var(--green-soft);padding:0 4px;border-radius:4px}
.md .cite{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:11px;font-weight:700;margin:0 2px;vertical-align:1px;cursor:pointer;border:0}
.md mark{background:var(--amber-bg);color:inherit}
.caret{display:inline-block;width:2px;height:1em;background:var(--green);vertical-align:-2px;animation:glow 1s steps(2) infinite}
.srcrow{display:flex;flex-wrap:wrap;gap:6px}
.srcrow .chip{min-height:30px;font-size:12px;background:var(--green-soft);border-color:transparent;color:var(--green);padding:0 10px}
.srcrow .chip.teach{background:var(--amber-bg);color:var(--amber)}
.srcrow .chip .n{font-weight:800}
.chk{font-size:11.5px}.chk.ok{color:var(--green)}.chk.warn{color:var(--amber-ink)}
.acts{display:flex;gap:6px;align-items:center;border-top:1px solid var(--line);padding-top:10px}
.acts .ib{width:40px;height:40px;border:1px solid var(--line);background:var(--card);color:var(--green)}
.acts .ib svg{width:18px;height:18px}
.acts .meta{font-size:11px;color:var(--ink-3);margin-left:auto}
.rate{display:flex;flex-direction:column;gap:6px}
.rate .q{font-size:13px;font-weight:600}
.stars{display:flex;gap:4px}
.stars button{width:38px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font-size:12px;font-weight:700}
.stars button[aria-pressed="true"]{background:var(--green);color:#fff;border-color:var(--green)}
.rate .in{font-size:12.5px}
.rate .row{display:flex;gap:6px}
.rate .btn{min-height:36px;font-size:12.5px;padding:0 12px}
.rate .scale,.rate .st{font-size:10.5px;color:var(--ink-3)}
.fups{display:flex;flex-direction:column;gap:6px}
.fups button{text-align:left;border:1px dashed #B9C4BC;border-radius:12px;background:transparent;padding:8px 12px;font-size:12.5px;color:var(--ink)}
.err{font-size:12.5px;color:#B3261E;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* ---------- feedback ---------- */
.fbform{display:flex;flex-direction:column;gap:10px}
.poll{display:flex;flex-direction:column;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.poll .q{font-size:15px;font-weight:700;line-height:1.35}
.poll .sub{font-size:12px;color:var(--ink-2)}
.pollgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pollgrid button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:14px;font-weight:600;padding:0 12px;text-align:left}
.pollgrid button[aria-checked="true"]{border:2px solid var(--green);background:var(--green-soft);color:var(--green);font-weight:700}
.pollgrid button.other{border-style:dashed;color:var(--ink-2)}
.fl{font-size:11px;font-weight:700;color:var(--ink-2);margin-top:4px}
.in{font:inherit;font-size:13.5px;border:1px solid var(--line);border-radius:10px;padding:9px 10px;background:var(--bg);color:var(--ink);width:100%;min-height:40px;line-height:1.5}
textarea.in{resize:vertical}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.two>div{display:flex;flex-direction:column}
.st{font-size:12px;min-height:16px}.st.ok{color:var(--green)}.st.bad{color:#B3261E}
.privacy{font-size:10.5px;color:var(--ink-3);margin:0;line-height:1.4}

/* ---------- footer ---------- */
/* ch30 redesign (dev/redesign_footer.py by abhinav1508): single-line warm contact strip */
.foot{position:relative;z-index:10;width:100%;padding:8px 20px;min-height:36px;margin-top:auto;text-align:center;
  background:linear-gradient(180deg,#FFF8EF 0%,#FCE2C5 100%);border-top:1px solid #FDBA74;box-shadow:0 -1px 4px rgba(249,115,22,.04)}
.foot-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:center;text-align:center}
.foot-contact-note{margin:0;padding:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:5px;flex-wrap:wrap;
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,sans-serif;font-size:12px;font-weight:400;color:#5C4A3E;line-height:1.45;letter-spacing:.01em}
.foot-contact-note strong,.foot-contact-note #c-name{color:#7C2D12;font-weight:600;letter-spacing:.015em}
.foot-contact-note #c-desig{color:#786A5F;font-weight:400}
.foot-contact-note a,.foot-contact-note #c-mail{color:#8C3A16;text-decoration:underline;text-underline-offset:2.5px;text-decoration-color:rgba(140,58,22,.35);font-weight:450;transition:color .15s ease,text-decoration-color .15s ease}
.foot-contact-note a:hover,.foot-contact-note #c-mail:hover{color:#602008;text-decoration-color:#602008}
.disc{font-size:10.5px;color:#786A5F;margin-top:2px}
:root[data-theme="dark"] .foot{background:linear-gradient(180deg,#18120A 0%,#120C06 100%);border-top:1px solid rgba(249,115,22,.28);box-shadow:0 -1px 8px rgba(0,0,0,.4)}
:root[data-theme="dark"] .foot-contact-note{color:#E2D3C4}
:root[data-theme="dark"] .foot-contact-note strong,:root[data-theme="dark"] .foot-contact-note #c-name{color:#FDBA74}
:root[data-theme="dark"] .foot-contact-note #c-desig,:root[data-theme="dark"] .disc{color:#A39384}
:root[data-theme="dark"] .foot-contact-note a,:root[data-theme="dark"] .foot-contact-note #c-mail{color:#FDBA74;text-decoration-color:rgba(253,186,116,.4)}
:root[data-theme="dark"] .foot-contact-note a:hover,:root[data-theme="dark"] .foot-contact-note #c-mail:hover{color:#FED7AA;text-decoration-color:#FED7AA}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .foot{background:linear-gradient(180deg,#18120A 0%,#120C06 100%);border-top:1px solid rgba(249,115,22,.28);box-shadow:0 -1px 8px rgba(0,0,0,.4)}
  :root:not([data-theme="light"]) .foot-contact-note{color:#E2D3C4}
  :root:not([data-theme="light"]) .foot-contact-note strong,:root:not([data-theme="light"]) .foot-contact-note #c-name{color:#FDBA74}
  :root:not([data-theme="light"]) .foot-contact-note #c-desig,:root:not([data-theme="light"]) .disc{color:#A39384}
  :root:not([data-theme="light"]) .foot-contact-note a,:root:not([data-theme="light"]) .foot-contact-note #c-mail{color:#FDBA74;text-decoration-color:rgba(253,186,116,.4)}
}
@media (max-width:640px){.foot{padding:7px 14px}.foot-contact-note{font-size:11.5px;gap:4px;line-height:1.4}}

/* ---------- drawer, toast ---------- */
.scrim{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:.2s;z-index:30}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);background:var(--card);color:var(--ink);transform:translateX(100%);transition:.25s;z-index:31;display:flex;flex-direction:column;box-shadow:-10px 0 30px rgba(0,0,0,.15)}
.drawer.open{transform:none}
.dh{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}
.dl{overflow:auto;padding:10px 14px;display:flex;flex-direction:column;gap:10px}
.src{border:1px solid var(--line);border-radius:12px;padding:10px;font-size:12.5px}
.src.hl{border-color:var(--green);background:var(--green-soft)}
.src .h{display:flex;gap:8px;align-items:flex-start}
.src .t{font-weight:700}.src .s{color:var(--ink-2);font-size:11.5px}
.src .x{margin-top:6px;white-space:pre-wrap;line-height:1.45}
.tag{font-size:10px;border:1px solid var(--line);border-radius:999px;padding:0 6px;margin-left:6px;vertical-align:middle}
.tag.gov{border-color:var(--green);color:var(--green)}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:#152019;color:#fff;padding:10px 16px;border-radius:999px;font-size:13px;opacity:0;transition:.25s;z-index:40;pointer-events:none;max-width:90vw}
.toast.on{opacity:1;transform:translate(-50%,0)}
