@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:400;font-display:swap;src:url("/vi/discovery/fonts/cje-r10/BeVietnamPro-400.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:500;font-display:swap;src:url("/vi/discovery/fonts/cje-r10/BeVietnamPro-500.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:600;font-display:swap;src:url("/vi/discovery/fonts/cje-r10/BeVietnamPro-600.ttf") format("truetype")}
@font-face{font-family:"Be Vietnam Pro";font-style:normal;font-weight:700;font-display:swap;src:url("/vi/discovery/fonts/cje-r10/BeVietnamPro-700.ttf") format("truetype")}
/* CJE 0.4.0-g3a-r5. Generated by build_tokens.py. Edit JSON sources. */
:root, [data-theme="light"] {
  color-scheme: light;
  --cje-color-accent: var(--cje-primitive-color-accent);
  --cje-color-action-primary: var(--cje-primitive-color-forest);
  --cje-color-action-primary-hover: var(--cje-primitive-color-forest-hover);
  --cje-color-border: var(--cje-primitive-color-line);
  --cje-color-border-strong: var(--cje-primitive-color-line-strong);
  --cje-color-canvas: var(--cje-primitive-color-cloud);
  --cje-color-danger: var(--cje-primitive-color-danger);
  --cje-color-danger-bg: var(--cje-primitive-color-danger-soft);
  --cje-color-focus: var(--cje-primitive-color-accent);
  --cje-color-inverse: var(--cje-primitive-color-forest);
  --cje-color-on-accent: var(--cje-primitive-color-white);
  --cje-color-on-action: var(--cje-primitive-color-white);
  --cje-color-on-inverse: var(--cje-primitive-color-white);
  --cje-color-overlay: var(--cje-primitive-color-overlay);
  --cje-color-shadow: var(--cje-primitive-color-shadow);
  --cje-color-success: var(--cje-primitive-color-success);
  --cje-color-success-bg: var(--cje-primitive-color-success-soft);
  --cje-color-surface: var(--cje-primitive-color-paper);
  --cje-color-surface-subtle: var(--cje-primitive-color-forest-soft);
  --cje-color-text-primary: var(--cje-primitive-color-ink);
  --cje-color-text-secondary: var(--cje-primitive-color-muted);
  --cje-component-admin-rail-collapsed-width: 72px;
  --cje-component-admin-rail-expanded-width: 224px;
  --cje-component-button-background: var(--cje-color-action-primary);
  --cje-component-button-foreground: var(--cje-color-on-action);
  --cje-component-button-height: var(--cje-size-target);
  --cje-component-button-padding-inline: var(--cje-space-s4);
  --cje-component-button-radius: var(--cje-radius-control);
  --cje-component-card-background: var(--cje-color-surface);
  --cje-component-card-border: var(--cje-color-border);
  --cje-component-card-gap: var(--cje-space-s3);
  --cje-component-card-padding: var(--cje-space-s4);
  --cje-component-card-radius: var(--cje-radius-card);
  --cje-component-field-background: var(--cje-color-surface);
  --cje-component-field-border: var(--cje-color-border-strong);
  --cje-component-field-height: var(--cje-size-target);
  --cje-component-field-radius: var(--cje-radius-control);
  --cje-component-header-icon-size: var(--cje-size-target);
  --cje-component-magic-banner-background: var(--cje-primitive-color-forest);
  --cje-component-magic-banner-display-size: 100px;
  --cje-component-magic-banner-foreground: var(--cje-primitive-color-white);
  --cje-component-magic-banner-min-height: 400px;
  --cje-component-magic-banner-title-size: 52px;
  --cje-component-map-divider-width: 24px;
  --cje-component-map-on-selected: var(--cje-color-on-action);
  --cje-component-map-panel-width: var(--cje-layout-map-panel);
  --cje-component-map-selected: var(--cje-color-action-primary);
  --cje-component-search-max-width: 640px;
  --cje-component-weather-backdrop: var(--cje-color-overlay);
  --cje-component-weather-foreground: var(--cje-primitive-color-white);
  --cje-component-weather-text-shadow: var(--cje-primitive-color-overlay);
  --cje-font-line-height: 1.6;
  --cje-font-story: "Lora", "Georgia", serif;
  --cje-font-ui: "Be Vietnam Pro", "Arial", sans-serif;
  --cje-font-weight-medium: 600;
  --cje-font-weight-regular: 400;
  --cje-font-weight-strong: 700;
  --cje-layout-admin-panel: 240px;
  --cje-layout-content-max: 1200px;
  --cje-layout-document-max: 720px;
  --cje-layout-gutter: 24px;
  --cje-layout-gutter-compact: 16px;
  --cje-layout-map-panel: 360px;
  --cje-motion-easing: cubic-bezier(0.2, 0, 0, 1);
  --cje-motion-enter: 240ms;
  --cje-motion-quick: 120ms;
  --cje-motion-standard: 180ms;
  --cje-primitive-color-accent: #b65d30;
  --cje-primitive-color-cloud: #f5f2e9;
  --cje-primitive-color-danger: #8b2424;
  --cje-primitive-color-danger-soft: #fbedea;
  --cje-primitive-color-forest: #19392c;
  --cje-primitive-color-forest-hover: #102a20;
  --cje-primitive-color-forest-soft: #e8eee8;
  --cje-primitive-color-ink: #252a27;
  --cje-primitive-color-line: #d4dcd2;
  --cje-primitive-color-line-strong: #65786b;
  --cje-primitive-color-muted: #59655c;
  --cje-primitive-color-night: #13231b;
  --cje-primitive-color-night-accent: #e9b467;
  --cje-primitive-color-night-action: #b0d3bb;
  --cje-primitive-color-night-action-hover: #cee7d3;
  --cje-primitive-color-night-danger: #ffbcb5;
  --cje-primitive-color-night-danger-soft: #482822;
  --cje-primitive-color-night-ink: #eff4ed;
  --cje-primitive-color-night-line: #435d4b;
  --cje-primitive-color-night-line-strong: #8da594;
  --cje-primitive-color-night-muted: #bac6be;
  --cje-primitive-color-night-subtle: #263d31;
  --cje-primitive-color-night-success: #a7d7b5;
  --cje-primitive-color-night-success-soft: #243e2e;
  --cje-primitive-color-night-surface: #1d3027;
  --cje-primitive-color-overlay: rgb(25 57 44 / 0.76);
  --cje-primitive-color-paper: #fcfbf7;
  --cje-primitive-color-shadow: rgb(25 57 44 / 0.12);
  --cje-primitive-color-success: #245e41;
  --cje-primitive-color-success-soft: #e8f3ea;
  --cje-primitive-color-white: #ffffff;
  --cje-radius-card: 18px;
  --cje-radius-control: 10px;
  --cje-radius-pill: 999px;
  --cje-size-body: 1rem;
  --cje-size-heading: 1.75rem;
  --cje-size-icon: 22px;
  --cje-size-label: 0.875rem;
  --cje-size-supporting: 0.75rem;
  --cje-size-target: 44px;
  --cje-space-s1: 4px;
  --cje-space-s10: 40px;
  --cje-space-s12: 48px;
  --cje-space-s16: 64px;
  --cje-space-s2: 8px;
  --cje-space-s3: 12px;
  --cje-space-s4: 16px;
  --cje-space-s5: 20px;
  --cje-space-s6: 24px;
  --cje-space-s8: 32px;
  --cje-type-card: 17px;
  --cje-type-section: 24px;
  --cje-type-title: 32px;
}
[data-theme="dark"] {
  color-scheme: dark;
  --cje-color-accent: var(--cje-primitive-color-night-accent);
  --cje-color-action-primary: var(--cje-primitive-color-night-action);
  --cje-color-action-primary-hover: var(--cje-primitive-color-night-action-hover);
  --cje-color-border: var(--cje-primitive-color-night-line);
  --cje-color-border-strong: var(--cje-primitive-color-night-line-strong);
  --cje-color-canvas: var(--cje-primitive-color-night);
  --cje-color-danger: var(--cje-primitive-color-night-danger);
  --cje-color-danger-bg: var(--cje-primitive-color-night-danger-soft);
  --cje-color-focus: var(--cje-primitive-color-night-accent);
  --cje-color-inverse: var(--cje-primitive-color-forest);
  --cje-color-on-accent: var(--cje-primitive-color-night);
  --cje-color-on-action: var(--cje-primitive-color-night);
  --cje-color-on-inverse: var(--cje-primitive-color-white);
  --cje-color-overlay: var(--cje-primitive-color-overlay);
  --cje-color-shadow: var(--cje-primitive-color-shadow);
  --cje-color-success: var(--cje-primitive-color-night-success);
  --cje-color-success-bg: var(--cje-primitive-color-night-success-soft);
  --cje-color-surface: var(--cje-primitive-color-night-surface);
  --cje-color-surface-subtle: var(--cje-primitive-color-night-subtle);
  --cje-color-text-primary: var(--cje-primitive-color-night-ink);
  --cje-color-text-secondary: var(--cje-primitive-color-night-muted);
  --cje-component-admin-rail-collapsed-width: 72px;
  --cje-component-admin-rail-expanded-width: 224px;
  --cje-component-button-background: var(--cje-color-action-primary);
  --cje-component-button-foreground: var(--cje-color-on-action);
  --cje-component-button-height: var(--cje-size-target);
  --cje-component-button-padding-inline: var(--cje-space-s4);
  --cje-component-button-radius: var(--cje-radius-control);
  --cje-component-card-background: var(--cje-color-surface);
  --cje-component-card-border: var(--cje-color-border);
  --cje-component-card-gap: var(--cje-space-s3);
  --cje-component-card-padding: var(--cje-space-s4);
  --cje-component-card-radius: var(--cje-radius-card);
  --cje-component-field-background: var(--cje-color-surface);
  --cje-component-field-border: var(--cje-color-border-strong);
  --cje-component-field-height: var(--cje-size-target);
  --cje-component-field-radius: var(--cje-radius-control);
  --cje-component-header-icon-size: var(--cje-size-target);
  --cje-component-magic-banner-background: var(--cje-primitive-color-forest);
  --cje-component-magic-banner-display-size: 100px;
  --cje-component-magic-banner-foreground: var(--cje-primitive-color-white);
  --cje-component-magic-banner-min-height: 400px;
  --cje-component-magic-banner-title-size: 52px;
  --cje-component-map-divider-width: 24px;
  --cje-component-map-on-selected: var(--cje-color-on-action);
  --cje-component-map-panel-width: var(--cje-layout-map-panel);
  --cje-component-map-selected: var(--cje-color-action-primary);
  --cje-component-search-max-width: 640px;
  --cje-component-weather-backdrop: var(--cje-color-overlay);
  --cje-component-weather-foreground: var(--cje-primitive-color-white);
  --cje-component-weather-text-shadow: var(--cje-primitive-color-overlay);
  --cje-font-line-height: 1.6;
  --cje-font-story: "Lora", "Georgia", serif;
  --cje-font-ui: "Be Vietnam Pro", "Arial", sans-serif;
  --cje-font-weight-medium: 600;
  --cje-font-weight-regular: 400;
  --cje-font-weight-strong: 700;
  --cje-layout-admin-panel: 240px;
  --cje-layout-content-max: 1200px;
  --cje-layout-document-max: 720px;
  --cje-layout-gutter: 24px;
  --cje-layout-gutter-compact: 16px;
  --cje-layout-map-panel: 360px;
  --cje-motion-easing: cubic-bezier(0.2, 0, 0, 1);
  --cje-motion-enter: 240ms;
  --cje-motion-quick: 120ms;
  --cje-motion-standard: 180ms;
  --cje-primitive-color-accent: #b65d30;
  --cje-primitive-color-cloud: #f5f2e9;
  --cje-primitive-color-danger: #8b2424;
  --cje-primitive-color-danger-soft: #fbedea;
  --cje-primitive-color-forest: #19392c;
  --cje-primitive-color-forest-hover: #102a20;
  --cje-primitive-color-forest-soft: #e8eee8;
  --cje-primitive-color-ink: #252a27;
  --cje-primitive-color-line: #d4dcd2;
  --cje-primitive-color-line-strong: #65786b;
  --cje-primitive-color-muted: #59655c;
  --cje-primitive-color-night: #13231b;
  --cje-primitive-color-night-accent: #e9b467;
  --cje-primitive-color-night-action: #b0d3bb;
  --cje-primitive-color-night-action-hover: #cee7d3;
  --cje-primitive-color-night-danger: #ffbcb5;
  --cje-primitive-color-night-danger-soft: #482822;
  --cje-primitive-color-night-ink: #eff4ed;
  --cje-primitive-color-night-line: #435d4b;
  --cje-primitive-color-night-line-strong: #8da594;
  --cje-primitive-color-night-muted: #bac6be;
  --cje-primitive-color-night-subtle: #263d31;
  --cje-primitive-color-night-success: #a7d7b5;
  --cje-primitive-color-night-success-soft: #243e2e;
  --cje-primitive-color-night-surface: #1d3027;
  --cje-primitive-color-overlay: rgb(25 57 44 / 0.76);
  --cje-primitive-color-paper: #fcfbf7;
  --cje-primitive-color-shadow: rgb(25 57 44 / 0.12);
  --cje-primitive-color-success: #245e41;
  --cje-primitive-color-success-soft: #e8f3ea;
  --cje-primitive-color-white: #ffffff;
  --cje-radius-card: 18px;
  --cje-radius-control: 10px;
  --cje-radius-pill: 999px;
  --cje-size-body: 1rem;
  --cje-size-heading: 1.75rem;
  --cje-size-icon: 22px;
  --cje-size-label: 0.875rem;
  --cje-size-supporting: 0.75rem;
  --cje-size-target: 44px;
  --cje-space-s1: 4px;
  --cje-space-s10: 40px;
  --cje-space-s12: 48px;
  --cje-space-s16: 64px;
  --cje-space-s2: 8px;
  --cje-space-s3: 12px;
  --cje-space-s4: 16px;
  --cje-space-s5: 20px;
  --cje-space-s6: 24px;
  --cje-space-s8: 32px;
  --cje-type-card: 17px;
  --cje-type-section: 24px;
  --cje-type-title: 32px;
}
@media (prefers-reduced-motion: reduce) {
  :root, [data-theme] {
    --cje-motion-quick: 0ms;
    --cje-motion-standard: 0ms;
    --cje-motion-enter: 0ms;
  }
}
/* Category semantics extension 0.8.0-g3b-r4. */
:root {
  --cje-kind-places-accent: #2F6955;
  --cje-kind-places-surface: #D8F1E3;
  --cje-kind-stays-accent: #A04C30;
  --cje-kind-stays-surface: #FFE3D5;
  --cje-kind-journeys-accent: #55579B;
  --cje-kind-journeys-surface: #E7E5FC;
  --cje-kind-vehicles-accent: #806016;
  --cje-kind-vehicles-surface: #F8EBC7;
  --cje-kind-human-actors-accent: #94506A;
  --cje-kind-human-actors-surface: #F9E0EB;
}
:root[data-theme="dark"] {
  --cje-kind-places-accent: #4D9A7A;
  --cje-kind-places-surface: #142C23;
  --cje-kind-stays-accent: #CC8260;
  --cje-kind-stays-surface: #352016;
  --cje-kind-journeys-accent: #8E91D1;
  --cje-kind-journeys-surface: #23233E;
  --cje-kind-vehicles-accent: #BD9D4D;
  --cje-kind-vehicles-surface: #302816;
  --cje-kind-human-actors-accent: #C77D9B;
  --cje-kind-human-actors-surface: #34212A;
}
[data-kind="places"] { --kind-accent:var(--cje-kind-places-accent); --kind-surface:var(--cje-kind-places-surface); }
[data-kind="stays"] { --kind-accent:var(--cje-kind-stays-accent); --kind-surface:var(--cje-kind-stays-surface); }
[data-kind="journeys"] { --kind-accent:var(--cje-kind-journeys-accent); --kind-surface:var(--cje-kind-journeys-surface); }
[data-kind="vehicles"] { --kind-accent:var(--cje-kind-vehicles-accent); --kind-surface:var(--cje-kind-vehicles-surface); }
[data-kind="human-actors"] { --kind-accent:var(--cje-kind-human-actors-accent); --kind-surface:var(--cje-kind-human-actors-surface); }
/* Separate component extension 0.9.0-g3b-r5 */
:root{
  --cje-component-planner-sidebar-max:390px;
  --cje-component-planner-sidebar-min:330px;
  --cje-component-planner-workspace-gap:28px;
  --cje-component-planner-panel-radius:20px;
  --cje-component-planner-map-min-height:620px;
  --cje-component-video-control-size:48px;
  --cje-component-video-control-radius:50;
}
/* Separate R6 utility layer extension */
:root{--cje-component-r6-header-layer:50;}
/* Separate R7 selection and control extension; core tokens frozen. */
:root{--cje-r7-stay-active-accent:#C44723;--cje-r7-stay-active-surface:#FFF1E9;--cje-r7-location-notice-surface:#E9F3FF;--cje-r7-location-notice-text:#234E77;--cje-r7-location-dot:#2373CE;--cje-r7-location-dot-ring:#FFFFFF;--cje-r7-location-dot-halo:#2373CE33;}
[data-theme="dark"]{--cje-r7-stay-active-accent:#FF9166;--cje-r7-stay-active-surface:#352016;--cje-r7-location-notice-surface:#172B3E;--cje-r7-location-notice-text:#A8CFFC;--cje-r7-location-dot:#2373CE;--cje-r7-location-dot-ring:#FFFFFF;--cje-r7-location-dot-halo:#2373CE33;}
:root{--cje-r7-stay-active-border-width:2px;--cje-r7-map-round-control-size:36px;--cje-r7-location-notice-duration-ms:8000;}
/* R8 category indicator extension; palette is inherited. */
:root{--cje-r8-choice-indicator-height:3px;}
/* R9 selector and shared Home rule extension. */
:root{--cje-r9-rule-width:1px;--cje-r9-select-layer:35;}
/* R10 document ending extension; accepted tokens are unchanged. */
:root{--cje-r10-ending-gap:24px;--cje-r10-ending-top:56px;--cje-r10-ending-bottom:96px;--cje-r10-ending-radius:20px;--cje-r10-ending-padding:32px;--cje-r10-ending-title:30px;--cje-r10-ending-map-height:144px;--cje-r10-ending-top-mobile:40px;--cje-r10-ending-bottom-mobile:64px;--cje-r10-ending-padding-mobile:24px;--cje-r10-ending-title-mobile:26px;}
:root,[data-theme]{--cje-w11-forest:var(--cje-color-action-primary);--cje-w11-forest-soft:var(--cje-color-surface-subtle);--cje-w11-cloud:var(--cje-color-canvas);--cje-w11-surface:var(--cje-color-surface);--cje-w11-ink:var(--cje-color-text-primary);--cje-w11-muted:var(--cje-color-text-secondary);--cje-w11-border:var(--cje-color-border);--cje-w11-accent:var(--cje-color-accent);--cje-w11-error:var(--cje-color-danger);--cje-w11-ui-font:var(--cje-font-ui);--cje-w11-story-font:var(--cje-font-story);--cje-w11-body-size:var(--cje-size-body);--cje-w11-line-height:var(--cje-font-line-height);--cje-w11-public-width:var(--cje-layout-content-max);--cje-w11-document-width:var(--cje-layout-document-max);--cje-w11-document-toc:var(--cje-layout-admin-panel);--cje-w11-admin-sidebar:var(--cje-component-admin-rail-expanded-width);--cje-w11-map-sidebar:var(--cje-layout-map-panel);--cje-w11-gutter:var(--cje-layout-gutter);--cje-w11-space-1:var(--cje-space-s1);--cje-w11-space-2:var(--cje-space-s2);--cje-w11-space-3:var(--cje-space-s3);--cje-w11-space-4:var(--cje-space-s4);--cje-w11-space-6:var(--cje-space-s6);--cje-w11-space-8:var(--cje-space-s8);--cje-w11-space-12:var(--cje-space-s12);--cje-w11-target:var(--cje-size-target);--cje-w11-radius:var(--cje-radius-card);--cje-w11-radius-small:var(--cje-radius-control);--cje-w11-shadow:0 12px 32px rgb(25 57 44 / 8%);}
@media(max-width:767px){:root,[data-theme]{--cje-w11-gutter:var(--cje-layout-gutter-compact)}}
