/* =====================================================================
   KarmYog — Indian traditional theme (saffron · maroon · gold · cream)
   Loaded after m3.css. Structure comes from m3.css; this sets the look.
   ===================================================================== */
:root{
  --t-saffron:#c9a227; --t-saffron2:#e8c85a; --t-deep:#1a6640; --t-maroon:#0d3d21; --t-maroon2:#081f11; --t-gold:#c9a227; --t-gold2:#e8c85a;
  --t-cream:#fff9f0; --t-cream2:#fff2df; --t-sand:#fbe6c8; --t-ink:#2b1a12; --t-ink2:#6b4f3f; --t-line:#f0dcc0;
  --m-primary:#c2560a; --m-primary-d:#9a4308; --m-on-primary:#fff; --m-primary-c:#ffe3c8; --m-on-primary-c:#4a1b00;
  --m-secondary-c:#ffe7cc; --m-on-secondary-c:#5a2400; --m-tertiary:#7a1c1c; --m-tertiary-c:#f8e1dc; --m-on-tertiary-c:#4a0f0f; --m-amber:#e7a615;
  --m-bg:var(--t-cream); --m-sc-low:#fff4e6; --m-sc:#fdecd6; --m-sc-high:#fae3c6;
  --m-on-surface:var(--t-ink); --m-on-surface-v:var(--t-ink2); --m-outline:#c9a27c; --m-outline-v:#ecd2b0; --m-line:var(--t-line);
  --m-e1:0 1px 2px rgba(122,28,28,.08),0 2px 8px -2px rgba(122,28,28,.10); --m-e2:0 2px 4px rgba(122,28,28,.10),0 10px 24px -8px rgba(122,28,28,.22); --m-e3:0 8px 28px -6px rgba(92,17,17,.28);
  --mut:#8a6d5b; --strip:32px;
  --mandala-gold:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23f3c14b' stroke-opacity='0.9' stroke-width='1'%3E%3Ccircle cx='100' cy='100' r='96'/%3E%3Ccircle cx='100' cy='100' r='88'/%3E%3Ccircle cx='100' cy='100' r='62'/%3E%3Ccircle cx='100' cy='100' r='40'/%3E%3Ccircle cx='100' cy='100' r='20'/%3E%3Ccircle cx='100' cy='100' r='8'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(0.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(22.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(45.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(67.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(90.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(112.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(135.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(157.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(180.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(202.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(225.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(247.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(270.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(292.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(315.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(337.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(22.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(67.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(112.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(157.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(202.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(247.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(292.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(337.5 100 100)'/%3E%3Ccircle cx='192.0' cy='100.0' r='2.2'/%3E%3Ccircle cx='190.2' cy='117.9' r='2.2'/%3E%3Ccircle cx='185.0' cy='135.2' r='2.2'/%3E%3Ccircle cx='176.5' cy='151.1' r='2.2'/%3E%3Ccircle cx='165.1' cy='165.1' r='2.2'/%3E%3Ccircle cx='151.1' cy='176.5' r='2.2'/%3E%3Ccircle cx='135.2' cy='185.0' r='2.2'/%3E%3Ccircle cx='117.9' cy='190.2' r='2.2'/%3E%3Ccircle cx='100.0' cy='192.0' r='2.2'/%3E%3Ccircle cx='82.1' cy='190.2' r='2.2'/%3E%3Ccircle cx='64.8' cy='185.0' r='2.2'/%3E%3Ccircle cx='48.9' cy='176.5' r='2.2'/%3E%3Ccircle cx='34.9' cy='165.1' r='2.2'/%3E%3Ccircle cx='23.5' cy='151.1' r='2.2'/%3E%3Ccircle cx='15.0' cy='135.2' r='2.2'/%3E%3Ccircle cx='9.8' cy='117.9' r='2.2'/%3E%3Ccircle cx='8.0' cy='100.0' r='2.2'/%3E%3Ccircle cx='9.8' cy='82.1' r='2.2'/%3E%3Ccircle cx='15.0' cy='64.8' r='2.2'/%3E%3Ccircle cx='23.5' cy='48.9' r='2.2'/%3E%3Ccircle cx='34.9' cy='34.9' r='2.2'/%3E%3Ccircle cx='48.9' cy='23.5' r='2.2'/%3E%3Ccircle cx='64.8' cy='15.0' r='2.2'/%3E%3Ccircle cx='82.1' cy='9.8' r='2.2'/%3E%3Ccircle cx='100.0' cy='8.0' r='2.2'/%3E%3Ccircle cx='117.9' cy='9.8' r='2.2'/%3E%3Ccircle cx='135.2' cy='15.0' r='2.2'/%3E%3Ccircle cx='151.1' cy='23.5' r='2.2'/%3E%3Ccircle cx='165.1' cy='34.9' r='2.2'/%3E%3Ccircle cx='176.5' cy='48.9' r='2.2'/%3E%3Ccircle cx='185.0' cy='64.8' r='2.2'/%3E%3Ccircle cx='190.2' cy='82.1' r='2.2'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(0 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(30 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(60 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(90 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(120 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(150 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(180 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(210 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(240 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(270 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(300 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(330 100 100)'/%3E%3C/g%3E%3C/svg%3E"); --mandala-saff:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23e8710a' stroke-opacity='0.35' stroke-width='1'%3E%3Ccircle cx='100' cy='100' r='96'/%3E%3Ccircle cx='100' cy='100' r='88'/%3E%3Ccircle cx='100' cy='100' r='62'/%3E%3Ccircle cx='100' cy='100' r='40'/%3E%3Ccircle cx='100' cy='100' r='20'/%3E%3Ccircle cx='100' cy='100' r='8'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(0.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(22.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(45.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(67.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(90.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(112.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(135.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(157.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(180.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(202.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(225.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(247.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(270.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(292.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(315.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(337.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(22.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(67.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(112.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(157.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(202.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(247.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(292.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(337.5 100 100)'/%3E%3Ccircle cx='192.0' cy='100.0' r='2.2'/%3E%3Ccircle cx='190.2' cy='117.9' r='2.2'/%3E%3Ccircle cx='185.0' cy='135.2' r='2.2'/%3E%3Ccircle cx='176.5' cy='151.1' r='2.2'/%3E%3Ccircle cx='165.1' cy='165.1' r='2.2'/%3E%3Ccircle cx='151.1' cy='176.5' r='2.2'/%3E%3Ccircle cx='135.2' cy='185.0' r='2.2'/%3E%3Ccircle cx='117.9' cy='190.2' r='2.2'/%3E%3Ccircle cx='100.0' cy='192.0' r='2.2'/%3E%3Ccircle cx='82.1' cy='190.2' r='2.2'/%3E%3Ccircle cx='64.8' cy='185.0' r='2.2'/%3E%3Ccircle cx='48.9' cy='176.5' r='2.2'/%3E%3Ccircle cx='34.9' cy='165.1' r='2.2'/%3E%3Ccircle cx='23.5' cy='151.1' r='2.2'/%3E%3Ccircle cx='15.0' cy='135.2' r='2.2'/%3E%3Ccircle cx='9.8' cy='117.9' r='2.2'/%3E%3Ccircle cx='8.0' cy='100.0' r='2.2'/%3E%3Ccircle cx='9.8' cy='82.1' r='2.2'/%3E%3Ccircle cx='15.0' cy='64.8' r='2.2'/%3E%3Ccircle cx='23.5' cy='48.9' r='2.2'/%3E%3Ccircle cx='34.9' cy='34.9' r='2.2'/%3E%3Ccircle cx='48.9' cy='23.5' r='2.2'/%3E%3Ccircle cx='64.8' cy='15.0' r='2.2'/%3E%3Ccircle cx='82.1' cy='9.8' r='2.2'/%3E%3Ccircle cx='100.0' cy='8.0' r='2.2'/%3E%3Ccircle cx='117.9' cy='9.8' r='2.2'/%3E%3Ccircle cx='135.2' cy='15.0' r='2.2'/%3E%3Ccircle cx='151.1' cy='23.5' r='2.2'/%3E%3Ccircle cx='165.1' cy='34.9' r='2.2'/%3E%3Ccircle cx='176.5' cy='48.9' r='2.2'/%3E%3Ccircle cx='185.0' cy='64.8' r='2.2'/%3E%3Ccircle cx='190.2' cy='82.1' r='2.2'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(0 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(30 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(60 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(90 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(120 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(150 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(180 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(210 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(240 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(270 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(300 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(330 100 100)'/%3E%3C/g%3E%3C/svg%3E"); --mandala-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='0.5' stroke-width='1'%3E%3Ccircle cx='100' cy='100' r='96'/%3E%3Ccircle cx='100' cy='100' r='88'/%3E%3Ccircle cx='100' cy='100' r='62'/%3E%3Ccircle cx='100' cy='100' r='40'/%3E%3Ccircle cx='100' cy='100' r='20'/%3E%3Ccircle cx='100' cy='100' r='8'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(0.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(22.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(45.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(67.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(90.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(112.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(135.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(157.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(180.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(202.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(225.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(247.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(270.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(292.5 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(315.0 100 100)'/%3E%3Cellipse cx='100' cy='60' rx='9' ry='26' transform='rotate(337.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(22.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(67.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(112.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(157.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(202.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(247.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(292.5 100 100)'/%3E%3Cellipse cx='100' cy='78' rx='6' ry='15' transform='rotate(337.5 100 100)'/%3E%3Ccircle cx='192.0' cy='100.0' r='2.2'/%3E%3Ccircle cx='190.2' cy='117.9' r='2.2'/%3E%3Ccircle cx='185.0' cy='135.2' r='2.2'/%3E%3Ccircle cx='176.5' cy='151.1' r='2.2'/%3E%3Ccircle cx='165.1' cy='165.1' r='2.2'/%3E%3Ccircle cx='151.1' cy='176.5' r='2.2'/%3E%3Ccircle cx='135.2' cy='185.0' r='2.2'/%3E%3Ccircle cx='117.9' cy='190.2' r='2.2'/%3E%3Ccircle cx='100.0' cy='192.0' r='2.2'/%3E%3Ccircle cx='82.1' cy='190.2' r='2.2'/%3E%3Ccircle cx='64.8' cy='185.0' r='2.2'/%3E%3Ccircle cx='48.9' cy='176.5' r='2.2'/%3E%3Ccircle cx='34.9' cy='165.1' r='2.2'/%3E%3Ccircle cx='23.5' cy='151.1' r='2.2'/%3E%3Ccircle cx='15.0' cy='135.2' r='2.2'/%3E%3Ccircle cx='9.8' cy='117.9' r='2.2'/%3E%3Ccircle cx='8.0' cy='100.0' r='2.2'/%3E%3Ccircle cx='9.8' cy='82.1' r='2.2'/%3E%3Ccircle cx='15.0' cy='64.8' r='2.2'/%3E%3Ccircle cx='23.5' cy='48.9' r='2.2'/%3E%3Ccircle cx='34.9' cy='34.9' r='2.2'/%3E%3Ccircle cx='48.9' cy='23.5' r='2.2'/%3E%3Ccircle cx='64.8' cy='15.0' r='2.2'/%3E%3Ccircle cx='82.1' cy='9.8' r='2.2'/%3E%3Ccircle cx='100.0' cy='8.0' r='2.2'/%3E%3Ccircle cx='117.9' cy='9.8' r='2.2'/%3E%3Ccircle cx='135.2' cy='15.0' r='2.2'/%3E%3Ccircle cx='151.1' cy='23.5' r='2.2'/%3E%3Ccircle cx='165.1' cy='34.9' r='2.2'/%3E%3Ccircle cx='176.5' cy='48.9' r='2.2'/%3E%3Ccircle cx='185.0' cy='64.8' r='2.2'/%3E%3Ccircle cx='190.2' cy='82.1' r='2.2'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(0 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(30 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(60 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(90 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(120 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(150 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(180 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(210 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(240 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(270 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(300 100 100)'/%3E%3Cpath d='M100 4 L106 22 L100 36 L94 22 Z' transform='rotate(330 100 100)'/%3E%3C/g%3E%3C/svg%3E"); --t-border:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='8' viewBox='0 0 24 8'%3E%3Cpath d='M0 8 L6 1 L12 8 L18 1 L24 8' fill='none' stroke='%23f3c14b' stroke-width='1.4'/%3E%3Ccircle cx='12' cy='3' r='1.1' fill='%23f3c14b'/%3E%3C/svg%3E");
}
body,main{background:var(--t-cream)!important}
body{background-image:radial-gradient(circle at 0 0,rgba(232,113,10,.06),transparent 40%),radial-gradient(circle at 100% 100%,rgba(122,28,28,.05),transparent 40%)!important;background-attachment:fixed!important}
h1,h2,h3{color:var(--t-maroon)} a{color:var(--t-deep)}

/* ---------- header: maroon strip + saffron bar ---------- */
.tstrip{position:fixed;inset:0 0 auto 0;height:var(--strip);z-index:51;display:flex;align-items:center;justify-content:center;gap:.45rem;padding:0 1rem;
  background:var(--t-maroon);color:#ffe9c7;font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tstrip .ms{font-size:17px;color:var(--t-gold2)}
.topbar.appbar{top:var(--strip)!important;height:64px;background:linear-gradient(90deg,var(--t-maroon),var(--t-deep) 55%,#2d8a5a)!important;border:0!important;color:#fff!important;
  box-shadow:0 2px 10px rgba(122,28,28,.25)!important;backdrop-filter:none!important}
.topbar.appbar::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:8px;background:var(--t-border) repeat-x;background-size:24px 8px;background-color:var(--t-maroon);pointer-events:none}
.appbar .brand,.appbar .brand span{color:#fff!important;font-weight:700!important;letter-spacing:.02em}
.appbar .brand .logo{background:#fff;border-radius:12px;box-shadow:0 0 0 2px var(--t-gold2);padding:2px}
.topnav{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;gap:.05rem!important}
.topnav a{color:#fff!important;opacity:.92;font-weight:500}
.topnav a .ms{color:#ffe2b8!important}
.topnav a:hover{background:rgba(255,255,255,.14)!important;opacity:1}
.topnav a.on{background:#fff!important;color:var(--t-maroon)!important;opacity:1;font-weight:600}
.topbar.appbar .topnav a{padding:0 .4rem;font-size:.86rem}
.topbar.appbar{gap:.3rem!important;padding:0 .6rem!important}
.topnav a.on .ms{color:var(--t-saffron)!important}
.lang-pick{background:rgba(255,255,255,.14)!important;border:1px solid rgba(255,255,255,.45)!important;color:#fff!important}
.lang-pick .ms{color:#fff!important} .lang-pick select,.appbar select#lang{color:#fff!important} .lang-pick select option{color:#111}
.acct .btn.text{color:#fff!important} .acct .btn.text:hover{background:rgba(255,255,255,.15)!important}
.acct .btn:not(.text){background:var(--t-maroon)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(255,255,255,.35) inset}
.acct-btn{background:#fff!important;color:var(--t-maroon)!important}
.nav-menu{color:#fff!important}
main{margin-top:calc(var(--strip) + 64px + 8px)!important;min-height:calc(100dvh - var(--strip) - 64px)!important}
.drawer{top:0;border-top:6px solid var(--t-saffron)} .drawer-h{background:var(--mandala-saff) right -40px center/150px no-repeat;color:var(--t-maroon);font-weight:700}
.drawer a.on{background:var(--m-primary-c)!important;color:var(--t-maroon)!important} .drawer a.on .ms{color:var(--t-saffron)!important}
.cp{height:calc(100dvh - var(--strip) - 72px)!important}
.cp-side{top:calc(var(--strip) + 72px)!important}

/* ---------- page title banner (every page) ---------- */
.ph{position:relative;overflow:hidden;align-items:center;padding:1.4rem 1.6rem;border-radius:14px;
  background:linear-gradient(100deg,var(--t-maroon) 0%,var(--t-deep) 55%,#2d8a5a 100%);color:#fff;box-shadow:var(--m-e2)}
.ph::after{content:"";position:absolute;right:-50px;top:50%;width:220px;height:220px;margin-top:-110px;background:var(--mandala-gold) center/contain no-repeat;opacity:.45;animation:t-spin 90s linear infinite;pointer-events:none}
.ph::before{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--t-border) repeat-x;background-size:24px 8px;opacity:.8}
.ph>*{position:relative;z-index:1}
.ph h1{color:#fff!important} .ph p{color:rgba(255,240,220,.9)!important} .ph .ph-e{color:var(--t-gold2)!important}
.ph-ic{background:radial-gradient(circle at 35% 30%,#fff3c4,var(--t-gold2) 55%,#c98a0c)!important;color:var(--t-maroon)!important;border-radius:50%!important;box-shadow:0 0 0 3px rgba(255,255,255,.25)}
.ph-a .btn{background:#fff!important;color:var(--t-maroon)!important} .ph-a .btn.ghost,.ph-a .btn.tonal{background:rgba(255,255,255,.14)!important;color:#fff!important;border:1px solid rgba(255,255,255,.5)!important}
.ph .rf-seg{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.35)!important}
.ph .rf-seg button{color:#fff!important} .ph .rf-seg button.on{background:#fff!important;color:var(--t-maroon)!important}
@keyframes t-spin{to{transform:rotate(360deg)}}

/* ---------- ornamental section titles ---------- */
.m-sec{justify-content:center;flex-direction:column;gap:.3rem;text-align:center;margin:2.4rem 0 1.2rem}
.m-sec h2{color:var(--t-maroon)!important;font-size:1.45rem!important;font-weight:700!important;display:flex;align-items:center;gap:.8rem}
.m-sec h2::before,.m-sec h2::after{content:"";width:60px;height:2px;background:linear-gradient(90deg,transparent,var(--t-gold))}
.m-sec h2::after{background:linear-gradient(90deg,var(--t-gold),transparent)}
.m-sec a{font-size:.85rem}

/* ---------- cards ---------- */
.card,.calc,.coll,.icard,.kcard,.pp-card,.pp-controls,.pj-card,.rp-g,.adm-stat,.pp-adv,.rp-list .rp-it,.rf-card,.anga,.m-card,.db-k,.pc-bar,.kv-head,.kvl>.tabs,.pf-list{
  background:#fff!important;border:1px solid var(--t-line)!important;border-radius:12px!important;box-shadow:var(--m-e1)!important}
.card,.rf-card,.pp-card,.db-k,.kv-head,.m-card{border-top:3px solid var(--t-saffron)!important}
.card-h{color:var(--t-maroon)!important;font-weight:700!important}
.card-h .ms,.pp-h .ms{background:linear-gradient(135deg,var(--t-saffron2),var(--t-deep))!important;color:#fff!important;border-radius:50%!important}
.tile{background:var(--t-cream2)!important;border:1px solid var(--t-line)!important} .tile .ms{color:var(--t-saffron)!important}

/* ---------- buttons, chips, tabs ---------- */
button:not(.ghost):not(.tonal):not(.text):not(.icon-btn):not(.pw-eye):not(.coll-h):not(.pp-chip):not(.pp-person):not(.pp-kbtn):not(.pp-edit):not([role=tab]):not([data-s]):not([data-v]):not([data-l]):not([data-p]):not([data-t2]):not(.cp-open):not(.cp-del):not(.rf-sg):not(.qr):not(.sg),.btn{
  background:linear-gradient(135deg,var(--t-saffron2),var(--t-deep))!important;color:#fff!important;box-shadow:0 3px 10px -3px rgba(194,86,10,.6)!important;font-weight:600!important}
.btn.tonal,button.tonal{background:var(--m-primary-c)!important;color:var(--t-maroon)!important;box-shadow:none!important}
.btn.ghost,button.ghost{background:#fff!important;color:var(--t-maroon)!important;border:1px solid var(--m-outline)!important;box-shadow:none!important}
.btn.accent{background:linear-gradient(135deg,var(--t-gold2),var(--t-gold))!important;color:#3a1d00!important}
.chip .ms{color:var(--t-saffron)!important}
.tabs button.on,.tabs button.on .ms{color:var(--t-deep)!important} .tabs .ind{background:var(--t-saffron)!important}
.subtabs button.on,.ltabs button.on,button[data-s].on,button[data-v].on,button[data-l].on,.pp-chip.on,.pp-seg button.on{background:var(--t-maroon)!important;color:#fff!important}
.pp-chip.on .ms,.pp-seg button.on .ms{color:#ffe2b8!important}
.kvl>.tabs button.on{background:linear-gradient(90deg,var(--m-primary-c),#fff)!important;color:var(--t-maroon)!important;box-shadow:inset 3px 0 0 var(--t-saffron)}
.kvl>.tabs button.on .ms{color:var(--t-saffron)!important}
input:focus,select:focus,textarea:focus{border-color:var(--t-saffron)!important;box-shadow:0 0 0 1px var(--t-saffron)!important}
/* Safari fix: flex-column on form labels prevents text node from collapsing into same row as select */
.stack label:not(.fl):not(.check){display:flex!important;flex-direction:column!important}
/* Safari fix: custom select arrow (appearance:none prevents native label-text bleed) */
select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23b85e00' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:20px;padding-right:2.2rem!important}
.lang-pick select,.appbar select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M7 10l5 5 5-5z'/%3E%3C/svg%3E")!important}
/* Restore native select in admin (custom arrow not needed there) */
.admin-mode select{-webkit-appearance:auto!important;appearance:auto!important;background-image:none!important;padding-right:.5rem!important}

/* ---------- bottom nav: removed site-wide ---------- */
.bnav{display:none!important}
@media (max-width:760px){
  /* reset the bottom padding m3.css added for the nav bar */
  main{padding-bottom:1.5rem!important}
  .cp{height:calc(100dvh - var(--strip) - 72px)!important}
  .ph{padding:1.1rem 1.1rem 1.4rem;border-radius:12px}.ph::after{width:160px;height:160px;margin-top:-80px;right:-50px}
  .tstrip{font-size:.72rem;justify-content:flex-start}
}

/* ---------- misc pages ---------- */
.pday{background:linear-gradient(120deg,var(--t-maroon),#a3300f 55%,var(--t-deep))!important;position:relative;overflow:hidden}
.pday::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;background:var(--mandala-gold) center/contain no-repeat;opacity:.35;pointer-events:none}
.pday>*{position:relative;z-index:1} .pd-sun .ms{color:var(--t-gold2)!important}
.anga>.ms{background:var(--m-primary-c)!important;color:var(--t-deep)!important;border-radius:50%!important}
.rf-gl{background:var(--m-primary-c)!important;color:var(--t-deep)!important}
.rf-sg.on{background:var(--m-primary-c)!important;border-color:var(--t-saffron)!important;box-shadow:0 0 0 1px var(--t-saffron) inset!important}
.rf-sg.on .rf-gl,.rf-big{background:linear-gradient(135deg,var(--t-saffron2),var(--t-deep))!important;color:#fff!important}
.rf-card.t-mixed .rf-big{background:linear-gradient(135deg,var(--t-gold2),var(--t-gold))!important;color:#3a1d00!important}
.rf-card.t-bad .rf-big{background:linear-gradient(135deg,#a3300f,var(--t-maroon))!important}
.rf-lucky{background:var(--t-sand)!important} .rf-remedy{background:#fbe3dc!important} .rf-mantra{color:var(--t-maroon)!important}
.msg.me>div{background:linear-gradient(135deg,var(--t-saffron),var(--t-deep))!important}
.chat-av{background:radial-gradient(circle at 35% 30%,#fff3c4,var(--t-gold2) 55%,#c98a0c)!important;color:var(--t-maroon)!important}
.chat-sw{background:var(--m-primary-c)!important;color:var(--t-maroon)!important}
.cp-top{border-bottom:3px solid var(--t-saffron)!important}
.cp-new{background:linear-gradient(135deg,var(--t-saffron2),var(--t-deep))!important;color:#fff!important}
.cp-item.on{background:var(--m-primary-c)!important;box-shadow:inset 3px 0 0 var(--t-saffron)!important}
.chat-log{background:var(--t-cream) var(--mandala-saff) right -120px bottom -120px/420px no-repeat!important}
.pf-id{background:linear-gradient(100deg,var(--m-primary-c),#fff)!important;border:1px solid var(--t-line)}
.pf-id .avatar,.db-k-h .avatar,.kv-head .avatar,.avatar{background:linear-gradient(135deg,var(--t-saffron2),var(--t-deep))!important;color:#fff!important}
.au{border-top:4px solid var(--t-saffron)}
.au-art{background:linear-gradient(160deg,var(--t-maroon),#9c2a14 55%,var(--t-deep))!important;position:relative;overflow:hidden}
.au-art::after{content:"";position:absolute;right:-90px;bottom:-90px;width:320px;height:320px;background:var(--mandala-gold) center/contain no-repeat;opacity:.4;animation:t-spin 120s linear infinite}
.au-art>*{position:relative;z-index:1} .au-art li .ms{background:rgba(243,193,75,.25)!important;color:var(--t-gold2)}
.db-act{background:var(--t-cream2)!important;border:1px solid var(--t-line)} .db-act .ms{color:var(--t-saffron)!important} .db-act:hover{background:var(--m-primary-c)!important}
.db-kv{background:var(--t-cream2)!important}
.db-new{border-color:#e6b98c!important;color:var(--t-deep)!important}

/* ---------- footer ---------- */
.sfoot{background:var(--t-maroon2);color:#f6dcc0;margin-top:3rem;position:relative}
.sfoot::before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px;background:var(--t-border) repeat-x;background-size:24px 8px;background-color:var(--t-maroon2);transform:scaleY(-1)}
.sf-in{max-width:1200px;margin:0 auto;padding:2.2rem clamp(1rem,4vw,2.5rem) 1.4rem;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1.5rem}
.sf-in b{color:#fff;font-size:1.2rem} .sf-in p{margin:.4rem 0 0;color:#e9c9a8;font-size:.88rem}
.sf-om{font-size:2rem!important;color:var(--t-gold2)!important;margin-top:.6rem!important}
.sf-in h4{margin:0 0 .6rem;color:var(--t-gold2);font-size:.95rem;letter-spacing:.04em}
.sf-in a{display:block;color:#f6dcc0;font-size:.88rem;padding:.2rem 0} .sf-in a:hover{color:#fff}
.sf-copy{text-align:center;padding:.9rem 1rem 1.1rem;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem;color:#d8b595}
body:has(.cp) .sfoot{display:none}
@media (max-width:760px){.sf-in{grid-template-columns:1fr 1fr}.sf-brand{grid-column:1/-1}.sfoot{padding-bottom:env(safe-area-inset-bottom,0px)}}
body.admin-mode .tstrip,body.admin-mode .sfoot{display:none!important} body.admin-mode .topbar.appbar{top:0!important} body.admin-mode main{margin-top:72px!important}

/* =====================================================================
   Home (portal)
   ===================================================================== */
.th{display:flex;flex-direction:column;gap:0}
.th-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:2rem;align-items:center;
  padding:clamp(1.5rem,4vw,2.8rem);border-radius:16px;background:linear-gradient(110deg,var(--t-maroon) 0%,#9c2a14 40%,var(--t-deep) 80%,var(--t-saffron2));color:#fff;box-shadow:var(--m-e2)}
.th-hero::before{content:"";position:absolute;left:-120px;top:-120px;width:420px;height:420px;background:var(--mandala-gold) center/contain no-repeat;opacity:.22;animation:t-spin 140s linear infinite;pointer-events:none}
.th-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--t-border) repeat-x;background-size:24px 8px}
.th-hero>*{position:relative;z-index:1}
.th-om{display:block;font-size:2.6rem;line-height:1;color:var(--t-gold2);text-shadow:0 0 18px rgba(243,193,75,.5);margin-bottom:.4rem}
.th-copy .ph-e{display:inline-block;padding:.25rem .8rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(243,193,75,.5);color:#ffe2b8;font-size:.76rem;font-weight:600;letter-spacing:.05em}
.th-copy h1{color:#fff!important;font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.15;font-weight:700;margin:.8rem 0 .7rem}
.th-copy h1 em{font-style:normal;color:var(--t-gold2)}
.th-copy p{color:rgba(255,236,214,.92);font-size:1rem;max-width:54ch;margin:0}
.th-trust{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-top:1.3rem;font-size:.84rem;color:#ffe2b8}
.th-trust span{display:inline-flex;align-items:center;gap:.35rem} .th-trust .ms{font-size:18px;color:var(--t-gold2)}
.th-form{background:#fff;border-radius:14px;padding:1.3rem 1.3rem 1.4rem;color:var(--t-ink);box-shadow:0 18px 40px -12px rgba(40,6,6,.55);border-top:4px solid var(--t-gold);display:grid;gap:.75rem}
.th-form h2{margin:0;display:flex;align-items:center;gap:.5rem;color:var(--t-maroon);font-size:1.2rem}
.th-form h2 .ms{color:var(--t-saffron)} .th-form>p{margin:-.4rem 0 .2rem;color:var(--t-ink2);font-size:.84rem}
.th-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.th-form button{width:100%;min-height:48px;font-size:1rem}
.th-svc{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.8rem;margin:1.6rem 0 0;padding:1.3rem;background:#fff;border:1px solid var(--t-line);border-radius:14px;box-shadow:var(--m-e1)}
.th-s{display:flex;flex-direction:column;align-items:center;gap:.55rem;text-align:center;color:var(--t-ink)!important;padding:.3rem .2rem;border-radius:12px;transition:transform .2s}
.th-s:hover{transform:translateY(-3px)}
.th-s .ms{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:30px;color:#fff;box-shadow:0 6px 14px -6px rgba(0,0,0,.35);border:3px solid #fff;outline:2px solid var(--t-line)}
.th-s b{font-size:.8rem;font-weight:600;line-height:1.25}
.th-s.c0 .ms{background:linear-gradient(135deg,#ff9933,#c2560a)} .th-s.c1 .ms{background:linear-gradient(135deg,#f3c14b,#c98a0c)} .th-s.c2 .ms{background:linear-gradient(135deg,#d9534f,#7a1c1c)}
.th-s.c3 .ms{background:linear-gradient(135deg,#8e44ad,#5b2a86)} .th-s.c4 .ms{background:linear-gradient(135deg,#2e86c1,#1b4f72)} .th-s.c5 .ms{background:linear-gradient(135deg,#27ae60,#196f3d)}
.th-s.c6 .ms{background:linear-gradient(135deg,#e67e22,#a04000)} .th-s.c7 .ms{background:linear-gradient(135deg,#16a085,#0e6655)}
.th-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:1rem;margin-top:1.6rem}
.th-place{display:flex;align-items:center;gap:.3rem;margin:0 0 .7rem;color:var(--t-ink2);font-size:.86rem} .th-place .ms{font-size:18px;color:var(--t-saffron)}
.th-rows{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-bottom:1rem}
.th-r{display:grid;grid-template-columns:auto 1fr;column-gap:.55rem;align-items:center;padding:.6rem .7rem;border-radius:10px;background:var(--t-cream2);border:1px solid var(--t-line)}
.th-r .ms{grid-row:span 2;color:var(--t-saffron);font-size:22px} .th-r small{color:var(--t-ink2);font-size:.74rem} .th-r b{font-size:.9rem;color:var(--t-maroon)}
.th-signs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem}
.th-signs a{display:flex;flex-direction:column;align-items:center;gap:.35rem;color:var(--t-ink)!important;padding:.4rem 0;border-radius:12px;transition:background .2s}
.th-signs a:hover{background:var(--t-cream2)}
.th-signs .g{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:1.55rem;color:var(--t-maroon);background:radial-gradient(circle at 35% 30%,#fff6dc,#f7d68a);border:2px solid var(--t-gold2);
  font-family:"Segoe UI Symbol","Noto Sans Symbols 2","DejaVu Sans",sans-serif;transition:transform .4s}
.th-signs a:hover .g{transform:rotate(360deg)} .th-signs small{font-size:.76rem;font-weight:600}
.hm-step{background:#fff!important;border:1px solid var(--t-line);border-top:3px solid var(--t-gold);box-shadow:var(--m-e1)}
.hm-step .n{background:linear-gradient(135deg,var(--t-saffron2),var(--t-deep))!important;width:44px;height:44px} .hm-step b{color:var(--t-maroon)}
.hm-band{background:linear-gradient(100deg,var(--t-maroon),#9c2a14 50%,var(--t-deep))!important;position:relative;overflow:hidden;border-radius:16px!important}
.hm-band::after{content:"";position:absolute;right:-70px;top:50%;width:240px;height:240px;margin-top:-120px;background:var(--mandala-gold) center/contain no-repeat;opacity:.3}
.hm-band>*{position:relative;z-index:1} .hm-band .btn{background:#fff!important;color:var(--t-maroon)!important;box-shadow:none!important}
@media (max-width:1100px){.th-svc{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:960px){.th-hero{grid-template-columns:1fr}.th-two{grid-template-columns:1fr}}
@media (max-width:600px){.th-hero{padding:1.3rem 1.1rem 1.6rem;border-radius:12px}.th-copy{text-align:center}.th-trust{justify-content:center}
  .th-svc{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem .3rem;padding:1rem .6rem}.th-s .ms{width:52px;height:52px;font-size:25px}.th-s b{font-size:.72rem}
  .th-signs{grid-template-columns:repeat(4,minmax(0,1fr))}.th-rows{grid-template-columns:1fr}}
.th-hero>*,.th-form>*,.th-row>*{min-width:0}
.th-form input{width:100%}
@media (max-width:600px){.th-hero{grid-template-columns:minmax(0,1fr)!important}.th-copy p{font-size:.94rem}}
@media (max-width:380px){.th-row{grid-template-columns:1fr}}

/* =====================================================================
   Panchang page
   ===================================================================== */
.pn-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 1rem;margin-bottom:1.2rem;background:#fff;border:1px solid var(--t-line);border-radius:12px;box-shadow:var(--m-e1)}
.pn-when{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;flex:1 1 520px;position:relative}
.pn-step{border:1px solid var(--t-line)!important;background:var(--t-cream2)!important;color:var(--t-maroon)!important}
.pn-date,.pn-place{display:flex!important;align-items:center;gap:.35rem;padding:0 .3rem 0 .7rem;border:1px solid var(--m-outline-v);border-radius:24px;background:#fff}
.pn-date .ms,.pn-place .ms{color:var(--t-saffron);font-size:20px}
.pn-date input,.pn-place input{border:0!important;box-shadow:none!important;min-height:40px!important;padding:0 .4rem!important;background:transparent!important;font-weight:600;color:var(--t-maroon)!important}
.pn-place{flex:1 1 220px} .pn-place input{width:100%}
.pn-today{min-height:40px!important;padding:.4rem 1rem!important}
.pn-when .suggest{position:absolute;left:0;right:0;top:100%;z-index:30}
.pn-tabs{display:inline-flex;gap:.3rem;padding:4px;border-radius:24px;background:var(--t-cream2);border:1px solid var(--t-line)}
.pn-tabs button{background:transparent!important;color:var(--t-ink2)!important;border:0!important;border-radius:20px!important;min-height:38px!important;padding:.35rem .9rem!important;box-shadow:none!important;font-size:.85rem!important}
.pn-tabs button.on{background:linear-gradient(135deg,var(--t-saffron2),var(--t-deep))!important;color:#fff!important}
.pn-tabs button .ms{font-size:18px}
.pn-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:1.1rem;align-items:start}
.pn-main,.pn-side{display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.pn-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:center;padding:1.5rem;border-radius:14px;color:#fff;
  background:linear-gradient(120deg,var(--t-maroon),#9c2a14 55%,var(--t-deep));box-shadow:var(--m-e2)}
.pn-hero::before{content:"";position:absolute;left:-90px;bottom:-90px;width:300px;height:300px;background:var(--mandala-gold) center/contain no-repeat;opacity:.22;animation:t-spin 120s linear infinite}
.pn-hero>*{position:relative;z-index:1}
.pn-vara{display:inline-block;padding:.2rem .7rem;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(243,193,75,.45);color:#ffe2b8;font-size:.78rem;font-weight:600}
.pn-hero h2{color:#fff!important;font-size:clamp(1.5rem,3vw,2.1rem);margin:.6rem 0 .2rem;font-weight:700}
.pn-hero p{margin:0;color:rgba(255,236,214,.9);font-size:.9rem}
.pn-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}
.pn-chips span{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .7rem;border-radius:8px;background:rgba(255,255,255,.12);font-size:.82rem}
.pn-chips .ms{font-size:17px;color:var(--t-gold2)}
.pn-arc{width:100%;max-width:300px;display:block;margin:0 auto}
.pn-arc .a0{fill:none;stroke:rgba(255,255,255,.28);stroke-width:3;stroke-dasharray:3 6}
.pn-arc .a1{fill:none;stroke:var(--t-gold2);stroke-width:4;stroke-linecap:round}
.pn-arc .sun{fill:var(--t-gold2);filter:drop-shadow(0 0 8px rgba(243,193,75,.9))}
.pn-arc .hz{stroke:rgba(255,255,255,.35);stroke-width:1}
.pn-arc text{fill:#ffe2b8;font-size:12px;font-family:var(--m-font)}
.pn-sun{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.6rem}
.pn-sun div{display:grid;grid-template-columns:auto 1fr;column-gap:.5rem;align-items:center;padding:.45rem .6rem;border-radius:10px;background:rgba(255,255,255,.12)}
.pn-sun .ms{grid-row:span 2;color:var(--t-gold2);font-size:22px} .pn-sun b{font-size:.92rem} .pn-sun small{color:rgba(255,236,214,.8);font-size:.72rem}
.pn-limbs ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.pn-limbs li{display:grid;grid-template-columns:34px 30px minmax(0,1fr) auto;gap:.7rem;align-items:center;padding:.8rem .4rem;border-bottom:1px dashed var(--t-line)}
.pn-limbs li:last-child{border-bottom:0}
.pn-n{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--t-gold2),var(--t-gold));color:var(--t-maroon);font-weight:700}
.pn-limbs li>.ms{color:var(--t-saffron)}
.pn-limbs small{display:block;color:var(--t-ink2);font-size:.76rem} .pn-limbs b{color:var(--t-maroon);font-size:1rem} .pn-limbs i{display:block;font-style:normal;color:var(--t-ink2);font-size:.78rem}
.pn-limbs em{font-style:normal;font-size:.8rem;color:var(--t-deep);font-weight:600;white-space:nowrap}
.pn-t{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .6rem;padding:.65rem 0;border-bottom:1px dashed var(--t-line)}
.pn-t:last-child{border-bottom:0} .pn-t b{font-size:.9rem} .pn-t>span{font-weight:600;font-size:.88rem;white-space:nowrap}
.pn-good .pn-t>span{color:#1e7d44} .pn-bad .pn-t>span{color:#a3300f}
.pn-good{border-top-color:#2e9e5b!important} .pn-good .card-h .ms{background:linear-gradient(135deg,#46c07a,#1e7d44)!important}
.pn-bad{border-top-color:#c0392b!important} .pn-bad .card-h .ms{background:linear-gradient(135deg,#e8645a,#a3300f)!important}
.pn-t.now{background:var(--t-cream2);border-radius:8px;padding:.6rem .7rem;border:0;margin-top:.3rem}
.pn-bar2{grid-column:1/-1;position:relative;height:6px;border-radius:3px;background:var(--t-cream2);overflow:hidden}
.pn-bar2 i{position:absolute;top:0;bottom:0;border-radius:3px} .pn-bar2 .g{background:#2e9e5b} .pn-bar2 .r{background:#c0392b} .pn-bar2 .y{background:#e67e22} .pn-bar2 .g2{background:#8e44ad}
.pn-signs{display:grid!important;grid-template-columns:1fr 1fr;gap:.7rem}
.pn-sg{display:flex;align-items:center;gap:.7rem;padding:.4rem}
.pn-sg .g{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;color:var(--t-maroon);background:radial-gradient(circle at 35% 30%,#fff6dc,#f7d68a);border:2px solid var(--t-gold2);font-family:"Segoe UI Symbol","Noto Sans Symbols 2","DejaVu Sans",sans-serif}
.pn-sg small{display:block;color:var(--t-ink2);font-size:.74rem} .pn-sg b{color:var(--t-maroon)}
@media (max-width:960px){.pn-grid{grid-template-columns:1fr}}
@media (max-width:640px){.pn-hero{grid-template-columns:1fr;padding:1.2rem}.pn-bar{padding:.7rem}.pn-tabs{width:100%;justify-content:space-between}.pn-tabs button{flex:1;padding:.35rem .4rem!important;font-size:.78rem!important}
  .pn-limbs li{grid-template-columns:30px minmax(0,1fr) auto;gap:.55rem}.pn-limbs li>.ms{display:none}.pn-n{width:30px;height:30px}.pn-limbs em{font-size:.72rem}}

/* =====================================================================
   Rashifal page: zodiac wheel selector + reading
   ===================================================================== */
.rz{display:grid;grid-template-columns:400px minmax(0,1fr);gap:1.3rem;align-items:start}
.rz-wheel{position:sticky;top:calc(var(--strip) + 90px);background:#fff;border:1px solid var(--t-line);border-top:3px solid var(--t-saffron);border-radius:14px;padding:1rem;box-shadow:var(--m-e1)}
.rz-svg{width:100%;height:auto;display:block}
.rz-rim{fill:var(--t-cream2);stroke:var(--t-gold);stroke-width:2}
.rz-s{cursor:pointer;outline:none}
.rz-s path{fill:#fff;stroke:var(--t-line);stroke-width:1.2;transition:fill .2s}
.rz-s:hover path,.rz-s:focus-visible path{fill:#fff1dc}
.rz-s.on path{fill:var(--t-saffron)}
.rz-g{font-size:26px;text-anchor:middle;dominant-baseline:central;fill:var(--t-maroon);font-family:"Segoe UI Symbol","Noto Sans Symbols 2","DejaVu Sans",sans-serif;pointer-events:none}
.rz-n{font-size:10.5px;font-weight:600;text-anchor:middle;dominant-baseline:central;fill:var(--t-ink2);font-family:var(--m-font);pointer-events:none}
.rz-s.on .rz-g,.rz-s.on .rz-n{fill:#fff}
.rz-d{stroke:#fff;stroke-width:1.5} .rz-s.t-good .rz-d{fill:#2e9e5b} .rz-s.t-mixed .rz-d{fill:#e6a817} .rz-s.t-bad .rz-d{fill:#c0392b}
.rz-core{fill:var(--t-maroon);stroke:var(--t-gold2);stroke-width:3}
.rz-cg{font-size:40px;text-anchor:middle;dominant-baseline:central;fill:var(--t-gold2);font-family:"Segoe UI Symbol","Noto Sans Symbols 2","DejaVu Sans",sans-serif}
.rz-cn{font-size:15px;font-weight:700;text-anchor:middle;fill:#fff;font-family:var(--m-font)}
.rz-cs{font-size:11px;text-anchor:middle;fill:var(--t-gold2);letter-spacing:1px}
.rz-hint{display:flex;align-items:center;justify-content:center;gap:.3rem;margin:.6rem 0 0;color:var(--t-ink2);font-size:.82rem} .rz-hint .ms{font-size:18px;color:var(--t-saffron)}
.rz-card{background:#fff;border:1px solid var(--t-line);border-top:3px solid var(--t-saffron);border-radius:14px;padding:1.4rem 1.5rem;box-shadow:var(--m-e1);scroll-margin-top:calc(var(--strip) + 90px)}
.rz-h{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;padding-bottom:1rem;border-bottom:1px dashed var(--t-line)}
.rz-h h2{margin:0;font-size:1.7rem;color:var(--t-maroon)} .rz-h h2 span{font-size:.9rem;font-weight:600;color:var(--t-saffron);margin-left:.3rem}
.rz-h p{margin:.2rem 0 0;display:flex;align-items:center;gap:.3rem;color:var(--t-ink2);font-size:.85rem} .rz-h p .ms{font-size:17px;color:var(--t-saffron)}
.rz-hr{display:flex;flex-direction:column;align-items:flex-end;gap:.35rem}
.rz-q{position:relative;margin:1.1rem 0;padding:1rem 1.2rem 1rem 3rem;border-radius:12px;background:var(--t-cream2);border-left:4px solid var(--t-saffron);font-size:1.05rem;line-height:1.6;color:var(--t-ink)}
.rz-q::before{content:"\201C";position:absolute;left:.8rem;top:-.2rem;font-size:3.2rem;line-height:1;color:var(--t-gold);font-family:Georgia,serif}
.rz-areas{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1rem}
.rz-a{display:flex;gap:.8rem;padding:1rem;border-radius:12px;border:1px solid var(--t-line);background:#fff}
.rz-ai{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--t-saffron2),var(--t-deep))}
.rz-a.t-good .rz-ai{background:linear-gradient(135deg,#46c07a,#1e7d44)} .rz-a.t-bad .rz-ai{background:linear-gradient(135deg,#e8645a,#a3300f)} .rz-a.t-mixed .rz-ai{background:linear-gradient(135deg,#f3c14b,#c98a0c)}
.rz-at{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap} .rz-at b{color:var(--t-maroon)} .rz-at small{color:var(--t-ink2);font-size:.75rem}
.rz-m{display:inline-flex;gap:3px} .rz-m i{width:18px;height:6px;border-radius:3px;background:#eadccb}
.rz-m.t-good i.on{background:#2e9e5b} .rz-m.t-mixed i.on{background:#e6a817} .rz-m.t-bad i.on{background:#c0392b}
.rz-a p{margin:.35rem 0 0;color:var(--t-ink2);font-size:.9rem;line-height:1.55}
.rz-foot{display:grid;grid-template-columns:1.2fr 1fr;gap:.8rem;margin-top:1rem}
.rz-foot h3{display:flex;align-items:center;gap:.4rem;margin:0 0 .8rem;font-size:.95rem;color:var(--t-maroon)} .rz-foot h3 .ms{color:var(--t-saffron);font-size:20px}
.rz-lucky,.rz-rem{padding:1rem 1.1rem;border-radius:12px}
.rz-lucky{background:var(--t-cream2);border:1px solid var(--t-line)}
.rz-lk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;text-align:center}
.rz-lk>div{display:flex;flex-direction:column;align-items:center;gap:.25rem} .rz-lk small{color:var(--t-ink2);font-size:.72rem} .rz-lk b{font-size:.9rem;color:var(--t-maroon)}
.rz-med{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 0 0 2px var(--t-gold2),0 4px 10px -4px rgba(0,0,0,.3)}
.rz-med.n{background:linear-gradient(135deg,var(--t-saffron2),var(--t-deep));color:#fff;font-weight:700;font-size:1.3rem}
.rz-rem{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--t-maroon),#9c2a14);color:#fff;text-align:center}
.rz-rem::after{content:"";position:absolute;right:-60px;bottom:-60px;width:180px;height:180px;background:var(--mandala-gold) center/contain no-repeat;opacity:.3}
.rz-rem>*{position:relative;z-index:1} .rz-rem h3{justify-content:center;color:var(--t-gold2)} .rz-rem h3 .ms{color:var(--t-gold2)}
.rz-mantra{margin:.2rem 0 .5rem;font-size:1.3rem;font-weight:700;color:#fff} .rz-rem small{color:#ffe2b8}
@media (max-width:1100px){.rz{grid-template-columns:340px minmax(0,1fr)}}
@media (max-width:960px){.rz{grid-template-columns:1fr}.rz-wheel{position:static;max-width:440px;margin:0 auto;width:100%}}
@media (max-width:640px){.rz-areas,.rz-foot{grid-template-columns:1fr}.rz-card{padding:1.1rem}.rz-h h2{font-size:1.4rem}.rz-hr{align-items:flex-start}.rz-q{font-size:.98rem}}

/* ---------- KarmYog brand ---------- */
.appbar .brand{background:#fff;border-radius:14px;padding:3px 12px;height:54px;display:flex;align-items:center;box-shadow:0 2px 8px rgba(92,17,17,.25),0 0 0 2px rgba(243,193,75,.7)}
.appbar .brand .brand-logo{height:48px;width:auto;display:block}
.appbar .brand span,.appbar .brand .logo{display:none!important}
.drawer-h{background:none!important;padding:.6rem .6rem 1rem!important} .drawer-h img{height:64px;width:auto}
.sf-logo{display:inline-block;background:#fff9f0;border-radius:14px;padding:6px 14px;box-shadow:0 0 0 2px rgba(243,193,75,.6)} .sf-logo img{height:64px;width:auto;display:block}
@media (max-width:760px){.appbar .brand{height:46px;padding:2px 8px;border-radius:12px}.appbar .brand .brand-logo{height:40px}}
@media (max-width:380px){.appbar .brand .brand-logo{height:34px}}

/* ---------- fixes: sticky offsets under the taller header; dosha / rin cards ---------- */
.kvl>.tabs{top:calc(var(--strip) + 72px + 12px)!important}
@media (max-width:960px){.kvl>.tabs{top:calc(var(--strip) + 72px)!important}}
@media (max-width:760px){.kvl>.tabs{top:calc(var(--strip) + 64px)!important}}
html{scroll-padding-top:calc(var(--strip) + 90px)}
.dlist{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:.7rem!important}
.drow{display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:auto auto;column-gap:.6rem;row-gap:.3rem;align-items:center;padding:.85rem 1rem!important;border-radius:12px!important;
  background:#fff!important;border:1px solid var(--t-line)!important;border-left:4px solid #2e9e5b!important;min-height:0!important}
.drow>.ms{grid-row:span 2;color:#2e9e5b!important;font-size:24px}
.drow b{font-size:.95rem;line-height:1.3;color:var(--t-maroon);word-break:normal;overflow-wrap:anywhere}
.drow .st{justify-self:start;font-size:.74rem!important;font-weight:600;padding:.12rem .55rem;border-radius:999px;background:#e3f5e9;color:#1e7d44}
.drow.on{background:#fff6f4!important;border-left-color:#c0392b!important} .drow.on>.ms{color:#c0392b!important}
.drow.on .st{background:#fbe0dc;color:#a3300f}
@media (max-width:480px){.dlist{grid-template-columns:1fr!important}}
/* place suggestions: plain white list */
.suggest{background:#fff!important;border:1px solid #e6dccd;border-radius:12px!important;box-shadow:0 10px 28px -8px rgba(60,20,0,.25)!important;max-height:min(300px,42vh);overflow-y:auto;margin-top:.35rem;padding:.25rem 0;z-index:30}
.suggest button.sg{display:flex!important;align-items:flex-start;gap:.6rem;width:100%;text-align:left;background:#fff!important;color:#2b1d14!important;border:0!important;border-bottom:1px solid #f1ebe2!important;border-radius:0!important;box-shadow:none!important;padding:.65rem .9rem!important;min-height:0!important;font-weight:400!important;font-size:.92rem!important;white-space:normal}
.suggest button.sg:last-child{border-bottom:0!important}
.suggest button.sg:hover,.suggest button.sg:focus{background:#fdf4e8!important}
.suggest button.sg .ms{color:#9a8a7a;font-size:20px;margin-top:1px}
.suggest button.sg b{display:block;font-weight:600;color:#2b1d14} .suggest button.sg small{display:block;color:#7a6b5d;font-size:.8rem;line-height:1.35}
.suggest .sg-none{margin:0;padding:.7rem .9rem;color:#7a6b5d}
.th-form .suggest{position:static}
input[name=place_q]{scroll-margin-top:calc(var(--strip,32px) + 80px)}
body.kb-open .bnav{display:none!important}
@media (max-width:860px){body.kb-open main{padding-bottom:1rem!important}}/* ---------- Kundali Milan ---------- */
.mm-form{display:grid;gap:1rem;padding:1.3rem}
.mm-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:start}
.mm-side{display:grid;gap:.75rem;padding:1.1rem;border-radius:14px;border:1px solid #ecdcc8;background:#fffaf3}
.mm-side.boy{border-top:4px solid var(--t-saffron)} .mm-side.girl{border-top:4px solid var(--t-maroon)}
.mm-sh{display:flex;align-items:center;gap:.6rem} .mm-sh b{font-size:1.05rem;color:var(--t-maroon)}
.mm-man{display:grid;gap:.75rem} .mm-man[hidden]{display:none}
.mm-av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;flex:none;background:#2d5fa8}
.girl .mm-av,.mm-who.girl .mm-av{background:#c2387a}
.mm-heart{align-self:center;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--t-saffron2),var(--t-deep));color:#fff;box-shadow:0 4px 12px -3px rgba(194,86,10,.6)}
.mm-go{width:100%;min-height:50px;font-size:1.02rem}
.mm-side input,.mm-side select{width:100%} .mm-side .th-row>*{min-width:0}
.mm-sec{margin-top:1.3rem} .mm-h{display:flex;align-items:center;gap:.5rem;color:var(--t-maroon);font-size:1.15rem;margin:0 0 .7rem} .mm-h .ms{color:var(--t-saffron)}
.mm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.7rem}
.mm-item{display:flex;align-items:center;gap:.4rem;background:#fff;border:1px solid #ecdcc8;border-radius:14px;padding:.55rem .6rem}
.mm-item a{flex:1;display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;position:relative;min-width:0}
.mm-is{position:absolute;left:0;width:54px;text-align:center;font-weight:700;font-size:.85rem;color:var(--t-maroon)}
.mm-in{display:grid;min-width:0} .mm-in b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--t-ink)} .mm-in b .ms{font-size:15px;color:#c2387a;vertical-align:-2px}
.mm-in small{color:var(--t-ink2);font-size:.78rem}
.mm-ring .bg{fill:none;stroke:#f1e4d3;stroke-width:10} .mm-ring .fg{fill:none;stroke-width:10;stroke-linecap:round}
.mm-ring.ex .fg{stroke:#1f8a4c} .mm-ring.vg .fg{stroke:#4a9b2f} .mm-ring.ok .fg{stroke:#e8920a} .mm-ring.low .fg{stroke:#c0392b}
/* report */
.mm-hero{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;padding:1.5rem;border-radius:18px;color:#fff;
  background:var(--mandala-gold) right -60px top -60px/260px no-repeat,linear-gradient(135deg,#7a1414,#a8320c 60%,#d2690e);box-shadow:0 14px 30px -14px rgba(90,15,5,.6)}
.mm-who{display:grid;justify-items:center;text-align:center;gap:.2rem} .mm-who .mm-av{width:58px;height:58px;border:3px solid rgba(255,255,255,.7)} .mm-who .mm-av .ms{font-size:30px}
.mm-who b{font-size:1.15rem;margin-top:.3rem} .mm-who small{opacity:.8;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em} .mm-who>span:last-child{font-size:.85rem;opacity:.92}
.mm-score{position:relative;display:grid;place-items:center;background:#fff;border-radius:50%;padding:6px;box-shadow:0 0 0 6px rgba(255,255,255,.18)}
.mm-sv{position:absolute;inset:0;display:grid;place-content:center;text-align:center;color:var(--t-maroon)} .mm-sv b{font-size:2rem;line-height:1} .mm-sv small{font-size:.75rem;color:var(--t-ink2)}
.mm-verdict{grid-column:1/-1;text-align:center} .mm-verdict p{margin:.6rem auto 0;max-width:680px;opacity:.95;line-height:1.55}
.mm-pill{display:inline-block;padding:.35rem 1rem;border-radius:20px;font-weight:700;background:#fff}
.mm-pill.ex,.mm-pill.vg{color:#1f7a44} .mm-pill.ok{color:#b56a00} .mm-pill.low{color:#b0281a}
.mm-table{display:grid;border:1px solid #f0e3d2;border-radius:12px;overflow:hidden}
.mm-tr{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:.6rem;align-items:center;padding:.65rem .9rem;border-top:1px solid #f3e9dc}
.mm-det .mm-tr{grid-template-columns:1.2fr 1fr 1fr}
.mm-tr:nth-child(even){background:#fffaf3} .mm-th{background:#fdf0dd!important;border-top:0;font-weight:700;color:var(--t-maroon);font-size:.85rem}
.mm-k{display:grid} .mm-k small{color:var(--t-ink2);font-size:.76rem} .mm-v{font-weight:500}
.mm-p{display:grid;gap:.25rem} .mm-p b{font-size:1.02rem} .mm-p b small{font-weight:400;color:var(--t-ink2);font-size:.78rem}
.mm-p i{display:block;height:6px;border-radius:4px;background:#f1e4d3;overflow:hidden} .mm-p em{display:block;height:100%;border-radius:4px}
.mm-p.full b{color:#1f7a44} .mm-p.full em{background:#2e9b5a} .mm-p.part b{color:#b56a00} .mm-p.part em{background:#e8920a} .mm-p.zero b{color:#b0281a}
.mm-tot{background:#fdf0dd!important;font-weight:700;color:var(--t-maroon)} .mm-tot .mm-p b{font-size:1.2rem}
.mm-p.ex b,.mm-p.vg b{color:#1f7a44} .mm-p.ok b{color:#b56a00} .mm-p.low b{color:#b0281a}
.mm-doshas{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.8rem}
.mm-dosha{background:#fff;border:1px solid #ecdcc8;border-left:5px solid #2e9b5a;border-radius:12px;padding:.9rem 1rem}
.mm-dosha>div{display:flex;justify-content:space-between;align-items:center;gap:.5rem} .mm-dosha p{margin:.5rem 0 0;color:var(--t-ink2);font-size:.9rem;line-height:1.5}
.mm-st{font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:12px;background:#e3f4ea;color:#1f7a44}
.mm-dosha.present{border-left-color:#c0392b} .mm-dosha.present .mm-st{background:#fbe3e0;color:#b0281a}
.mm-dosha.cancelled{border-left-color:#c79a2a} .mm-dosha.cancelled .mm-st{background:#fbf0d6;color:#8a6200}
.mm-ex{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.8rem}
.mm-exi{background:#fff;border:1px solid #ecdcc8;border-radius:12px;padding:.9rem 1rem} .mm-exh{display:flex;justify-content:space-between;align-items:center}
.mm-exh>b{color:var(--t-maroon);font-size:1.02rem} .mm-exi p{margin:.45rem 0 0;font-size:.9rem;line-height:1.55;color:var(--t-ink2)} .mm-exi .mm-res{color:var(--t-ink);font-weight:500}
.mm-note{display:flex;gap:.5rem;align-items:flex-start;margin:1.2rem 0 0;padding:.8rem 1rem;border-radius:12px;background:#fdf6e9;color:var(--t-ink2);font-size:.88rem} .mm-note .ms{color:var(--t-saffron)}
.mm-act{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.2rem 0}
@media (max-width:760px){
  .mm-pair{grid-template-columns:1fr} .mm-heart{justify-self:center;margin:-.4rem 0}
  .mm-hero{grid-template-columns:1fr auto 1fr;padding:1.1rem .8rem;gap:.5rem} .mm-who .mm-av{width:44px;height:44px} .mm-who b{font-size:.98rem} .mm-who>span:last-child{font-size:.76rem}
  .mm-score svg{width:104px;height:104px} .mm-sv b{font-size:1.6rem}
  .mm-tr{grid-template-columns:1fr 1fr;padding:.7rem} .mm-tr .mm-k{grid-column:1/-1} .mm-th{display:none}
  .mm-v::before{content:attr(data-l);display:block;font-size:.7rem;color:var(--t-ink2);font-weight:400}
  .mm-tr .mm-p{grid-column:1/-1} .mm-tot{grid-template-columns:1fr auto} .mm-tot>span:nth-child(2),.mm-tot>span:nth-child(3){display:none}
  .mm-det .mm-tr{grid-template-columns:1fr 1fr} .mm-det .mm-th{display:none}
}
@media print{.mm-hero{-webkit-print-color-adjust:exact;print-color-adjust:exact}.mm-sec,.mm-tr,.mm-dosha,.mm-exi{break-inside:avoid}}
.mm>.card,.mm>section,.mm>header{margin-left:0;margin-right:0}
/* chat: keyboard open — use visual viewport height */
@media (max-width:960px){body.kb-open .cp{height:calc(var(--vvh,100dvh) - var(--strip) - 72px)!important;transition:height .15s ease}}
/* Milan remedies */
.mm-rem{margin-top:.8rem;padding-top:.7rem;border-top:1px dashed #ecdcc8}
.mm-rh,.mm-kh{display:flex;align-items:center;gap:.35rem;color:var(--t-maroon);font-size:.92rem} .mm-rh .ms,.mm-kh .ms{font-size:18px;color:var(--t-saffron)}
.mm-rem ul{list-style:none;margin:.5rem 0 0;padding:0;display:grid;gap:.6rem}
.mm-rem li{font-size:.88rem;line-height:1.5;color:var(--t-ink)}
.mm-who-tag{display:inline-block;margin:0 .4rem .2rem 0;padding:.1rem .55rem;border-radius:10px;font-size:.7rem;font-weight:700;vertical-align:1px}
.mm-who-tag.boy{background:#e3ecf8;color:#2d5fa8} .mm-who-tag.girl{background:#f9e1ec;color:#a8285f} .mm-who-tag.both{background:#fdf0dd;color:#9a5a00}
.mm-krem{margin-top:.8rem;background:#fff;border:1px solid #ecdcc8;border-left:5px solid #c79a2a;border-radius:12px;padding:.9rem 1rem}
.mm-krem .mm-rem{margin-top:.2rem;padding-top:0;border:0}
.mm-dosha{display:flex;flex-direction:column}
.mm-dosha>.mm-rem{display:block}
/* ---------- Kundali book (print report) ---------- */
.bk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:1rem}
.bk{width:100%;max-width:210mm;margin:0 auto;border-collapse:collapse;background:#fff;box-shadow:0 10px 40px -12px rgba(90,30,0,.35);border-radius:6px;
  font-family:'Poppins','Hind Vadodara',sans-serif;color:#2b1d14;font-size:15px;line-height:1.75}
.bk>thead td,.bk>tfoot td,.bk>tbody>tr>td{padding:0 14mm}
.bk-run{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:5mm 0 3mm;border-bottom:2px solid #e8920a;margin-bottom:2mm}
.bk-run img{height:34px} .bk-run span{font-size:.75em;color:#8a5a2b;text-align:right}
.bk-foot{border-top:1px solid #ecd6b8;margin-top:4mm;padding:3mm 0 5mm;text-align:center;font-size:.72em;color:#8a5a2b;letter-spacing:.04em}
.bk p{margin:0 0 .85em;text-align:justify;hyphens:auto}
.bk-orn{display:block;height:14px;margin:.6rem auto;width:180px;background:radial-gradient(circle,#e8920a 3px,transparent 4px) center/18px 14px repeat-x;opacity:.8}
/* cover */
.bk-cover{min-height:250mm;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:10mm 0;position:relative;isolation:isolate}
.bk-cover::after{content:'';position:absolute;inset:0;z-index:-1;background:var(--mandala-gold) center 62%/170mm no-repeat;opacity:.16}
.bk-cover::before{content:'';position:absolute;inset:4mm;border:3px double #c8902e;border-radius:6px;pointer-events:none}
.bk-logo{width:62mm;height:auto;margin-bottom:4mm}
.bk-k{color:#b0581a;letter-spacing:.12em;text-transform:uppercase;font-size:.8em;margin:0!important;text-align:center!important}
.bk-cover h1{font-size:2.3em;line-height:1.2;color:#7a1414;margin:.3em 0 0}
.bk-for{margin:1.2em 0 0!important;color:#8a5a2b;text-align:center!important} .bk-name{font-size:2em;font-weight:700;color:#2b1d14;margin:0!important;text-align:center!important}
.bk-cf{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;width:min(150mm,100%);margin:6mm 0}
.bk-cf div,.bk-facts div{background:#fff8ee;border:1px solid #f0dcc0;border-radius:8px;padding:.5em .8em;text-align:left}
.bk-cf small,.bk-facts small{display:block;font-size:.72em;color:#9a6a3a;text-transform:uppercase;letter-spacing:.04em} .bk-cf b,.bk-facts b{font-weight:600}
.bk-gen{font-size:.8em;color:#8a5a2b;text-align:center!important}
/* contents */
.bk-toc{padding:8mm 0} .bk-toc h2{color:#7a1414;text-align:center;font-size:1.7em;margin:0 0 6mm}
.bk-toc ol{columns:2;column-gap:10mm;margin:0;padding-left:1.6em} .bk-toc li{break-inside:avoid;padding:.25em 0;border-bottom:1px dotted #e3c9a3}
.bk-toc a{color:inherit;text-decoration:none;display:flex;gap:.45em;align-items:center} .bk-toc .ms{font-size:18px;color:#e8920a}
/* chapters */
.bk-ch{padding:4mm 0 2mm}
.bk-open{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:.8rem;margin:2mm 0 6mm;padding:5mm 6mm;border-radius:10px;color:#fff;
  background:var(--mandala-gold) right -30px center/120px no-repeat,linear-gradient(135deg,#7a1414,#b0400f 65%,#e07a12)}
.bk-num{font-size:2em;font-weight:700;opacity:.55} .bk-ic{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center}
.bk-open h2{margin:0;font-size:1.45em;line-height:1.3} .bk-open .bk-orn{grid-column:1/-1;margin:0;width:100%;opacity:.5;background-image:radial-gradient(circle,#ffd89a 2px,transparent 3px)}
.bk-sec h3{font-size:1.35em;color:#7a1414;margin:0 0 .15em;padding-bottom:.25em;border-bottom:2px solid #f0d2a8}
.bk-sec.now h3::after{content:' ●';color:#e8920a}
.bk-sub{color:#9a6a3a;font-size:.9em;margin:.2em 0 1em!important}
.bk-h{color:#a3400f;font-size:1.08em;margin:1.1em 0 .4em;display:flex;align-items:center;gap:.4em} .bk-h::before{content:'❖';color:#e8920a;font-size:.8em}
.bk-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(42mm,1fr));gap:.5rem;margin:0 0 1em}
.bk-list{margin:0 0 1em;padding:0;list-style:none} .bk-list li{position:relative;padding:0 0 .45em 1.5em} .bk-list li::before{content:'✿';position:absolute;left:0;color:#e8920a}
.bk-t{width:100%;border-collapse:collapse;margin:0 0 1em;font-size:.9em} .bk-t th{background:#fdf0dd;color:#7a1414;text-align:left;padding:.45em .6em;border:1px solid #f0dcc0}
.bk-t td{padding:.45em .6em;border:1px solid #f3e4cf;vertical-align:top} .bk-t tr:nth-child(even) td{background:#fffaf3}
.bk-note{display:flex;gap:.6em;background:#fdf4e4;border-left:4px solid #e8920a;border-radius:8px;padding:.8em 1em;margin:0 0 1em} .bk-note .ms{color:#e8920a} .bk-note p{margin:0}
.bk-score{display:grid;gap:.3em;margin:.2em 0 1.1em} .bk-score span{font-weight:600;color:#5a3a1a} .bk-score i{display:block;height:9px;border-radius:6px;background:#f3e4cf;overflow:hidden}
.bk-score em{display:block;height:100%;border-radius:6px} .bk-score em.g{background:#2e9b5a} .bk-score em.a{background:#e8920a} .bk-score em.r{background:#c0392b}
.bk-pros{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin:0 0 1em} .bk-pros>div{border-radius:10px;padding:.7em .9em} .bk-pros .g{background:#ecf7ef} .bk-pros .r{background:#fcefed}
.bk-pros b{display:flex;align-items:center;gap:.35em;margin-bottom:.3em} .bk-pros .g b{color:#1f7a44} .bk-pros .r b{color:#b0281a} .bk-pros .ms{font-size:18px}
.bk-pros ul{margin:0;padding-left:1.1em} .bk-pros li{margin-bottom:.3em;font-size:.93em}
.bk-fig{margin:0 auto 1em;max-width:105mm;text-align:center} .bk-fig svg{width:100%;height:auto} .bk-fig figcaption{font-weight:600;color:#7a1414;font-size:.9em}
.bk-vg{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem} .bk-vg .bk-fig{max-width:none;margin:0;break-inside:avoid}
@media (max-width:760px){.bk>thead td,.bk>tfoot td,.bk>tbody>tr>td{padding:0 4mm}.bk{font-size:14px}.bk-pros,.bk-cf{grid-template-columns:1fr}.bk-toc ol{columns:1}.bk-vg{grid-template-columns:1fr 1fr}.bk-cover{min-height:0}}
@page{size:A4;margin:8mm 0 10mm}
@media print{
  html{font-size:16px!important} body{background:#fff!important}
  .tstrip,.appbar,.topbar,.sfoot,.bnav,#drawer,#scrim,.noprint{display:none!important} main{margin:0!important;padding:0!important;max-width:none!important}
  main>*{max-width:none!important}
  .bk{max-width:none;box-shadow:none;border-radius:0;font-size:12pt;line-height:1.7} .bk *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .bk-cover{min-height:262mm;break-after:page} .bk-toc{break-after:page}
  .bk-ch{break-before:page} .bk-ch.flow{break-before:auto;padding-top:6mm}
  .bk-h,.bk-sec h3{break-after:avoid} .bk-facts,.bk-pros>div,.bk-score,.bk-fig,.bk-note,.bk-t tr{break-inside:avoid}
  .bk p{orphans:3;widows:3}
}
/* book fixes: white chapter titles, spacing under the running header, tables that keep their header */
.bk-open h2,.bk-open .bk-num{color:#fff!important}
.bk-run{padding:6mm 0 3mm;margin-bottom:6mm}
.bk-foot{margin-top:6mm}
.bk-two{display:grid;grid-template-columns:1fr 1fr;gap:6mm;margin-bottom:1em} .bk-two .bk-fig{max-width:none;margin:0}
.bk-t thead{display:table-header-group}
.bk-sec{padding-top:2mm} .bk-ch.flow .bk-sec{border-top:1px dashed #ecd6b8;padding-top:5mm}
.bk-t .tag{font-size:.85em}
@media print{.bk-t.keep{break-inside:avoid}.bk-t tr{break-inside:avoid}.bk-sec h3{break-after:avoid}.bk-sec>p:first-of-type{break-before:avoid}}
@media (max-width:760px){.bk-two{grid-template-columns:1fr}}
/* place suggestions: rows always start at the left edge */
.suggest button.sg{justify-content:flex-start!important;text-align:left!important}
.suggest button.sg>span:last-child{flex:1;min-width:0}
/* Milan: koota remedies + final summary */
.mm-exi{display:flex;flex-direction:column} .mm-exi .mm-rem{margin-top:auto;padding-top:.7rem}
.mm-final{margin-top:1.4rem;background:#fff;border:1px solid #ecdcc8;border-top:5px solid var(--t-saffron);border-radius:16px;padding:1.1rem 1.2rem;box-shadow:0 8px 24px -14px rgba(90,30,0,.35)}
.mm-fg{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.mm-fp,.mm-fn{border-radius:12px;padding:.8rem 1rem} .mm-fp{background:#ecf7ef} .mm-fn{background:#fcefed}
.mm-fp>b,.mm-fn>b,.mm-fs>b{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem} .mm-fp>b{color:#1f7a44} .mm-fn>b{color:#b0281a} .mm-fs>b{color:var(--t-maroon)}
.mm-fp ul,.mm-fn ul{margin:0;padding-left:1.1rem;display:grid;gap:.35rem;font-size:.9rem;line-height:1.5}
.mm-fs{margin-top:.9rem;background:#fffaf3;border:1px dashed #e6c99a;border-radius:12px;padding:.8rem 1rem} .mm-fs .mm-rem{margin:0;padding:0;border:0}
@media (max-width:760px){.mm-fg{grid-template-columns:1fr}}
@media print{.mm-final,.mm-fp,.mm-fn{break-inside:avoid}}

/* the global .ok status class must not paint Milan score rings and totals */
.mm-ring.ok,.mm-p.ok,.mm-pill.ok{background:none}
.mm-pill.ok{background:#fff}
/* book: no stray table borders on the repeating header/footer, more breathing room inside pages */
.bk,.bk>thead,.bk>tfoot,.bk>tbody,.bk>thead>tr,.bk>tfoot>tr,.bk>tbody>tr,.bk>thead td,.bk>tfoot td,.bk>tbody>tr>td{border:0!important;box-shadow:none;background:transparent}
.bk{background:#fff}
.bk>thead td,.bk>tfoot td,.bk>tbody>tr>td{padding-left:20mm!important;padding-right:20mm!important}
.bk-run{padding-top:8mm}
.bk-foot{padding-bottom:7mm}
@page{size:A4;margin:10mm 0 12mm}
@media (max-width:760px){.bk>thead td,.bk>tfoot td,.bk>tbody>tr>td{padding-left:5mm!important;padding-right:5mm!important}}
/* Milan hero on phones: no mandala behind names, smaller ring, names wrap cleanly */
@media (max-width:760px){
  .mm-hero{background:linear-gradient(135deg,#7a1414,#a8320c 60%,#d2690e)!important;grid-template-columns:1fr 104px 1fr;gap:.4rem;padding:1rem .6rem}
  .mm-score svg{width:96px;height:96px} .mm-sv b{font-size:1.45rem} .mm-sv small{font-size:.68rem}
  .mm-who{min-width:0} .mm-who b{font-size:.95rem;line-height:1.25;word-break:break-word} .mm-who small{font-size:.66rem} .mm-who>span:last-child{font-size:.74rem;line-height:1.3}
  .mm-verdict p{font-size:.9rem;line-height:1.5}
}
/* every top-level page section shares one centred column (cards, notes, warnings) */
main>*{margin-left:auto!important;margin-right:auto!important}
/* PDF: no repeating header/footer on the pages */
@media print{.bk>thead,.bk>tfoot{display:none!important}}
/* saved matches: full names (wrap instead of cutting), wider cards */
.mm-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.mm-item{padding:.7rem .8rem;align-items:center}
.mm-in b{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;font-size:.98rem}
.mm-in small{margin-top:.15rem}
.mm-item .icon-btn{flex:none}
/* no zigzag border lines anywhere */
.topbar.appbar::after,.ph::before,.sfoot::before,.th-hero::after{display:none!important}
/* predictions card: inner padding and spacing around the remedies link / "why" box */
.pp-card{padding:1.5rem 1.6rem!important}
.pp-more{margin:1rem 0 .4rem!important}
.pp-card>.coll,.pp-card>details{margin-top:1rem!important}
@media (max-width:760px){.pp-card{padding:1.1rem 1rem!important}}

/* ---- India Outlook ---- */
.wo-page{max-width:820px;margin:0 auto;padding:0 1rem 3rem}
/* hero banner */
.wo-hero{background:linear-gradient(135deg,var(--t-maroon2),var(--t-maroon) 55%,#a8320c);border-radius:0 0 16px 16px;padding:1.5rem 1.6rem 1rem;margin:0 -1rem 1.5rem;color:#fff}
.wo-hero-in{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem}
.wo-flag{font-size:2.2rem;line-height:1}
.wo-h1{font-size:1.45rem;font-weight:700;color:#fff;margin:0 0 .2rem}
.wo-sub{font-size:.82rem;color:rgba(255,255,255,.75);margin:0}
/* period tabs */
.wo-ptabs{display:flex;gap:4px;background:rgba(0,0,0,.25);border-radius:10px;padding:4px;width:fit-content}
.wo-ptab{background:transparent;border:none;border-radius:7px;padding:.35rem .85rem;cursor:pointer;font-size:.82rem;font-weight:500;color:rgba(255,255,255,.75);transition:background .15s}
.wo-ptab.on{background:#fff;color:var(--t-maroon);font-weight:700}
/* topic cards grid */
.wo-tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}
.wo-tcard{background:#fff;border:2px solid var(--t-line);border-radius:14px;padding:1.1rem .9rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.5rem;transition:border-color .15s,box-shadow .15s;position:relative}
.wo-tcard:hover{border-color:var(--t-saffron);box-shadow:0 2px 10px rgba(232,113,10,.15)}
.wo-tcard.on{border-color:var(--t-saffron);background:var(--t-cream2);box-shadow:0 3px 14px rgba(232,113,10,.2)}
.wo-tic{font-size:1.9rem;color:var(--t-maroon)}
.wo-tcard.on .wo-tic{color:var(--t-saffron)}
.wo-tlbl{font-size:.82rem;font-weight:600;color:var(--t-ink);text-align:center;line-height:1.25}
.wo-spin{width:18px;height:18px;border:2.5px solid var(--t-line);border-top-color:var(--t-saffron);border-radius:50%;animation:wo-rot .7s linear infinite;position:absolute;top:.6rem;right:.6rem}
@keyframes wo-rot{to{transform:rotate(360deg)}}
/* result card */
.wo-result{padding:1.4rem 1.5rem;border-left:4px solid var(--t-saffron)}
.wo-result-h{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}
.wo-result-h strong{font-size:1rem;color:var(--t-maroon);font-weight:700}
.wo-period-badge,.wo-date-badge{font-size:.72rem;padding:.2rem .55rem;border-radius:20px;background:var(--t-sand);color:var(--t-ink2);font-weight:500}
.wo-body p{line-height:1.7;margin:.45rem 0;font-size:.95rem;color:var(--t-ink)}
.wo-planets-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem;padding-top:.85rem;border-top:1px solid var(--t-line)}
.wo-pl-label{font-size:.72rem;font-weight:700;color:var(--t-maroon);align-self:center;margin-right:.2rem}
.wo-planet{font-size:.75rem;background:var(--t-cream2);border:1px solid var(--t-line);border-radius:6px;padding:.2rem .5rem;color:var(--t-ink)}
.wo-planet b{color:var(--t-maroon)}
.wo-planet em{color:var(--t-deep);font-style:normal}
.wo-ref{font-size:.73rem;color:var(--on-surface-variant);display:flex;align-items:flex-start;gap:.3rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--t-line)}
.wo-ref .ms{font-size:.9rem;flex-shrink:0;margin-top:1px}
.wo-disclaimer{font-size:.72rem;color:var(--on-surface-variant);font-style:italic;margin-top:.6rem}
@media(max-width:600px){
  .wo-tgrid{grid-template-columns:repeat(2,1fr)}
  .wo-hero{padding:1.2rem 1rem .9rem;margin:0 -1rem 1.2rem}
  .wo-h1{font-size:1.2rem}
  .wo-ptabs{width:100%}
  .wo-ptab{flex:1;text-align:center;padding:.3rem .4rem}
}

/* ── Individual kundali marriage analysis sections ── */
.mm-ind-sec{margin-top:1.5rem}
.mm-ind-grid{display:flex;flex-direction:column;gap:1rem}
.mm-ind-card{background:var(--s);border:1.5px solid var(--t-border,var(--line));border-radius:var(--r,14px);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.7rem}
.mm-ind-hd{display:flex;align-items:center;gap:.55rem;font-size:1rem;font-weight:700;color:var(--t-maroon);border-bottom:1px solid var(--line);padding-bottom:.6rem;margin-bottom:.1rem}
.mm-ind-hd .ms{font-size:1.3rem;color:var(--t-saffron)}
.mm-msuit{font-size:.82rem;font-weight:700;margin-left:auto;padding:.2rem .65rem;border-radius:999px}
.mm-msuit.full{background:#d1fae5;color:#065f46}.mm-msuit.part{background:#fef3c7;color:#92400e}.mm-msuit.zero{background:#fee2e2;color:#991b1b}
.mm-ind-meta{display:flex;flex-wrap:wrap;gap:.3rem .9rem;font-size:.85rem;color:var(--ink2)}
.mm-md{background:#fee2e2;color:#991b1b;border-radius:4px;padding:.1rem .4rem;font-size:.78rem;font-weight:600}
.mm-ind-pts{display:flex;flex-direction:column;gap:.5rem}
.mm-pt{display:flex;align-items:flex-start;gap:.55rem;padding:.6rem .85rem;border-radius:10px;font-size:1rem;line-height:1.6}
.mm-pt .ms{font-size:20px;flex:none;margin-top:.1rem}
.mm-pt p{margin:0}
.mm-pt.pos{background:#f0fdf4;color:#14532d}.mm-pt.pos .ms{color:#16a34a}
.mm-pt.neg{background:#fff8f0;color:#7c3c00}.mm-pt.neg .ms{color:#d97706}
@media print{.mm-pt{break-inside:avoid}}