:root{--navy:#093a76;--green:#11753c;--soft:#f4faf6;--ink:#17344f;--muted:#4c6275;--line:#d6e3df;--gold:#fff8e9;--shadow:0 12px 30px #143d5410;--radius:22px;font-family:Inter,system-ui,-apple-system,"Segoe UI","Nirmala UI","Noto Sans Tamil",Arial,sans-serif;color:var(--ink);font-size:16px;line-height:1.6}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:linear-gradient(120deg,#f5faf7,#edf5f8)}button,input,select,textarea{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button{min-height:44px}button:disabled{cursor:not-allowed;opacity:.56}a{color:var(--navy);text-underline-offset:3px}:is(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #a26b00;outline-offset:4px}input,select{accent-color:var(--green)}[hidden]{display:none!important}p{margin:0 0 .8em}h1,h2,h3{line-height:1.35;color:var(--navy)}h2{font-size:1.5rem;margin:0}h3{font-size:1.12rem;margin:0 0 .7em}button{line-height:1.4}img{max-width:100%;display:block}.app{max-width:1080px;margin:auto;background:#fff;box-shadow:0 0 60px #0b3c550f;padding-bottom:100px;overflow:clip}.skip-link{position:fixed;top:-100px;left:12px;background:#fff;padding:12px;z-index:250}.skip-link:focus{top:8px}.topbar{position:sticky;top:0;z-index:70;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;background:#fffffff5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;min-width:0}.seal{width:46px;height:46px;border-radius:13px;background:#e9f5e9;display:grid;place-items:center;flex-shrink:0;font-size:26px}.brand b{font-size:1rem;display:block}.brand small{display:block;color:var(--muted);font-size:.75rem;line-height:1.55}.language{border:1px solid #cddcd5;border-radius:12px;padding:9px 14px;color:var(--navy);background:#fff;font-weight:700;flex-shrink:0}.hero{background:linear-gradient(110deg,#fff 30%,#eef8ff 73%,#edf9ef)}.heroInner{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:30px;padding:40px 30px 24px}.eyebrow{font-size:.82rem;font-weight:700;color:var(--green)}.hero h1{font-size:clamp(42px,6vw,64px);line-height:1.02;letter-spacing:-2px;margin:0;color:var(--green)}.hero h1 span{display:block;color:var(--navy)}.tamilTitle{font-weight:750;font-size:1.4rem;color:var(--navy);margin:.65em 0}.heroCopy h2{font-size:1.2rem;margin:.7em 0}.heroDescription{color:var(--muted)}.heroActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.primary,.secondary,.ghost,.danger{border-radius:12px;padding:11px 17px;font-weight:650;text-align:center}.primary{border:1px solid var(--green);background:var(--green);color:#fff;box-shadow:0 8px 20px #11753c18}.primary:hover{background:#0a5f2e}.secondary,.ghost{background:#fff;color:var(--navy);border:1px solid #bacfc3}.secondary:hover,.ghost:hover{background:var(--soft)}.ghost{font-size:.85rem;flex-shrink:0}.danger{color:#9b2525;background:#fff;border:1px solid #bf7777}.photoStage{margin:0;position:relative;align-self:center}.portrait{aspect-ratio:1.4;overflow:hidden;border-radius:34px;border:7px solid #fff;box-shadow:0 18px 40px #0c436026;background:#eaf5ee}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top}.cmBadge{position:relative;background:var(--navy);color:#fff;margin:-12px 14px 0;padding:13px 16px;border-radius:15px;box-shadow:0 8px 24px #093a7620}.cmBadge b{font-size:1rem;display:block;color:#fff}.cmBadge small{font-size:.75rem;line-height:1.65;display:block;color:#fff;margin-top:5px}.quote{margin:10px 28px 0;padding:18px 0 24px;border-top:1px solid #cde1d1;color:#405a50;font-size:.9rem}.quote p{margin:0 0 5px}.quote cite{font-size:.78rem;font-style:normal;font-weight:650}.concept-notice{font-size:.8rem;padding:14px 28px;background:#eef4fa;color:#234869;border-bottom:1px solid #dde7ec;margin:0}.quickGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:24px 28px 0}.q{border:1px solid var(--line);background:#fff;border-radius:18px;padding:16px 10px;color:var(--navy);box-shadow:var(--shadow)}.q span{display:block;font-size:30px;margin:0 auto 8px}.q b{font-size:.85rem;font-weight:650}.q:hover{background:var(--soft);border-color:#90bd9c}.notice{margin:24px 28px 0;display:flex;gap:13px;padding:18px;background:var(--gold);border:1px solid #e6d6ac;border-radius:17px;color:#624a12}.notice>span{font-size:22px}.notice strong{font-size:.95rem}.notice p{font-size:.86rem;margin:6px 0 0}.storage-banner{margin:20px 28px 0;padding:15px;border-radius:12px;background:#fff4eb;border:1px solid #c68839;color:#744813;font-size:.9rem}.section{padding:34px 28px 0;scroll-margin-top:15px}.head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.head p{font-size:.9rem;color:var(--muted);margin:7px 0 0}.cuisineStrip{display:flex;gap:9px;overflow-x:auto;padding:4px 4px 12px;scrollbar-width:thin}.cuisineChip{white-space:nowrap;padding:10px 14px;border-radius:999px;border:1px solid #c8dbce;background:#f7fbf8;color:#225b3b;font-size:.88rem;font-weight:650}.cuisineChip.on{background:var(--green);border-color:var(--green);color:#fff}.card{border:1px solid var(--line);border-radius:var(--radius);padding:24px;background:#fff;box-shadow:var(--shadow)}.local-note{font-size:.86rem;line-height:1.65;background:#f0f6fc;border-left:3px solid #5c86b0;padding:12px 16px;margin-bottom:24px}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.field label{display:block;font-size:.92rem;font-weight:650;margin-bottom:6px}.field input,.field select{width:100%;min-height:48px;border-radius:11px;border:1px solid #b8cac3;background:#fbfdfc;padding:10px;color:var(--ink);font-size:1rem;min-width:0}.field [aria-invalid=true]{border:2px solid #a53030;background:#fff8f8}.help{display:block;font-size:.8rem;color:var(--muted);margin:7px 0;line-height:1.65}.field-error{display:block;color:#a22626;font-size:.86rem;font-weight:550;margin-top:5px}.field-error:empty{display:none}.risk-fields{min-width:0;border:1px solid var(--line);border-radius:15px;padding:14px;margin:24px 0}.risk-fields legend{font-weight:650;font-size:1rem;padding:0 7px}.checkRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check{display:flex;align-items:flex-start;gap:10px;min-height:52px;background:#f7faf8;border-radius:10px;padding:12px;cursor:pointer;font-size:.88rem}.check input{flex-shrink:0;width:20px;height:20px;margin:2px 0 0}.generate{width:100%;min-height:52px;font-size:1rem}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:22px 0 14px}.metric{border:1px solid #dce8df;background:#f5faf6;border-radius:13px;padding:13px}.metric span{font-size:.78rem;line-height:1.55;display:block;color:var(--muted)}.metric b{display:block;font-size:1.12rem;margin-top:8px;overflow-wrap:anywhere}.validation{background:#f4f7f9;border:1px solid #cddbe3;border-radius:15px;padding:17px;font-size:.92rem}.validation h3{font-size:1rem;color:inherit;margin:0 0 8px}.validation p:last-child{margin:0}.validation.pass{background:#edf8f0;border-color:#97caa6;color:#215335}.validation.warn{background:#fff8e8;border-color:#d6b876;color:#684d14}.validation.error{background:#fff3f3;border-color:#d69191;color:#8b2020}.check-failures{padding-left:20px;margin-bottom:0;font-size:.86rem}.check-failures li{margin-top:10px}.save-state{font-size:.8rem;color:var(--muted);margin:12px 0}.actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.actions button{font-size:.88rem}.wa{background:#eff9f2;color:#155d30}.dayTabs{display:flex;gap:8px;overflow:auto;margin-top:24px;padding:4px 4px 12px;scrollbar-width:thin}.dayTabs:empty{display:none}.dayTab{border:1px solid #c7d4dc;border-radius:12px;padding:8px 12px;background:#fff;color:var(--navy);min-width:100px;font-size:.85rem;white-space:nowrap}.dayTab.on{background:var(--navy);color:#fff;border-color:var(--navy)}.dayCard{border:1px solid var(--line);border-radius:17px;overflow:hidden}.day-heading{padding:16px;background:#f2f7f4;border-bottom:1px solid var(--line)}.day-heading h3{margin:0 0 5px;font-size:1.05rem}.day-heading p{margin:0;font-size:.85rem}.meal{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:20px;border-bottom:1px solid #e1ebe5}.meal:last-child{border:0}.mealIcon{font-size:27px}.meal h4{margin:0 0 8px;font-size:1rem;line-height:1.5;color:var(--navy)}.meal p{font-size:.88rem;margin:5px 0;color:var(--muted)}.meal .portion-note{font-size:.8rem}.meal button{font-size:.85rem;margin-top:8px;border:1px solid #bed9c5;border-radius:10px;padding:8px 12px;background:#f1f8f3;color:#125c2e}.nutrition-line{line-height:1.75}.recipeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.recipe{display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:18px;padding:18px;background:#fff;box-shadow:var(--shadow);min-width:0}.recipe .ri{font-size:32px}.recipe h3{font-size:1rem;line-height:1.55;margin:8px 0}.recipe p{font-size:.82rem;color:var(--muted)}.recipe .tags{display:flex;gap:5px;flex-wrap:wrap;margin:auto 0 12px}.tags span{font-size:.73rem;border-radius:6px;background:#edf5f0;color:#28553b;padding:4px 7px}.recipe button{margin-top:auto;font-size:.84rem}.tracker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.habit{display:flex;align-items:center;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:16px;padding:18px 10px;text-align:center}.habit>span{font-size:30px}.habit b{font-size:.9rem}.habit button{margin-top:auto;width:100%;border:1px solid #b6d1bf;border-radius:10px;padding:9px;background:#f3f8f4;color:#125c2e;font-size:.85rem}.habit button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}progress{display:block;width:100%;height:14px;margin-top:18px;accent-color:var(--green)}#habitCount,.date-label{font-size:.84rem;color:var(--muted);margin-top:8px}.challengeGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.challenge{border:1px solid #d6e2dc;border-top:5px solid var(--green);border-radius:18px;padding:18px;background:#f8fbf9;display:flex;flex-direction:column;align-items:flex-start}.challenge:nth-child(2n){border-top-color:#196391;background:#f4f9fc}.challenge:nth-child(3n){border-top-color:#ac7319;background:#fffbf3}.challenge .challenge-icon{font-size:29px}.challenge h3{font-size:1.05rem;margin:7px 0}.challenge p{font-size:.85rem;color:var(--muted)}.challenge button{margin-top:auto;font-size:.84rem;max-width:100%}.menu-links{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.privacy,.sources{margin-bottom:20px;font-size:.92rem}.sources ul{padding-left:22px}.sources li{margin:10px 0}.review-owner{border-left:3px solid #b48630;padding:8px 13px;background:var(--gold)}footer{padding:20px 28px;color:var(--muted);text-align:center;font-size:.82rem}footer p{margin:4px 0}.bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1080px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fffffff8;border-top:1px solid #d4e3d9;box-shadow:0 -8px 25px #14374d09;z-index:80;padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.nav{background:none;border:0;color:#496274;padding:5px 2px;border-radius:10px;min-height:60px}.nav>span{display:block;font-size:24px;line-height:1.1;margin-bottom:5px}.nav b{font-size:.78rem;line-height:1.45;display:block;font-weight:600}.nav.active{background:#edf7f0;color:#0e6831}.toast{position:fixed;left:50%;bottom:110px;transform:translateX(-50%);background:#102e49;color:#fff;border-radius:13px;padding:12px 20px;font-size:.9rem;opacity:0;pointer-events:none;z-index:220;width:max-content;max-width:calc(100% - 24px);text-align:center;box-shadow:var(--shadow)}.toast.show{opacity:1}dialog{color:var(--ink);border:1px solid #ccdbd3;border-radius:22px;padding:24px;width:min(760px,calc(100% - 24px));max-height:88dvh;overflow:auto;box-shadow:0 20px 80px #102e4940}dialog::backdrop{background:#051825a8}.sheetHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.sheetHead h2{font-size:1.3rem}.sheetHead p{font-size:.9rem;color:var(--muted);margin:8px 0 0}.close{border:1px solid #cfdbd4;width:44px;height:44px;flex-shrink:0;border-radius:50%;font-size:26px;background:#f2f6f3;color:var(--navy)}.detailGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.detail{padding:16px;border:1px solid var(--line);border-radius:13px;font-size:.9rem}.detail h3{font-size:1rem}.detail ul,.detail ol{padding-left:20px;margin:0}.detail li{margin:8px 0}.detail.wide{grid-column:1/-1}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:18px}.share-text{width:100%;min-height:230px;padding:14px;border:1px solid #bccfc2;border-radius:12px;resize:vertical;font-size:.94rem;line-height:1.7;background:#fafcfb;color:var(--ink)}#printSheet{display:none}
@media(max-width:800px){.heroInner{gap:20px;padding:30px 24px}.hero h1{font-size:46px}.tamilTitle{font-size:1.1rem}.recipeGrid,.challengeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.heroActions{flex-direction:column;align-items:stretch}.actions{grid-template-columns:1fr}.detailGrid{grid-template-columns:1fr}}
@media(max-width:560px){.topbar{padding:12px;gap:8px}.brand{gap:7px}.seal{width:32px;height:38px;font-size:21px}.brand b{font-size:.85rem}.brand small{font-size:.7rem}.language{padding:8px 10px;font-size:.85rem}.heroInner{grid-template-columns:1fr;gap:26px;padding:28px 18px 20px}.hero h1{font-size:52px}.tamilTitle{font-size:1.2rem}.heroDescription{font-size:1rem}.heroActions{flex-direction:row}.heroActions button{flex:1 1 150px}.photoStage{width:100%;max-width:350px;justify-self:center}.portrait{border-radius:26px}.quote{margin:0 18px;padding:18px 0}.concept-notice{padding:14px 18px}.quickGrid{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 16px 0;gap:10px}.notice{margin:20px 16px 0;padding:14px}.storage-banner{margin:20px 16px 0}.section{padding:28px 16px 0}.head{flex-wrap:wrap;gap:12px}.head h2{font-size:1.35rem}.card{padding:17px}.form,.checkRow{grid-template-columns:1fr;gap:17px}.checkRow{gap:8px}.risk-fields{padding:10px}.tracker{grid-template-columns:repeat(2,minmax(0,1fr))}.recipeGrid,.challengeGrid{grid-template-columns:1fr}.recipe{padding:20px}.meal{grid-template-columns:1fr;padding:18px;gap:8px}.mealIcon{font-size:25px}.meal h4{font-size:1rem}.nav b{font-size:.68rem;overflow-wrap:anywhere}.bottom{padding-left:3px;padding-right:3px}.privacy,.sources{font-size:.9rem}.menu-links{display:grid;grid-template-columns:1fr;width:100%}.metrics{gap:8px}.metric{padding:10px}.metric b{font-size:1.02rem}dialog{padding:18px}.toast{bottom:115px}.app{padding-bottom:110px}html{scroll-padding-top:120px}}
@media screen{.help,.concept-notice,.notice p,.local-note,.recipe p,.save-state,.field-error,.head p,.meal p,.meal .portion-note,.check-failures,.detail,.challenge p{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{
  @page{size:A4;margin:12mm}
  :root{font-size:10pt;line-height:1.5;color:#17344f}body{background:#fff;margin:0}
  body>*{display:none!important}body>#printSheet{display:block!important;margin:0;padding:0;width:auto;background:#fff;color:#17344f}
  .print-page{break-after:page;page-break-after:always}.print-page:last-child{break-after:auto;page-break-after:auto}
  .print-header{border-bottom:2px solid #11753c;padding-bottom:4mm;margin-bottom:4mm}.print-header h1{font-size:18pt;margin:0;line-height:1.35}.print-header p{font-size:9pt;margin:2mm 0 0}
  .print-profile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm;margin:3mm 0}.print-profile>div{border:1px solid #d5e0d9;padding:2mm;border-radius:2mm;font-size:8.5pt}.print-profile small{display:block;font-size:8pt;color:#46596a}
  .print-summary{font-size:9pt;margin:3mm 0}.print-day-title{font-size:13pt;margin:3mm 0;color:#093a76}.print-total{font-size:9pt;padding:2mm;background:#f3f8f4;border:1px solid #cbded0}
  .print-meal{break-inside:avoid;border-bottom:1px solid #dae3dd;padding:3mm 0}.print-meal h3{font-size:10pt;line-height:1.5;margin:0 0 1mm}.print-meal p{font-size:9pt;line-height:1.55;margin:1mm 0}.print-note{border-top:1px solid #c6d8ca;font-size:8pt;line-height:1.6;margin-top:4mm;padding-top:3mm}.print-page-number{text-align:right;font-size:8pt;color:#46596a}
}
