:root {
  --artegy-surface:#181c1d;
  --artegy-text:#f3f3eb;
  --artegy-secondary:#c2ccc4;
  --artegy-rule:#6f7873;
  --artegy-link-hover:#f6a88e;
}
[data-artegy-theme="light"] {
  color-scheme:light;
  --artegy-surface:#edf0e9;
  --artegy-text:#182024;
  --artegy-secondary:#3e4c46;
  --artegy-rule:#77837b;
  --artegy-link-hover:#923723;
}
[data-artegy-theme="dark"] { color-scheme:dark; }
html[data-artegy-theme] body .artegy-footer {
  background:var(--artegy-surface)!important;
  color:var(--artegy-text)!important;
  border-color:var(--artegy-rule);
}
html[data-artegy-theme] body .artegy-footer :is(a,button) { color:var(--artegy-text)!important; }
html[data-artegy-theme] body .artegy-footer :is(a,button):hover { color:var(--artegy-link-hover)!important; }
html[data-artegy-theme] body .artegy-footer :is(.footer-brand p,.footer-inner>nav>span,.footer-contact>span,.footer-bottom) { color:var(--artegy-secondary); }
html[data-artegy-theme] body .artegy-footer :is(.footer-bottom,.footer-legal) { border-color:var(--artegy-rule); }
[data-artegy-theme="light"] body .artegy-footer .footer-brand img { filter:brightness(0); }
html[data-artegy-theme="light"] body[data-header-update] .header {
  background:var(--artegy-surface)!important;
  color:var(--artegy-text)!important;
}
html[data-artegy-theme="light"] body .closing {
  background:var(--artegy-surface)!important;
  color:var(--artegy-text)!important;
}
html[data-artegy-theme="light"] body .closing :is(a,button,p) { color:var(--artegy-text)!important; }
[data-artegy-theme="light"] .confluence-page { background:#edf0e9; color:#182024; }
[data-artegy-theme="light"] .confluence-layout :is(.puzzle-kicker,.puzzle-lede,.puzzle-status,.puzzle-return,.puzzle-score dt) { color:#3e4c46; }
[data-artegy-theme="light"] .confluence-layout :is(.puzzle-modes,.puzzle-sizes) button { color:#3e4c46; }
[data-artegy-theme="light"] .confluence-layout :is(.puzzle-modes,.puzzle-sizes) button[aria-pressed="true"] { color:#182024; }
[data-artegy-theme="light"] .confluence-layout .puzzle-controls button { color:#182024; border-bottom-color:#76837a; }
[data-artegy-theme="light"] .confluence-layout .puzzle-controls button:disabled { opacity:.55; }
[data-artegy-theme="light"] .puzzle-surface { background:#dbe2da; }
[data-artegy-theme="light"] .puzzle-surface :is(.puzzle-board-label,.puzzle-instructions,.puzzle-node) { color:#182024; }
[data-artegy-theme="light"] .confluence-story :is(h2,p,a) { color:#182024; }
[data-artegy-theme="light"] .puzzle-daily { background:#f8f9f4; color:#182024; border-color:#a0472f; }
[data-artegy-theme="light"] .puzzle-daily :is(p,.daily-current,.puzzle-streak) { color:#3e4c46; }
[data-artegy-theme="light"] .puzzle-daily button { color:#182024; border-color:#7a877e; }
.artegy-play-mark { order:0; }
.menu-label .artegy-play-mark { order:1; }
.artegy-list article,.footer-inner>* { min-width:0; }
:lang(ru) :is(h1,h2,h3,.menu-label) { font-family:Manrope,system-ui,sans-serif; }
html:not([lang="en"]) :is(h1,h2,h3,.puzzle-daily,.legal-consent-card) { overflow-wrap:break-word; }
.artegy-header-play { max-width:170px; white-space:normal; }
.artegy-header-play span { min-width:0; }
.puzzle-guide { max-height:calc(100dvh - 24px); overflow-y:auto; }
.puzzle-guide :is(h2,p,button) { overflow-wrap:break-word; }
.puzzle-score { flex-wrap:wrap; gap:12px 22px; }
.artegy-footer .footer-inner { overflow-wrap:anywhere; }
@media(max-width:700px) {
  .artegy-header-play { max-width:125px; }
  .puzzle-controls { gap:0 16px; }
}
@media(max-width:360px) {
  .artegy-header-play { max-width:99px; }
  body[data-header-update] .header-actions { flex-shrink:1; min-width:0; }
  .artegy-header-play span { overflow-wrap:anywhere; }
}
.brief-layout > *, .role-destinations > *, .puzzle-guide > * { min-width:0; }
.brief-layout :is(h2,h3,p,li), .role-destinations :is(h2,h3,p,a) { overflow-wrap:anywhere; }
@media(max-width:700px) {
  .real-estate-page .brief-layout { grid-template-columns:minmax(0,1fr); }
  .puzzle-guide .guide-actions { flex-wrap:wrap; }
}

/* The header palette follows the selected appearance, independently of the 3D chapter. */
html[data-artegy-theme] body[data-header-update] .header {
  --header-bg:#181c1d;
  --header-ink:#f1f2eb;
  --header-divider:#3d4746;
  --header-hover:#2a3334;
  --header-play:#252d2e;
  --header-accent:#f6a38b;
  --header-primary:#edf0e9;
  --header-primary-ink:#182024;
  background:var(--header-bg)!important;
  color:var(--header-ink)!important;
  box-shadow:inset 0 -1px var(--header-divider)!important;
  gap:clamp(12px,2.2vw,30px);
}
html[data-artegy-theme="light"] body[data-header-update] .header {
  --header-bg:#edf0e9;
  --header-ink:#182024;
  --header-divider:#aeb8b0;
  --header-hover:#d9e0d8;
  --header-play:#e0e6df;
  --header-accent:#933522;
  --header-primary:#20282a;
  --header-primary-ink:#f1f2eb;
  background:var(--header-bg)!important;
  color:var(--header-ink)!important;
}
html body[data-header-update] .header .wordmark { flex:0 0 auto; }
html body[data-header-update] .header .wordmark img {
  display:block;
  width:clamp(108px,10.5vw,140px);
  height:auto;
  filter:brightness(0) invert(1);
}
html[data-artegy-theme="light"] body[data-header-update] .header .wordmark img { filter:brightness(0); }
html body[data-header-update] .header .header-note { color:var(--header-ink); }
html body[data-header-update] .header .header-actions { flex:0 1 auto; gap:6px; }
html body[data-header-update] .header :is(.artegy-header-play,.contact-button,.artegy-header-control,.menu-toggle) {
  box-sizing:border-box;
  align-items:center;
  justify-content:center;
  height:44px;
  min-height:44px;
  margin:0;
  color:var(--header-ink)!important;
  font:650 .76rem/1.15 Manrope,sans-serif;
  text-align:center;
}
html body[data-header-update] .header .artegy-header-play {
  background:var(--header-play);
  border:1px solid var(--header-divider);
  padding:0 12px;
  max-width:175px;
  gap:7px;
}
html body[data-header-update] .header .artegy-header-play .artegy-play-mark { color:var(--header-accent); }
html body[data-header-update] .header .contact-button {
  display:inline-flex;
  background:var(--header-primary)!important;
  color:var(--header-primary-ink)!important;
  border:1px solid transparent;
  padding:0 14px;
  min-width:0;
  white-space:nowrap;
}
html body[data-header-update] .header :is(.artegy-header-control,.menu-toggle) {
  width:44px;
  min-width:44px;
  flex:0 0 44px;
  border:1px solid transparent;
  border-radius:50%;
  background:transparent!important;
}
html body[data-header-update] .header .menu-toggle { border-color:var(--header-divider); }
html body[data-header-update] .header .menu-toggle i { background:var(--header-ink); }
html body[data-header-update] .header .artegy-language {
  margin-inline-start:5px;
  font-size:.71rem;
  letter-spacing:.045em;
}
html body[data-header-update] .header .artegy-theme svg { width:18px; height:18px; }
html body[data-header-update] .header :is(.artegy-header-play,.artegy-header-control,.menu-toggle):hover {
  background:var(--header-hover)!important;
}
html body[data-header-update] .header :is(a,button):focus-visible,
html body[data-header-update] .header .artegy-language:focus-within {
  outline:2px solid var(--header-accent);
  outline-offset:2px;
}
@media(max-width:820px) {
  html body[data-header-update] .header .contact-button { display:none; }
  html body[data-header-update] .artegy-menu-tools .artegy-menu-contact { display:inline-flex; }
}
@media(max-width:700px) {
  html body[data-header-update] .header { gap:5px; }
  html body[data-header-update] .header .wordmark img { width:clamp(60px,20vw,112px); }
  html body[data-header-update] .header .header-actions { gap:3px; }
  html body[data-header-update] .header .artegy-language { margin-inline-start:0; }
  html body[data-header-update] .header .artegy-header-play {
    padding-inline:7px;
    gap:4px;
    max-width:120px;
    font-size:.69rem;
  }
}
@media(max-width:360px) {
  html body[data-header-update] .header .wordmark img { width:60px; }
  html body[data-header-update] .header .artegy-header-play { max-width:96px; font-size:.64rem; }
}
html body[data-header-update] .header { transition:none!important; }
html body[data-header-update] .header .contact-button span:empty { display:none; }
@media(max-width:700px) {
  .choice-page .after-intro { grid-template-columns:minmax(0,1fr); }
  .choice-page .after-intro > * { min-width:0; }
}
