/* Shared black + electric-blue identity. Loaded after page styles so both
   editions use the same palette without changing their layout or typefaces. */
@media screen and (forced-colors: none) {
  body:is(.brand-korea,.brand-korean,.portal), body.landing.learning-home {
    --brand-bg:#080808; --brand-surface:#0d0d0d; --brand-raised:#151515;
    --brand-text:#f5f7fa; --brand-muted:#b4bac4; --brand-line:#ffffff24;
    --brand-blue:#3385ff; --brand-action:#2167e8; --brand-highlight:#69afff;
    --paper:var(--brand-bg); --white:var(--brand-surface); --ink:var(--brand-text);
    --muted:var(--brand-muted); --line:var(--brand-line);
    --accent:var(--brand-blue); --accent-dark:var(--brand-highlight);
    --coral:var(--brand-surface); --tangerine:var(--brand-raised); --saffron:var(--brand-surface);
    --rose:var(--brand-blue); --teal:var(--brand-blue);
    --action-bg:var(--brand-action); --action-hover:#246ce8; --on-action:#fff;
    --a-midnight:var(--brand-bg); --a-deep:var(--brand-bg); --a-surface:var(--brand-surface);
    --a-raised:var(--brand-raised); --a-text:var(--brand-text); --a-muted:var(--brand-muted);
    --a-cyan:var(--brand-blue); --a-blue:var(--brand-blue); --a-lilac:var(--brand-blue);
    --a-line:var(--brand-line); --a-glass:var(--brand-surface);
    --glass-base:var(--brand-bg); --glass-deep:var(--brand-bg);
    --glass-text:var(--brand-text); --glass-muted:var(--brand-muted);
    --glass-edge:var(--brand-line); --glass-edge-top:var(--brand-line);
    --glass-header:#080808f5; --glass-surface:var(--brand-surface);
    --glass-hero:var(--brand-surface); --glass-filter:none;
    --glass-shadow:0 12px 36px #0004;
    --glass-action:var(--brand-action); --glass-action-hover:var(--action-hover);
    --landing-bg:var(--brand-bg); --landing-text:var(--brand-text);
    --landing-muted:var(--brand-muted); --landing-line:var(--brand-line); --landing-blue:var(--brand-blue);
    --learn-light:var(--brand-text); --learn-muted:var(--brand-muted);
    --learn-lilac:var(--brand-blue); --learn-line:var(--brand-line);
    --midnight:var(--brand-bg); --navy:var(--brand-surface); --cyan:var(--brand-blue); --lilac:var(--brand-blue);
    color:var(--brand-text); background:var(--brand-bg); color-scheme:dark;
  }
  body:is(.brand-korea,.brand-korean,.portal) ::selection { background:var(--brand-action); color:#fff; }
  body:is(.brand-korea,.brand-korean,.portal) :is(a,button,summary,input):focus-visible { outline-color:var(--brand-blue); }
  body:is(.brand-korea,.brand-korean,.portal) .skip-link { background:var(--brand-action); color:#fff; }
  body.portal .skip { background:var(--brand-action); color:#fff; }

  /* Neutral reading surfaces; blue marks actions and the active selection. */
  body:is(.brand-korea,.brand-korean,.portal) :is(.site-header,.site-footer,.chapter-navigation) { background:var(--brand-bg); border-color:var(--brand-line); box-shadow:none; }
  body:is(.brand-korea,.brand-korean,.portal) .site-header::before { background:none; }
  body:is(.brand-korea,.brand-korean,.portal) .site-header nav.is-open { background:var(--brand-bg); border-color:var(--brand-line); }
  body:is(.brand-korea,.brand-korean,.portal) :is(.site-header nav a,.language,.footer-links a,.footer-bottom,.footer-top p) { color:var(--brand-muted); }
  body:is(.brand-korea,.brand-korean,.portal) .site-header nav a:is(:hover,[aria-current]),
  body:is(.brand-korea,.brand-korean,.portal) .footer-links a:hover { color:var(--brand-blue); border-color:var(--brand-blue); }
  body:is(.brand-korea,.brand-korean) :is(.eyebrow,.scene-format,.landing-kicker,.cinema-kicker,.text-link) { color:var(--brand-blue); }
  body:is(.brand-korea,.brand-korean) :is(.tiny-rule,.landing-signal) { background:var(--brand-blue); }
  body:is(.brand-korea,.brand-korean) :is(.text-link,.landing-text-link):hover { color:var(--brand-highlight); }
  body:is(.brand-korea,.brand-korean) :is(.side-phrase,.stage-phrase,.visit-card,.coastal-card,.hello-card,.lesson-peek,.coast-film,.video-frame,.hello-caption,.journey-card,.letter-card,.scene-badge,.scene-switcher a,.conversation,.hangul-example,.hangul-tiles),
  body.portal :is(.glass,.reader-tools,.vocabulary,.edition-switch) {
    background:var(--brand-surface); color:var(--brand-text); border-color:var(--brand-line); box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none;
  }
  body:is(.brand-korea,.brand-korean) :is(.journey-card,.letter-card,.scene-switcher a):hover { background:var(--brand-raised); border-color:var(--brand-blue); }
  body:is(.brand-korea,.brand-korean) :is(.motion-toggle,.copy-phrase,.translation-toggle),body.portal .motion-button {
    background:var(--brand-surface); color:var(--brand-text); border-color:var(--brand-line); box-shadow:none;
  }
  body:is(.brand-korea,.brand-korean) :is(.motion-toggle,.copy-phrase,.translation-toggle):hover { background:var(--brand-raised); border-color:var(--brand-blue); }
  body:is(.brand-korea,.brand-korean) :is(.button,.visit-card .button,.landing-button,.cinema-button-light,.cinema-button-dark),
  body.portal :is(.button:not(.secondary),.edition-switch a[aria-current=page],.scene-tab[aria-selected=true]),
  body.learning-glass .scene-switcher a[aria-current],body.landing .experience-tab[aria-selected=true] {
    background:var(--brand-action); color:#fff; border-color:var(--brand-action); box-shadow:none;
  }
  body:is(.brand-korea,.brand-korean) :is(.button,.visit-card .button,.landing-button,.cinema-button-light,.cinema-button-dark):hover,
  body.portal .button:not(.secondary):hover { background:var(--action-hover); color:#fff; border-color:var(--action-hover); box-shadow:0 4px 24px #3385ff26; }
  body:is(.brand-korea,.brand-korean) :is(.button-secondary,.landing-button.is-secondary,.cinema-button-glass),body.portal .button.secondary,
  body.landing .arrival-copy .landing-button.is-secondary {
    background:var(--brand-surface); color:var(--brand-text); border-color:var(--brand-line); box-shadow:none;
  }
  body:is(.brand-korea,.brand-korean) :is(.button-secondary,.landing-button.is-secondary,.cinema-button-glass):hover,body.portal .button.secondary:hover,
  body.landing .arrival-copy .landing-button.is-secondary:hover {
    background:var(--brand-raised); color:var(--brand-text); border-color:var(--brand-blue); box-shadow:none;
  }
  body.learning-glass .scene-switcher a[aria-current] :is(.scene-switcher-number,.icon),
  body.portal .scene-tab[aria-selected=true] :is(.tab-meta,.tab-korean) { color:#fff; }
  body.portal .site-header nav.edition-switch a[aria-current=page] { color:#fff; }
  body.learning-glass .translation-toggle[aria-pressed=false] { background:var(--brand-action); color:#fff; border-color:var(--brand-action); }
  body:is(.brand-korea,.brand-korean) :is(.toast,.video-play .play-disc) { background:var(--brand-action); color:#fff; }
  body:is(.brand-korea,.brand-korean) :is(.hero-description,.hero-footnote,.section-heading>p,.breadcrumb,.photo-credit,.film-copy>p:not(.eyebrow),.film-title span,.film-note,.film-note .photo-credit,.journey-card>p:not(.eyebrow),.hangul-feature p:not(.eyebrow),.lesson-context figcaption,.lesson-notes>p,.lesson-words div span:last-child,.scene-guide p,.speaker,.dialogue-text .translation,.lesson-note) { color:var(--brand-muted); }
  body.learning-glass em,body:is(.brand-korea,.brand-korean) :is(.film-copy h2 em,.hangul-example .syllable,.speaker>span,.scene-switcher-number,.letter-card .letter) { color:var(--brand-blue); }
  body.learning-glass :is(.journey-card h3,.lesson-notes h2,.dialogue-text p[lang=ko]) { color:var(--brand-text); }
  body.learning-glass .dialogue-line { background:var(--brand-surface); border-color:var(--brand-line); }
  body.learning-glass .dialogue-line:focus-within { background:var(--brand-raised); border-color:var(--brand-blue); box-shadow:inset 3px 0 0 var(--brand-blue); }
  body.learning-glass .hangul-tiles span:nth-child(n) { background:var(--brand-raised); color:var(--brand-blue); border-color:var(--brand-line); box-shadow:none; }
  body.learning-glass .hello-glass { background:var(--brand-surface); border-color:var(--brand-blue); }

  /* Homepage conversation cards use the same black as the alphabet workshop. */
  body.landing .experience { background:var(--brand-surface); border-color:var(--brand-line); box-shadow:none; }
  body.landing .experience-panel.conversation { background:transparent; border:0; }
  body.landing :is(.experience-topbar,.experience-lines,.experience .dialogue-line,.experience-foot) { border-color:var(--brand-line); }
  body.landing :is(.experience-topbar,.experience-situation,.experience .speaker,.experience .dialogue-text .translation,.experience-foot,.experience-topbar span) { color:var(--brand-muted); }
  body.landing .experience-tab { color:var(--brand-muted); }
  body.landing .experience-tab:hover { background:var(--brand-raised); color:var(--brand-text); }
  body.landing .experience-tab[aria-selected=true] { color:#fff; }
  body.landing .experience-tab[aria-selected=true]:hover { background:var(--action-hover); color:#fff; }
  body.landing .experience .dialogue-text p[lang=ko] { color:var(--brand-text); }
  body.landing .experience-context .translation-toggle { background:var(--brand-surface); color:var(--brand-muted); border-color:var(--brand-line); }
  body.landing .experience-context .translation-toggle:hover { background:var(--brand-raised); border-color:var(--brand-blue); }
  body.landing :is(.experience-topbar p,.experience-foot a,.experience-line-number) { color:var(--brand-blue); }

  /* Travel imagery keeps its natural colours; its frames and copy share blue. */
  body.landing :is(.arrival-hero,.arrival-stages,.arrival-closing,.arrival-coast) { background:var(--brand-bg); }
  body.landing .arrival-stage-image { background:var(--brand-surface); }
  body.landing .arrival-film .coast-film { background:var(--brand-surface); }
  body.landing :is(.arrival-copy h1 em,.landing-section-head h2 em,.arrival-language-copy h2 em,.arrival-closing h2 em,.arrival-language-mark>span:first-child) { color:var(--brand-blue); }
  body.landing :is(.arrival-description,.arrival-proof,.arrival-world-label,.arrival-stage-content>p:last-child,.arrival-section-foot,.arrival-language-copy>p:not(.landing-kicker),.arrival-language-mark>span:last-child,.arrival-story>p,.arrival-closing p:not(.landing-kicker),.landing-text-link) { color:var(--brand-muted); }
  body.landing :is(.arrival-stage-content .landing-kicker,.arrival-story .landing-kicker,.arrival-story>.landing-arrow) { color:var(--brand-blue); }
  body.landing .arrival-world::before { background:radial-gradient(ellipse,#3385ff26,transparent 68%); }

  /* Korean editorial accents: one blue, bright type and neutral secondary copy. */
  body.landing.learning-home { background:var(--brand-bg); }
  body.landing.learning-home :is(.learn-hero-copy>.landing-kicker,.learn-section-head .landing-kicker,.learn-scene-copy>.landing-kicker,.learn-hangul-copy>.landing-kicker,.learn-closing .landing-kicker,.learn-method-index,.learn-scene-link,.learn-hero h1 em,.learn-section-head h2 em,.learn-hangul-copy h2 em,.learn-closing h2 em) { color:var(--brand-blue); }
  body.landing.learning-home :is(.learn-intro,.learn-hero-note,.learn-hero-bottom,.learn-scene-copy>p:not(.landing-kicker),.learn-catalog-foot,.learn-catalog-foot a,.learn-method-steps p,.learn-hangul-small,.learn-hangul-equation,.learn-closing p:not(.landing-kicker),.learn-closing-ko) { color:var(--brand-muted); }
  body.landing.learning-home :is(.learn-quiet-link,.learn-hero-bottom>a,.learn-scene-copy h3,.learn-method-steps h3,.learn-hangul-equation [lang=ko]) { color:var(--brand-text); }
  body.landing.learning-home .learn-quiet-link { text-decoration-color:var(--brand-line); }
  body.landing.learning-home :is(.learn-quiet-link,.learn-catalog-foot a,.learn-scene-link):hover { color:var(--brand-highlight); }
  body.landing.learning-home .learn-status-dot { background:var(--brand-blue); box-shadow:0 0 15px #3385ff6b; }
  body.landing.learning-home :is(.learn-method,.learn-scene-image) { background:var(--brand-surface); border-color:var(--brand-line); }
  body.landing.learning-home .learn-method-steps li { border-color:var(--brand-line); }
  body.landing.learning-home .learn-scene-open { background:#08080866; }
  body.landing.learning-home .learn-scene:hover .learn-scene-open { background:var(--brand-action); }
  body.landing.learning-home .learn-scene:hover .learn-scene-link { color:var(--brand-blue); border-color:var(--brand-blue); }
  body.landing.learning-home .learn-closing-glow { background:radial-gradient(ellipse at 50% 108%,#3385ff26,transparent 69%); }
  body.landing.learning-home .learn-hangul-grid { background-image:linear-gradient(#ffffff14 1px,transparent 1px),linear-gradient(90deg,#ffffff14 1px,transparent 1px); }
  body.landing.learning-home .learn-hangul-outline { -webkit-text-stroke-color:#3385ff40; }
  body.landing.learning-home .learn-hangul-letter { color:var(--brand-text); text-shadow:1px 1px 0 #fff,2px 2px 0 #69afff,3px 3px 0 #3385ff,4px 4px 0 #2167e8,5px 5px 0 #164ba8,7px 7px 0 #123675,18px 28px 32px #0009; }
}
