/* One neutral palette, in light and dark. Shared by the main site and journey. */
:root {
  color-scheme:light;
  --bg:#f7f7f8;--ink:#242426;--muted:#626268;--accent:var(--ink);
  --surface:#fff;--surface-soft:#f0f0f2;--surface-hover:#e8e8eb;
  --line:#dcdcdf;--line-strong:#b1b1b7;--glass:#f7f7f8f5;
  --shadow:0 8px 32px #00000006;--dialog-shadow:0 24px 100px #00000024;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
:root[data-theme="dark"] {
  color-scheme:dark;
  --bg:#202022;--ink:#ececee;--muted:#b2b2b8;
  --surface:#29292c;--surface-soft:#303034;--surface-hover:#39393e;
  --line:#424247;--line-strong:#717179;--glass:#202022f5;
  --shadow:0 8px 32px #00000010;--dialog-shadow:0 24px 100px #00000060;
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme]){
    color-scheme:dark;--bg:#202022;--ink:#ececee;--muted:#b2b2b8;
    --surface:#29292c;--surface-soft:#303034;--surface-hover:#39393e;
    --line:#424247;--line-strong:#717179;--glass:#202022f5;
    --shadow:0 8px 32px #00000010;--dialog-shadow:0 24px 100px #00000060;
  }
}
body{background:var(--bg);color:var(--ink)}
.site-actions{display:flex;align-items:center;gap:10px}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:40px;padding:8px 13px;border:1px solid var(--line);border-radius:24px;background:var(--surface);color:var(--ink);font:500 13px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.theme-toggle[hidden]{display:none}
.theme-toggle:hover{background:var(--surface-hover);border-color:var(--line-strong)}
.theme-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.theme-sun{display:none}
[data-theme="dark"] .theme-sun{display:block}
[data-theme="dark"] .theme-moon{display:none}
.site-header{border-color:var(--line)}
.site-brand{letter-spacing:-.5px}
.language{background:var(--surface);border-color:var(--line);color:var(--ink)}
.language:hover{background:var(--surface-hover);border-color:var(--line-strong)}
.project-card{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.project-card:hover{border-color:var(--line-strong)}
/* Journey panels, reading surfaces, controls and collection states. */
body[data-lang] header{background:var(--glass);border-color:var(--line)}
body[data-lang] .header-right{gap:16px}
.country{--accent:var(--ink)!important}
.departure,.country::before,.encounter-portrait{background:none}
.country-heading h2,.country-caption,.country-hook{text-shadow:none}
.country-map{filter:grayscale(1)}
.journey-bar,select{background:var(--surface);border-color:var(--line)}
.how-to,.encounter-answer,.deep-story p,[data-research-content] p,[data-research-content] li{color:var(--muted)}
.trip-size span,.country-heading .eyebrow span,.album-number,.album-name,.album-location{color:var(--muted)}
.start{background:var(--surface);border-color:var(--line-strong)}
.start:hover,.primary,.skip{background:var(--ink);color:var(--bg)}
.hero-orbit{border-color:var(--line)}
.fruit.explored .visit-mark,.passport a.collected,.story h3,#encounter-status,.encounter-stamp,.detail-place,.encounter-body h3,.show-collection,.collection-link,#collection-dialog .dialog-top,.collection-total strong,.album-check,.album-slot.lit .album-location{color:var(--ink)}
.country-count,.next-line,.passport a,.reveal,.background,.sensory-notes,.encounter-body .sources,.local-eating article+article,.fruit-grid>.fruit{border-color:var(--line)}
.passport a.collected,.story,.encounter-stamp,.show-collection,.collection-link,.surprise-button,.js .locked .hidden-clue{border-color:var(--line-strong)}
.hint-shown{background:var(--surface-soft)}
dialog,#fruit-dialog,#collection-dialog,.fruit>.fruit-info,.close,.share-input{background:var(--surface);color:var(--ink);border-color:var(--line)}
#fruit-dialog,#collection-dialog{box-shadow:var(--dialog-shadow)}
dialog::backdrop,#fruit-dialog::backdrop,#collection-dialog::backdrop{background:#00000066}
.dialog-top{background:var(--surface);border-color:var(--line)}
.encounter-body .deep-story,.research-region,.eating-guide,.local-eating{background:var(--surface-soft);border-color:var(--line)}
.connections a,.connections button{background:var(--surface-soft);border-color:var(--line);color:var(--ink)}
.connections a:hover,.connections button:hover{background:var(--surface-hover);border-color:var(--line-strong)}
.album-slot{background:var(--surface);border-color:var(--line)}
.album-slot.lit{background:var(--surface-soft);border-color:var(--line-strong)}
.album-slot:hover{border-color:var(--ink)}
.discovery-toast{background:var(--surface);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow)}
/* The original illustrations keep their dark canvas in either appearance. */
.fruit-art{mask-image:none;border-radius:24px;background:#101522}
.hero-fruit .fruit-art{border-radius:50%}
.fruit-grid>.fruit>summary>.fruit-art{background:#101522}
.album-slot:not(.lit) .fruit-art{background:transparent}
body[data-lang]>.site-footer{max-width:1120px;margin:0 auto;padding:24px 30px 36px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:14px}
body[data-lang]>.site-footer p{margin:4px 0 0;font-size:13px}
body[data-lang]>.site-footer nav{display:flex;gap:12px 20px;flex-wrap:wrap;align-content:flex-start}
@media(max-width:760px){
  body[data-lang] .header-right{gap:8px}
  .theme-toggle{width:40px;padding:8px}
  [data-theme-label]{display:none}
}
@media(max-width:600px){
  body[data-lang] header{height:106px;flex-wrap:wrap;align-content:center;gap:8px;padding:9px 18px}
  body[data-lang] .brand{width:100%;font-size:12px}
  body[data-lang] .header-right{width:100%;justify-content:space-between;gap:8px}
  body[data-lang] .home-link{font-size:13px}
  body[data-lang] .journey-bar{top:106px}
  body[data-lang] .departure{padding-top:205px;min-height:660px}
  body[data-lang] .hf-0,body[data-lang] .hf-1{top:115px}
  html:has(body[data-lang]){scroll-padding-top:164px}
  .site-actions{gap:8px}
  body[data-lang]>.site-footer{flex-direction:column}
}
