/* V1.92d3c: canonical MaiCuti design tokens with public typography weight diet.
   V1.92d3 introduced the token authority; V1.92d3c lowers visible UI weight/density. */
/* V1.92d3: canonical MaiCuti design tokens.
   Typography, theme color, and surface scale must be consumed through these tokens.
   Do not add raw font families, raw font sizes, or raw heavy font weights in surface CSS. */
:root {
  /* ChatGPT-like native system stack: no Inter-first default. */
  --mc-font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans",
    sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --mc-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
  --mc-font: var(--mc-font-sans);
  /* V1.92s8a: Admin Web must consume the same canonical sans/mono font authority as Provider and Editor. */
  --mc-admin-font-sans: var(--mc-font-sans);
  --mc-admin-font-mono: var(--mc-font-mono);

  /* Compact travel typography scale. H3-equivalent is the maximum visual title. */
  --mc-text-2xs: 10.5px;
  --mc-text-xs: 11px;
  --mc-text-sm: 12px;
  --mc-text-body-sm: 13px;
  --mc-text-body: 14px;
  --mc-text-body-lg: 15px;
  --mc-text-section: 16px;
  --mc-text-title-mobile: 18px;
  --mc-text-title-max: 20px; /* absolute visual ceiling; public page titles use the 18px alias below. */
  --mc-text-form-control: 14px;

  /* Structural weight cap: 600. Bold is reserved for exceptional logo/CTA states only. */
  --mc-weight-regular: 400;
  --mc-weight-medium: 500;
  --mc-weight-semibold: 600;
  --mc-weight-bold: 700;

  --mc-leading-tight: 1.15;
  --mc-leading-snug: 1.25;
  --mc-leading-normal: 1.45;
  --mc-leading-readable: 1.55;
  --mc-tracking-tight: -0.02em;
  --mc-tracking-normal: 0;
  --mc-tracking-eyebrow: 0.06em;

  /* Surface aliases. Surface CSS must use aliases instead of raw values. */
  --mc-page-title-size: var(--mc-text-title-mobile);
  --mc-page-title-mobile-size: var(--mc-text-title-mobile);
  --mc-section-title-size: var(--mc-text-section);
  --mc-card-title-size: var(--mc-text-body);
  --mc-body-size: var(--mc-text-body);
  --mc-body-small-size: var(--mc-text-body-sm);
  --mc-meta-size: var(--mc-text-xs);
  --mc-eyebrow-size: var(--mc-text-2xs);
  --mc-button-size: var(--mc-text-sm);
  --mc-form-label-size: var(--mc-text-body-sm);
  --mc-form-control-size: var(--mc-text-form-control);
  --mc-code-size: var(--mc-text-sm);
  --mc-body-line-height: var(--mc-leading-normal);

  --mc-page-title-weight: var(--mc-weight-semibold);
  --mc-section-title-weight: var(--mc-weight-medium);
  --mc-card-title-weight: var(--mc-weight-medium);
  --mc-body-weight: var(--mc-weight-regular);
  --mc-meta-weight: var(--mc-weight-regular);
  --mc-eyebrow-weight: var(--mc-weight-medium);
  --mc-button-weight: var(--mc-weight-medium);
  --mc-text-underline-offset: 0.14em;
  --mc-list-indent: 1.2em;
  --mc-logo-weight: var(--mc-weight-bold);
  --mc-nav-weight: var(--mc-weight-medium);
  --mc-chip-weight: var(--mc-weight-medium);
  --mc-control-weight: var(--mc-weight-medium);
  --mc-location-weight: var(--mc-weight-medium);
  --mc-primary-cta-weight: var(--mc-weight-semibold);
  --mc-cta-on-primary: #ffffff;

  /* V1.92h7k: wide-screen public navigation and Lens visibility tokens. */
  --mc-public-nav-desktop-size: var(--mc-text-body);
  --mc-public-nav-desktop-height: 44px;
  --mc-public-nav-desktop-radius: 16px;
  --mc-public-nav-desktop-icon-size: 20px;
  --mc-public-nav-desktop-gap: clamp(8px, 1.2vw, 16px);
  --mc-public-nav-item-gap: 8px;
  --mc-public-lens-action-size: 44px;
  --mc-public-lens-action-wide-min: 92px;
  --mc-public-lens-action-label-size: var(--mc-text-body);
  /* V1.92h7r10: semantic public menu icon color tokens. */
  --mc-public-menu-icon-badge-size: 30px;
  --mc-public-menu-icon-badge-radius: 12px;
  --mc-public-menu-icon-badge-padding: 6px;
  --mc-public-menu-icon-border-mix: 28%;
  /* V1.92h7r12: desktop top-nav icon badge authority without changing mobile/drawer badges. */
  --mc-public-top-nav-icon-badge-size: 36px;
  --mc-public-top-nav-icon-badge-radius: 14px;
  --mc-public-top-nav-icon-badge-padding: 7px;
  --mc-nav-icon-ask: #B83272;
  --mc-nav-icon-ask-soft: #F9DDEA;
  --mc-nav-icon-explore: #2679D9;
  --mc-nav-icon-explore-soft: #E3F0FF;
  --mc-nav-icon-stays: #12896F;
  --mc-nav-icon-stays-soft: #DDF6EF;
  --mc-nav-icon-food: #D76D1E;
  --mc-nav-icon-food-soft: #FFE9D4;
  --mc-nav-icon-viral: #7A4BE8;
  --mc-nav-icon-viral-soft: #EEE8FF;
  --mc-nav-icon-home: #B83272;
  --mc-nav-icon-home-soft: #F9DDEA;
  --mc-nav-icon-saved: #B77A10;
  --mc-nav-icon-saved-soft: #FFF1C9;
  --mc-nav-icon-settings: #52647A;
  --mc-nav-icon-settings-soft: #E9EEF5;
  --mc-nav-icon-profile: var(--mc-nav-icon-ask);
  --mc-nav-icon-profile-soft: var(--mc-nav-icon-ask-soft);
  --mc-nav-icon-lens: #078BB8;
  --mc-nav-icon-lens-soft: #DDF5FE;
  --mc-nav-icon-weather: #2679D9;
  --mc-nav-icon-weather-soft: #E3F0FF;
  --mc-nav-icon-event: var(--mc-nav-icon-explore);
  --mc-nav-icon-event-soft: var(--mc-nav-icon-explore-soft);
  --mc-nav-icon-location: #12896F;
  --mc-nav-icon-location-soft: #DDF6EF;
  --mc-nav-icon-privacy: #4959C7;
  --mc-nav-icon-privacy-soft: #E8EBFF;
  --mc-nav-icon-memory: #7A4BE8;
  --mc-nav-icon-memory-soft: #EEE8FF;
  --mc-nav-icon-language: #2679D9;
  --mc-nav-icon-language-soft: #E3F0FF;
  /* V1.92h7r11: language identity tokens. Values are intentionally explicit only here. */
  --mc-lang-en: #00247D;
  --mc-lang-en-soft: #E6ECFA;
  --mc-lang-en-ink: #ffffff;
  --mc-lang-ms: #FFCC00;
  --mc-lang-ms-soft: #FFF4BF;
  --mc-lang-ms-ink: #2D2632;


  /* V1.92h7o: compact public language switch; keep language utility subordinate to Lens/nav. */
  --mc-public-language-switch-height: 36px;
  --mc-public-language-switch-mobile-height: 36px;
  --mc-public-language-switch-option-height: 28px;
  --mc-public-language-switch-option-mobile-height: 28px;
  --mc-public-language-switch-option-min-width: 32px;
  --mc-public-language-switch-option-mobile-min-width: 30px;
  --mc-public-language-switch-icon-size: 14px;
  --mc-public-language-switch-label-size: var(--mc-button-size);


  /* V1.92h7o1: fixed-geometry AI terms modal tokens. */
  --mc-ai-terms-z-backdrop: 3900;
  --mc-ai-terms-z-modal: 3910;
  --mc-ai-terms-desktop-width: min(92vw, 560px);
  --mc-ai-terms-desktop-max-height: min(82vh, 640px);
  --mc-ai-terms-mobile-width: calc(100vw - 24px);
  --mc-ai-terms-mobile-max-width: 420px;
  --mc-ai-terms-mobile-max-height: 78vh;
  --mc-ai-terms-radius: 20px;
  --mc-ai-terms-mobile-radius: 22px;
  --mc-ai-terms-border-width: 1px;
  --mc-ai-terms-shadow: 0 28px 80px rgb(45 32 48 / 24%);
  --mc-ai-terms-backdrop: rgb(45 32 48 / 44%);
  --mc-ai-terms-pad-desktop: 20px;
  --mc-ai-terms-pad-mobile: 14px;
  --mc-ai-terms-gap: 12px;
  --mc-ai-terms-gap-sm: 8px;
  --mc-ai-terms-hero-icon: 42px;
  --mc-ai-terms-row-icon: 34px;
  --mc-ai-terms-icon-md: 18px;
  --mc-ai-terms-close-size: 36px;
  --mc-ai-terms-action-height: 42px;

  /* V1.92h7m: mobile homepage density and empty-state rebalance tokens. */
  --mc-home-mobile-page-top-padding: 8px;
  --mc-home-mobile-grid-gap: 10px;
  --mc-home-mobile-hero-padding: 12px;
  --mc-home-mobile-hero-gap: 10px;
  --mc-home-mobile-avatar-size: 48px;
  --mc-home-mobile-search-height: 46px;
  --mc-home-mobile-search-button-size: 38px;
  --mc-home-mobile-action-height: 38px;
  --mc-home-mobile-empty-min-height: 124px;
  --mc-home-mobile-empty-padding: 12px;
  --mc-home-mobile-card-width: min(72vw, 172px);
  --mc-home-mobile-card-body-min-height: 52px;

  /* V1.92h7r: mobile Home content rail density, snap, and bottom-nav clearance tokens. */
  --mc-home-mobile-content-panel-gap: 8px;
  --mc-home-mobile-content-card-gap: 8px;
  --mc-home-mobile-section-gap: 12px;
  --mc-home-mobile-section-head-gap: 6px;
  --mc-home-mobile-rail-gap: 10px;
  --mc-home-mobile-rail-edge-gutter: 6px;
  --mc-home-mobile-rail-bottom-pad: 12px;
  --mc-home-mobile-rail-card-width: min(70vw, 220px);
  --mc-home-mobile-rail-empty-width: min(74vw, 230px);
  --mc-home-mobile-rail-card-radius: 18px;
  --mc-home-mobile-rail-card-padding: 10px;
  --mc-home-mobile-rail-media-radius: 14px;
  --mc-home-mobile-rail-action-height: 38px;
  --mc-home-mobile-bottom-nav-safe-padding: 112px;
  --mc-public-mobile-bottom-nav-height: 66px;
  --mc-public-mobile-bottom-nav-edge: 12px;

  /* Core theme color roles. Persona/theme files may only assign role tokens. */
  --mc-color-bg: #fffaf5;
  --mc-color-bg-top: #fff3e9;
  --mc-color-panel: #ffffff;
  --mc-color-panel-soft: #fff7f0;
  --mc-color-ink: #182235;
  --mc-color-muted: #667085;
  --mc-color-line: #eadfd5;
  --mc-color-line-soft: #f3e8de;
  --mc-color-accent: #c65f49;
  --mc-color-accent-strong: #7d392c;
  --mc-color-accent-soft: #fff0e7;
  --mc-color-danger: #b42318;

  --mc-admin-title-size: var(--mc-text-title-mobile);
  --mc-admin-section-title-size: var(--mc-text-section);
  --mc-admin-card-title-size: var(--mc-text-body);
  --mc-admin-body-size: var(--mc-text-body);
  --mc-admin-table-size: var(--mc-text-body-sm);
  --mc-admin-eyebrow-size: var(--mc-text-xs);
}

/* V1.92d3d: touch-target and mobile trip-search layout tokens. */
:root {
  --mc-touch-target-min: 44px;
  --mc-field-height-desktop: 48px;
  --mc-field-height-mobile: 52px;
  --mc-field-label-size: var(--mc-text-xs);
  --mc-field-value-size: var(--mc-text-body);
  --mc-field-value-mobile-size: 16px; /* iOS Safari no-zoom tap target floor. */
  --mc-field-label-weight: var(--mc-weight-medium);
  --mc-field-value-weight: var(--mc-weight-regular);
  --mc-popover-control-height: 44px;
  --mc-card-action-height: 40px;
}

/* V1.92d3e: public chat iOS focus and drawer-safe viewport tokens. */
:root {
  --mc-chat-input-ios-size: 16px;
  --mc-drawer-safe-bottom-padding: calc(24px + env(safe-area-inset-bottom));
}


/* V1.92h7j — Seri Theme V2 / Sunset Rose visual contract tokens. */
:root {
  --mc-che-sunset-bg: #FFF9FB;
  --mc-che-sunset-surface: #FFFFFF;
  --mc-che-sunset-surface-soft: #FCEBF2;
  --mc-che-sunset-border: #E7D5E0;
  --mc-che-sunset-ink: #2D2030;
  --mc-che-sunset-text: #6C6070;
  --mc-che-sunset-muted: #8A7D89;
  --mc-che-sunset-primary: #B5326A;
  --mc-che-sunset-primary-strong: #952653;
  --mc-che-sunset-primary-soft: #F7D9E7;
  --mc-che-sunset-coral: #EE7B56;
  --mc-che-sunset-coral-soft: #FDE5DD;
  --mc-che-sunset-gold: #E9B34C;
}

/* V1.92t9v2e1 — Public Home responsive layout/cache hotfix token authority. */
:root {
  --mc-home-destination-hero-radius: 28px;
  --mc-home-destination-hero-padding: 16px;
  --mc-home-destination-gap: 14px;
  --mc-home-destination-summary-width: 260px;
  --mc-home-map-radius: 22px;
  --mc-home-map-border-width: 2px;
  --mc-home-map-control-gap: 8px;
  --mc-home-map-region-gap: 10px;
  --mc-home-map-region-padding: 10px;
  --mc-home-map-region-min-height: 250px;
  --mc-home-map-state-stroke-width: 1.5px;
  --mc-home-map-state-selected-stroke-width: 2.5px;
  --mc-home-map-state-label-size: var(--mc-meta-size);
  --mc-home-map-state-label-weight: var(--mc-weight-medium);
  --mc-home-map-label-halo-width: 3px;
  --mc-home-map-water-surface: color-mix(in srgb, var(--mc-color-panel) 76%, var(--mc-color-accent-soft));
  --mc-home-map-land-surface: color-mix(in srgb, var(--mc-color-panel) 68%, var(--mc-color-accent-soft));
  --mc-home-map-land-hover: color-mix(in srgb, var(--mc-color-accent-soft) 76%, var(--mc-color-panel));
  --mc-home-map-land-selected: color-mix(in srgb, var(--mc-color-accent-soft) 58%, var(--mc-color-panel));
  --mc-home-map-boundary: color-mix(in srgb, var(--mc-color-accent-strong) 50%, var(--mc-color-line));
  --mc-home-map-label: var(--mc-color-ink);
  --mc-home-map-label-halo: var(--mc-color-panel);
  --mc-home-map-marker-ring-size: 12px;
  --mc-home-map-marker-core-size: 4px;
  --mc-home-map-marker-stroke-width: 2px;
  --mc-home-map-destination-pin: #ea7a1a;
  --mc-home-map-destination-pin-strong: #9a4b0f;
  --mc-home-map-destination-pin-soft: #fff4e6;
  --mc-home-map-marker-ring: var(--mc-home-map-destination-pin);
  --mc-home-map-marker-core: var(--mc-color-panel);
  --mc-home-map-marker-shadow: color-mix(in srgb, var(--mc-color-ink) 24%, transparent);
  --mc-home-map-current-halo-size: 15px;
  --mc-home-map-current-ring-size: 8px;
  --mc-home-map-current-core-size: 3px;
  --mc-home-map-current-halo: color-mix(in srgb, var(--mc-color-panel) 72%, transparent);
  --mc-home-map-current-ring: var(--mc-nav-icon-explore);
  --mc-home-map-current-core: var(--mc-color-panel);
  --mc-home-destination-chip-height: 38px;
  --mc-home-destination-chip-radius: 999px;
  --mc-home-prompt-min-height: 54px;
  --mc-home-prompt-radius: 16px;
  --mc-home-prompt-icon-size: 34px;
  --mc-home-summary-row-gap: 10px;
  --mc-home-summary-action-height: 42px;
  --mc-home-summary-label-size: var(--mc-meta-size);
  --mc-home-summary-label-weight: var(--mc-meta-weight);
  --mc-home-summary-value-size: var(--mc-card-title-size);
  --mc-home-summary-value-weight: var(--mc-card-title-weight);
  --mc-home-summary-copy-size: var(--mc-body-small-size);
  --mc-home-summary-copy-weight: var(--mc-body-weight);
  --mc-home-summary-line-height: var(--mc-leading-snug);
  --mc-home-planner-label-size: var(--mc-meta-size);
  --mc-home-planner-value-size: var(--mc-field-value-size);
  --mc-home-weather-label-size: var(--mc-meta-size);
  --mc-home-weather-value-size: var(--mc-button-size);
  --mc-home-weather-copy-size: var(--mc-meta-size);
  --mc-home-destination-popup-title-size: var(--mc-page-title-size);
  --mc-home-destination-popup-meta-size: var(--mc-body-small-size);
  --mc-home-destination-popup-action-size: var(--mc-button-size);
  --mc-home-mobile-summary-padding: 12px;
  --mc-home-mobile-summary-gap: 10px;
  --mc-home-mobile-summary-row-gap: 8px;
  --mc-home-mobile-summary-icon-size: var(--mc-public-nav-desktop-icon-size);
  --mc-home-mobile-summary-icon-offset: 2px;
  --mc-home-mobile-sheet-body-padding: 12px;
  --mc-home-control-disabled-opacity: 0.56;
  --mc-home-mobile-map-region-min-height: 210px;
  --mc-home-mobile-sheet-collapsed-height: 68px;
  --mc-home-mobile-sheet-nav-gap: 10px;
  --mc-home-mobile-sheet-max-height: 56dvh;
  --mc-home-mobile-sheet-expanded-reserve: 56dvh;
  --mc-home-mobile-sheet-header-height: 58px;
  --mc-home-mobile-sheet-radius: 24px;
  --mc-home-mobile-sheet-inset: 8px;
  --mc-home-mobile-sheet-handle-width: 48px;
  --mc-home-mobile-sheet-handle-height: 5px;
  --mc-home-mobile-sheet-z-index: 70;
  --mc-public-mobile-bottom-nav-z-index: 90;
  --mc-home-mobile-sheet-bottom-offset: calc(var(--mc-public-mobile-bottom-nav-height) + max(var(--mc-public-mobile-bottom-nav-edge), env(safe-area-inset-bottom, 0px)) + var(--mc-home-mobile-sheet-nav-gap));
  --mc-home-mobile-sheet-surface: color-mix(in srgb, var(--mc-color-panel) 97%, transparent);
  --mc-home-mobile-sheet-handle: color-mix(in srgb, var(--mc-color-muted) 58%, var(--mc-color-line));
  --mc-home-mobile-sheet-shadow: 0 -16px 40px color-mix(in srgb, var(--mc-color-ink) 18%, transparent);
  --mc-home-mobile-sheet-focus-outline: 2px solid var(--mc-color-accent-strong);
  --mc-home-mobile-sheet-focus-outline-offset: 2px;
}

/* V1.92t9v2e2 — Operator-approved UAT SVG geometry scale tokens. */
:root {
  --mc-home-uat-peninsula-label-size: 5.5px;
  --mc-home-uat-borneo-label-size: 10px;
  --mc-home-uat-peninsula-label-halo-width: 1.15px;
  --mc-home-uat-borneo-label-halo-width: 2px;
}

/* V1.92t9v3a — Home cached destination asset synchronization tokens. */
:root {
  --mc-home-destination-assets-gap: 12px;
  --mc-home-destination-assets-padding: 14px;
  --mc-home-destination-assets-radius: 22px;
  --mc-home-destination-assets-head-gap: 8px;
  --mc-home-destination-asset-group-gap: 10px;
  --mc-home-destination-asset-group-padding: 10px;
  --mc-home-destination-asset-group-radius: 18px;
  --mc-home-destination-asset-rail-gap: 10px;
  --mc-home-destination-asset-card-width: min(280px, 72vw);
  --mc-home-destination-asset-card-radius: 16px;
  --mc-home-destination-asset-card-padding: 10px;
  --mc-home-destination-asset-card-gap: 8px;
  --mc-home-destination-asset-image-ratio: 16 / 9;
  --mc-home-destination-asset-image-radius: 12px;
  --mc-home-destination-asset-summary-lines: 3;
  --mc-home-destination-asset-action-height: 38px;
  --mc-home-destination-asset-status-padding: 10px;
  --mc-home-destination-asset-status-radius: 14px;
  --mc-home-destination-asset-panel-surface: color-mix(in srgb, var(--mc-color-panel) 92%, var(--mc-color-accent-soft));
  --mc-home-destination-asset-group-surface: var(--mc-color-panel);
  --mc-home-destination-asset-status-surface: color-mix(in srgb, var(--mc-color-accent-soft) 46%, var(--mc-color-panel));
  --mc-home-destination-asset-mobile-card-width: min(78vw, 250px);
  --mc-home-destination-asset-mobile-edge: 2px;
}

/* V1.92t9v3b — On-demand detailed map explorer tokens. */
:root {
  --mc-map-explorer-gap: 12px;
  --mc-map-explorer-padding: 14px;
  --mc-map-explorer-radius: 22px;
  --mc-map-explorer-head-gap: 10px;
  --mc-map-explorer-control-gap: 8px;
  --mc-map-explorer-layout-gap: 12px;
  --mc-map-explorer-canvas-height: clamp(320px, 54vh, 560px);
  --mc-map-explorer-canvas-mobile-height: 48dvh;
  --mc-map-explorer-list-width: minmax(240px, 320px);
  --mc-map-explorer-list-gap: 8px;
  --mc-map-explorer-list-max-height: var(--mc-map-explorer-canvas-height);
  --mc-map-explorer-item-padding: 10px;
  --mc-map-explorer-item-radius: 16px;
  --mc-map-explorer-action-height: 38px;
  --mc-map-explorer-layer-radius: 999px;
  --mc-map-explorer-layer-padding: 8px 10px;
  --mc-map-explorer-surface: color-mix(in srgb, var(--mc-color-panel) 94%, var(--mc-color-accent-soft));
  --mc-map-explorer-canvas-surface: color-mix(in srgb, var(--mc-color-line) 34%, var(--mc-color-panel));
  --mc-map-explorer-item-active-surface: color-mix(in srgb, var(--mc-color-accent-soft) 66%, var(--mc-color-panel));
}
