/* Generated from site/index.html by tools/build_theme.py */

    @font-face { font-family: 'Vazirmatn'; font-style: normal; font-weight: 300 800; font-display: swap; src: url(../../fonts/vazir_arabic.woff2) format('woff2'); unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC7, U+10EC9-10EEE, U+10EF0-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1; }
    @font-face { font-family: 'Vazirmatn'; font-style: normal; font-weight: 300 800; font-display: swap; src: url(../../fonts/vazir_latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
  

    /*
      پالت سازمانی برگرفته از لوگوی MZ:
      سبز جنگلی برند  #455249  (رنگ زمینه لوگو)
      شنی-کتانی برند  #AEAB9A  (رنگ خطوط لوگو)
    */
    :root {
      --brand-forest: #455249;
      --brand-forest-deep: #2f3a33;
      --brand-sand: #aeab9a;
      --brand-sand-light: #d9d5c6;

      --bg-canvas: #f4f2ec;
      --bg-canvas-2: #e7e4d9;
      --orb-teal: rgba(0, 200, 179, 0.22);
      --orb-sage: rgba(203, 220, 170, 0.45);
      --orb-sky: rgba(174, 171, 154, 0.26);
      --tint-pistachio: #dce6c8;

      --glass-surface: rgba(255, 255, 255, 0.32);
      --glass-surface-strong: rgba(255, 255, 255, 0.5);
      --glass-surface-subtle: rgba(255, 255, 255, 0.15);
      --glass-border: rgba(255, 255, 255, 0.82);
      --glass-border-outer: rgba(31, 42, 36, 0.10);
      --glass-highlight: inset 0 1.5px 1px rgba(255, 255, 255, 1), inset 0 -1px 1px rgba(255, 255, 255, 0.55);
      --glass-shadow: 0 20px 50px -12px rgba(36, 44, 38, 0.12), 0 4px 16px -2px rgba(36, 44, 38, 0.05);
      --glass-rim: linear-gradient(145deg, rgba(255,255,255,0.95), rgba(255,255,255,0.15) 38%, rgba(174,171,154,0.35) 62%, rgba(255,255,255,0.75));
      --glass-sheen: linear-gradient(180deg, rgba(255,255,255,0.55) 0%, rgba(255,255,255,0.08) 46%, rgba(255,255,255,0) 54%, rgba(255,255,255,0.14) 100%);

      --text-primary: #18221d;
      --text-secondary: #39473f;
      --text-muted: #526058;

      --accent-primary: #2e4d3e;
      --accent-primary-hover: #213a2e;
      --accent-secondary: #4e6e5e;
      --accent-soft: rgba(46, 77, 62, 0.10);
      --accent-shadow: rgba(33, 58, 46, 0.26);
      --on-accent: #f8f6f0;
      --btn-gradient: linear-gradient(135deg, #2b493b, #476a58);

      --status-low: #1b5694;
      --status-optimal: #1b6b40;
      --status-warning: #9e4f0e;
      --status-high: #a62e2e;
      --status-neutral: #58635d;

      --radius-xl: 30px;
      --radius-lg: 22px;
      --radius-md: 15px;
      --radius-pill: 999px;
      --spring-easing: cubic-bezier(0.16, 1, 0.3, 1);
      --spring-soft: cubic-bezier(0.22, 1, 0.36, 1);
      --spring-pop: cubic-bezier(0.34, 1.32, 0.64, 1);
      --spring-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);

      /* شیشه مایع: نور داخلی، سایه شناور، قطره لمسی */
      --glass-caustic: inset 0 -18px 32px -26px rgba(255, 255, 255, 0.75);
      --glass-shadow-lift: 0 32px 70px -20px rgba(36, 44, 38, 0.22), 0 8px 22px -6px rgba(36, 44, 38, 0.08);
      --drop-ink: rgba(61, 90, 76, 0.20);
      --drop-on-solid: rgba(255, 255, 255, 0.48);
      --glow-color: rgba(255, 255, 255, 0.30);
      --scrim: rgba(24, 32, 27, 0.16);
    }

    html.dark-resolved {
      --bg-canvas: #141b17;
      --bg-canvas-2: #2a352e;
      --orb-teal: rgba(0, 218, 195, 0.16);
      --orb-sage: rgba(122, 150, 112, 0.14);
      --orb-sky: rgba(174, 171, 154, 0.09);
      --tint-pistachio: rgba(194, 212, 192, 0.12);

      --glass-surface: rgba(66, 78, 70, 0.26);
      --glass-surface-strong: rgba(58, 71, 62, 0.44);
      --glass-surface-subtle: rgba(52, 64, 56, 0.14);
      --glass-border: rgba(217, 213, 198, 0.16);
      --glass-border-outer: rgba(0, 0, 0, 0.45);
      --glass-highlight: inset 0 1.5px 1px rgba(255, 255, 255, 0.24), inset 0 -1px 1px rgba(255, 255, 255, 0.05);
      --glass-shadow: 0 24px 60px -12px rgba(0, 0, 0, 0.55), 0 4px 20px -2px rgba(0, 0, 0, 0.30);
      --glass-rim: linear-gradient(145deg, rgba(217,213,198,0.55), rgba(217,213,198,0.05) 38%, rgba(174,171,154,0.10) 62%, rgba(217,213,198,0.35));
      --glass-sheen: linear-gradient(180deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.02) 46%, rgba(255,255,255,0) 54%, rgba(255,255,255,0.04) 100%);

      --text-primary: #f1eee4;
      --text-secondary: #c4c1b3;
      --text-muted: #9da398;

      --accent-primary: #c8d5c4;
      --accent-primary-hover: #e0e8dc;
      --accent-secondary: #a9bba4;
      --accent-soft: rgba(200, 213, 196, 0.13);
      --accent-shadow: rgba(0, 0, 0, 0.40);
      --on-accent: #1d2a23;
      --btn-gradient: linear-gradient(135deg, #e2e8d9, #b3c2ac);

      --status-low: #78b8ff;
      --status-optimal: #5ce082;
      --status-warning: #ffb26b;
      --status-high: #ff8585;
      --status-neutral: #b5bab2;

      --glass-caustic: inset 0 -18px 32px -26px rgba(217, 213, 198, 0.16);
      --glass-shadow-lift: 0 34px 80px -18px rgba(0, 0, 0, 0.66), 0 8px 24px -6px rgba(0, 0, 0, 0.34);
      --drop-ink: rgba(200, 213, 196, 0.20);
      --drop-on-solid: rgba(255, 255, 255, 0.55);
      --glow-color: rgba(255, 255, 255, 0.55);
      --scrim: rgba(6, 10, 8, 0.38);
    }

    * { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
    [hidden] { display: none !important; }
    html { scroll-behavior: smooth; scroll-padding-top: 110px; height: auto; min-height: 100%; }
    body {
      font-family: 'Vazirmatn', Tahoma, -apple-system, BlinkMacSystemFont, sans-serif;
      background: radial-gradient(circle at 50% 0%, var(--bg-canvas-2), var(--bg-canvas));
      background-color: var(--bg-canvas);
      color: var(--text-primary);
      line-height: 1.7;
      min-height: 100vh;
      overflow-x: hidden;
      overflow-y: auto;
      transition: background-color 0.45s ease, color 0.35s ease;
      position: relative;
    }
    input, button, textarea, select { font-family: inherit; }
    button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {
      outline: 2px solid var(--accent-primary); outline-offset: 2px;
    }
    .glass-input:focus-visible, .user-code-pill input:focus-visible { outline: none; }

    /* پس‌زمینه ثابت با گرادیان‌های نرم (بدون فیلتر بلور و بدون انیمیشن، تا شیشه‌ها هر فریم دوباره محاسبه نشوند) */
    .ambient-canvas {
      position: fixed; inset: 0; pointer-events: none; z-index: 0;
      background:
        radial-gradient(560px 560px at 92% 4%, var(--orb-teal), transparent 72%),
        radial-gradient(520px 520px at 4% 86%, var(--orb-sage), transparent 72%),
        radial-gradient(420px 420px at 70% 50%, var(--orb-sky), transparent 72%);
    }

    .liquid-glass {
      position: relative;
      background: var(--glass-surface);
      backdrop-filter: blur(16px) saturate(190%);
      -webkit-backdrop-filter: blur(16px) saturate(190%);
      border: 1px solid var(--glass-border);
      box-shadow: 0 0 0 1px var(--glass-border-outer), var(--glass-shadow), var(--glass-highlight);
      border-radius: var(--radius-xl);
      overflow: hidden;
      transition: transform 0.45s var(--spring-easing), box-shadow 0.45s var(--spring-easing), border-color 0.35s ease;
    }
    .liquid-glass::before {
      content: "";
      position: absolute;
      inset: 0;
      background: radial-gradient(520px circle at var(--mouse-x, 50%) var(--mouse-y, 0%), rgba(255, 255, 255, 0.26), transparent 45%);
      pointer-events: none;
      z-index: 1;
      opacity: 0.85;
    }
    html.dark-resolved .liquid-glass::before {
      background: radial-gradient(520px circle at var(--mouse-x, 50%) var(--mouse-y, 0%), rgba(255, 255, 255, 0.09), transparent 45%);
    }
    .liquid-glass > * { position: relative; z-index: 2; }

    /* لبه نورانی شیشه مایع (Rim Light) و براقیت سطح */
    .liquid-glass, .header-glass { background-image: var(--glass-sheen); }
    .liquid-glass::after, .header-glass::after {
      content: "";
      position: absolute; inset: 0;
      border-radius: inherit;
      padding: 1.2px;
      background: var(--glass-rim);
      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      -webkit-mask-composite: xor;
      mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
      pointer-events: none;
      z-index: 3;
    }

    .scroll-reveal {
      opacity: 0;
      transform: translate3d(0, 40px, 0) scale(0.97);
      transition: opacity 0.9s var(--spring-easing), transform 0.9s var(--spring-easing);
      transition-delay: var(--reveal-delay, 0ms);
    }
    .scroll-reveal.is-visible { opacity: 1; transform: none; }

    .top-banner {
      position: relative; z-index: 40;
      background: var(--glass-surface-strong);
      backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
      border-bottom: 1px solid var(--glass-border);
      padding: 8px 16px; font-size: 0.8rem; color: var(--text-secondary);
    }
    .top-banner-inner {
      max-width: 1220px; margin: 0 auto;
      display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
    }
    .status-indicator { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; color: var(--text-primary); }
    .pulse-dot {
      width: 8px; height: 8px; border-radius: 50%;
      background: var(--accent-secondary);
      box-shadow: 0 0 0 4px rgba(174, 171, 154, 0.35);
      animation: pulseGlow 2s infinite;
    }
    @keyframes pulseGlow { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.2); opacity: 0.75; } }

    .container { max-width: 1220px; margin: 0 auto; padding: 0 20px; position: relative; z-index: 10; }
    .site-header { position: sticky; top: 12px; z-index: 100; margin-top: 14px; }
    /* جای هدر در صفحه ثابت می‌ماند (ارتفاع با JS)؛ فقط شیشه جمع می‌شود تا محتوا در سافاری نپرد */
    .site-header.has-reserve { pointer-events: none; }
    .site-header.has-reserve .header-glass { pointer-events: auto; }

    /* هدر شیشه مایع: شفاف‌تر تا محتوای زیرش هنگام اسکرول دیده شود */
    :root {
      --header-tint: linear-gradient(135deg, rgba(255,255,255,0.40), rgba(255,255,255,0.14) 55%, rgba(243,241,234,0.26));
      --header-glow: inset 0 0 22px rgba(255,255,255,0.32);
    }
    html.dark-resolved {
      --header-tint: linear-gradient(135deg, rgba(74,90,79,0.42), rgba(36,46,40,0.22) 55%, rgba(58,71,62,0.34));
      --header-glow: inset 0 0 22px rgba(217,213,198,0.07);
    }
    /* ساختار هدر: ردیف ۱ برند + اکشن‌ها، ردیف ۲ منوی اصلی؛ در تبلت و موبایل منوی کشویی */
    :root {
      --pop-bg: rgba(250, 249, 245, 0.96);
      --sheet-fill: rgba(247, 246, 241, 0.78);
      --header-tint-open: linear-gradient(135deg, rgba(250,249,245,0.92), rgba(243,241,234,0.9));
    }
    html.dark-resolved {
      --pop-bg: rgba(36, 46, 40, 0.97);
      --sheet-fill: rgba(30, 39, 33, 0.80);
      --header-tint-open: linear-gradient(135deg, rgba(40,51,44,0.95), rgba(30,39,33,0.94));
    }
    .header-glass {
      position: relative; isolation: isolate;
      display: grid;
      grid-template-columns: auto 1fr auto;
      grid-template-areas: "brand . actions" "nav nav nav" "sheet sheet sheet";
      align-items: center; column-gap: 16px; row-gap: 0;
      padding-block: 10px 0; padding-inline: 16px 12px;
      border-radius: 28px;
      background: var(--glass-sheen), var(--header-tint);
      backdrop-filter: blur(12px) saturate(180%);
      -webkit-backdrop-filter: blur(12px) saturate(180%);
      border: 1px solid transparent;
      box-shadow: var(--glass-shadow), var(--glass-highlight), var(--header-glow);
      transition: box-shadow 0.6s var(--spring-easing), background-color 0.6s ease, transform 0.8s var(--spring-soft);
    }
    /* شکست نور مایع (فقط مرورگرهای مبتنی بر Chromium؛ بقیه همان شیشه مات را می‌بینند) */
    .header-glass::before {
      content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 0;
      background:
        radial-gradient(120% 140% at 15% -40%, rgba(255,255,255,0.55), transparent 48%),
        radial-gradient(80% 120% at 100% 140%, rgba(174,171,154,0.22), transparent 55%);
      opacity: 0.55;
    }
    html.dark-resolved .header-glass::before { opacity: 0.35; }
    .header-glass > * { position: relative; z-index: 4; }
    :root { --header-tint-scrolled: linear-gradient(135deg, rgba(251,251,248,0.82), rgba(244,245,240,0.74)); }
    html.dark-resolved { --header-tint-scrolled: linear-gradient(135deg, rgba(30,38,33,0.84), rgba(20,26,22,0.78)); }
    .site-header.is-scrolled .header-glass {
      background: var(--glass-sheen), var(--header-tint-scrolled);
      backdrop-filter: blur(24px) saturate(140%); -webkit-backdrop-filter: blur(24px) saturate(140%);
      box-shadow: 0 26px 60px -18px rgba(20, 28, 23, 0.38), 0 6px 18px -6px rgba(20, 28, 23, 0.18), var(--glass-highlight), var(--header-glow);
    }
    .site-header.menu-open .header-glass {
      background-color: var(--sheet-fill);
      transform: translate3d(0, 3px, 0);
      box-shadow: 0 36px 80px -26px rgba(20, 28, 23, 0.45), 0 10px 26px -10px rgba(20, 28, 23, 0.22), var(--glass-highlight), var(--header-glow);
    }

    .brand-link { grid-area: brand; display: flex; align-items: center; gap: 11px; text-decoration: none; color: var(--text-primary); min-width: 0; padding-block-end: 10px; }
    .brand-icon {
      width: 44px; height: 44px; border-radius: 50%;
      background: var(--glass-sheen), var(--glass-surface-strong);
      display: flex; align-items: center; justify-content: center; color: var(--accent-primary);
      box-shadow: 0 6px 16px -4px var(--accent-shadow), var(--glass-highlight);
      border: 1px solid var(--glass-border); flex-shrink: 0;
    }
    .brand-icon svg { width: 27px; height: 27px; }
    .brand-text { min-width: 0; }
    .brand-latin { font-size: 0.6rem; letter-spacing: 2.4px; color: var(--text-muted); font-weight: 500; direction: ltr; text-align: right; }
    html[dir="ltr"] .brand-latin { display: none; }
    .brand-title { font-size: 0.98rem; font-weight: 800; letter-spacing: -0.2px; line-height: 1.25; white-space: nowrap; }
    .brand-subtitle { font-size: 0.72rem; color: var(--text-muted); font-weight: 500; white-space: nowrap; }

    /* اکشن‌ها: ابزارهای کمکی (زبان و تم)، ورود، رزرو نوبت، و دکمه اصلی دریافت رژیم در انتهای ردیف */
    .header-actions { grid-area: actions; display: flex; align-items: center; gap: 8px; padding-block-end: 10px; }
    .util-group { display: flex; align-items: center; gap: 6px; }
    .action-divider { width: 1px; height: 26px; background: var(--glass-border-outer); margin-inline: 2px; }

    .seg {
      display: inline-flex; padding: 3px; border-radius: var(--radius-pill);
      background: var(--glass-surface-subtle); border: 1px solid var(--glass-border);
    }
    .seg button {
      border: none; background: transparent; color: var(--text-muted);
      min-height: 30px; padding: 4px 9px; border-radius: var(--radius-pill);
      font-size: 0.74rem; font-weight: 700; cursor: pointer;
      display: inline-flex; align-items: center; justify-content: center; gap: 5px;
      transition: background 0.2s ease, color 0.2s ease;
    }
    .seg button:hover { color: var(--text-primary); }
    .seg button.active, .seg button[aria-pressed="true"] {
      background: var(--glass-surface-strong); color: var(--text-primary); box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    }
    .seg-icons button { width: 30px; padding: 0; }
    .lang-seg .lang-globe { color: var(--text-muted); display: inline-flex; padding-inline: 6px 2px; align-items: center; }
    .lang-seg button { min-width: 34px; font-family: inherit; }

    .hbtn {
      min-height: 40px; padding: 8px 15px; border-radius: var(--radius-pill);
      font-size: 0.82rem; font-weight: 700; cursor: pointer; white-space: nowrap;
      display: inline-flex; align-items: center; justify-content: center; gap: 7px;
      transition: transform 0.25s var(--spring-easing), background 0.2s ease, box-shadow 0.25s ease, border-color 0.2s ease;
      font-family: inherit;
    }
    .hbtn:active { transform: scale(0.97); }
    .hbtn-ghost { border: 1px solid transparent; background: transparent; color: var(--text-primary); }
    .hbtn-ghost:hover { background: var(--accent-soft); }
    .hbtn-outline { border: 1.5px solid var(--accent-primary); background: transparent; color: var(--accent-primary); }
    .hbtn-outline:hover { background: var(--accent-soft); }
    .btn-doctor-cta {
      min-height: 40px; padding: 8px 17px; border-radius: var(--radius-pill); border: none;
      background: var(--btn-gradient);
      color: var(--on-accent); font-size: 0.82rem; font-weight: 800; cursor: pointer; white-space: nowrap;
      display: inline-flex; align-items: center; justify-content: center; gap: 7px;
      box-shadow: 0 6px 18px var(--accent-shadow);
      transition: transform 0.25s var(--spring-easing), box-shadow 0.25s ease;
      font-family: inherit;
    }
    .btn-doctor-cta:hover { transform: translateY(-1px); box-shadow: 0 10px 22px var(--accent-shadow); }
    .login-avatar {
      display: none; min-width: 26px; height: 26px; padding: 0 5px; border-radius: 13px;
      background: var(--accent-primary); color: var(--on-accent); font-size: 0.7rem; font-weight: 800;
      align-items: center; justify-content: center;
    }
    .is-logged-in .login-avatar { display: inline-flex; }
    .is-logged-in .login-icon { display: none; }

    .menu-toggle {
      display: none; width: 42px; height: 42px; border-radius: 50%;
      border: 1px solid var(--glass-border); background: var(--glass-surface-subtle);
      color: var(--text-primary); cursor: pointer; align-items: center; justify-content: center;
    }
    .menu-toggle .icon-close { display: none; }
    .site-header.menu-open .menu-toggle .icon-open { display: none; }
    .site-header.menu-open .menu-toggle .icon-close { display: block; }

    /* ردیف منوی اصلی با خط جداکننده؛ هنگام اسکرول به پایین جمع می‌شود */
    .main-nav {
      grid-area: nav; display: flex; align-items: center; justify-content: center; gap: 4px; flex-wrap: wrap;
      border-top: 1px solid var(--glass-border-outer);
      padding-block: 6px; max-height: 60px; overflow: hidden;
      transition: max-height 0.45s var(--spring-easing), padding 0.45s var(--spring-easing), opacity 0.3s ease, border-color 0.3s ease;
    }
    .site-header.is-condensed:not(.menu-open) .main-nav { max-height: 0; padding-block: 0; opacity: 0; border-top-color: transparent; }
    .nav-item {
      text-decoration: none; color: var(--text-secondary);
      font-size: 0.84rem; font-weight: 600; padding: 7px 14px;
      border-radius: var(--radius-pill); transition: color 0.25s ease, background-color 0.25s ease;
      display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
    }
    .nav-item:hover, .nav-item.active { color: var(--text-primary); background: var(--glass-surface-strong); }

    /* پنل ورود با کد پیگیری (بدون رمز عبور) */
    .login-panel {
      position: absolute; top: calc(100% + 10px); inset-inline-end: 8px; z-index: 120;
      width: min(320px, calc(100vw - 32px)); padding: 18px;
      border-radius: 22px; background: var(--pop-bg);
      border: 1px solid var(--glass-border); box-shadow: var(--glass-shadow), var(--glass-highlight);
      display: flex; flex-direction: column; gap: 10px;
      animation: popIn 0.35s var(--spring-easing);
    }
    @keyframes popIn { from { opacity: 0; transform: translateY(-6px) scale(0.98); } to { opacity: 1; transform: none; } }
    .login-panel h3 { font-size: 0.95rem; font-weight: 800; }
    .login-panel p { font-size: 0.78rem; color: var(--text-secondary); }
    .login-field {
      display: flex; align-items: center; gap: 8px;
      border-radius: var(--radius-md); background: var(--glass-surface-strong);
      border: 1px solid var(--glass-border); padding: 4px 4px 4px 4px;
    }
    .login-field:focus-within { border-color: var(--accent-primary); box-shadow: 0 0 0 3px var(--accent-soft); }
    .login-field input {
      flex: 1; min-width: 0; border: none; background: transparent; outline: none;
      padding: 9px 10px; font-size: 1rem; font-weight: 800; color: var(--text-primary); text-align: center; font-family: inherit;
    }
    .login-field button { min-height: 38px; }
    .login-panel .login-hint { font-size: 0.72rem; color: var(--text-muted); }
    .login-user-row { display: flex; align-items: center; gap: 10px; }
    .login-actions { display: flex; gap: 8px; flex-wrap: wrap; }
    .login-actions .hbtn { flex: 1; min-height: 38px; }

    /* منوی کشویی تبلت و موبایل */
    .mobile-sheet { grid-area: sheet; display: none; }
    .sheet-nav { display: grid; gap: 2px; }
    .sheet-nav a {
      display: flex; align-items: center; min-height: 46px; padding-inline: 12px; border-radius: 14px;
      color: var(--text-primary); text-decoration: none; font-weight: 700; font-size: 0.95rem;
    }
    .sheet-nav a:hover, .sheet-nav a:focus-visible { background: var(--accent-soft); }
    .sheet-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .sheet-actions .hbtn { min-height: 46px; }
    .sheet-utils { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
    .sheet-utils .util-label { font-size: 0.76rem; color: var(--text-muted); font-weight: 600; }
    .sheet-util { display: flex; align-items: center; gap: 8px; }

    .hero-section { padding: 46px 0 24px; text-align: center; }
    .hero-badge {
      display: inline-flex; align-items: center; gap: 8px; padding: 6px 16px;
      border-radius: var(--radius-pill); background: var(--glass-surface);
      border: 1px solid var(--glass-border); font-size: 0.78rem; font-weight: 600;
      color: var(--accent-primary); margin-bottom: 16px; box-shadow: var(--glass-highlight);
    }
    .hero-title { font-size: clamp(1.75rem, 3.6vw, 2.75rem); font-weight: 800; letter-spacing: -0.6px; line-height: 1.3; max-width: 780px; margin: 0 auto 12px; }
    .hero-subtitle { font-size: 0.96rem; color: var(--text-secondary); max-width: 620px; margin: 0 auto 24px; }

    .condition-sort-bar { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; max-width: 880px; margin: 0 auto 12px; }
    .condition-chip {
      padding: 7px 15px; border-radius: var(--radius-pill);
      background: var(--glass-surface); border: 1px solid var(--glass-border);
      color: var(--text-secondary); font-size: 0.8rem; font-weight: 600; cursor: pointer;
      transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease, transform 0.3s var(--spring-easing); box-shadow: var(--glass-highlight);
    }
    .condition-chip:hover, .condition-chip.active { background: var(--accent-primary); color: var(--on-accent); border-color: transparent; transform: translateY(-2px); }
    .condition-info-banner {
      max-width: 760px; margin: 12px auto 0; padding: 12px 20px;
      border-radius: var(--radius-lg); font-size: 0.84rem; color: var(--text-primary);
      display: none; align-items: center; justify-content: space-between; gap: 12px; text-align: start;
    }
    .condition-info-banner.show { display: flex; animation: revealResults 0.6s var(--spring-easing); }

    .workspace-grid { display: grid; grid-template-columns: 1fr 1.18fr; gap: 24px; margin-top: 22px; align-items: start; }
    .glass-card-padding { padding: 28px; }
    .card-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
    .card-title-group h2 { font-size: 1.15rem; font-weight: 800; letter-spacing: -0.3px; }
    .card-title-group p { font-size: 0.78rem; color: var(--text-muted); margin-top: 2px; }

    .active-user-strip {
      display: none; align-items: center; justify-content: space-between; gap: 10px;
      padding: 9px 14px; margin-bottom: 14px; border-radius: var(--radius-md);
      background: var(--accent-soft); border: 1px solid var(--glass-border-outer);
      font-size: 0.78rem; font-weight: 600; color: var(--text-primary);
    }
    .active-user-strip.show { display: flex; }

    .gender-switch {
      display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 5px;
      border-radius: var(--radius-lg); background: var(--glass-surface-subtle);
      border: 1px solid var(--glass-border); margin-bottom: 14px;
    }
    .gender-option {
      border: none; background: transparent; color: var(--text-secondary);
      padding: 10px 14px; border-radius: var(--radius-md); font-size: 0.86rem; font-weight: 700;
      cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px;
      transition: color 0.25s ease, transform 0.3s var(--spring-easing);
    }
    .gender-option.active { background: var(--glass-surface-strong); color: var(--accent-primary); box-shadow: 0 4px 14px rgba(0,0,0,0.07), var(--glass-highlight); }

    .pregnancy-toggle {
      display: flex; align-items: center; gap: 10px; padding: 10px 14px;
      border-radius: var(--radius-md); background: var(--accent-soft);
      border: 1px solid var(--glass-border-outer); font-size: 0.8rem; font-weight: 600;
      margin-bottom: 16px; cursor: pointer;
    }
    .pregnancy-toggle input { accent-color: var(--accent-primary); width: 16px; height: 16px; flex-shrink: 0; }
    .pregnancy-toggle.hidden { display: none; }

    .inputs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .field-group { display: flex; flex-direction: column; gap: 6px; }
    .field-group.full-width { grid-column: 1 / -1; }
    .field-label { display: flex; align-items: center; justify-content: space-between; font-size: 0.8rem; font-weight: 700; color: var(--text-secondary); }
    .guide-trigger {
      border: none; background: var(--accent-soft); color: var(--accent-primary);
      font-size: 0.72rem; font-weight: 700; padding: 2px 8px; border-radius: var(--radius-pill); cursor: pointer;
    }
    .glass-input-wrap {
      position: relative; display: flex; align-items: center;
      border-radius: var(--radius-md); background: var(--glass-surface-strong);
      border: 1px solid var(--glass-border); transition: all 0.25s ease;
    }
    .glass-input-wrap:focus-within { border-color: var(--accent-primary); box-shadow: 0 0 0 3px var(--accent-soft); }
    .glass-input-wrap.invalid { border-color: var(--status-high); box-shadow: 0 0 0 3px rgba(176, 74, 69, 0.14); }
    .glass-input {
      width: 100%; border: none; background: transparent; padding: 12px 14px;
      font-size: 0.98rem; font-weight: 700; color: var(--text-primary); outline: none;
    }
    .glass-input::placeholder { color: var(--text-muted); font-weight: 500; opacity: 0.8; }
    select.glass-input { cursor: pointer; }
    select.glass-input option { background: var(--bg-canvas); color: var(--text-primary); }
    .input-unit { padding-inline-end: 12px; font-size: 0.76rem; font-weight: 600; color: var(--text-muted); }
    .field-error { display: none; font-size: 0.72rem; font-weight: 600; color: var(--status-high); }
    .field-error.show { display: block; }
    .micro-guide-drawer {
      display: none; padding: 10px 12px; border-radius: var(--radius-md);
      background: var(--glass-surface-subtle); border: 1px dashed var(--glass-border-outer);
      font-size: 0.76rem; color: var(--text-secondary); margin-top: 4px;
    }
    .micro-guide-drawer.open { display: block; }

    .calc-submit-btn {
      margin-top: 18px; width: 100%; padding: 14px 20px; border-radius: var(--radius-lg); border: none;
      background: var(--btn-gradient);
      color: var(--on-accent); font-size: 0.94rem; font-weight: 800; cursor: pointer;
      display: flex; align-items: center; justify-content: center; gap: 10px;
      box-shadow: 0 12px 28px -6px var(--accent-shadow);
      transition: transform 0.3s var(--spring-easing), box-shadow 0.3s ease;
    }
    .calc-submit-btn:hover { transform: translateY(-2px); box-shadow: 0 16px 32px -6px var(--accent-shadow); }
    .enter-hint { text-align: center; font-size: 0.74rem; color: var(--text-muted); margin-top: 8px; }
    .kbd-tag {
      display: inline-block; padding: 1px 7px; border-radius: 6px;
      background: var(--glass-surface-strong); border: 1px solid var(--glass-border);
      font-weight: 700; font-size: 0.7rem; color: var(--text-primary);
    }

    .standby-view { min-height: 430px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 32px 20px; color: var(--text-muted); }
    .standby-rings { width: 150px; height: 150px; margin-bottom: 20px; }
    .standby-rings svg { width: 100%; height: 100%; animation: slowSpin 24s linear infinite; }
    @keyframes slowSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

    .results-view { display: none; }
    .results-view.active { display: block; animation: revealResults 0.75s var(--spring-easing) forwards; }
    @keyframes revealResults {
      0% { opacity: 0; transform: scale(0.95) translateY(18px); }
      100% { opacity: 1; transform: none; }
    }

    .user-assigned-banner {
      display: flex; align-items: center; justify-content: space-between; gap: 12px;
      padding: 12px 16px; border-radius: var(--radius-lg);
      background: linear-gradient(135deg, var(--accent-soft), rgba(174, 171, 154, 0.14));
      border: 1px solid var(--glass-border-outer); margin-bottom: 20px; flex-wrap: wrap;
    }
    .user-badge-left { display: flex; align-items: center; gap: 10px; }
    .user-avatar-ring {
      min-width: 44px; height: 44px; padding: 0 6px; border-radius: 50%; letter-spacing: 0.5px; direction: ltr; background: var(--accent-primary);
      color: var(--on-accent); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 0.85rem;
    }
    .user-id-title { font-size: 0.9rem; font-weight: 800; }
    .user-id-sub { font-size: 0.74rem; color: var(--text-secondary); }
    .banner-actions { display: flex; align-items: center; gap: 6px; }

    .radial-gauges-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 18px; }
    .radial-card {
      padding: 18px 14px; border-radius: var(--radius-lg);
      background: var(--glass-surface-subtle); border: 1px solid var(--glass-border);
      display: flex; flex-direction: column; align-items: center; text-align: center; box-shadow: var(--glass-highlight);
    }
    .radial-svg-wrap { position: relative; width: 148px; height: 148px; margin-bottom: 10px; }
    .radial-svg { width: 100%; height: 100%; transform: rotate(-90deg); }
    .radial-track { fill: none; stroke: rgba(120, 150, 160, 0.16); stroke-width: 11; }
    .radial-progress {
      fill: none; stroke-width: 11; stroke-linecap: round;
      stroke-dasharray: 351.86; stroke-dashoffset: 351.86;
      transition: stroke-dashoffset 1.3s var(--spring-easing), stroke 0.4s ease;
    }
    .radial-center-text { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
    .radial-value { font-size: 1.5rem; font-weight: 800; line-height: 1.1; }
    .radial-unit { font-size: 0.72rem; color: var(--text-muted); font-weight: 600; }
    .radial-caption { font-size: 0.82rem; font-weight: 800; }
    .radial-status-pill { margin-top: 6px; padding: 3px 11px; border-radius: var(--radius-pill); font-size: 0.74rem; font-weight: 700; background: var(--accent-soft); }

    .clinical-summary-box {
      padding: 15px 18px; border-radius: var(--radius-lg);
      background: var(--glass-surface-strong); border: 1px solid var(--glass-border); margin-bottom: 18px;
    }
    .clinical-summary-box h4 { font-size: 0.88rem; font-weight: 800; margin-bottom: 6px; display: flex; align-items: center; gap: 7px; }
    .clinical-body p { font-size: 0.81rem; color: var(--text-secondary); }
    .clinical-body p + p { margin-top: 6px; }
    .clinical-disclaimer { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--glass-border); font-size: 0.72rem; color: var(--text-muted); }

    .trend-chart-card {
      padding: 16px 18px; border-radius: var(--radius-lg);
      background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); margin-bottom: 18px;
      color: var(--text-primary);
    }
    .trend-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; flex-wrap: wrap; gap: 8px; }
    .trend-header h4 { font-size: 0.86rem; font-weight: 800; flex: 1 1 200px; min-width: 0; }
    .chart-metric button { min-height: 28px; font-size: 0.72rem; }
    .trend-foot { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 8px; font-size: 0.74rem; color: var(--text-muted); }
    .trend-foot span { display: inline-flex; align-items: center; gap: 6px; }
    .trend-svg-container svg text { font-family: inherit; font-variant-numeric: tabular-nums; }
    .trend-svg-container { width: 100%; min-height: 120px; }
    .trend-svg-container svg { width: 100%; height: auto; overflow: visible; display: block; }
    .trend-empty { font-size: 0.78rem; color: var(--text-muted); text-align: center; padding: 8px 0 2px; }
    .trend-line-draw { stroke-dasharray: 100; stroke-dashoffset: 100; animation: drawTrend 1.6s var(--spring-easing) forwards; }
    @keyframes drawTrend { to { stroke-dashoffset: 0; } }

    .section-block { margin-top: 64px; }
    .section-heading { text-align: center; margin-bottom: 32px; }
    .section-heading h2 { font-size: clamp(1.35rem, 2.6vw, 2rem); font-weight: 800; margin-bottom: 8px; }
    .section-heading p { font-size: 0.9rem; color: var(--text-secondary); max-width: 600px; margin: 0 auto; }

    .animated-showcase-slide { padding: 36px 32px; display: grid; grid-template-columns: 1.05fr 1.25fr; gap: 32px; align-items: center; }
    .steps-timeline { display: flex; flex-direction: column; gap: 16px; }
    .step-item {
      padding: 16px 18px; border-radius: var(--radius-lg);
      background: var(--glass-surface-subtle); border: 1px solid var(--glass-border);
      cursor: pointer; transition: background-color 0.35s ease, border-color 0.35s ease, transform 0.35s var(--spring-easing); display: flex; align-items: flex-start; gap: 14px;
      text-align: start; width: 100%; color: inherit; font: inherit;
    }
    .step-item.active { background: var(--glass-surface-strong); border-color: var(--accent-primary); transform: translateX(-6px); }
    html[dir="ltr"] .step-item.active { transform: translateX(6px); }
    .step-num {
      width: 32px; height: 32px; border-radius: 50%; background: var(--accent-soft);
      color: var(--accent-primary); font-weight: 800; font-size: 0.85rem;
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .step-item.active .step-num { background: var(--accent-primary); color: var(--on-accent); }
    .step-text h3 { font-size: 0.94rem; font-weight: 800; margin-bottom: 4px; }
    .step-text p { font-size: 0.8rem; color: var(--text-secondary); }

    .graphic-stage {
      min-height: 320px; border-radius: var(--radius-lg);
      background: var(--glass-surface-strong); border: 1px solid var(--glass-border);
      padding: 24px; display: flex; flex-direction: column; justify-content: space-between; box-shadow: var(--glass-highlight);
      color: var(--text-primary);
    }
    .stage-top-bar {
      display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap;
      padding: 8px 14px; border-radius: var(--radius-pill);
      background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); font-size: 0.78rem;
    }
    .animated-typing-pill {
      display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px;
      border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-primary); font-weight: 800;
    }
    .demo-curve { stroke-dasharray: 450; stroke-dashoffset: 450; transition: stroke-dashoffset 1.4s var(--spring-easing); }
    .demo-area { opacity: 0; transition: opacity 0.8s ease; }
    .demo-pt { opacity: 0; transform: translateY(8px); transition: opacity 0.6s var(--spring-easing), transform 0.6s var(--spring-easing); transform-box: fill-box; }
    .demo-pt.on { opacity: 1; transform: translateY(0); }
    .stage-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 0.78rem; color: var(--text-secondary); }

    .ebm-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
    .ebm-card { padding: 24px; display: flex; flex-direction: column; justify-content: space-between; }
    .ebm-layer-switch {
      display: inline-flex; padding: 3px; border-radius: var(--radius-pill);
      background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); margin-bottom: 14px; align-self: flex-start;
    }
    .ebm-tab-btn { border: none; background: transparent; color: var(--text-muted); font-size: 0.72rem; font-weight: 700; padding: 4px 10px; border-radius: var(--radius-pill); cursor: pointer; }
    .ebm-tab-btn.active { background: var(--accent-primary); color: var(--on-accent); }
    .ebm-card h3 { font-size: 0.98rem; font-weight: 800; margin-bottom: 8px; }
    .ebm-card p { font-size: 0.82rem; color: var(--text-secondary); }
    .ebm-research-text { display: none; }
    .ebm-research-text.show { display: block; animation: revealResults 0.5s var(--spring-easing); }
    .ebm-research-text p + p { margin-top: 6px; }
    .pubmed-meta {
      margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--glass-border);
      font-size: 0.72rem; color: var(--text-muted); direction: ltr; text-align: left;
      font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; line-height: 1.6;
    }
    .pubmed-meta a { color: var(--accent-primary); font-weight: 700; text-decoration: none; }
    .pubmed-meta a:hover { text-decoration: underline; }

    .contact-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 24px; }
    .contact-list { display: flex; flex-direction: column; gap: 12px; margin-top: 16px; }
    .contact-row { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: var(--radius-md); background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); font-size: 0.84rem; }
    .contact-row svg { flex-shrink: 0; color: var(--accent-primary); }

    .site-footer { margin-top: 48px; padding: 22px 0 40px; text-align: center; font-size: 0.74rem; color: var(--text-muted); position: relative; z-index: 10; }
    .site-footer p + p { margin-top: 4px; }

    .modal-backdrop {
      position: fixed; inset: 0; background: rgba(5, 15, 20, 0.5);
      backdrop-filter: blur(10px) saturate(140%); -webkit-backdrop-filter: blur(10px) saturate(140%);
      z-index: 200; display: flex; align-items: center; justify-content: center; padding: 20px;
      opacity: 0; visibility: hidden; pointer-events: none;
      transition: opacity 0.4s ease, visibility 0s linear 0.4s;
    }
    .modal-backdrop.open { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity 0.45s ease, visibility 0s; }
    .modal-dialog { width: 100%; max-width: 580px; max-height: 90vh; overflow-y: auto; padding: 28px; }
    .modal-backdrop .modal-dialog { opacity: 0; transform: translate3d(0, 34px, 0) scale(0.94); transition: transform 0.4s var(--spring-easing), opacity 0.3s ease; }
    .modal-backdrop.open .modal-dialog { opacity: 1; transform: none; transition: transform 0.8s var(--spring-pop), opacity 0.4s ease; }
    .modal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
    .modal-head h3 { font-size: 1.1rem; font-weight: 800; }
    .priority-note {
      display: none; padding: 10px 14px; margin-bottom: 14px; border-radius: var(--radius-md);
      background: rgba(176, 74, 69, 0.08); border: 1px solid rgba(176, 74, 69, 0.24);
      font-size: 0.78rem; font-weight: 600; color: var(--text-primary);
    }
    .priority-note.show { display: block; }

    .glass-toast {
      position: fixed; bottom: 24px; inset-inline-end: 24px; z-index: 250; padding: 12px 20px; max-width: calc(100vw - 48px);
      border-radius: var(--radius-pill); background: var(--glass-surface-strong);
      backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
      border: 1px solid var(--accent-primary); box-shadow: var(--glass-shadow);
      font-size: 0.82rem; font-weight: 700; color: var(--text-primary);
      display: flex; align-items: center; gap: 10px; transform: translateY(140%) scale(0.92); opacity: 0; transition: transform 0.65s var(--spring-pop), opacity 0.35s ease, border-color 0.3s ease;
      pointer-events: none;
    }
    .glass-toast.show { transform: translateY(0); opacity: 1; }
    .glass-toast.error { border-color: var(--status-high); }


    /* مودال رزرو نوبت */
    .modal-lead { font-size: 0.82rem; color: var(--text-secondary); margin-bottom: 14px; }
    .bk-group { border: none; margin: 0 0 14px; padding: 0; min-width: 0; }
    .bk-group legend { margin-bottom: 8px; }
    .bk-options, .bk-days, .bk-slots { display: flex; flex-wrap: wrap; gap: 8px; }
    .bk-chip { position: relative; cursor: pointer; }
    .bk-chip input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
    .bk-chip span, .bk-day, .bk-slot {
      display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
      min-height: 42px; padding: 7px 14px; border-radius: var(--radius-md);
      background: var(--glass-surface-strong); border: 1px solid var(--glass-border);
      font-size: 0.82rem; font-weight: 700; color: var(--text-secondary); line-height: 1.35;
      transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease; font-family: inherit;
    }
    .bk-chip input:checked + span, .bk-day[aria-pressed="true"], .bk-slot[aria-pressed="true"] {
      background: var(--accent-primary); color: var(--on-accent); border-color: transparent;
    }
    .bk-chip input:focus-visible + span { outline: 2px solid var(--accent-primary); outline-offset: 2px; }
    .bk-day, .bk-slot { cursor: pointer; }
    .bk-day { min-width: 74px; }
    .bk-day small { font-size: 0.7rem; font-weight: 600; opacity: 0.8; }
    .bk-slot { min-width: 72px; font-variant-numeric: tabular-nums; }
    .bk-slot:disabled { opacity: 0.4; cursor: not-allowed; text-decoration: line-through; }
    .bk-done { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; padding-block: 8px; }
    .bk-done-icon { width: 60px; height: 60px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-primary); display: flex; align-items: center; justify-content: center; }
    .bk-done h4 { font-size: 1.05rem; font-weight: 800; }
    .bk-done p { font-size: 0.86rem; color: var(--text-secondary); }
    .bk-done .bk-done-note { font-size: 0.76rem; color: var(--text-muted); }


    /* نوار دکمه‌های اصلی در پایین صفحه موبایل (محدوده دسترسی انگشت شست) */
    .mobile-cta-bar {
      display: none; position: fixed; z-index: 150; inset-inline: 0; bottom: 0;
      padding-block: 10px calc(10px + env(safe-area-inset-bottom, 0px));
      padding-inline: max(12px, env(safe-area-inset-left, 0px)) max(12px, env(safe-area-inset-right, 0px));
      gap: 10px; grid-template-columns: 1fr 1.25fr;
      background: var(--glass-sheen), var(--header-tint);
      backdrop-filter: blur(16px) saturate(200%); -webkit-backdrop-filter: blur(16px) saturate(200%);
      border-top: 1px solid var(--glass-border);
      box-shadow: 0 -10px 30px -12px rgba(20, 28, 23, 0.25);
    }
    .mobile-cta-bar .hbtn, .mobile-cta-bar .btn-doctor-cta { min-height: 46px; width: 100%; }
    @media (max-width: 600px) {
      .mobile-cta-bar { display: grid; }
      body { padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)); }
      .header-actions .btn-doctor-cta { display: none; }
      .glass-toast { bottom: calc(80px + env(safe-area-inset-bottom, 0px)); inset-inline: 16px; justify-content: center; }
    }

    /* لوگو در هیرو و فوتر */
    .hero-mark { width: 64px; height: 64px; margin: 0 auto 14px; color: var(--brand-forest); display: block; }
    html.dark-resolved .hero-mark { color: var(--brand-sand-light); }
    .footer-lockup { width: 118px; height: auto; margin: 0 auto 14px; color: var(--accent-secondary); display: block; opacity: 0.9; }

    @media (max-width: 960px) {
      .workspace-grid, .animated-showcase-slide, .ebm-grid, .contact-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 1080px) {
      .header-glass { grid-template-areas: "brand . actions" "sheet sheet sheet"; padding-inline: 14px 10px; }
      .main-nav, .header-actions .util-group, .header-actions .action-divider,
      .header-actions .login-wrap, .header-actions .hbtn-outline { display: none; }
      .menu-toggle { display: inline-flex; }
      .login-panel { inset-inline: 8px; width: auto; }
    }
    @media (max-width: 600px) {
      .radial-gauges-grid, .inputs-grid { grid-template-columns: 1fr; }
      .glass-card-padding { padding: 20px; }
      .animated-showcase-slide { padding: 22px 18px; }
      .container { padding: 0 14px; }
      .site-header { top: 8px; margin-top: 10px; }
      .header-glass { border-radius: 24px; padding-inline: 12px 8px; column-gap: 8px; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand actions" "sheet sheet"; }
      .brand-text { overflow: hidden; }
      .brand-title, .brand-subtitle { overflow: hidden; text-overflow: ellipsis; }
      .brand-icon { width: 40px; height: 40px; }
      .brand-title { font-size: 0.9rem; }
      .brand-subtitle { font-size: 0.66rem; }
      .brand-latin { display: none; }
    }
    @media (max-width: 380px) {
      .sheet-actions { grid-template-columns: 1fr; }
    }
    @media (max-width: 600px) {
      .top-banner { padding: 7px 14px; font-size: 0.74rem; }
      .top-banner-inner > div:last-child { display: none; }
      .hero-section { padding-top: 32px; }
      .hero-mark { width: 60px; height: 60px; }
    }

    /* ===================== شیشه مایع: شناوری و بازخورد لمسی ===================== */
    .liquid-glass { box-shadow: 0 0 0 1px var(--glass-border-outer), var(--glass-shadow), var(--glass-highlight), var(--glass-caustic); }
    @media (hover: hover) {
      .liquid-glass:hover { box-shadow: 0 0 0 1px var(--glass-border-outer), var(--glass-shadow-lift), var(--glass-highlight), var(--glass-caustic); }
    }
    .hero-mark { animation: markFloat 7s ease-in-out infinite; }
    @keyframes markFloat {
      0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
      50% { transform: translate3d(0, -7px, 0) rotate(-2deg); }
    }
    .brand-icon { transition: transform 0.6s var(--spring-pop), box-shadow 0.4s ease; }
    .brand-link:hover .brand-icon { transform: translateY(-2px) rotate(-6deg) scale(1.04); }

    .glass-input-wrap { transition: border-color 0.25s ease, box-shadow 0.45s var(--spring-easing), transform 0.5s var(--spring-pop), background-color 0.3s ease; }
    .glass-input-wrap:focus-within { transform: translateY(-1px); box-shadow: 0 0 0 3px var(--accent-soft), 0 12px 26px -16px var(--accent-shadow); }
    .glass-input-wrap.invalid:focus-within { box-shadow: 0 0 0 3px rgba(176, 74, 69, 0.16); }

    /* قطره نور هنگام لمس (Liquid ripple) */
    .hbtn, .btn-doctor-cta, .calc-submit-btn, .condition-chip, .gender-option, .seg button,
    .bk-day, .bk-slot, .bk-chip span, .nav-item, .sheet-nav a, .step-item, .ebm-tab-btn,
    .guide-trigger, .user-code-btn, .btn-ghost, .menu-toggle, .auth-tab, .code-load-btn, .link-btn, .day-slot {
      position: relative; overflow: hidden; isolation: isolate;
    }
    .liquid-drop {
      position: absolute; left: var(--x); top: var(--y); width: var(--d); height: var(--d);
      margin-left: calc(var(--d) / -2); margin-top: calc(var(--d) / -2);
      border-radius: 50%; pointer-events: none; z-index: -1;
      background: radial-gradient(circle, var(--drop-ink) 0%, var(--drop-ink) 35%, transparent 70%);
      transform: scale(0); opacity: 1;
      animation: liquidDrop 0.8s var(--spring-soft) forwards;
    }
    .liquid-drop.on-solid { background: radial-gradient(circle, var(--drop-on-solid) 0%, transparent 68%); }
    @keyframes liquidDrop { 55% { opacity: 0.85; } 100% { transform: scale(1); opacity: 0; } }

    /* فشردن نرم دکمه‌ها و بازگشت فنری */
    .hbtn:active, .btn-doctor-cta:active, .calc-submit-btn:active, .condition-chip:active, .gender-option:active,
    .seg button:active, .bk-day:active, .bk-slot:active, .bk-chip:active span, .ebm-tab-btn:active, .guide-trigger:active,
    .user-code-btn:active, .btn-ghost:active, .menu-toggle:active, .auth-tab:active, .code-load-btn:active, .nav-item:active {
      transform: scale(0.955); transition-duration: 0.12s;
    }

    /* درخشش و جذب مغناطیسی دکمه‌های اصلی */
    .btn-doctor-cta, .calc-submit-btn { translate: var(--mx, 0px) var(--my, 0px); }
    .btn-doctor-cta { transition: transform 0.3s var(--spring-easing), box-shadow 0.3s ease, translate 0.6s var(--spring-pop); }
    .calc-submit-btn { transition: transform 0.35s var(--spring-easing), box-shadow 0.3s ease, translate 0.6s var(--spring-pop); }
    .btn-doctor-cta::before, .calc-submit-btn::before {
      content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: -1; pointer-events: none;
      background: radial-gradient(150px circle at var(--px, 50%) var(--py, 50%), var(--glow-color), transparent 70%);
      opacity: var(--glow, 0); transition: opacity 0.4s ease;
    }

    /* کارت‌های شناور با چرخش ملایم به سمت نشانگر */

    /* نشانگر شناور سوییچ‌ها (مثل قطره مایع بین گزینه‌ها جابه‌جا می‌شود) */
    .seg, .gender-switch, .ebm-layer-switch, .auth-tabs { position: relative; isolation: isolate; }
    .liquid-thumb {
      position: absolute; top: 0; left: 0; z-index: -1; pointer-events: none;
      background: var(--glass-sheen), var(--glass-surface-strong);
      box-shadow: 0 4px 14px -4px rgba(20, 28, 23, 0.18), var(--glass-highlight);
      transition: transform 0.62s var(--spring-bounce), width 0.62s var(--spring-bounce), height 0.3s ease, opacity 0.25s ease, scale 0.4s var(--spring-bounce);
    }
    .liquid-thumb.no-anim { transition: none; }
    .liquid-thumb.off { opacity: 0; }
    .liquid-thumb.stretch { scale: 1.08 0.86; }
    .ebm-layer-switch .liquid-thumb { background: var(--accent-primary); box-shadow: 0 4px 12px -4px var(--accent-shadow); }
    .gender-switch .liquid-thumb { box-shadow: 0 4px 14px rgba(0, 0, 0, 0.07), var(--glass-highlight); }
    .has-thumb > button.active, .has-thumb > button[aria-pressed="true"],
    .has-thumb > button[aria-checked="true"], .has-thumb > button[aria-selected="true"] { background: transparent; box-shadow: none; }

    /* منوی موبایل: باز شدن آرام، شناور و پله‌ای */
    .sheet-clip { min-height: 0; overflow: hidden; visibility: hidden; transition: visibility 0s linear 0.5s; }
    .sheet-body { display: flex; flex-direction: column; gap: 14px; border-top: 1px solid var(--glass-border-outer); padding-block: 14px 16px; }
    .sheet-nav a, .sheet-actions, .sheet-utils {
      opacity: 0; transform: translate3d(0, -12px, 0) scale(0.96);
      transition: opacity 0.25s ease, transform 0.35s var(--spring-easing), background-color 0.2s ease;
    }
    @media (max-width: 1080px) {
      .mobile-sheet { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.5s var(--spring-easing); }
      .site-header.menu-open .mobile-sheet { grid-template-rows: 1fr; transition: grid-template-rows 1.05s cubic-bezier(0.5, 0, 0.12, 1); }
    }
    .site-header.menu-open .sheet-clip { visibility: visible; transition-delay: 0s; }
    .site-header.menu-open .sheet-nav a, .site-header.menu-open .sheet-actions, .site-header.menu-open .sheet-utils {
      opacity: 1; transform: none;
      transition: opacity 0.8s ease, transform 1.05s var(--spring-pop), background-color 0.2s ease;
      transition-delay: calc(var(--i, 0) * 70ms + 160ms);
    }
    .menu-scrim {
      position: fixed; inset: 0; z-index: 90; background: var(--scrim);
      backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
      opacity: 0; visibility: hidden; transition: opacity 0.5s ease, visibility 0s linear 0.5s;
    }
    body.menu-is-open .menu-scrim { opacity: 1; visibility: visible; transition: opacity 0.7s ease, visibility 0s; }
    .mobile-cta-bar { transition: transform 0.6s var(--spring-soft), opacity 0.4s ease; }
    body.menu-is-open .mobile-cta-bar { transform: translate3d(0, 110%, 0); opacity: 0; pointer-events: none; }

    .menu-toggle { transition: background-color 0.3s ease, transform 0.3s var(--spring-pop); }
    .site-header.menu-open .menu-toggle { background-color: var(--accent-soft); }
    .burger { position: relative; display: block; width: 18px; height: 14px; }
    .burger i {
      position: absolute; inset-inline-start: 0; display: block; height: 2.2px; width: 100%; border-radius: 2px;
      background: currentColor;
      transition: top 0.45s var(--spring-soft), transform 0.6s var(--spring-pop), opacity 0.3s ease, width 0.45s var(--spring-soft);
    }
    .burger i:nth-child(1) { top: 0; }
    .burger i:nth-child(2) { top: 6px; }
    .burger i:nth-child(3) { top: 12px; width: 62%; }
    .site-header.menu-open .burger i:nth-child(1) { top: 6px; transform: rotate(45deg); }
    .site-header.menu-open .burger i:nth-child(2) { opacity: 0; transform: scaleX(0.2); }
    .site-header.menu-open .burger i:nth-child(3) { top: 6px; width: 100%; transform: rotate(-45deg); }

    /* دکمه‌های کوچک کمکی */
    .user-code-btn {
      border: 1px solid var(--glass-border); background: var(--glass-surface-strong); color: var(--accent-primary);
      font-family: inherit; font-size: 0.78rem; font-weight: 800; padding: 7px 14px; border-radius: var(--radius-pill);
      cursor: pointer; white-space: nowrap; box-shadow: var(--glass-highlight);
      transition: transform 0.3s var(--spring-pop), background-color 0.2s ease;
    }
    .user-code-btn:hover { background-color: var(--accent-soft); }
    .btn-ghost {
      border: none; background: transparent; color: var(--accent-primary); font-family: inherit;
      font-size: 0.76rem; font-weight: 800; padding: 4px 10px; border-radius: var(--radius-pill); cursor: pointer; white-space: nowrap;
      transition: transform 0.3s var(--spring-pop), background-color 0.2s ease;
    }
    .btn-ghost:hover { background-color: var(--glass-surface-strong); }
    .link-btn {
      border: none; background: none; color: var(--accent-primary); font-family: inherit; font-size: inherit; font-weight: 800;
      cursor: pointer; padding: 2px 4px; border-radius: 8px; text-decoration: underline; text-underline-offset: 3px;
    }
    .optional-tag {
      font-size: 0.68rem; font-weight: 700; color: var(--text-muted); background: var(--accent-soft);
      padding: 1px 9px; border-radius: var(--radius-pill);
    }
    .field-hint { font-size: 0.74rem; color: var(--text-muted); line-height: 1.65; }

    /* کادر کد پیگیری در ماشین‌حساب */
    .track-code-box {
      display: flex; flex-direction: column; gap: 7px; margin-bottom: 14px; padding: 12px 14px;
      border-radius: var(--radius-lg); background: var(--glass-surface-subtle); border: 1px dashed var(--glass-border-outer);
      animation: paneIn 0.5s var(--spring-easing);
    }
    .code-wrap { padding: 4px; padding-inline-start: 12px; gap: 8px; }
    .code-wrap > svg { color: var(--text-muted); flex-shrink: 0; }
    .code-wrap .glass-input { padding: 8px 4px; letter-spacing: 1.5px; text-transform: uppercase; }
    .code-wrap .glass-input::placeholder { letter-spacing: 1px; text-transform: none; }
    .code-load-btn {
      flex-shrink: 0; border: none; min-height: 38px; padding: 6px 14px; border-radius: 12px;
      background: var(--btn-gradient); color: var(--on-accent); font-family: inherit; font-weight: 800; font-size: 0.78rem;
      cursor: pointer; white-space: nowrap; box-shadow: 0 6px 14px -6px var(--accent-shadow);
      transition: transform 0.3s var(--spring-pop), box-shadow 0.3s ease;
    }
    .code-load-btn:hover { box-shadow: 0 10px 20px -8px var(--accent-shadow); }

    /* پنجره ورود و ساخت حساب */
    .auth-dialog { max-width: 470px; }
    .auth-tabs {
      display: grid; grid-template-columns: 1fr 1fr; padding: 4px; margin-bottom: 18px;
      border-radius: var(--radius-pill); background: var(--glass-surface-subtle); border: 1px solid var(--glass-border);
    }
    .auth-tab {
      border: none; background: transparent; color: var(--text-muted); min-height: 42px; border-radius: var(--radius-pill);
      font-family: inherit; font-size: 0.9rem; font-weight: 800; cursor: pointer; transition: color 0.25s ease, transform 0.3s var(--spring-pop);
    }
    .auth-tab[aria-selected="true"] { color: var(--text-primary); }
    .auth-pane { display: flex; flex-direction: column; gap: 12px; animation: paneIn 0.55s var(--spring-easing); }
    .auth-pane form { display: flex; flex-direction: column; gap: 12px; }
    .auth-pane .modal-lead { margin-bottom: 0; }
    .auth-pane .calc-submit-btn { margin-top: 4px; }
    @keyframes paneIn {
      from { opacity: 0; transform: translate3d(0, 10px, 0) scale(0.985); }
      to { opacity: 1; transform: none; }
    }
    .auth-switch { font-size: 0.8rem; color: var(--text-secondary); text-align: center; }
    .auth-demo { font-size: 0.74rem; color: var(--text-muted); text-align: center; }
    .import-box { padding: 14px; border-radius: var(--radius-lg); background: var(--accent-soft); border: 1px dashed var(--glass-border-outer); }
    .import-preview {
      display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--radius-md);
      background: var(--glass-surface-strong); border: 1px solid var(--glass-border);
      font-size: 0.78rem; font-weight: 700; color: var(--text-primary); animation: paneIn 0.45s var(--spring-easing);
    }
    .import-preview svg { color: var(--status-optimal); flex-shrink: 0; }
    .import-preview.miss { color: var(--text-secondary); font-weight: 600; }
    .import-preview.miss svg { color: var(--text-muted); }
    .code-reveal {
      direction: ltr; font-size: 1.65rem; font-weight: 800; letter-spacing: 3px; padding: 10px 24px; margin-block: 4px;
      border-radius: var(--radius-lg); background: var(--glass-sheen), var(--glass-surface-strong); border: 1px solid var(--glass-border);
      box-shadow: var(--glass-highlight), 0 14px 30px -18px var(--accent-shadow); font-variant-numeric: tabular-nums;
      animation: codePop 0.9s var(--spring-bounce);
    }
    @keyframes codePop { from { transform: scale(0.7) translateY(8px); opacity: 0; } to { transform: none; opacity: 1; } }
    .auth-member { display: flex; flex-direction: column; gap: 14px; animation: paneIn 0.5s var(--spring-easing); }
    .auth-member h4 { font-size: 1rem; font-weight: 800; }
    .auth-member .login-user-row p { font-size: 0.78rem; color: var(--text-secondary); }
    .member-meta { display: grid; gap: 8px; }
    .member-meta div {
      display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 14px;
      border-radius: var(--radius-md); background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); font-size: 0.8rem;
    }
    .member-meta span:first-child { color: var(--text-muted); font-weight: 600; }
    .member-meta span:last-child { font-weight: 800; font-variant-numeric: tabular-nums; }
    .member-hint { font-size: 0.78rem; color: var(--text-secondary); padding: 10px 14px; border-radius: var(--radius-md); background: var(--accent-soft); }
    .auth-member .login-actions .hbtn, .auth-member .login-actions .btn-doctor-cta { flex: 1; min-height: 44px; }


    /* ===================== برنامه غذایی ===================== */
    .meal-styles { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 24px; }
    .style-card { padding: 20px 22px; display: flex; gap: 14px; align-items: flex-start; }
    .style-icon { width: 44px; height: 44px; border-radius: 14px; background: var(--accent-soft); color: var(--accent-primary); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .style-card h3 { font-size: 0.98rem; font-weight: 800; margin-bottom: 4px; }
    .style-card p { font-size: 0.8rem; color: var(--text-secondary); }
    .meal-toolbar { display: flex; justify-content: center; margin-bottom: 20px; overflow-x: auto; padding: 4px; scrollbar-width: none; }
    .meal-toolbar::-webkit-scrollbar { display: none; }
    .meal-filter { flex-wrap: nowrap; }
    .meal-filter button { min-height: 38px; padding: 6px 15px; font-size: 0.8rem; white-space: nowrap; }
    .recipe-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
    .recipe-card {
      padding: 20px; display: flex; flex-direction: column; gap: 10px; text-align: start; cursor: pointer;
      color: inherit; font: inherit; width: 100%;
      animation: paneIn 0.6s var(--spring-easing) backwards; animation-delay: var(--d, 0ms);
      transition: box-shadow 0.45s ease;
    }
    .recipe-card:active { transform: scale(0.98); transition-duration: 0.12s; }
    .r-tags { display: flex; flex-wrap: wrap; gap: 6px; }
    .r-tag { font-size: 0.68rem; font-weight: 800; padding: 2px 9px; border-radius: var(--radius-pill); background: var(--accent-soft); color: var(--accent-primary); }
    .r-tag.cat { background: var(--accent-primary); color: var(--on-accent); }
    .recipe-card h3 { font-size: 1rem; font-weight: 800; line-height: 1.55; }
    .recipe-card .r-desc { font-size: 0.8rem; color: var(--text-secondary); flex: 1; }
    .nut-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
    .nut { padding: 6px 4px; border-radius: 12px; background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); text-align: center; }
    .nut b { display: block; font-size: 0.9rem; font-weight: 800; font-variant-numeric: tabular-nums; line-height: 1.3; }
    .nut span { font-size: 0.64rem; color: var(--text-muted); font-weight: 600; }
    .nut-empty { font-size: 0.74rem; color: var(--text-muted); padding: 8px 10px; border-radius: 12px; background: var(--glass-surface-subtle); border: 1px dashed var(--glass-border-outer); }
    .recipe-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 0.74rem; color: var(--text-muted); }
    .recipe-open { color: var(--accent-primary); font-weight: 800; display: inline-flex; align-items: center; gap: 4px; }
    html[dir="rtl"] .recipe-open svg { transform: scaleX(-1); }
    .day-plan { margin-top: 26px; padding: 24px; }
    .day-plan-head { margin-bottom: 14px; }
    .day-plan-head h3 { font-size: 1.05rem; font-weight: 800; }
    .day-plan-head p { font-size: 0.8rem; color: var(--text-secondary); }
    .day-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
    .day-slot {
      display: flex; flex-direction: column; gap: 4px; padding: 14px; border-radius: var(--radius-lg); text-align: start; cursor: pointer;
      background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); color: inherit; font: inherit;
      transition: transform 0.5s var(--spring-pop), background-color 0.25s ease;
    }
    .day-slot:hover { background-color: var(--glass-surface-strong); transform: translateY(-3px); }
    .day-slot small { font-size: 0.7rem; font-weight: 800; color: var(--accent-secondary); }
    .day-slot strong { font-size: 0.82rem; font-weight: 800; line-height: 1.5; }
    .day-slot span { font-size: 0.7rem; color: var(--text-muted); font-variant-numeric: tabular-nums; }
    .meal-note { font-size: 0.74rem; color: var(--text-muted); text-align: center; max-width: 720px; margin: 16px auto 0; }

    .recipe-dialog { max-width: 720px; display: flex; flex-direction: column; gap: 12px; }
    .recipe-dialog .modal-head { margin-bottom: 0; align-items: flex-start; }
    .rm-tags { display: flex; flex-wrap: wrap; gap: 6px; }
    .rm-title { font-size: 1.25rem; font-weight: 800; line-height: 1.5; }
    .rm-desc { font-size: 0.86rem; color: var(--text-secondary); }
    .rm-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 0.78rem; color: var(--text-muted); font-weight: 700; }
    .rm-meta span { display: inline-flex; align-items: center; gap: 5px; }
    .rm-nut-note { font-size: 0.7rem; color: var(--text-muted); }
    .rm-iran { padding: 12px 14px; border-radius: var(--radius-md); background: var(--accent-soft); border: 1px dashed var(--glass-border-outer); }
    .rm-iran h4 { font-size: 0.84rem; font-weight: 800; margin-bottom: 4px; display: flex; align-items: center; gap: 6px; color: var(--accent-primary); }
    .rm-iran p { font-size: 0.8rem; color: var(--text-primary); }
    .rm-cols { display: grid; grid-template-columns: 1fr 1.35fr; gap: 20px; margin-top: 4px; }
    .rm-h { font-size: 0.9rem; font-weight: 800; margin-bottom: 8px; }
    .rm-ing { list-style: none; }
    .rm-ing li { display: flex; gap: 9px; padding: 6px 0; border-bottom: 1px dashed var(--glass-border-outer); font-size: 0.82rem; }
    .rm-ing li::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent-secondary); margin-top: 0.62em; flex-shrink: 0; }
    .rm-steps { list-style: none; counter-reset: step; }
    .rm-steps li { counter-increment: step; display: flex; gap: 10px; font-size: 0.82rem; margin-bottom: 10px; }
    .rm-steps li::before {
      content: counter(step); width: 24px; height: 24px; border-radius: 50%; background: var(--accent-primary); color: var(--on-accent);
      font-size: 0.72rem; font-weight: 800; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    html[lang="fa"] .rm-steps li::before { content: counter(step, persian); }
    .rm-source { font-size: 0.74rem; color: var(--text-muted); border-top: 1px solid var(--glass-border); padding-top: 10px; }
    .rm-source a { color: var(--accent-primary); font-weight: 800; text-decoration: none; }
    .rm-source a:hover { text-decoration: underline; }

    @media (max-width: 960px) {
      .recipe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .day-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
    @media (max-width: 600px) {
      .meal-styles, .recipe-grid, .rm-cols { grid-template-columns: 1fr; }
      .day-list { grid-template-columns: 1fr 1fr; }
      .meal-toolbar { justify-content: flex-start; }
      .day-plan { padding: 18px; }
    }


    /* بنر حوزه درمانی: دکمه نباید فشرده و بریده شود */
    #conditionDetailText { flex: 1; min-width: 0; }
    .condition-info-banner .user-code-btn { flex-shrink: 0; }
    @media (max-width: 600px) {
      .condition-info-banner { flex-direction: column; align-items: stretch; text-align: start; }
      .condition-info-banner .user-code-btn { width: 100%; min-height: 42px; }
    }

    /* صفحه دوم: برنامه غذایی */
    .meal-cta-row { display: flex; justify-content: center; margin-top: 22px; }
    .meal-cta { width: auto; display: inline-flex; padding: 14px 28px; text-decoration: none; margin-top: 0; }
    html[dir="rtl"] .meal-cta svg, html[dir="ltr"] .page-back svg { transform: scaleX(-1); }
    .page-view { padding-top: 22px; }
    .page-view.page-enter, .page-view-home.page-enter { animation: paneIn 0.7s var(--spring-easing); }
    .page-topbar { display: flex; justify-content: flex-start; }
    .page-back { text-decoration: none; }
    .page-hero { padding: 28px 0 22px; }
    .meal-tips { padding: 20px 24px; margin-bottom: 22px; }
    .meal-tips h3 { font-size: 0.98rem; font-weight: 800; margin-bottom: 10px; }
    .meal-tips ul { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 22px; }
    .meal-tips li { display: flex; gap: 8px; font-size: 0.82rem; color: var(--text-secondary); }
    .meal-tips li svg { color: var(--status-optimal); flex-shrink: 0; margin-top: 0.3em; }
    .nut b small { font-size: 0.64rem; font-weight: 700; color: var(--text-secondary); margin-inline-start: 3px; }
    @media (max-width: 600px) { .meal-tips ul { grid-template-columns: 1fr; } }


    /* ===================== صفحه دوم: مجله، پرده انتقال، ورود پله‌ای ===================== */
    :root { --curtain-1: rgba(255, 255, 255, 0.62); --curtain-2: rgba(231, 228, 217, 0.88); }
    html.dark-resolved { --curtain-1: rgba(74, 90, 79, 0.62); --curtain-2: rgba(24, 32, 27, 0.92); }
    .journal-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .jp-card { padding: 20px; display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--text-primary); }
    .jp-card h3 { font-size: 0.95rem; font-weight: 800; line-height: 1.6; flex: 1; }
    .jp-src { font-size: 0.7rem; color: var(--text-muted); font-weight: 700; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; text-align: start; }
    html[dir="rtl"] .jp-card .recipe-open svg { transform: scaleX(-1); }
    .hero-en { display: block; font-size: 0.42em; letter-spacing: 1.5px; color: var(--text-muted); font-weight: 700; margin-top: 6px; }
    html[dir="ltr"] .hero-en { display: none; }
    .journal-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 18px 22px; margin-bottom: 22px; }
    .journal-layer { display: flex; flex-direction: column; gap: 2px; font-size: 0.82rem; color: var(--text-secondary); }
    .journal-layer b { color: var(--text-primary); font-size: 0.9rem; }
    @media (max-width: 960px) { .journal-preview { grid-template-columns: 1fr; } }
    @media (max-width: 600px) { .journal-intro { grid-template-columns: 1fr; } }

    .page-curtain {
      position: fixed; inset: 0; z-index: 400; pointer-events: none; visibility: hidden;
      display: flex; align-items: center; justify-content: center;
      background: radial-gradient(circle at var(--cx, 50%) var(--cy, 50%), var(--curtain-1), var(--curtain-2) 70%);
      backdrop-filter: blur(14px) saturate(160%); -webkit-backdrop-filter: blur(14px) saturate(160%);
      clip-path: circle(0px at var(--cx, 50%) var(--cy, 50%));
    }
    .page-curtain::after {
      content: ""; position: absolute; left: var(--cx, 50%); top: var(--cy, 50%); width: 40px; height: 40px; margin: -20px 0 0 -20px;
      border-radius: 50%; border: 2px solid var(--accent-secondary); opacity: 0;
    }
    .page-curtain.in { visibility: visible; pointer-events: auto; clip-path: circle(150vmax at var(--cx, 50%) var(--cy, 50%)); transition: clip-path 0.55s cubic-bezier(0.7, 0, 0.25, 1); }
    .page-curtain.in::after { animation: curtainRing 0.9s cubic-bezier(0.2, 0.8, 0.2, 1) forwards; }
    @keyframes curtainRing { 0% { opacity: 0.8; transform: scale(0.3); } 100% { opacity: 0; transform: scale(14); } }
    .page-curtain svg { width: 74px; height: 74px; color: var(--accent-primary); opacity: 0; transform: scale(0.55) rotate(-12deg); filter: blur(6px); }
    .page-curtain.in svg { opacity: 1; transform: none; filter: none; transition: opacity 0.4s ease 0.15s, transform 0.7s var(--spring-pop) 0.12s, filter 0.4s ease 0.12s; }
    .page-curtain.out { opacity: 0; transform: scale(1.06); transition: opacity 0.6s ease, transform 0.8s var(--spring-soft); }
    .page-curtain.out svg { opacity: 0; transform: scale(1.35); filter: blur(4px); transition: all 0.45s ease; }

    .st-in { animation: staggerIn 0.9s var(--spring-pop) backwards; animation-delay: calc(var(--si, 0) * 75ms + 140ms); }
    @keyframes staggerIn {
      from { opacity: 0; transform: translate3d(0, 34px, 0) scale(0.94); }
      to { opacity: 1; transform: none; }
    }
    /* کارت‌های شناور روی آب: transform را موتور فیزیک می‌دهد، پس ترنزیشنش برداشته می‌شود */
    .floating { transition: box-shadow 0.45s ease, border-color 0.35s ease, opacity 0.9s ease !important; }



    /* ===================== شیت رنگی سایت (Design Tokens) — نسخه ۱۲ =====================
       نسخه ۱۳: بازگشت به هویت لوگو — مریمی‌گلی جنگلی (آرامش، سلامت، طبیعت) روی زمینه شنی/عاجی، کمی زنده‌تر از نسخه اول.
       روانشناسی رنگ برای سایت پزشکی/تغذیه: رنگ‌های سرد و آرام
       روی زمینه خنثی گرم (کرم/عاجی = صمیمیت)، و فقط یک رنگ گرم (زردآلویی) با کمترین سهم برای حوزه غذا.
       قاعده ۶۰/۳۰/۱۰: ۶۰٪ خنثی · ۳۰٪ ظرف‌های فیروزه‌ای ملایم · ۱۰٪ فیروزه‌ای عمیق (دکمه اصلی، حالت فعال، لینک).
       بدون گرادیان چندرنگ روی دکمه‌ها؛ رنگ‌های معنایی فقط برای وضعیت سلامت. */
    :root {
      /* اصلی: مریمی‌گلی جنگلی (هویت لوگو) */
      --sage-50: #f1f5f1; --sage-100: #e2ebe3; --sage-200: #c5d6c8; --sage-300: #a1bba7; --sage-400: #7a9b84;
      --sage-500: #5b7969; --sage-600: #3d5a4c; --sage-700: #2d4439; --sage-800: #22342b; --sage-900: #18251f;
      /* گرم (فقط حوزه غذا): زردآلویی/سفالی */
      --apricot-100: #f9e5d8; --apricot-400: #d9783e; --apricot-700: #9c4516;
      /* نقش‌ها */
      --primary-container: var(--sage-100); --on-primary-container: var(--sage-700);
      --sec: var(--accent-primary); --sec-v: var(--sage-400); --on-sec: #f7f5ef;
    }
    html.dark-resolved {
      --primary-container: rgba(200, 213, 196, 0.14); --on-primary-container: #d7e2d3;
      --sec-v: #a9bba4; --on-sec: #1d2a23;
    }
    /* حوزه غذا: زردآلویی (اشتها و گرما) */
    #meal-plan-section, #mealsPage { --sec: var(--apricot-700); --sec-v: var(--apricot-400); }
    html.dark-resolved #meal-plan-section, html.dark-resolved #mealsPage { --sec: #f2a877; --sec-v: #e8894f; --on-sec: #2a1406; }

    /* چیپ‌ها و تگ‌ها خنثی؛ فقط حالت فعال رنگ می‌گیرد (همان رنگ حوزه) */
    .r-tag { background: var(--glass-surface-subtle); color: var(--text-secondary); border: 1px solid var(--glass-border-outer); }
    .hero-badge, .recipe-open, .step-num, .style-icon, .r-tag.cat { color: var(--sec); }
    .condition-chip:hover { background: var(--glass-surface-strong); color: var(--text-primary); border-color: var(--glass-border); }
    .condition-chip.active, .step-item.active .step-num, .ebm-layer-switch .liquid-thumb { background: var(--sec); color: var(--on-sec); border-color: transparent; }
    .step-item.active { border-color: var(--sec); }
    .step-num, .style-icon, .r-tag.cat { background: var(--primary-container); border-color: transparent; }
    @supports (background: color-mix(in srgb, red 10%, transparent)) {
      .hero-badge { background: color-mix(in srgb, var(--sec-v) 11%, var(--glass-surface)); border-color: color-mix(in srgb, var(--sec-v) 22%, transparent); }
      .step-num, .style-icon, .r-tag.cat { background: color-mix(in srgb, var(--sec-v) 14%, transparent); }
      .step-item.active .step-num { background: var(--sec); }
    }

    /* ---------- معرفی دکتر (اعتبار علمی) ---------- */
    .doc-card {
      display: inline-flex; align-items: center; gap: 22px; padding: 20px 30px; margin: 0 auto 28px;
      text-align: start; border-radius: 28px; max-width: 100%;
    }
    .doc-card .hero-mark { width: 78px; height: 78px; margin: 0; flex-shrink: 0; }
    .doc-eyebrow { font-size: 0.74rem; font-weight: 800; color: var(--accent-primary); letter-spacing: 0.2px; margin-bottom: 2px; }
    .doc-name { font-size: clamp(1.4rem, 2.8vw, 1.85rem); font-weight: 900; line-height: 1.35; letter-spacing: -0.3px; color: var(--text-primary); }
    .doc-role { font-size: clamp(0.92rem, 1.6vw, 1.02rem); font-weight: 700; color: var(--text-secondary); margin-top: 2px; }
    .doc-creds { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; }
    .doc-creds li { font-size: 0.76rem; font-weight: 700; padding: 4px 11px; border-radius: var(--radius-pill); background: var(--primary-container); color: var(--on-primary-container); }
    .doc-phd { font-family: inherit; font-weight: 800; color: var(--accent-primary); margin-inline-start: 4px; }
    html[dir="ltr"] .doc-phd { display: none; }
    .hero-title { font-size: clamp(1.7rem, 3.7vw, 2.6rem); font-weight: 800; letter-spacing: -0.5px; line-height: 1.4; margin-bottom: 12px; }
    .hero-hl { color: var(--accent-primary); }
    .hero-subtitle { font-size: 0.98rem; line-height: 1.95; max-width: 680px; }
    .evidence-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; max-width: 900px; margin: 4px auto 24px; }
    .ev-item {
      display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; text-align: start; border-radius: var(--radius-lg);
      background: var(--glass-surface); border: 1px solid var(--glass-border); box-shadow: 0 0 0 1px var(--glass-border-outer), var(--glass-highlight);
    }
    .ev-item b { font-size: 0.86rem; font-weight: 800; color: var(--text-primary); }
    .ev-item span { font-size: 0.76rem; color: var(--text-secondary); line-height: 1.75; }
    .ev-item b::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--accent-primary); margin-inline-end: 8px; vertical-align: middle; }
    .hero-cta { display: inline-flex; width: auto; padding: 14px 32px; margin: 0 auto 26px; text-decoration: none; font-size: 0.95rem; }
    .hero-cta-wrap { display: flex; justify-content: center; }
    .hero-cond-label { font-size: 0.8rem; color: var(--text-muted); font-weight: 700; margin-bottom: 8px; }
    @media (max-width: 700px) {
      .doc-card { flex-direction: column; text-align: center; gap: 12px; padding: 20px; }
      .doc-creds { justify-content: center; }
      .evidence-row { grid-template-columns: 1fr; gap: 8px; }
    }
    /* ---------- صفحه اول: کارت‌های ورود به بخش‌ها ---------- */
    .portal-section { margin: 34px 0 10px; }
    .portal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .portal-card { display: flex; flex-direction: column; gap: 12px; padding: 22px; text-decoration: none; color: var(--text-primary); min-height: 190px; }
    .pc-icon { width: 46px; height: 46px; border-radius: 15px; display: flex; align-items: center; justify-content: center; background: var(--primary-container); color: var(--sec); }
    .pc-body { flex: 1; }
    .pc-body h3 { font-size: 1.02rem; font-weight: 800; margin-bottom: 6px; }
    .pc-body p { font-size: 0.82rem; color: var(--text-secondary); line-height: 1.85; }
    .pc-go { display: inline-flex; align-items: center; gap: 6px; font-size: 0.8rem; font-weight: 800; color: var(--sec); }
    html[dir="rtl"] .pc-go svg { transform: scaleX(-1); }
    .portal-card .pc-go svg { transition: transform 0.35s var(--spring-easing); }
    .portal-card:hover .pc-go svg { transform: translateX(4px); }
    html[dir="rtl"] .portal-card:hover .pc-go svg { transform: scaleX(-1) translateX(4px); }
    .pc-main .pc-icon { background: var(--accent-primary); color: var(--on-accent); }
    .pc-food { --sec: var(--apricot-700); --sec-v: var(--apricot-400); }
    html.dark-resolved .pc-food { --sec: #f2a877; --sec-v: #e8894f; }
    @supports (background: color-mix(in srgb, red 10%, transparent)) {
      .pc-food .pc-icon { background: color-mix(in srgb, var(--sec-v) 16%, transparent); }
    }
    .hero-cta svg { margin-inline-start: 6px; }
    html[dir="rtl"] .hero-cta svg { transform: scaleX(-1); }
    section[id], #conditions-bar, #resultsPanel { scroll-margin-top: 150px; }
    @media (max-width: 960px) { section[id], #conditions-bar, #resultsPanel { scroll-margin-top: 90px; } }
    .conditions-block { text-align: center; margin: 4px 0 24px; }
    #screeningPage .workspace-grid { margin-top: 10px; }
    @media (max-width: 960px) { .portal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 600px) { .portal-grid { grid-template-columns: 1fr; gap: 10px; } .portal-card { min-height: 0; padding: 18px; } }
    /* ---------- نسخه ۱۴: دسترس‌پذیری، اهداف متابولیک، ابزار نتایج، روش‌شناسی ---------- */
    .skip-link { position: fixed; top: 10px; inset-inline-start: 16px; z-index: 600; padding: 10px 18px; border-radius: var(--radius-pill);
      background: var(--accent-primary); color: var(--on-accent); font-size: 0.84rem; font-weight: 800; text-decoration: none;
      transform: translateY(-160%); transition: transform 0.25s var(--spring-easing); }
    .skip-link:focus { transform: translateY(0); }
    .gauge-scale { display: block; margin-top: 6px; font-size: 0.7rem; font-weight: 600; color: var(--text-muted); font-variant-numeric: tabular-nums; }
    .activity-group { margin: 2px 0 16px; }
    .metabolic-targets-card { padding: 16px 18px; border-radius: var(--radius-lg); background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); margin-bottom: 16px; }
    .metabolic-targets-card h4 { font-size: 0.9rem; font-weight: 800; margin-bottom: 12px; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
    .metabolic-targets-card h4 small { font-size: 0.68rem; font-weight: 600; color: var(--text-muted); unicode-bidi: plaintext; }
    .mt-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .mt-item { padding: 11px 13px; border-radius: var(--radius-md); background: var(--glass-surface-strong); border: 1px solid var(--glass-border); display: flex; flex-direction: column; gap: 3px; }
    .mt-item span { font-size: 0.72rem; font-weight: 700; color: var(--text-muted); }
    .mt-item strong { font-size: 0.98rem; font-weight: 800; color: var(--text-primary); font-variant-numeric: tabular-nums; }
    .mt-item small { font-size: 0.7rem; color: var(--text-secondary); line-height: 1.6; }
    .mt-milestone { margin-top: 10px; padding: 10px 13px; border-radius: var(--radius-md); background: var(--accent-soft); border: 1px solid var(--glass-border-outer); font-size: 0.78rem; color: var(--text-primary); line-height: 1.8; }
    .mt-note { margin-top: 8px; font-size: 0.7rem; color: var(--text-muted); }
    .result-actions-bar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
    .result-actions-bar .hbtn { flex: 1 1 auto; justify-content: center; min-height: 40px; font-size: 0.78rem; text-decoration: none;
      background: var(--glass-surface-strong); border: 1px solid var(--glass-border); color: var(--text-primary); box-shadow: 0 0 0 1px var(--glass-border-outer); }
    .result-actions-bar .hbtn:hover { background: var(--accent-soft); }
    .trust-workflow-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .tw-card { padding: 22px; display: flex; flex-direction: column; gap: 8px; }
    .tw-step-badge { align-self: flex-start; font-size: 0.72rem; font-weight: 800; padding: 3px 11px; border-radius: var(--radius-pill); background: var(--primary-container); color: var(--on-primary-container); }
    .tw-card h3 { font-size: 0.96rem; font-weight: 800; }
    .tw-card p { font-size: 0.82rem; color: var(--text-secondary); line-height: 1.85; }
    .privacy-trust-strip { margin-top: 16px; padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; font-size: 0.8rem; color: var(--text-secondary); }
    .privacy-trust-strip p { flex: 1 1 320px; line-height: 1.8; }
    .privacy-trust-strip b { color: var(--text-primary); }
    .privacy-trust-strip .hbtn { flex-shrink: 0; }
    @media (max-width: 960px) { .trust-workflow-grid { grid-template-columns: 1fr; } }
    @media (max-width: 600px) { .mt-grid { grid-template-columns: 1fr; } }
    /* ---------- نسخه ۱۵: صفحه‌های درباره دکتر، ابزارها، خدمات، پرسش‌ها؛ فیگورها؛ چاپ ---------- */
    .standby-figures { display: flex; justify-content: center; gap: 16px; margin-bottom: 16px; color: var(--text-muted); }
    .standby-fig { width: 62px; height: 104px; padding: 8px; border-radius: 20px; background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); transition: transform 0.35s var(--spring-easing), color 0.3s ease, background-color 0.3s ease; }
    .standby-fig.active-fig { color: var(--accent-primary); background: var(--glass-surface-strong); transform: translateY(-3px); }
    .about-bio-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 22px; margin-bottom: 28px; }
    .about-card { padding: 26px 28px; display: flex; flex-direction: column; gap: 12px; }
    .about-card h2, .about-card h3 { font-size: 1.06rem; font-weight: 800; }
    .about-card p { font-size: 0.85rem; color: var(--text-secondary); line-height: 1.95; }
    .about-fig-head { display: flex; align-items: center; gap: 14px; }
    .about-fig-icon { width: 56px; height: 56px; padding: 8px; border-radius: 18px; background: var(--primary-container); color: var(--on-primary-container); flex-shrink: 0; }
    .about-edu-list { list-style: none; display: flex; flex-direction: column; gap: 10px; padding: 0; }
    .about-edu-list li { padding: 11px 14px; border-radius: var(--radius-md); background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); font-size: 0.8rem; color: var(--text-secondary); line-height: 1.75; }
    .about-edu-list li b { display: block; font-size: 0.86rem; color: var(--text-primary); }
    .academic-links-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
    .academic-links-row a { text-decoration: none; font-size: 0.78rem; }
    .pub-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-bottom: 26px; }
    .pub-card { padding: 20px 22px; display: flex; flex-direction: column; gap: 10px; }
    .pub-badge-row { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
    .pub-journal { font-size: 0.72rem; font-weight: 800; padding: 3px 10px; border-radius: var(--radius-pill); background: var(--primary-container); color: var(--on-primary-container); direction: ltr; }
    .pub-year { font-size: 0.72rem; font-weight: 700; color: var(--text-muted); }
    .pub-card h3 { font-size: 0.92rem; font-weight: 800; line-height: 1.75; flex: 1; }
    .pub-card .pubmed-meta { font-size: 0.72rem; color: var(--text-muted); text-align: left; line-height: 1.6; }
    .pub-card .pubmed-meta a { color: var(--accent-primary); }
    .tools-prefill-bar { padding: 14px 20px; margin-bottom: 22px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 0.82rem; color: var(--text-secondary); }
    .tools-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-bottom: 26px; }
    .tool-card { padding: 24px 26px; display: flex; flex-direction: column; gap: 14px; }
    .tool-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
    .tool-head h2 { font-size: 1rem; font-weight: 800; }
    .tool-head p { font-size: 0.76rem; color: var(--text-muted); margin-top: 2px; }
    .tool-icon { width: 44px; height: 44px; border-radius: 14px; padding: 6px; background: var(--primary-container); color: var(--on-primary-container); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .tool-card .calc-submit-btn { margin-top: 14px; }
    .tool-out { padding: 14px 16px; border-radius: var(--radius-lg); background: var(--glass-surface-strong); border: 1px solid var(--glass-border); display: flex; flex-direction: column; gap: 8px; animation: paneIn 0.45s var(--spring-easing); }
    .tool-out-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .tool-out-cell { padding: 9px 11px; border-radius: var(--radius-md); background: var(--glass-surface-subtle); border: 1px solid var(--glass-border); }
    .tool-out-cell span { display: block; font-size: 0.7rem; color: var(--text-muted); font-weight: 700; }
    .tool-out-cell strong { font-size: 0.92rem; font-weight: 800; font-variant-numeric: tabular-nums; }
    .tool-cite { font-size: 0.7rem; color: var(--text-muted); border-top: 1px solid var(--glass-border); padding-top: 8px; line-height: 1.7; }
    .services-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 26px; }
    .service-tier-card { padding: 24px; display: flex; flex-direction: column; justify-content: space-between; gap: 16px; }
    .service-tier-top { display: flex; flex-direction: column; gap: 8px; }
    .service-price-pill { align-self: flex-start; padding: 4px 12px; border-radius: var(--radius-pill); background: var(--primary-container); color: var(--on-primary-container); font-size: 0.75rem; font-weight: 800; }
    .service-tier-card h3 { font-size: 1rem; font-weight: 800; }
    .service-tier-card p { font-size: 0.81rem; color: var(--text-secondary); line-height: 1.8; }
    .service-features { list-style: none; display: flex; flex-direction: column; gap: 7px; padding: 0; }
    .service-features li { display: flex; gap: 8px; font-size: 0.8rem; color: var(--text-secondary); }
    .service-features li svg, .checklist-grid li svg { color: var(--accent-primary); flex-shrink: 0; margin-top: 0.3em; }
    .checklist-card { padding: 24px 28px; margin-bottom: 26px; }
    .checklist-card h3 { font-size: 1rem; font-weight: 800; margin-bottom: 12px; }
    .checklist-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 22px; list-style: none; padding: 0; }
    .checklist-grid li { display: flex; gap: 9px; font-size: 0.82rem; color: var(--text-secondary); line-height: 1.8; }
    .checklist-grid li b { color: var(--text-primary); }
    .faq-list { display: flex; flex-direction: column; gap: 12px; max-width: 900px; margin: 0 auto 32px; }
    .faq-item { border-radius: var(--radius-lg); }
    .faq-item summary { list-style: none; cursor: pointer; padding: 18px 22px; font-size: 0.92rem; font-weight: 800; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .faq-item summary::-webkit-details-marker { display: none; }
    .faq-item summary:focus-visible { outline: 2px solid var(--accent-primary); outline-offset: -4px; border-radius: var(--radius-lg); }
    .faq-chev { color: var(--accent-primary); flex-shrink: 0; transition: transform 0.3s var(--spring-easing); }
    .faq-item[open] .faq-chev { transform: rotate(180deg); }
    .faq-answer { padding: 12px 22px 18px; font-size: 0.84rem; color: var(--text-secondary); line-height: 1.9; border-top: 1px solid var(--glass-border); }
    .glossary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 26px; }
    .glossary-card { padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; }
    .glossary-card b { font-size: 0.9rem; font-weight: 800; color: var(--accent-primary); }
    .glossary-card span { font-size: 0.8rem; color: var(--text-secondary); line-height: 1.8; }
    .footer-social-links { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; margin: 12px auto 14px; }
    .footer-social-links a { padding: 6px 14px; border-radius: var(--radius-pill); background: var(--glass-surface); border: 1px solid var(--glass-border); color: var(--text-secondary); text-decoration: none; font-size: 0.76rem; font-weight: 700; }
    .footer-social-links a:hover { background: var(--glass-surface-strong); color: var(--text-primary); }
    @supports selector(:has(*)) { .field-group:has(.glass-input:focus-visible) .field-label { color: var(--accent-primary); } }
    @media (max-width: 960px) { .about-bio-grid, .pub-grid, .tools-grid, .services-grid, .glossary-grid { grid-template-columns: 1fr; } }
    @media (max-width: 600px) { .checklist-grid, .tool-out-grid { grid-template-columns: 1fr; } .about-card, .tool-card, .service-tier-card, .checklist-card { padding: 18px; } }
    @media print {
      .ambient-canvas, .top-banner, .site-header, .mobile-cta-bar, .page-topbar, .page-hero, .conditions-block, #calcForm, #progress-slide-section,
      .result-actions-bar, .modal-backdrop, .glass-toast, .page-curtain, .footer-social-links, .skip-link, .site-footer { display: none !important; }
      body { background: #fff !important; color: #000 !important; padding: 0 !important; }
      .workspace-grid { grid-template-columns: 1fr !important; }
      .liquid-glass, .radial-card { box-shadow: none !important; border: 1px solid #ccc !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; background: #fff !important; transform: none !important; }
    }
    /* ---------- نسخه ۱۶: بریف طراحی از رفرنس‌ها ---------- */
    .glass-matrix { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1px; padding: 0; overflow: hidden; background-color: var(--glass-border-outer); }
    .glass-matrix > .cell { background: var(--glass-surface-strong); }
    html.lite .glass-matrix > .cell { background: var(--lite-surface); }
    .glass-matrix.portal-grid { border-radius: var(--radius-xl); grid-template-columns: repeat(4, minmax(0, 1fr)); }
    @media (max-width: 960px) { .glass-matrix.portal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 600px) { .glass-matrix.portal-grid { grid-template-columns: 1fr; } }
    .glass-matrix .portal-card { border-radius: 0; min-height: 0; box-shadow: none; transition: background-color 0.25s ease; }
    .glass-matrix .portal-card:hover { background: var(--glass-surface); }
    .glass-matrix .portal-card:focus-visible { outline: 2px solid var(--accent-primary); outline-offset: -4px; }
    .benefit-list { list-style: none; padding: 0; max-width: 640px; margin: 4px auto 24px; display: flex; flex-direction: column; gap: 10px; text-align: start; }
    .benefit-list li { display: flex; gap: 10px; align-items: flex-start; font-size: 0.92rem; color: var(--text-secondary); line-height: 1.8; }
    .benefit-list li svg { color: var(--accent-primary); flex-shrink: 0; margin-top: 0.2em; }
    .benefit-list b { color: var(--text-primary); font-weight: 800; }
    .cred-bar { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; margin: -6px auto 8px; padding: 0; max-width: 1040px; width: fit-content;
      border: 1px solid color-mix(in srgb, var(--brand-sand) 45%, transparent); border-radius: var(--radius-lg); background: var(--glass-surface-subtle); }
    .cred-bar li { padding: 12px 18px; font-size: 0.8rem; font-weight: 700; color: var(--text-secondary); border-inline-end: 1px solid color-mix(in srgb, var(--brand-sand) 45%, transparent); }
    .cred-bar li:last-child { border-inline-end: none; }
    @media (max-width: 640px) { .cred-bar { margin-top: 4px; } .cred-bar li { flex: 1 1 50%; text-align: center; border-inline-end: none; border-bottom: 1px solid color-mix(in srgb, var(--brand-sand) 35%, transparent); padding: 10px; } }
    .forest-band { position: relative; background: var(--brand-forest-deep); color: #eef0e6; box-shadow: 0 0 0 100vmax var(--brand-forest-deep); clip-path: inset(0 -100vmax); padding-block: 72px; margin-block: 56px; }
    .forest-band .section-heading h2 { color: #f4f2ec; }
    .forest-band .section-heading p, .forest-band .privacy-trust-strip { color: #cdd3c6; }
    .forest-band .glass-matrix { background-color: rgba(217, 213, 198, 0.18); border-radius: var(--radius-xl); }
    .forest-band .glass-matrix > .cell { background: rgba(255, 255, 255, 0.05); }
    .forest-band .tw-card h3 { color: #f4f2ec; }
    .forest-band .tw-card p { color: #cdd3c6; }
    .forest-band .tw-step-badge { background: rgba(220, 230, 200, 0.16); color: #dce6c8; }
    .forest-band .privacy-trust-strip { background: rgba(255, 255, 255, 0.05); border-color: rgba(217, 213, 198, 0.2); box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; }
    .forest-band .privacy-trust-strip b { color: #f4f2ec; }
    .forest-band .hbtn-outline { color: #f4f2ec; border-color: rgba(244, 242, 236, 0.5); }
    html.dark-resolved .forest-band { background: #26302a; box-shadow: 0 0 0 100vmax #26302a; }
    .trust-strip-wrap { margin: 40px 0; }
    .trust-strip { grid-template-columns: repeat(4, minmax(0, 1fr)); border-radius: var(--radius-lg); }
    .trust-item { display: flex; align-items: center; gap: 12px; padding: 16px 18px; color: var(--accent-primary); }
    .trust-item span { display: flex; flex-direction: column; font-size: 0.78rem; color: var(--text-secondary); line-height: 1.6; }
    .trust-item b { font-size: 0.84rem; color: var(--text-primary); }
    @media (max-width: 760px) { .trust-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    .day-plan-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; }
    .day-plan-head p { flex-basis: 100%; }
    .protocol-switch button[aria-pressed="true"] { background: var(--btn-gradient); color: var(--on-accent); }
    #dayPlanList.day-list { grid-template-columns: 1fr; gap: 0; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--glass-border-outer); }
    #dayPlanList .day-slot { display: grid; grid-template-columns: 130px 1fr auto; align-items: center; gap: 4px 16px; border-radius: 0; border: none; border-bottom: 1px solid var(--glass-border-outer); }
    #dayPlanList .day-slot:last-child { border-bottom: none; }
    #dayPlanList .day-slot .ds-tags { grid-column: 2; font-size: 0.72rem; color: var(--text-muted); }
    #dayPlanList .day-slot .ds-portion { grid-column: 3; grid-row: 1 / span 2; font-size: 0.72rem; color: var(--text-muted); padding: 3px 10px; border-radius: var(--radius-pill); background: var(--tint-pistachio); }
    @media (max-width: 640px) {
      #dayPlanList .day-slot { grid-template-columns: 1fr; }
      #dayPlanList .day-slot .ds-tags, #dayPlanList .day-slot .ds-portion { grid-column: 1; grid-row: auto; justify-self: start; }
    }
    /* ---------- نسخه ۱۷: دسترسی سریع، خوانایی برای همه سنین، کالری‌سنج عکس، وب‌اپ ---------- */
    html { font-size: 106.25%; }
    .page-hero .hero-badge, .tw-step-badge { display: none; }
    .hero-hl { color: inherit; }
    .top-banner-inner > div:last-child { display: none; }
    .quick-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin: 0 auto 26px; }
    .qa-btn { min-height: 54px; padding: 12px 26px; font-size: 1rem; font-weight: 800; width: auto; margin: 0; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
    .hero-cta { min-height: 48px; }
    .calc-submit-btn, .hbtn { min-height: 46px; }
    .nav-item { font-size: 0.95rem; }
    .visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .food-card { padding: 26px; max-width: 760px; margin: 0 auto 22px; display: flex; flex-direction: column; gap: 16px; }
    .food-pick { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .food-pick-btn { min-height: 64px; margin: 0; font-size: 1.02rem; display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; }
    .food-pick-btn:focus-within, input.visually-hidden:focus-visible + .food-pick-btn { outline: 3px solid var(--accent-primary); outline-offset: 2px; }
    .food-preview-wrap { border-radius: var(--radius-lg); overflow: hidden; background: var(--glass-surface-subtle); }
    .food-preview-wrap img { display: block; width: 100%; height: auto; max-height: 360px; object-fit: contain; }
    .food-status { font-size: 0.95rem; color: var(--text-secondary); min-height: 1.5em; text-align: center; }
    .food-result h2, .food-log h2 { font-size: 1.1rem; font-weight: 800; }
    .food-hint { font-size: 0.85rem; color: var(--text-secondary); margin: 4px 0 12px; }
    .food-rows { display: flex; flex-direction: column; gap: 10px; margin-bottom: 12px; }
    .food-row { display: grid; grid-template-columns: minmax(0, 1fr) 130px 90px 44px; gap: 8px; align-items: center; }
    .fr-kcal { font-size: 0.85rem; font-weight: 700; color: var(--text-secondary); text-align: center; font-variant-numeric: tabular-nums; }
    .fr-del { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--glass-border); background: var(--glass-surface-strong); color: var(--text-primary); font-size: 1.3rem; cursor: pointer; }
    .food-add { margin-bottom: 14px; }
    .food-totals { margin-bottom: 14px; }
    .food-manual { align-self: center; font-size: 0.9rem; }
    .food-log { padding: 22px 26px; max-width: 760px; margin: 0 auto 22px; }
    .fl-row { display: grid; grid-template-columns: 60px 1fr auto; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--glass-border); font-size: 0.88rem; }
    .fl-total { padding-top: 12px; font-weight: 800; }
    .footer-links { display: flex; justify-content: center; gap: 6px 16px; flex-wrap: wrap; margin: 14px auto 4px; }
    .footer-links a, .footer-links button { color: var(--text-secondary); font-size: 0.85rem; font-weight: 700; text-decoration: none; background: none; border: none; cursor: pointer; padding: 8px 4px; font-family: inherit; }
    .footer-links a:hover { color: var(--text-primary); text-decoration: underline; }
    .sheet-install { margin-top: 6px; padding: 12px; border-radius: var(--radius-md); border: 1px dashed var(--glass-border-outer); background: none; color: var(--accent-primary); font: inherit; font-weight: 800; cursor: pointer; }
    @media (max-width: 640px) {
      .quick-actions { flex-direction: column; align-items: stretch; padding-inline: 4px; }
      .food-pick { grid-template-columns: 1fr; }
      .food-row { grid-template-columns: minmax(0, 1fr) 44px; }
      .food-row .fr-food { grid-column: 1 / -1; }
      .food-row .fr-grams { grid-column: 1; }
      .food-row .fr-kcal { grid-column: 1; text-align: start; }
      .food-row .fr-del { grid-column: 2; grid-row: 2 / span 2; }
    }
    /* ---------- نسخه ۱۸: حالت دسترس‌پذیر (کم‌بینا، نابینا، کوررنگی) ---------- */
    .a11y-toggle { position: absolute; top: 6px; inset-inline-end: 12px; z-index: 160; display: inline-flex; align-items: center; gap: 6px;
      min-height: 32px; padding: 4px 12px; border-radius: var(--radius-pill); border: 1px solid var(--glass-border-outer);
      background: var(--glass-surface-strong); color: var(--text-primary); font: inherit; font-size: 0.74rem; font-weight: 800; cursor: pointer; }
    .a11y-toggle:focus-visible { outline: 3px solid var(--accent-primary); outline-offset: 2px; }
    .a11y-off-text, html.a11y .a11y-on-text { display: none; }
    html.a11y .a11y-off-text { display: inline; }
    @media (max-width: 640px) { .a11y-toggle { position: static; display: flex; margin: 6px auto 0; width: fit-content; } }
    html.a11y {
      font-size: 125%;
      --bg-canvas: #ffffff; --text-primary: #000000; --text-secondary: #1c1c1c; --text-muted: #333333;
      --glass-surface: #ffffff; --glass-surface-strong: #ffffff; --glass-surface-subtle: #f1f1f1; --lite-surface: #ffffff;
      --glass-border: #000000; --glass-border-outer: #000000; --glass-highlight: none; --glass-caustic: none; --glass-shadow: none; --glass-shadow-lift: none; --glass-sheen: none;
      --accent-primary: #12402c; --accent-primary-hover: #0a2a1c; --accent-secondary: #12402c; --accent-soft: #e6efe9; --on-accent: #ffffff;
      --btn-gradient: linear-gradient(#12402c, #12402c); --primary-container: #e6efe9; --on-primary-container: #000000;
      /* رنگ‌های وضعیت امن برای کوررنگی (آبی/نارنجی به‌جای سبز/قرمز) و همیشه همراه متن */
      --status-low: #00539c; --status-optimal: #12402c; --status-warning: #8a4500; --status-high: #7a1f00; --status-neutral: #333333;
      --header-tint: linear-gradient(#ffffff, #ffffff); --header-tint-scrolled: linear-gradient(#ffffff, #ffffff); --sheet-fill: #ffffff; --pop-bg: #ffffff;
    }
    html.a11y.dark-resolved {
      --bg-canvas: #000000; --text-primary: #ffffff; --text-secondary: #f0f0f0; --text-muted: #d6d6d6;
      --glass-surface: #000000; --glass-surface-strong: #000000; --glass-surface-subtle: #141414; --lite-surface: #000000;
      --glass-border: #ffffff; --glass-border-outer: #ffffff;
      --accent-primary: #a8e6bd; --accent-primary-hover: #c8f2d6; --accent-secondary: #a8e6bd; --accent-soft: #10291c; --on-accent: #000000;
      --btn-gradient: linear-gradient(#a8e6bd, #a8e6bd); --primary-container: #10291c; --on-primary-container: #ffffff;
      --status-low: #7cc4ff; --status-optimal: #a8e6bd; --status-warning: #ffc266; --status-high: #ffa38a; --status-neutral: #d6d6d6;
      --header-tint: linear-gradient(#000000, #000000); --header-tint-scrolled: linear-gradient(#000000, #000000); --sheet-fill: #000000; --pop-bg: #000000;
    }
    html.a11y *, html.a11y *::before, html.a11y *::after { animation: none !important; transition: none !important; backdrop-filter: none !important; -webkit-backdrop-filter: none !important; text-shadow: none !important; }
    html.a11y body { background: var(--bg-canvas) !important; }
    html.a11y .ambient-canvas, html.a11y .liquid-glass::before, html.a11y .liquid-glass::after, html.a11y .header-glass::before, html.a11y .header-glass::after, html.a11y .page-curtain { display: none !important; }
    html.a11y .liquid-glass, html.a11y .header-glass, html.a11y .radial-card { background: var(--glass-surface) !important; border: 2px solid var(--glass-border) !important; box-shadow: none !important; transform: none !important; }
    html.a11y .scroll-reveal { opacity: 1 !important; transform: none !important; }
    html.a11y .forest-band { background: var(--bg-canvas) !important; box-shadow: none !important; clip-path: none !important; color: var(--text-primary) !important; border-block: 2px solid var(--glass-border); }
    html.a11y .forest-band * { color: var(--text-primary) !important; }
    html.a11y .glass-matrix { background-color: var(--glass-border) !important; gap: 2px; }
    html.a11y .glass-matrix > .cell { background: var(--glass-surface) !important; }
    html.a11y p, html.a11y li, html.a11y .faq-answer { line-height: 2; }
    html.a11y main a:not(.hbtn):not(.calc-submit-btn):not(.portal-card):not(.nav-item), html.a11y .footer-links a { text-decoration: underline; text-underline-offset: 3px; }
    html.a11y :focus-visible { outline: 4px solid #ffbf00 !important; outline-offset: 3px !important; box-shadow: 0 0 0 7px #000 !important; }
    html.a11y .calc-submit-btn, html.a11y .hbtn, html.a11y button, html.a11y .nav-item { min-height: 48px; }
    html.a11y .glass-input { border: 2px solid var(--glass-border) !important; background: var(--glass-surface) !important; }
    html.a11y .radial-status-pill { border: 2px solid currentColor; font-weight: 800; }
    html.a11y .standby-figures, html.a11y .hero-mark { display: none; }
    .contact-link { text-decoration: none; color: inherit; transition: background-color 0.25s ease, transform 0.3s var(--spring-easing); }
    .contact-link:hover { background: var(--glass-surface-strong); transform: translateY(-1px); }
    .contact-link svg { color: var(--accent-primary); }

    /* ===================== کارایی ===================== */
    /* بخش‌های پایین صفحه تا نزدیک دید نشوند رندر نمی‌شوند */
    /* حالت سبک: شیشه بدون بلور پشت، پس‌زمینه کمی مات‌تر */
    :root { --lite-surface: rgba(250, 249, 245, 0.82); }
    html.dark-resolved { --lite-surface: rgba(34, 42, 37, 0.88); }
    html.lite .liquid-glass, html.lite .radial-card, html.lite .top-banner, html.lite .glass-toast,
    html.lite .modal-backdrop, html.lite .menu-scrim, html.lite .page-curtain, html.lite .mobile-cta-bar {
      backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
    }
    html.lite .liquid-glass { background-color: var(--lite-surface); }
    html.lite .liquid-glass::before { display: none; }
    html.lite .hero-mark, html.lite .standby-rings svg { animation: none; }

    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
      .scroll-reveal { opacity: 1; transform: none; filter: none; }
      .page-curtain { display: none; }
    }
      /* تیتر صفحه برای صفحه‌خوان فوکوس می‌گیرد؛ کادر فوکوس پیش‌فرض مرورگر نمایش داده نشود */
    html:not(.a11y) [tabindex="-1"]:focus { outline: none; }

    /* ===================== نسخه ۲۲: تم گرم «سبز جنگلی، کرم، کاراملی، هلویی» + صفحه اول تصویری ===================== */
    :root {
      --bg-canvas: #f6f0e6; --bg-canvas-2: #ece3d3;
      --orb-teal: rgba(246, 196, 166, 0.30); --orb-sage: rgba(196, 212, 170, 0.40); --orb-sky: rgba(226, 194, 156, 0.26);
      --tint-pistachio: #e3e9d4;
      --brand-forest-deep: #1f4b3a;
      --accent-primary: #1f4b3a; --accent-primary-hover: #163829; --accent-secondary: #3d6b55;
      --accent-soft: rgba(31, 75, 58, 0.10); --accent-shadow: rgba(22, 56, 41, 0.28);
      --btn-gradient: linear-gradient(135deg, #1f4b3a, #2c6049);
      --forest-900: #163829; --forest-700: #1f4b3a; --forest-500: #3d6b55;
      --caramel-100: #f5e8d6; --caramel-200: #edd8bc; --caramel-300: #e2c29c; --on-caramel: #3a2614;
      --peach-100: #fcebdf; --peach-200: #f7d8c4;
      --coral-600: #b4501f; --coral-700: #983f14;
      --sage-band: #dfe6cf; --plate: #fbf7f0; --cream-ink: #f6efe2;
    }
    html.dark-resolved {
      --bg-canvas: #111a15; --bg-canvas-2: #1c2921;
      --orb-teal: rgba(230, 150, 110, 0.10); --orb-sage: rgba(140, 170, 120, 0.12); --orb-sky: rgba(210, 170, 120, 0.08);
      --brand-forest-deep: #183a2c;
      --accent-primary: #cfe2c6; --accent-primary-hover: #e3efdc; --accent-secondary: #a9c3a0;
      --caramel-300: #d3b28c; --caramel-200: #dcc0a0; --caramel-100: #2b241d; --on-caramel: #24170b;
      --peach-100: #2d231c; --peach-200: #3a2c22; --coral-600: #b4501f; --coral-700: #9c4317; --coral-icon: #e8935f;
      --sage-band: #1d2b22; --plate: #1b2620;
    }
    html[dir="rtl"] .hh-links svg, html[dir="rtl"] .see-all svg, html[dir="rtl"] .hh-btn-coral svg { transform: scaleX(-1); }

    /* هیرو: متن + قاب تصویر دکتر (قوس) که روی نوار سبز می‌نشیند */
    .home-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: 56px; align-items: center; padding: 48px 0 0; position: relative; z-index: 2; }
    .hh-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; padding-bottom: 40px; }
    .hh-name { font-size: 1rem; font-weight: 700; color: var(--accent-secondary); margin: 0; display: flex; align-items: center; gap: 8px; }
    .hh-name .doc-phd { font-size: 0.78rem; padding: 2px 8px; border-radius: 6px; background: var(--accent-soft); color: var(--accent-primary); }
    .hh-title { font-size: clamp(1.9rem, 3.6vw, 3rem); line-height: 1.38; font-weight: 800; color: var(--accent-primary); margin: 0; max-width: 15em; letter-spacing: 0; }
    .hh-sub { font-size: 1.1rem; line-height: 1.85; color: var(--text-secondary); margin: 0; max-width: 32em; }
    .hh-actions, .ff-actions { display: flex; flex-wrap: wrap; gap: 12px; }
    .hh-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 26px; border-radius: 14px; font: inherit; font-size: 1rem; font-weight: 700; text-decoration: none; cursor: pointer; border: 1.5px solid transparent; transition: background-color .2s ease, color .2s ease, border-color .2s ease; }
    .hh-btn-primary { background: var(--accent-primary); color: var(--on-accent); }
    .hh-btn-primary:hover { background: var(--accent-primary-hover); }
    .hh-btn-ghost { background: transparent; color: var(--accent-primary); border-color: color-mix(in srgb, var(--accent-primary) 40%, transparent); }
    .hh-btn-ghost:hover { background: var(--accent-soft); }
    .hh-btn-coral { background: var(--coral-600); color: #fff; }
    .hh-btn-coral:hover { background: var(--coral-700); }
    .hh-btn:focus-visible, .hh-links a:focus-visible, .plate-card:focus-visible, .see-all:focus-visible { outline: 3px solid var(--coral-600); outline-offset: 3px; }
    .hh-links { display: flex; flex-wrap: wrap; gap: 6px 22px; }
    .hh-links a { display: inline-flex; align-items: center; gap: 6px; color: var(--accent-primary); font-weight: 700; text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--accent-primary) 30%, transparent); text-underline-offset: 6px; min-height: 44px; }
    .hh-cred.cred-bar { margin: 6px 0 0; width: auto; max-width: none; justify-content: flex-start; background: none; border: 0; box-shadow: none; padding: 0; gap: 4px 0; }
    .hh-cred.cred-bar li { font-size: 0.82rem; color: var(--text-muted); padding: 0 12px; border-inline-end: 1px solid color-mix(in srgb, var(--text-muted) 35%, transparent); background: none; }
    .hh-cred.cred-bar li:first-child { padding-inline-start: 0; }
    .hh-cred.cred-bar li:last-child { border: 0; }
    .hh-frame { position: relative; margin: 0 0 -110px; width: 100%; max-width: 430px; justify-self: center; aspect-ratio: 4 / 5; }
    .hh-frame::before { content: ""; position: absolute; inset: 26px -26px -26px 26px; border-radius: 50% 50% 30px 30px / 38% 38% 30px 30px; background: var(--caramel-300); }
    html[dir="rtl"] .hh-frame::before { inset: 26px 26px -26px -26px; }
    /* شکل کاراملی پشت قاب ۲۶px بیرون می‌زند و در عرض حدود ۷۶۰ تا ۹۰۰ صفحه را ۶px افقی اسکرول‌پذیر می‌کرد؛ برش در لبه صفحه، ظاهر عوض نمی‌شود */
    main.page-view-home { overflow-x: clip; }
    .mz-hp { position: absolute; inset-inline-start: -10000px; width: 1px; height: 1px; overflow: hidden; }
    .hh-photo, .hh-placeholder { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 50% 50% 30px 30px / 38% 38% 30px 30px; }
    .hh-photo { object-fit: cover; }
    .hh-photo[src=""], .hh-photo:not([src]) { display: none; }
    .hh-photo[src]:not([src=""]) + .hh-placeholder { display: none; }
    .hh-placeholder { background: var(--forest-700); display: grid; place-items: center; }
    html.dark-resolved .hh-placeholder { background: #24503e; }
    .hh-mark { width: 46%; height: auto; color: var(--caramel-200); opacity: 0.9; }
    .hh-deco { position: absolute; width: 44%; height: auto; inset-block-end: -6%; inset-inline-start: -22%; pointer-events: none; }
    /* عکس‌های غذا پس‌زمینه شفاف دارند (نه mix-blend-mode که در سافاری روی عکس‌های متحرک کادر سفید می‌انداخت) */
    .food-cut { mix-blend-mode: normal; }
    html.dark-resolved .hh-deco, html.dark-resolved .cta-deco { display: none; }

    /* نوار سبز: ویژگی‌ها در کادر خطی + کارت‌های کاراملی خدمات */
    .home-band { position: relative; background: var(--brand-forest-deep); color: var(--cream-ink); box-shadow: 0 0 0 100vmax var(--brand-forest-deep); clip-path: inset(0 -100vmax); padding: 40px 0 76px; margin: 0 0 96px; }
    .trust-row { list-style: none; margin: 0 0 64px; padding: 18px 20px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; max-width: calc(100% - 470px); border: 1.5px solid rgba(226, 194, 156, 0.55); border-radius: 18px; }
    .trust-row .trust-item { display: flex; align-items: center; gap: 10px; color: var(--cream-ink); font-size: 0.86rem; line-height: 1.5; }
    .trust-row .trust-item svg { flex-shrink: 0; color: var(--caramel-300); }
    .trust-row .trust-item b { display: block; font-weight: 800; }
    .band-head { text-align: center; margin-bottom: 30px; }
    .band-head h2 { font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 800; color: var(--cream-ink); margin: 0 0 6px; }
    .band-head p { color: rgba(246, 239, 226, 0.78); margin: 0; font-size: 0.95rem; }
    .tan-grid.portal-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; background: none; border: 0; box-shadow: none; padding: 0; border-radius: 0; }
    .tan-grid .portal-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 24px 18px 22px; border-radius: 18px; background: var(--caramel-300); color: var(--on-caramel); text-decoration: none; min-height: 0; border: 0; box-shadow: none; transition: background-color .2s ease; }
    .tan-grid .portal-card:hover { background: var(--caramel-200); }
    .tan-grid .portal-card:focus-visible { outline: 3px solid var(--cream-ink); outline-offset: 3px; }
    .tan-grid .pc-icon { width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, 0.5); color: var(--forest-700); margin: 0; }
    html.dark-resolved .tan-grid .pc-icon { color: #1f4b3a; }
    .tan-grid .pc-body { display: flex; flex-direction: column; gap: 6px; }
    .tan-grid .pc-body h3 { font-size: 1.02rem; font-weight: 800; color: var(--on-caramel); margin: 0; line-height: 1.55; }
    .tan-grid .pc-body p { font-size: 0.84rem; line-height: 1.7; color: var(--on-caramel); margin: 0; }
    .tan-grid .pc-go { display: none; }

    /* بخش غذا: عکس سبزیجات در حال ریختن + نکات کوتاه */
    .food-feature { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; margin: 0 0 104px; }
    .ff-media { position: relative; margin: 0; }
    .ff-media::before { content: ""; position: absolute; inset: 22px -22px -22px 22px; border-radius: 32px; background: var(--peach-200); }
    html[dir="rtl"] .ff-media::before { inset: 22px 22px -22px -22px; }
    .ff-media img { position: relative; display: block; width: 100%; height: auto; aspect-ratio: 760 / 711; object-fit: cover; border-radius: 32px; }
    .ff-copy { display: flex; flex-direction: column; gap: 18px; }
    .ff-copy h2 { font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.5; font-weight: 800; color: var(--accent-primary); margin: 0; }
    .ff-lead { margin: 0; font-size: 1.02rem; line-height: 1.85; color: var(--text-secondary); }
    .ff-points { list-style: none; margin: 4px 0 6px; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 20px; }
    .ff-points li { display: flex; align-items: center; gap: 12px; font-size: 0.95rem; line-height: 1.6; }
    .ff-points svg { flex-shrink: 0; width: 44px; height: 44px; padding: 11px; border-radius: 50%; background: var(--peach-100); color: var(--coral-icon, var(--coral-600)); }

    /* نمونه وعده‌ها (کارت عکس‌دار) */
    .plates { margin: 0 0 104px; }
    .plates-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
    .plates-head h2 { font-size: clamp(1.3rem, 2.4vw, 1.8rem); font-weight: 800; color: var(--accent-primary); margin: 0; }
    .see-all { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1.5px solid color-mix(in srgb, var(--accent-primary) 35%, transparent); color: var(--accent-primary); font-weight: 700; font-size: 0.9rem; text-decoration: none; white-space: nowrap; }
    .see-all:hover { background: var(--accent-soft); }
    .plates-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
    .plate-card { display: flex; flex-direction: column; padding: 10px 10px 18px; border-radius: 24px; background: var(--plate); color: var(--text-primary); text-decoration: none; box-shadow: 0 1px 0 rgba(31, 42, 36, 0.06); transition: background-color .2s ease; }
    .plate-card:hover { background: #fff; }
    html.dark-resolved .plate-card:hover { background: #22302a; }
    .pl-img { display: block; aspect-ratio: 1; border-radius: 18px; overflow: hidden; background: var(--caramel-100); }
    .pl-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .pl-plate .pl-img { background: var(--peach-100); display: grid; place-items: center; }
    html.dark-resolved .pl-plate .pl-img { background: #efe4d4; }
    .pl-plate .pl-img img { width: 84%; height: 84%; object-fit: contain; filter: drop-shadow(0 10px 14px rgba(60, 40, 20, 0.16)); }
    .pl-name { font-size: 1rem; font-weight: 800; margin: 14px 8px 4px; line-height: 1.55; }
    .pl-note { font-size: 0.85rem; color: var(--text-secondary); margin: 0 8px; line-height: 1.6; }

    /* روش کار: عکس + فهرست تیک‌دار */
    .method { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 56px; align-items: center; margin: 0 0 104px; }
    .method-media { margin: 0; border-radius: 30px; overflow: hidden; aspect-ratio: 4 / 5; max-height: 560px; background: var(--peach-100); }
    .method-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
    .method-copy h2 { font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 800; color: var(--accent-primary); margin: 0 0 26px; }
    .method-list { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-direction: column; gap: 22px; }
    .method-list li { display: flex; gap: 14px; align-items: flex-start; }
    .method-list svg { flex-shrink: 0; color: var(--accent-secondary); margin-top: 3px; }
    .method-list b { display: block; font-size: 1.08rem; font-weight: 800; margin-bottom: 4px; color: var(--text-primary); }
    .method-list span { display: block; font-size: 0.97rem; line-height: 1.85; color: var(--text-secondary); }
    .method-privacy { font-size: 0.88rem; line-height: 1.8; color: var(--text-secondary); margin: 0; padding: 14px 18px; border-radius: 14px; background: var(--accent-soft); }
    .link-btn { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--accent-primary); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; min-height: 44px; }

    /* نوار دعوت به اقدام (مریمی روشن) */
    .cta-band { position: relative; display: flex; align-items: center; gap: 28px; padding: 34px 40px; margin: 0 0 96px; border-radius: 28px; background: var(--sage-band); overflow: hidden; }
    .cta-deco { width: 120px; height: auto; flex-shrink: 0; margin: -20px 0 -40px; }
    .cta-copy { flex: 1; }
    .cta-copy h2 { font-size: clamp(1.2rem, 2.2vw, 1.6rem); font-weight: 800; color: var(--accent-primary); margin: 0 0 6px; }
    .cta-copy p { margin: 0; color: var(--text-secondary); font-size: 0.95rem; line-height: 1.8; }

    /* صفحه‌های غذا: تصویر بالای تیتر */
    .page-hero.with-art .ph-art { width: min(250px, 58vw); aspect-ratio: 1; margin: 0 auto 18px; border-radius: 50%; overflow: hidden; background: var(--plate); display: grid; place-items: center; }
    .page-hero.with-art .ph-art img { width: 100%; height: 100%; object-fit: cover; }
    .page-hero.with-art .ph-art img.food-cut { width: 86%; height: 86%; object-fit: contain; }
    html.dark-resolved .page-hero.with-art .ph-art { background: #f3eadc; }

    .trust-row { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 24px; padding: 18px 22px; }
    .home-band .trust-row .trust-item span { flex-direction: row; flex-wrap: wrap; gap: 0 6px; }
    html[lang="en"] .hh-title { font-size: clamp(1.8rem, 3vw, 2.55rem); max-width: 17em; }
    @media (max-width: 1080px) {
      .trust-row { max-width: none; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 48px; }
      .home-hero { gap: 32px; }
      .hh-frame { margin-bottom: 0; max-width: 360px; }
      .home-band { padding-top: 56px; }
      .tan-grid.portal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .plates-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 760px) {
      .home-hero { grid-template-columns: 1fr; padding-top: 28px; gap: 8px; }
      .hh-copy { padding-bottom: 8px; }
      .hh-frame { order: -1; max-width: 200px; margin: 0 auto 18px; }
      .hh-frame::before { inset: 14px -14px -14px 14px; }
      html[dir="rtl"] .hh-frame::before { inset: 14px 14px -14px -14px; }
      .hh-deco { width: 40%; inset-inline-start: -26%; }
      .hh-actions { width: 100%; }
      .hh-actions .hh-btn { flex: 1 1 100%; }
      .home-band { padding: 40px 0 52px; margin-bottom: 64px; }
      .trust-row { padding: 14px; gap: 14px 10px; margin-bottom: 36px; }
      .tan-grid.portal-grid { gap: 12px; }
      .tan-grid .portal-card { padding: 18px 10px; gap: 10px; }
      .tan-grid .pc-body p { display: none; }
      .tan-grid .pc-body h3 { font-size: 0.92rem; }
      .food-feature, .method { grid-template-columns: 1fr; gap: 36px; margin-bottom: 72px; }
      .ff-media { margin-inline: 12px 22px; }
      .ff-points { grid-template-columns: 1fr; gap: 12px; }
      .ff-actions .hh-btn { flex: 1 1 100%; }
      .plates { margin-bottom: 72px; }
      .plates-grid { gap: 12px; }
      .pl-name { font-size: 0.92rem; margin: 10px 4px 2px; }
      .pl-note { font-size: 0.8rem; margin: 0 4px; }
      .method-media { aspect-ratio: 4 / 3; }
      .cta-band { flex-direction: column; text-align: center; padding: 28px 22px; margin-bottom: 64px; }
      .cta-deco { width: 92px; margin: -8px 0 -14px; }
      .cta-band .hh-btn { width: 100%; }
    }
    html.a11y .home-band { background: var(--bg-canvas) !important; box-shadow: none !important; clip-path: none !important; color: var(--text-primary) !important; border-block: 2px solid var(--glass-border); }
    html.a11y .home-band .band-head h2, html.a11y .home-band .band-head p, html.a11y .trust-row .trust-item { color: var(--text-primary) !important; }
    html.a11y .tan-grid .portal-card, html.a11y .plate-card { background: var(--bg-canvas) !important; color: var(--text-primary) !important; border: 2px solid var(--glass-border) !important; }
    html.a11y .tan-grid .pc-body h3, html.a11y .tan-grid .pc-body p { color: var(--text-primary) !important; }
    html.a11y .hh-frame, html.a11y .ff-media, html.a11y .method-media, html.a11y .cta-deco, html.a11y .pl-img, html.a11y .ph-art { display: none !important; }
    html.a11y .cta-band, html.a11y .method-privacy { background: var(--bg-canvas) !important; border: 2px solid var(--glass-border); }


    .home-band .trust-row .trust-item b { color: var(--cream-ink); font-size: 0.88rem; }
    .home-band .trust-row .trust-item span { color: rgba(246, 239, 226, 0.78); font-size: 0.8rem; }
    .tan-grid .pc-main .pc-icon { background: rgba(255, 255, 255, 0.5); color: var(--forest-700); }
    #contact-section .contact-grid { align-items: start; }
    #contact-section .contact-grid > div:last-child { justify-content: flex-start !important; gap: 4px; }
    @media (max-width: 640px) {
      .hh-cred.cred-bar { display: flex; }
      .hh-cred.cred-bar li { flex: 0 1 auto; text-align: start; border-bottom: 0; padding: 2px 10px; }
    }
    .calc-submit-btn { background-color: var(--accent-primary); }
    html.a11y .home-band .trust-row .trust-item b, html.a11y .home-band .trust-row .trust-item span, html.a11y .home-band .trust-row svg { color: var(--text-primary) !important; }
    html.a11y .trust-row { border-color: var(--glass-border) !important; }

    /* ===================== نسخه ۲۴: هاله پس‌زمینه هم‌رنگ محتوا + عکس‌های مینیمال یک‌دست ===================== */
    @property --amb-a { syntax: '<color>'; inherits: true; initial-value: rgba(247, 216, 196, 0.55); }
    @property --amb-b { syntax: '<color>'; inherits: true; initial-value: rgba(223, 230, 207, 0.6); }
    @property --amb-c { syntax: '<color>'; inherits: true; initial-value: rgba(226, 194, 156, 0.25); }
    .ambient-canvas {
      --amb-a: rgba(247, 216, 196, 0.55); --amb-b: rgba(223, 230, 207, 0.6); --amb-c: rgba(226, 194, 156, 0.25);
      background:
        radial-gradient(75vmax 60vmax at 92% 0%, var(--amb-a), transparent 70%),
        radial-gradient(65vmax 55vmax at 0% 100%, var(--amb-b), transparent 70%),
        radial-gradient(50vmax 42vmax at 55% 55%, var(--amb-c), transparent 72%);
      transition: --amb-a 1.4s ease, --amb-b 1.7s ease, --amb-c 2s ease;
    }
    html[data-amb="green"] .ambient-canvas { --amb-a: rgba(168, 200, 172, 0.55); --amb-b: rgba(120, 165, 135, 0.38); --amb-c: rgba(206, 224, 196, 0.35); }
    html[data-amb="peach"] .ambient-canvas { --amb-a: rgba(248, 200, 168, 0.70); --amb-b: rgba(244, 178, 140, 0.38); --amb-c: rgba(252, 226, 206, 0.45); }
    html[data-amb="saffron"] .ambient-canvas { --amb-a: rgba(246, 208, 128, 0.50); --amb-b: rgba(247, 214, 190, 0.50); --amb-c: rgba(250, 230, 180, 0.35); }
    html[data-amb="rose"] .ambient-canvas { --amb-a: rgba(238, 182, 182, 0.50); --amb-b: rgba(247, 212, 196, 0.50); --amb-c: rgba(236, 200, 206, 0.30); }
    html[data-amb="sage"] .ambient-canvas { --amb-a: rgba(206, 222, 182, 0.65); --amb-b: rgba(190, 210, 176, 0.50); --amb-c: rgba(230, 236, 214, 0.40); }
    html[data-amb="caramel"] .ambient-canvas { --amb-a: rgba(228, 196, 158, 0.60); --amb-b: rgba(247, 216, 196, 0.45); --amb-c: rgba(236, 216, 188, 0.35); }
    html.dark-resolved .ambient-canvas { --amb-a: rgba(200, 140, 100, 0.12); --amb-b: rgba(120, 160, 120, 0.12); --amb-c: rgba(180, 150, 110, 0.06); }
    html.dark-resolved[data-amb="green"] .ambient-canvas { --amb-a: rgba(90, 160, 120, 0.20); --amb-b: rgba(60, 130, 95, 0.18); --amb-c: rgba(100, 150, 110, 0.08); }
    html.dark-resolved[data-amb="peach"] .ambient-canvas { --amb-a: rgba(220, 130, 80, 0.20); --amb-b: rgba(200, 110, 70, 0.14); --amb-c: rgba(230, 160, 120, 0.07); }
    html.dark-resolved[data-amb="saffron"] .ambient-canvas { --amb-a: rgba(220, 170, 70, 0.18); --amb-b: rgba(200, 140, 90, 0.12); --amb-c: rgba(220, 180, 100, 0.06); }
    html.dark-resolved[data-amb="rose"] .ambient-canvas { --amb-a: rgba(200, 90, 100, 0.18); --amb-b: rgba(190, 120, 110, 0.12); --amb-c: rgba(200, 120, 140, 0.06); }
    html.dark-resolved[data-amb="sage"] .ambient-canvas { --amb-a: rgba(140, 180, 110, 0.18); --amb-b: rgba(110, 150, 100, 0.14); --amb-c: rgba(150, 180, 130, 0.06); }
    html.dark-resolved[data-amb="caramel"] .ambient-canvas { --amb-a: rgba(200, 150, 100, 0.18); --amb-b: rgba(190, 130, 100, 0.12); --amb-c: rgba(200, 160, 120, 0.06); }
    @media (prefers-reduced-motion: reduce) { .ambient-canvas { transition-duration: 0.01s; } }

    /* تصویرهای مینیمال روی زمینه کرم/هلویی (سفید عکس با multiply در زمینه حل می‌شود) */
    .ff-media::before { inset: 6% 6% 6% 6%; border-radius: 50%; background: var(--peach-200); }
    html[dir="rtl"] .ff-media::before { inset: 6% 6% 6% 6%; }
    .ff-media { isolation: isolate; aspect-ratio: 1; max-width: 500px; justify-self: center; width: 100%; border-radius: 50%; overflow: hidden; background: var(--peach-200); }
    .ff-media::before, html[dir="rtl"] .ff-media::before { display: none; }
    .ff-media img { aspect-ratio: 1; object-fit: contain; border-radius: 0; position: relative; }
    .method-media { aspect-ratio: 1; max-height: none; background: var(--peach-100); border-radius: 50%; isolation: isolate; overflow: hidden; max-width: 460px; justify-self: center; width: 100%; }
    .method-media img { object-fit: contain; }
    .method-media .fall-base { width: 100%; height: auto; }
    .pl-img { background: var(--caramel-100); isolation: isolate; display: grid; place-items: center; }
    .pl-img img.food-cut { width: 100%; height: 100%; object-fit: contain; }
    .plate-card:hover .pl-img { background: var(--peach-100); }
    .cta-deco { width: 132px; margin: -10px 0; isolation: auto; }
    .cta-band { isolation: isolate; }
    html.dark-resolved .ff-media { background: #efe2d0; }
    html.dark-resolved .method-media, html.dark-resolved .pl-img, html.dark-resolved .plate-card:hover .pl-img { background: #efe4d4; }
    @media (max-width: 760px) {
      .ff-media { max-width: 340px; margin-inline: auto; }
      .method-media { max-width: 300px; aspect-ratio: 1; }
      .cta-deco { width: 110px; margin: -6px 0 -10px; }
    }
    /* پیشنهادهای بازبینی Gemini: خلوت‌تر */
    #contact-section .contact-grid { grid-template-columns: minmax(0, 1fr); max-width: 820px; margin-inline: auto; }
    .page-hero .hero-title { color: var(--accent-primary); }
    @media (max-width: 760px) { .top-banner { display: none; } .hh-sub, .ff-lead, .method-list span { font-size: 1.04rem; } }

    /* ===================== نسخه ۲۵: رنگ‌بندی هماهنگ با Gemini (راحتی چشم: کنتراست متن حدود ۱۱:۱ به جای ۱۴:۱، حالت تیره هم‌خانواده روشن) ===================== */
    :root {
      --bg-canvas: #f6f0e6; --bg-canvas-2: #ece3d4;
      --text-primary: #27362e; --text-secondary: #3a4941; --text-muted: #516158;
      --accent-primary: #1f4b3a; --on-accent: #faf6ef; --cream-ink: #f4ede1;
      --caramel-300: #e2c29c; --caramel-200: #ead1b2; --on-caramel: #362312; --caramel-100: #f4e7d4;
      --peach-100: #f9e9dc; --peach-200: #f4d5be; --coral-600: #b04b1c; --coral-700: #933e15;
      --sage-band: #dfe6cf; --plate: #faf6ef; --food-disc: #faf6ef;
      --status-low: #1d568f; --status-optimal: #1c6642; --status-warning: #944a0c; --status-high: #a12b2b;
    }
    html.dark-resolved {
      --bg-canvas: #16201b; --bg-canvas-2: #1e2b24;
      --text-primary: #d8d0c0; --text-secondary: #b8b3a4; --text-muted: #90988d;
      --accent-primary: #c4d7bd; --accent-primary-hover: #d4e3ce; --accent-secondary: #a9c0a2; --on-accent: #18261e;
      --btn-gradient: linear-gradient(135deg, #cddfc6, #b4c9ac);
      --brand-forest-deep: #1b3529; --cream-ink: #e2dacb;
      --caramel-300: #33271d; --caramel-200: #3d2f24; --on-caramel: #e6d4be; --caramel-100: #282019;
      --peach-100: #2a201b; --peach-200: #362820; --coral-600: #ad4b1d; --coral-700: #963f17;
      --sage-band: #1d2d23; --plate: #212f27; --food-disc: #e3d9c8;
      --status-low: #7eb3e6; --status-optimal: #6bc492; --status-warning: #e0a358; --status-high: #e5857d;
    }
    html.dark-resolved .tan-grid .pc-icon { background: rgba(230, 212, 190, 0.12); color: #e6d4be; }
    html.dark-resolved .tan-grid .portal-card:focus-visible { outline-color: #e6d4be; }
    html.dark-resolved .ff-media, html.dark-resolved .method-media, html.dark-resolved .pl-img, html.dark-resolved .plate-card:hover .pl-img, html.dark-resolved .page-hero.with-art .ph-art { background: var(--food-disc); }
    html.dark-resolved .plate-card:hover { background: #26352c; }

    /* ریختن سبزیجات در کاسه (یک بار، فقط transform و opacity؛ ۷ تکه کوچک حدود ۲۰KB) */
    .fall-anim { position: relative; }
    .fall-anim .fall-base { position: relative; display: block; width: 100%; height: auto; }
    .fall-anim .fall-bit { position: absolute; display: block; height: auto; aspect-ratio: auto; object-fit: fill; border-radius: 0; pointer-events: none; }
    @keyframes veggieDrop {
      0% { opacity: 0; transform: translate3d(0, -260px, 0) rotate(var(--r, 0deg)); }
      18% { opacity: 1; }
      68% { transform: translate3d(0, 7px, 0) rotate(calc(var(--r, 0deg) * -0.12)); }
      84% { transform: translate3d(0, -3px, 0) rotate(calc(var(--r, 0deg) * 0.05)); }
      100% { opacity: 1; transform: none; }
    }
    /* بشقاب‌ها هنگام ظاهر شدن کمی می‌چرخند و جا می‌افتند */
    .plate-card.rv-in .pl-img img, .method-media.rv-in .fall-base { animation: plateSettle 1.1s var(--spring-easing) both; animation-delay: calc(var(--rv-d, 0ms) + 80ms); }
    @keyframes plateSettle { from { transform: rotate(-16deg) scale(0.9); } to { transform: none; } }
    html.a11y .fall-bit, html.a11y .fall-anim .fall-bit { opacity: 1 !important; transform: none !important; animation: none !important; }
    .hh-mark { color: #ead1b2; }
    html.dark-resolved .hh-mark { color: #d9c3a3; }
    /* سافاری: برش گرد هنگام حرکت/انیمیشن گاهی از بین می‌رود؛ clip-path برش را قطعی می‌کند */
    .ff-media, .method-media, .page-hero.with-art .ph-art { clip-path: circle(50% at 50% 50%); }
    .pl-img { clip-path: inset(0 round 18px); }

    /* ===================== نسخه ۲۶: شیشه‌ای‌تر + انیمیشن نرم‌تر + کیفیت تصویر در سافاری ===================== */
    :root {
      --gl-fill: rgba(255, 255, 255, 0.42); --gl-fill-strong: rgba(255, 255, 255, 0.58);
      --gl-rim: rgba(255, 255, 255, 0.78); --gl-rim-soft: rgba(255, 255, 255, 0.45);
      --gl-hi: inset 0 1px 0 rgba(255, 255, 255, 0.9), inset 0 -1px 0 rgba(255, 255, 255, 0.3);
      --gl-lift: 0 14px 34px -18px rgba(54, 40, 24, 0.32), 0 3px 10px -4px rgba(54, 40, 24, 0.12);
    }
    html.dark-resolved {
      --gl-fill: rgba(255, 255, 255, 0.055); --gl-fill-strong: rgba(255, 255, 255, 0.09);
      --gl-rim: rgba(255, 255, 255, 0.16); --gl-rim-soft: rgba(255, 255, 255, 0.09);
      --gl-hi: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 -1px 0 rgba(255, 255, 255, 0.04);
      --gl-lift: 0 16px 36px -18px rgba(0, 0, 0, 0.6), 0 3px 10px -4px rgba(0, 0, 0, 0.35);
    }
    /* دکمه‌ها: شیشه رنگی با نور بالایی و لبه روشن */
    .hh-btn { position: relative; overflow: hidden; isolation: isolate; border: 1px solid transparent; }
    .hh-btn::after { content: ""; position: absolute; inset: 0 0 50% 0; border-radius: inherit; background: linear-gradient(180deg, rgba(255, 255, 255, 0.26), rgba(255, 255, 255, 0)); pointer-events: none; z-index: -1; }
    .hh-btn-primary { background: linear-gradient(180deg, #2f6650, #1f4b3a 62%, #1a4232); border-color: rgba(255, 255, 255, 0.22); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), inset 0 -3px 8px rgba(0, 0, 0, 0.14), 0 10px 24px -12px rgba(22, 56, 41, 0.6); }
    .hh-btn-primary:hover { background: linear-gradient(180deg, #2a5c47, #183d2f 62%, #143427); }
    .hh-btn-coral { background: linear-gradient(180deg, #c35d2b, #b04b1c 62%, #9d4116); border-color: rgba(255, 255, 255, 0.22); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.32), inset 0 -3px 8px rgba(0, 0, 0, 0.14), 0 10px 24px -12px rgba(150, 62, 21, 0.6); }
    .hh-btn-coral:hover { background: linear-gradient(180deg, #b55427, #9d4116 62%, #8a3913); }
    .hh-btn-ghost, .see-all { background: var(--gl-fill); border: 1px solid var(--gl-rim); box-shadow: var(--gl-hi), var(--gl-lift); -webkit-backdrop-filter: blur(12px) saturate(170%); backdrop-filter: blur(12px) saturate(170%); }
    .hh-btn-ghost:hover, .see-all:hover { background: var(--gl-fill-strong); }
    html.dark-resolved .hh-btn-primary { background: linear-gradient(180deg, #dcead6, #c4d7bd 62%, #b3c9ab); border-color: rgba(255, 255, 255, 0.35); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), inset 0 -3px 8px rgba(0, 0, 0, 0.08), 0 10px 24px -12px rgba(0, 0, 0, 0.6); }
    html.dark-resolved .hh-btn-primary:hover { background: linear-gradient(180deg, #e6f0e1, #d0e0c9 62%, #bdd1b5); }
    html.dark-resolved .hh-btn::after { background: linear-gradient(180deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0)); }
    /* کارت‌های خدمات روی نوار سبز: شیشه کاراملی (بدون بلور، چون پشتش رنگ یک‌دست است) */
    .tan-grid .portal-card { position: relative; overflow: hidden; background: linear-gradient(160deg, rgba(242, 220, 190, 0.95), rgba(222, 188, 148, 0.9)); border: 1px solid rgba(255, 255, 255, 0.55); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75), inset 0 -14px 28px -22px rgba(255, 255, 255, 0.7), 0 16px 34px -20px rgba(0, 0, 0, 0.5); }
    .tan-grid .portal-card::before { content: ""; position: absolute; inset: 0 0 55% 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0.32), rgba(255, 255, 255, 0)); pointer-events: none; }
    .tan-grid .portal-card > * { position: relative; }
    .tan-grid .portal-card:hover { background: linear-gradient(160deg, rgba(246, 228, 202, 0.97), rgba(230, 198, 160, 0.92)); }
    html.dark-resolved .tan-grid .portal-card { background: linear-gradient(160deg, rgba(70, 54, 40, 0.92), rgba(46, 35, 26, 0.92)); border-color: rgba(230, 212, 190, 0.16); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12), 0 16px 34px -20px rgba(0, 0, 0, 0.7); }
    html.dark-resolved .tan-grid .portal-card::before { background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0)); }
    html.dark-resolved .tan-grid .portal-card:hover { background: linear-gradient(160deg, rgba(80, 62, 46, 0.94), rgba(54, 41, 30, 0.94)); }
    .tan-grid .pc-icon, .ff-points svg { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), 0 4px 10px -6px rgba(54, 40, 24, 0.35); border: 1px solid rgba(255, 255, 255, 0.6); }
    html.dark-resolved .tan-grid .pc-icon, html.dark-resolved .ff-points svg { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14); border-color: rgba(255, 255, 255, 0.1); }
    .trust-row { background: linear-gradient(160deg, rgba(255, 255, 255, 0.09), rgba(255, 255, 255, 0.03)); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16); }
    /* کارت وعده‌ها، نوار دعوت، کادر حریم خصوصی: شیشه روشن */
    .plate-card { background: var(--gl-fill); border: 1px solid var(--gl-rim); box-shadow: var(--gl-hi), var(--gl-lift); }
    .plate-card:hover { background: var(--gl-fill-strong); }
    html.dark-resolved .plate-card, html.dark-resolved .plate-card:hover { background: var(--gl-fill); }
    html.dark-resolved .plate-card:hover { background: var(--gl-fill-strong); }
    .cta-band { background: linear-gradient(135deg, rgba(223, 230, 207, 0.78), rgba(205, 220, 188, 0.6)); border: 1px solid var(--gl-rim); box-shadow: var(--gl-hi), var(--gl-lift); -webkit-backdrop-filter: blur(14px) saturate(160%); backdrop-filter: blur(14px) saturate(160%); }
    html.dark-resolved .cta-band { background: linear-gradient(135deg, rgba(40, 60, 46, 0.7), rgba(29, 45, 35, 0.6)); }
    .method-privacy { background: var(--gl-fill); border: 1px solid var(--gl-rim); box-shadow: var(--gl-hi); }
    /* دیسک عکس‌ها: گنبد شیشه‌ای با نور ملایم بالا */
    .ff-media::after, .method-media::after, .page-hero.with-art .ph-art::after { content: ""; position: absolute; inset: 0; border-radius: 50%; pointer-events: none; z-index: 3;
      background: radial-gradient(120% 70% at 28% 0%, rgba(255, 255, 255, 0.34), rgba(255, 255, 255, 0) 46%);
      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.55), inset 0 -18px 40px -30px rgba(120, 70, 40, 0.35); }
    .method-media, .page-hero.with-art .ph-art { position: relative; }
    html.dark-resolved .ff-media::after, html.dark-resolved .method-media::after, html.dark-resolved .page-hero.with-art .ph-art::after { background: radial-gradient(120% 70% at 28% 0%, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0) 46%); }
    /* انیمیشن ریختن: کلیدفریم‌های بیشتر (فنر نرم)، فقط transform/opacity، will-change فقط هنگام اجرا */
    .drop-anim { position: relative; }
    .drop-anim .fall-base { position: relative; display: block; width: 100%; height: auto; }
    .drop-anim .fall-bit { position: absolute; display: block; height: auto; aspect-ratio: auto; object-fit: fill; border-radius: 0; pointer-events: none; z-index: 2; backface-visibility: hidden; }
    .drop-anim.drop-ready .fall-bit { opacity: 0; transform: translate3d(0, -260px, 0) rotate(var(--r, 0deg)); }
    .drop-anim.drop-soft.drop-ready .fall-bit { transform: translate3d(0, -170px, 0) rotate(var(--r, 0deg)); }
    .drop-anim.drop-go:not(.drop-done) .fall-bit { will-change: transform, opacity; animation: veggieDrop2 1.6s both; animation-delay: calc(var(--i, 0) * 180ms); }
    .drop-anim.drop-soft.drop-go:not(.drop-done) .fall-bit { animation-name: seedDrop; animation-duration: 1.35s; animation-delay: calc(var(--i, 0) * 140ms); }
    @keyframes veggieDrop2 {
      0% { opacity: 0; transform: translate3d(0, -260px, 0) rotate(var(--r, 0deg)); animation-timing-function: cubic-bezier(0.45, 0, 0.8, 0.45); }
      12% { opacity: 1; }
      52% { transform: translate3d(0, 8px, 0) rotate(calc(var(--r, 0deg) * -0.16)); animation-timing-function: cubic-bezier(0.2, 0.6, 0.35, 1); }
      64% { transform: translate3d(0, -9px, 0) rotate(calc(var(--r, 0deg) * 0.1)); animation-timing-function: cubic-bezier(0.45, 0, 0.6, 1); }
      76% { transform: translate3d(0, 3px, 0) rotate(calc(var(--r, 0deg) * -0.05)); }
      86% { transform: translate3d(0, -1.5px, 0) rotate(calc(var(--r, 0deg) * 0.02)); }
      94% { transform: translate3d(0, 0.5px, 0); }
      100% { opacity: 1; transform: none; }
    }
    @keyframes seedDrop {
      0% { opacity: 0; transform: translate3d(0, -170px, 0) rotate(var(--r, 0deg)) scale(1.15); animation-timing-function: cubic-bezier(0.45, 0, 0.8, 0.45); }
      14% { opacity: 1; }
      55% { transform: translate3d(0, 4px, 0) rotate(calc(var(--r, 0deg) * -0.2)) scale(0.98); animation-timing-function: cubic-bezier(0.2, 0.6, 0.35, 1); }
      70% { transform: translate3d(0, -5px, 0) rotate(calc(var(--r, 0deg) * 0.08)); }
      84% { transform: translate3d(0, 1.5px, 0); }
      100% { opacity: 1; transform: none; }
    }
    .drop-anim.drop-done .fall-bit { animation: none; }
    html.a11y .drop-anim .fall-bit { opacity: 1 !important; transform: none !important; animation: none !important; }
    @media (prefers-reduced-motion: reduce) { .drop-anim.drop-ready .fall-bit { opacity: 1; transform: none; } }
    /* عکس‌ها در سافاری تیز بمانند */
    .food-cut, .fall-bit, .pl-img img { image-rendering: auto; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
    .home-band .trust-row .trust-item svg { color: #e2c29c; }
    /* رنگ پشتیبان زیر گرادیان‌های شیشه‌ای (مرورگرهای قدیمی و ابزار سنجش کنتراست) */
    .hh-btn-primary { background-color: #1f4b3a; } .hh-btn-coral { background-color: #b04b1c; }
    .tan-grid .portal-card { background-color: #e4c7a2; }
    html.dark-resolved .hh-btn-primary { background-color: #c4d7bd; } html.dark-resolved .tan-grid .portal-card { background-color: #3a2d21; }
    /* تصویر بالای صفحه برنامه غذایی (کاسه + تکه‌های ریزان) */
    .page-hero.with-art .ph-art.drop-anim { display: block; }
    .page-hero.with-art .ph-art .fall-base { width: 100%; height: auto; object-fit: contain; }
    .page-hero.with-art .ph-art .fall-bit { height: auto; object-fit: fill; }

    /* ===================== نسخه ۲۷: روش‌های مدرن ===================== */
    /* پس‌زمینه زنده: دو هاله رنگی با اسکرول آرام جابه‌جا می‌شوند (scroll-driven animation، روی کامپوزیتور، بدون JS) */
    .ambient-canvas { overflow: hidden; contain: strict; }
    .ambient-canvas::before, .ambient-canvas::after { content: ""; position: absolute; border-radius: 50%; pointer-events: none; opacity: 0.7; }
    .ambient-canvas::before { width: 62vmax; height: 62vmax; inset-block-start: -18vmax; inset-inline-start: -16vmax; background: radial-gradient(closest-side, var(--amb-a), transparent); }
    .ambient-canvas::after { width: 54vmax; height: 54vmax; inset-block-end: -20vmax; inset-inline-end: -14vmax; background: radial-gradient(closest-side, var(--amb-c), transparent); }
    @supports (animation-timeline: scroll()) {
      .ambient-canvas::before { animation: ambDriftA linear both; animation-timeline: scroll(root block); will-change: transform; }
      .ambient-canvas::after { animation: ambDriftB linear both; animation-timeline: scroll(root block); will-change: transform; }
      @keyframes ambDriftA { from { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(28vw, 22vh, 0) scale(1.18); } to { transform: translate3d(6vw, 46vh, 0) scale(0.95); } }
      @keyframes ambDriftB { from { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(-24vw, -26vh, 0) scale(1.15); } to { transform: translate3d(-8vw, -48vh, 0) scale(1.05); } }
    }
    @media (prefers-reduced-motion: reduce) { .ambient-canvas::before, .ambient-canvas::after { animation: none !important; } }
    html.lite .ambient-canvas::before, html.lite .ambient-canvas::after { animation: none; }

    /* ===================== نسخه ۲۸: لوگوی متحرک (یک بار هنگام بارگذاری) =====================
       لوگو: M با دو خط نازک (دو پایه که وسطشان زیر برگ‌ها به هم می‌رسد)، Z توپر در دو نیمه که مورب آن ساقه رشد است،
       و شاخه سه‌برگ در محل تلاقی دو حرف (تغذیه و رشد). ترتیب: خطوط M کشیده می‌شوند، Z از بالا نوشته می‌شود، برگ‌ها از ساقه می‌رویند. */
    .logo-anim .lg-m1, .logo-anim .lg-m2 { stroke-dasharray: 300; stroke-dashoffset: 300; animation: lgDraw 1.15s cubic-bezier(0.65, 0, 0.35, 1) 0.25s forwards; }
    .logo-anim .lg-m2 { animation-delay: 0.42s; }
    .logo-anim .lg-z1 { clip-path: inset(0 100% 0 0); animation: lgWipeX 0.7s cubic-bezier(0.65, 0, 0.35, 1) 0.95s forwards; }
    .logo-anim .lg-z2 { clip-path: inset(0 0 100% 0); animation: lgWipeY 0.75s cubic-bezier(0.65, 0, 0.35, 1) 1.35s forwards; }
    .logo-anim .lg-leaf { transform-box: fill-box; transform-origin: 0% 100%; opacity: 0; transform: scale(0.2) rotate(-28deg); animation: lgLeaf 1.05s cubic-bezier(0.34, 1.4, 0.64, 1) 1.85s forwards; }
    @keyframes lgDraw { to { stroke-dashoffset: 0; } }
    @keyframes lgWipeX { to { clip-path: inset(0 0 0 0); } }
    @keyframes lgWipeY { to { clip-path: inset(0 0 0 0); } }
    @keyframes lgLeaf { 0% { opacity: 0; transform: scale(0.2) rotate(-28deg); } 35% { opacity: 1; } 100% { opacity: 1; transform: none; } }
    .logo-anim.logo-done .lg-m1, .logo-anim.logo-done .lg-m2 { animation: none; stroke-dasharray: none; stroke-dashoffset: 0; }
    .logo-anim.logo-done .lg-z1, .logo-anim.logo-done .lg-z2 { animation: none; clip-path: none; }
    .logo-anim.logo-done .lg-leaf { animation: none; opacity: 1; transform: none; }
    @media (prefers-reduced-motion: reduce) {
      .logo-anim .lg-m1, .logo-anim .lg-m2 { animation: none; stroke-dasharray: none; stroke-dashoffset: 0; }
      .logo-anim .lg-z1, .logo-anim .lg-z2 { animation: none; clip-path: none; }
      .logo-anim .lg-leaf { animation: none; opacity: 1; transform: none; }
    }
    /* ظاهر شدن تک‌تک اجزا هنگام اسکرول (به سبک اپل) */
    .rv { opacity: 0; transform: translate3d(0, 46px, 0); }
    .rv.rv-in { opacity: 1; transform: none; transition: opacity 0.75s cubic-bezier(0.2, 0.7, 0.2, 1) var(--rv-d, 0ms), transform 1.05s var(--spring-easing) var(--rv-d, 0ms); }
    @media print { .rv { opacity: 1 !important; transform: none !important; } }

/* ---- WordPress additions (single article, cards linking to posts) ---- */
.ebm-card h3 a.mz-card-link { color: inherit; text-decoration: none; }
.ebm-card h3 a.mz-card-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.mz-read-more { display: inline-block; margin-top: 12px; font-weight: 700; font-size: .9rem; color: var(--accent, currentColor); text-decoration: none; }
.mz-read-more:hover { text-decoration: underline; }
.mz-single { padding-bottom: 48px; }
.mz-article { max-width: 780px; margin-inline: auto; }
.mz-article-thumb { margin: 0 0 20px; overflow: hidden; padding: 0; }
.mz-article-thumb img { display: block; width: 100%; height: auto; }
.mz-article-body, .mz-article-research { padding: clamp(18px, 4vw, 36px); margin-bottom: 20px; line-height: 2; }
.mz-article-body > :first-child { margin-top: 0; }
.mz-article-body h2, .mz-article-body h3 { line-height: 1.5; margin: 1.6em 0 .6em; }
.mz-article-body img { max-width: 100%; height: auto; border-radius: 16px; }
.mz-article-body a { color: inherit; text-underline-offset: 3px; }
.mz-article-research h2 { font-size: 1.05rem; margin: 0 0 8px; }
html[lang="en"] .mz-article-body, html[lang="en"] .mz-article-research { line-height: 1.75; }
.mz-article-date { margin: 4px 0 0; font-size: .85rem; font-weight: 600; color: var(--text-muted, currentColor); }
.mz-empty { opacity: .7; }
.nav-links { display: flex; gap: 8px; justify-content: center; margin-top: 24px; }
