/* Layout: one narrow column like a phone app, sticky header, tabs fixed at the bottom. */
/* Litehouse app identity (Engineering and Quality Standard v1.2, app addendum of 2 November 2026): soft blue background
   gradient, pale blue surfaces, primary blue hero cards, orange for the one main action, clay geometry, Poppins.
   Every token and the contrast of every pair is listed in DESIGN_SYSTEM.md. One light theme: a dark version needs the
   brand owner's approval first. */
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poppins-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}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poppins-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/poppins-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:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/poppins-devanagari-500-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}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/poppins-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/poppins-latin-500-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:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/poppins-devanagari-700-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}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/poppins-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/poppins-latin-700-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{
  /* Approved app colours */
  --c-primary:#78AAF4;--c-primary-deep:#3B6FD0;--c-accent:#F4A066;--c-accent-deep:#E8854A;--c-success:#7FDDB6;--c-highlight:#B8A5F2;
  --c-alert:#F6A3C3;--c-alert-text:#D9597F;--c-bg-top:#DCE7F8;--c-bg-bottom:#AFC8F1;--c-surface:#EEF3FC;--c-raised:#FFFFFF;
  --c-text:#34425E;--c-text-2:#6B7A99;--c-divider:#D3DEF2;--c-navy:#223455;
  /* Roles used by the components below (contrast in DESIGN_SYSTEM.md) */
  --bg:var(--c-bg-top);--surface:var(--c-surface);--raised:var(--c-raised);--ink:var(--c-text);--muted:var(--c-text);--line:var(--c-divider);--edge:var(--c-text-2);
  --brand:var(--c-primary-deep);--brand-ink:#FFFFFF;--accent:var(--c-navy);--link:var(--c-navy);--focus:var(--c-navy);
  --cta:var(--c-accent);--cta-ink:var(--c-text);--cta-pressed:var(--c-accent-deep);--cta-pressed-ink:var(--c-navy);
  --note:var(--c-raised);--danger:var(--c-navy);--danger-line:var(--c-alert-text);
  --ok-bg:var(--c-success);--ok-fg:var(--c-text);--warn-bg:var(--c-alert);--warn-fg:var(--c-text);--info-bg:var(--c-primary);--info-fg:var(--c-navy);
  --terra-bg:var(--c-highlight);--terra-fg:var(--c-text);--crit-bg:var(--c-alert);--crit-fg:var(--c-text);--off-bg:var(--c-divider);--off-fg:var(--c-text);
  /* Clay geometry */
  --r-card:28px;--r-pill:999px;--r-field:16px;
  --clay:0 18px 36px rgba(72,104,170,.28),inset 0 10px 18px rgba(255,255,255,.75),inset 0 -10px 18px rgba(30,50,110,.10);
  --clay-calm:0 6px 16px rgba(72,104,170,.16),inset 0 1px 0 rgba(255,255,255,.8);
  --hero-fill:linear-gradient(160deg,#78AAF4,#6BA1F2);
  --t-fast:200ms;
  --font:Poppins,"Noto Sans Devanagari","Segoe UI",Arial,sans-serif;
  color-scheme:light}
*{box-sizing:border-box;margin:0;padding:0}
html{background:linear-gradient(180deg,var(--c-bg-top),var(--c-bg-bottom)) fixed;min-height:100%}
body{background:transparent;color:var(--ink);font:400 16px/1.5 var(--font)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
#app{max-width:520px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}
.bar{display:flex;align-items:center;gap:10px;padding-block:12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));border-bottom:1px solid var(--line);font-weight:700;font-size:17px;position:sticky;top:env(safe-area-inset-top,0px);background:var(--bg);z-index:2}
.bar img{width:28px;height:28px;border-radius:8px}
main{flex:1;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
.pad{padding-block:16px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:12px}
h1{font-size:24px;line-height:1.25;font-weight:700;text-wrap:balance}h2{font-size:13px;margin-top:6px;text-transform:uppercase;letter-spacing:.06em;font-weight:500;color:var(--muted)}
p{max-width:65ch}
.muted{color:var(--muted);font-size:14px;line-height:20px}
.card{background:var(--surface);border:1px solid rgba(255,255,255,.7);border-radius:var(--r-card);padding:16px 18px;display:flex;flex-direction:column;gap:6px;min-width:0;box-shadow:var(--clay-calm)}
.card.note{background:var(--note);border:1.5px solid var(--c-primary-deep)}
.card.hero{background:var(--hero-fill);color:var(--c-navy);box-shadow:var(--clay);border:0}.card.hero .muted{color:var(--c-navy)}
blockquote.sent{margin:4px 0;padding:8px 10px;border-left:3px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}.answer{white-space:pre-wrap;overflow-wrap:anywhere}
.sum{margin:4px 0;display:grid;grid-template-columns:minmax(6.5em,max-content) 1fr;gap:6px 12px}.sum dt{font-weight:500}.sum dd{margin:0;color:var(--muted)}
@media (max-width:360px){.sum{grid-template-columns:1fr}.sum dd{margin-bottom:4px}}
.card.warnbox{border-color:var(--danger-line)}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-width:0}
.card.row{flex-direction:row}
.gap{justify-content:flex-start;gap:8px}.wrap{flex-wrap:wrap}
.dim{color:var(--ink)}.dim .muted{color:var(--ink)}
.card.done{background:var(--raised);box-shadow:none;border:1.5px solid var(--line)}
.logo{width:56px;height:56px;border-radius:14px}
button{font:inherit;cursor:pointer}
button:focus-visible,input:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.btn{background:var(--brand);color:var(--brand-ink);border:0;border-radius:var(--r-pill);padding:12px 22px;font-weight:500;font-size:16px;box-shadow:var(--clay-calm);transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}
.btn:hover{box-shadow:var(--clay)}.btn:active{transform:translateY(1px);box-shadow:none}
.btn:disabled,.small:disabled{background:var(--c-divider);color:var(--c-text);box-shadow:none;cursor:not-allowed;opacity:1}
.btn[aria-busy="true"]{cursor:progress}
.btn.cta{background:var(--cta);color:var(--cta-ink)}.btn.cta:active{background:var(--cta-pressed);color:var(--cta-pressed-ink)}
.btn.cta:disabled{background:var(--c-divider);color:var(--c-text)}
.btn.ghost{background:var(--raised);color:var(--c-navy);border:1.5px solid var(--c-navy);box-shadow:none}
.btn.danger{background:var(--raised);color:var(--danger);border:2px solid var(--danger-line);box-shadow:none}
.small{background:var(--brand);color:var(--brand-ink);border:0;border-radius:var(--r-pill);padding:7px 14px;font-size:14px;font-weight:500}
.small.ghost{background:var(--raised);color:var(--c-navy);border:1.5px solid var(--c-navy)}
.link{background:none;border:0;color:var(--link);font-size:14px;text-decoration:underline;text-underline-offset:3px;text-align:left}
.pill{display:inline-block;font-size:11.5px;font-weight:500;padding:2px 9px;border-radius:var(--r-pill);background:var(--ok-bg);color:var(--ok-fg);white-space:nowrap}
.pill.warn{background:var(--warn-bg);color:var(--warn-fg)}.pill.blue{background:var(--info-bg);color:var(--info-fg)}.pill.red{background:var(--crit-bg);color:var(--crit-fg)}.pill.terra{background:var(--terra-bg);color:var(--terra-fg)}.pill.off{background:var(--off-bg);color:var(--off-fg)}
.sw{appearance:none;width:48px;height:28px;border-radius:var(--r-pill);background:var(--raised);border:1.5px solid var(--edge);position:relative;flex:none;transition:background var(--t-fast)}
.sw::after{content:"";position:absolute;top:2.5px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--edge);transition:left var(--t-fast),background var(--t-fast)}
.sw:checked{background:var(--brand);border-color:var(--brand)}.sw:checked::after{left:22px;background:#FFFFFF}.sw:disabled{opacity:.5}
.sw:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;gap:4px;border-top:1px solid var(--line);background:var(--raised);box-shadow:0 -6px 18px rgba(72,104,170,.12);max-width:520px;margin:0 auto;padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(6px,env(safe-area-inset-left,0px));padding-right:max(6px,env(safe-area-inset-right,0px))}
.tab{flex:1;background:none;border:0;margin:6px 0;padding:8px 4px;font-size:14px;font-weight:500;color:var(--ink);border-radius:var(--r-pill)}
.tab.on{background:var(--c-primary);color:var(--c-navy);font-weight:700}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.btn:active{transform:none}}
/* Ease of use: larger tap targets everywhere, a larger-text switch, a plain summary line, scam warnings. */
.small,.link,.tab,.btn{min-height:44px}
.small{padding:10px 14px;font-size:14px}
.muted{font-size:14.5px}
.pill{font-size:12.5px;padding:3px 10px}
.lead{font-size:17px;font-weight:700}
.textsize{margin-left:auto;background:var(--raised);color:var(--c-navy);border:1.5px solid var(--c-navy);border-radius:var(--r-pill);padding:6px 12px;font-size:14px;font-weight:500;min-height:40px}
.card.scam{border:0;border-left:6px solid var(--c-alert-text);background:var(--crit-bg);color:var(--crit-fg)}.card.scam .muted{color:var(--crit-fg)}
html.big body{font-size:19px}
html.big .muted{font-size:17.5px}html.big h1{font-size:27px}html.big .lead{font-size:20px}
html.big .btn,html.big .small,html.big .tab{font-size:18px;min-height:52px}
html.big .pill{font-size:15px}html.big .bar{font-size:20px}
.textsize{min-height:44px}
.link{font-size:15px}html.big .link{font-size:18px}
.why summary{color:var(--accent);font-size:14.5px;cursor:pointer;min-height:44px;display:flex;align-items:center}
html.big .why summary{font-size:17.5px}
.card.scam .why{display:contents}.card.scam .why summary{display:none}
.acctrow{flex-wrap:wrap;gap:8px;padding-block:4px;border-top:1px solid var(--line)}
.email{font-weight:500;overflow-wrap:anywhere;min-width:0;flex:1}
.acct{font-size:13px}
.moved{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;border-radius:var(--r-field);background:var(--info-bg);color:var(--info-fg)}
.moved .muted{color:var(--info-fg)}
.calbtn{display:inline-flex;align-items:center;text-decoration:none;min-height:44px}
.small.ghost.danger{color:var(--danger);border-color:var(--danger-line)}
.card a{color:var(--accent)}
.loading{padding:24px}
.seg{gap:8px}
.pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.pill.ai{background:transparent;color:var(--info-fg);border:1px dashed var(--info-fg)}
.quote{display:block;margin-top:4px;font-style:italic}
.field{font:inherit;font-size:18px;padding:10px 14px;border:1.5px solid var(--edge);border-radius:var(--r-field);background:var(--raised);color:var(--ink);min-height:48px;width:100%;min-width:0}
.field:focus{outline:3px solid var(--focus);outline-offset:1px}
.field.code{letter-spacing:.4em;font-variant-numeric:tabular-nums;text-align:center}
.card.row a{color:var(--accent)}
/* Review fixes, 25 Oct 2026: language choice, Help, Not right?, FAQ. */
.barbtns{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.barbtns .textsize{margin-left:0;padding:6px 10px}
.langs{display:flex;gap:6px;flex-wrap:wrap}
.wrong summary{color:var(--muted);font-size:13.5px;cursor:pointer;min-height:44px;display:flex;align-items:center}
html.big .wrong summary{font-size:16px}
.faq summary{cursor:pointer;min-height:44px;display:flex;align-items:center;list-style-position:outside}
.faq span{color:var(--ink)}
/* Schemes tab: questions in a two-column grid on wider screens, camera overlay, money summary, print report. */
.wgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 12px;margin-top:8px}
.wq{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--muted);min-width:0}
.wq span{color:var(--ink)}
.wq select{font:inherit;font-size:16px;padding:10px 12px;border:1.5px solid var(--edge);border-radius:var(--r-field);background:var(--raised);color:var(--ink);min-height:44px;width:100%}
.wq select:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
details.card > summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
.card.scheme ul{padding-left:20px;margin:4px 0 8px}.card.scheme p{margin:6px 0}
.kept{max-width:100%;border-radius:var(--r-field);border:1px solid var(--line)}
dl.sum{display:grid;grid-template-columns:minmax(0,1fr);gap:2px 12px;margin:6px 0}
dl.sum dt{color:var(--muted);font-size:14px}dl.sum dd{margin:0 0 6px;font-weight:400}
.cam{position:fixed;inset:0;z-index:50;background:#000;display:flex;flex-direction:column;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.cam-view{flex:1;min-height:0;width:100%;object-fit:contain;background:#000}
.cam-status{color:#fff;text-align:center;min-height:24px;padding:6px 16px}
.cam-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:12px 16px 18px}
.cam-bar .btn{background:#FFFFFF;color:#223455}.cam-bar .btn.ghost{background:transparent;color:#FFFFFF;border-color:#FFFFFF}
.tab{font-size:13.5px}
.print-only{display:none}
@media print{
  header.bar,nav.tabs{display:none!important}
  main > .pad > :not(.print-only){display:none!important}
  .print-only{display:block!important;color:#000;background:#fff;font-size:12pt}
  .report h1{font-size:18pt}.report h2{font-size:13pt;margin-top:14pt;text-transform:none;letter-spacing:0;color:#000}
  .report table{border-collapse:collapse;width:100%}.report td{border-top:1px solid #bbb;padding:4pt 6pt;vertical-align:top}
  .report .rs{border-top:1px solid #bbb;padding:6pt 0;break-inside:avoid}.report img{max-width:60%;margin-top:4pt}
  .small-print{font-size:9pt;margin-top:12pt}
  html,body{background:#fff}
}
a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-sizing:border-box}
.btn.wa{width:100%;margin:6px 0}
.card a.btn,a.btn{color:var(--brand-ink)}
.card a.btn.ghost,a.btn.ghost{color:var(--brand)}
.intro{max-width:640px;margin:0 auto;padding:24px 16px;line-height:1.5}.intro h2{margin:0 0 12px}.intro a{color:var(--link)}
/* Daily summary, value line, memory screen */
.card.daily{background:var(--hero-fill);color:var(--c-navy);box-shadow:var(--clay);border:0}.card.daily .muted,.card.daily a{color:var(--c-navy)}
.value{font-size:14px;color:var(--ok-fg);background:var(--ok-bg);border-radius:var(--r-field);padding:8px 14px}
select.field{min-height:44px;padding:4px 10px;border:1.5px solid var(--edge);border-radius:var(--r-field);background:var(--raised);color:var(--ink);font:inherit}
select:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
select.field{width:auto}
/* Trackers */
.fld{display:flex;flex-direction:column;gap:4px;min-width:0}
textarea.field{min-height:96px;font-size:15px;resize:vertical}
.fld input[type=time]{margin-bottom:6px}
a.link{display:inline-flex;align-items:center}
a.btn.cta,.card a.btn.cta{color:var(--cta-ink)}
.card a.btn.ghost,a.btn.ghost{color:var(--c-navy)}

/* Peer test fixes, 2 November 2026 */
html{scroll-padding-top:72px;scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}
main a:not(.btn):not(.small){color:var(--link);padding-block:3px}
.why summary,.wrong summary,.faq summary{text-decoration:underline;text-underline-offset:3px}
.why summary::after,.wrong summary::after{content:"";width:7px;height:7px;margin-left:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
details[open] > summary::after{transform:rotate(-135deg) translateY(-2px)}
.tab{min-width:0;overflow-wrap:anywhere;line-height:1.2}
html.big .tab{font-size:15px;padding:8px 2px}
html.big .muted{line-height:1.45}
@media (max-width:370px){.tab{font-size:12.5px}html.big .tab{font-size:13.5px}}
