/* Shared appearance tokens: four complete palettes, each with two tonal modes. */
:root[data-palette=studio]{--ui-bg:#EFEDEA;--ui-paper:#FFFFFF;--ui-soft:#E8E5F5;--ui-ink:#171622;--ui-muted:#625F70;--ui-line:#D9D5DF;--ui-accent:#3546E8;--ui-action:#3546E8;--ui-on-action:#FFFFFF;--ui-deep:#25285C;--ui-on-deep:#FFFFFF;--ui-secondary:#CB5077;--ui-third:#AD690D;--ui-card1:#E4DEFF;--ui-card2:#FFDFCF;--ui-card3:#D3F4E4;--ui-card4:#D6EAFF;--ui-card5:#FFF0BE;--sculpture-a:#E9735B;--sculpture-b:#2C2C30;--sculpture-c:#E8DEC9;--ui-art-deep:#171A63;--ui-art-tint:#EEF1FF;--ui-art-line:#C5CBEA}
:root[data-palette=studio][data-appearance=dark]{--ui-bg:#13131C;--ui-paper:#1E1D2B;--ui-soft:#28263D;--ui-ink:#F1EEF8;--ui-muted:#BFBDD0;--ui-line:#454155;--ui-accent:#B2B8FF;--ui-action:#ADB5FF;--ui-on-action:#171A40;--ui-deep:#303157;--ui-card1:#35304F;--ui-card2:#49332E;--ui-card3:#253F38;--ui-card4:#293C50;--ui-card5:#454029;--ui-secondary:#F6A4C1;--ui-third:#E9BC6F;--sculpture-a:#F09380;--sculpture-b:#DDD5EC;--sculpture-c:#8E839F}
:root[data-palette=contrast]{--ui-bg:#F8F3ED;--ui-paper:#FFFCF7;--ui-soft:#E9DED0;--ui-ink:#171717;--ui-muted:#665F58;--ui-line:#D9CEC1;--ui-accent:#B63822;--ui-action:#171717;--ui-on-action:#FFFFFF;--ui-deep:#191919;--ui-on-deep:#FFFFFF;--ui-secondary:#00DCE4;--ui-third:#FF5B3B;--ui-card1:#FFDED2;--ui-card2:#EEDFD0;--ui-card3:#C5F3F0;--ui-card4:#E5DED4;--ui-card5:#FFE7CE;--sculpture-a:#FF5B3B;--sculpture-b:#171717;--sculpture-c:#00DCE4;--ui-art-deep:#35231D;--ui-art-tint:#FFF0E5;--ui-art-line:#DFC4B8}
:root[data-palette=contrast][data-appearance=dark]{--ui-bg:#161616;--ui-paper:#222120;--ui-soft:#312C27;--ui-ink:#FFF9F1;--ui-muted:#C6BBB0;--ui-line:#514940;--ui-accent:#FF8A6D;--ui-action:#FF6B4A;--ui-on-action:#181210;--ui-deep:#332820;--ui-on-deep:#FFFFFF;--ui-secondary:#00DCE4;--ui-third:#FFAF83;--ui-card1:#493027;--ui-card2:#3E332A;--ui-card3:#203D3E;--ui-card4:#343734;--ui-card5:#45372C;--sculpture-a:#FF5B3B;--sculpture-b:#171717;--sculpture-c:#00DCE4;--ui-art-deep:#35231D;--ui-art-tint:#FFF0E5;--ui-art-line:#DFC4B8}
:root[data-palette=electric]{--ui-bg:#F7F3FA;--ui-paper:#FFFCFF;--ui-soft:#E9DCF4;--ui-ink:#1A1022;--ui-muted:#68586F;--ui-line:#DBCEE3;--ui-accent:#7040B5;--ui-action:#00DDE5;--ui-on-action:#130C1C;--ui-deep:#211027;--ui-on-deep:#FFFFFF;--ui-secondary:#9D36EE;--ui-third:#0060FF;--ui-card1:#E8D4FA;--ui-card2:#F3D7EF;--ui-card3:#D1F4F4;--ui-card4:#DAE5FF;--ui-card5:#E5DBF5;--sculpture-a:#00DDE5;--sculpture-b:#9D36EE;--sculpture-c:#DCC6EF;--ui-art-deep:#261033;--ui-art-tint:#F4E7FF;--ui-art-line:#D3BAE7}
:root[data-palette=electric][data-appearance=dark]{--ui-bg:#140D1D;--ui-paper:#211629;--ui-soft:#35203E;--ui-ink:#FCF6FF;--ui-muted:#CABBD4;--ui-line:#554060;--ui-accent:#00DEE5;--ui-action:#00DEE5;--ui-on-action:#130C1C;--ui-deep:#351235;--ui-on-deep:#FFFFFF;--ui-secondary:#B449FF;--ui-third:#6B8FFF;--ui-card1:#392047;--ui-card2:#43203D;--ui-card3:#18383F;--ui-card4:#222D51;--ui-card5:#38294B;--sculpture-a:#00DDE5;--sculpture-b:#9D36EE;--sculpture-c:#DCC6EF;--ui-art-deep:#261033;--ui-art-tint:#F4E7FF;--ui-art-line:#D3BAE7}
:root[data-palette=editorial]{--ui-bg:#F6F1EA;--ui-paper:#FFFCF7;--ui-soft:#E7E2DA;--ui-ink:#132929;--ui-muted:#5C6966;--ui-line:#D2D7D1;--ui-accent:#286D72;--ui-action:#073C3E;--ui-on-action:#FFFFFF;--ui-deep:#073436;--ui-on-deep:#FFFFFF;--ui-secondary:#83C5C9;--ui-third:#657D7B;--ui-card1:#D9E7E4;--ui-card2:#E9E1D6;--ui-card3:#CDE5E4;--ui-card4:#DFE4E0;--ui-card5:#F0E8DA;--sculpture-a:#33858B;--sculpture-b:#083B3D;--sculpture-c:#D7CEBF;--ui-art-deep:#073436;--ui-art-tint:#EDF4F1;--ui-art-line:#B6D3CF}
:root[data-palette=editorial][data-appearance=dark]{--ui-bg:#102526;--ui-paper:#193335;--ui-soft:#254244;--ui-ink:#F7F3EB;--ui-muted:#BBCDCB;--ui-line:#456063;--ui-accent:#91CDD1;--ui-action:#91CDD1;--ui-on-action:#103133;--ui-deep:#073436;--ui-on-deep:#FFFFFF;--ui-secondary:#B7DCD9;--ui-third:#D2C6B4;--ui-card1:#294747;--ui-card2:#3B403B;--ui-card3:#244C4D;--ui-card4:#344749;--ui-card5:#44443B;--sculpture-a:#33858B;--sculpture-b:#083B3D;--sculpture-c:#D7CEBF;--ui-art-deep:#073436;--ui-art-tint:#EDF4F1;--ui-art-line:#B6D3CF}
:root[data-palette]{--bg:var(--ui-bg);--paper:var(--ui-paper);--ink:var(--ui-ink);--muted:var(--ui-muted);--line:var(--ui-line);--accent:var(--ui-accent);--focus:var(--ui-accent);--lav:var(--ui-card1);--peach:var(--ui-card2);--mint:var(--ui-card3);--sky:var(--ui-card4);--butter:var(--ui-card5);--pink:var(--ui-soft);--studio-bg:var(--ui-bg);--studio-ink:var(--ui-ink);--studio-muted:var(--ui-muted);--studio-accent:var(--ui-accent);--studio-line:var(--ui-line);--field-bg:var(--ui-paper);--cc-stage:var(--ui-soft);--cc-stage-hi:var(--ui-paper);--cc-concierge:var(--ui-action);--cc-on-stage:var(--ui-accent);--cc-deep:var(--ui-art-deep);--cc-motif:var(--sculpture-a);--cc-motif-soft:var(--ui-art-tint);--cc-tint:var(--ui-art-tint);--cc-line:var(--ui-art-line);--cc-ink:#171E29;--cc-paper:#FFFEFA;--cc-muted:#73847E;--cc-shadow:15 15 35;--ring:color-mix(in srgb,var(--ui-accent) 20%,transparent)}
html[data-palette] body{background:var(--ui-bg)!important;color:var(--ui-ink)!important;accent-color:var(--ui-accent)}
html[data-palette] header.nav{--ink:var(--ui-ink);--muted:var(--ui-muted);--line:var(--ui-line);--accent:var(--ui-accent)}
html[data-palette] header.nav>.wrap{background:color-mix(in srgb,var(--ui-paper) 84%,transparent);border-color:color-mix(in srgb,var(--ui-line) 65%,transparent);box-shadow:0 8px 30px #00000009,inset 0 1px 0 color-mix(in srgb,var(--ui-paper) 65%,transparent)}
html[data-palette] header.nav.stuck>.wrap{background:color-mix(in srgb,var(--ui-paper) 92%,transparent)}
html[data-palette] header.nav .btn.ghost{background:color-mix(in srgb,var(--ui-paper) 70%,transparent);color:var(--ui-ink);border-color:var(--ui-line)}
/* Compact controls remain outside the mobile menu. */
header.nav .appearance-controls{display:flex;align-items:center;flex:none;gap:6px;order:3;margin-left:8px}
header.nav nav{order:2}header.nav .logins{order:4;margin-left:0}
header.nav .appearance-controls button{appearance:none;display:grid;place-items:center;min-width:36px;width:36px;height:36px;min-height:36px;border:1px solid transparent;border-radius:50%;padding:0;background:transparent;color:var(--ui-ink);cursor:pointer;position:relative;flex:none}
header.nav .appearance-controls button:hover{background:var(--ui-soft)}
header.nav .appearance-controls [data-appearance-toggle]{border-color:var(--ui-line);margin-right:3px}
header.nav .appearance-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.appearance-controls .mode-sun{display:none}html[data-appearance=dark] .appearance-controls .mode-sun{display:block}html[data-appearance=dark] .appearance-controls .mode-moon{display:none}
header.nav .appearance-controls [data-palette]::before{content:'';width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--swatch-a) 0 50%,var(--swatch-b) 50%)}
header.nav .appearance-controls [data-palette=studio]{--swatch-a:#5F68FF;--swatch-b:#D8C8FF}
header.nav .appearance-controls [data-palette][aria-pressed=true]{border-color:var(--ui-ink)}
.appearance-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
html[data-palette] :is(.kicker,.panelc,.tab,.pill,.app,.enquiry .box,.studio-login-card,.studio-tags span,.game-card,.pg-library-card,.kern-style-brief,.report-card,.report-panel,.concii-consent){background:var(--ui-paper);border-color:var(--ui-line);color:var(--ui-ink)}
html[data-palette] .concii-studio-home :is(.bt p,.panelc,.project-brief p,.project-caption,.project-note,.work-note){color:var(--ui-muted)}
html[data-palette] :is(.panelc.hl,.tp){background:var(--ui-deep);color:var(--ui-on-deep)}
html[data-palette] :is(.panelc.hl .serif,.tp p){color:color-mix(in srgb,var(--ui-on-deep) 78%,transparent)}
html[data-palette] .panelc.hl::before{background:conic-gradient(from 0deg,var(--ui-action),var(--ui-secondary),var(--ui-third),var(--ui-action))}
html[data-palette] .tp .big{background-image:linear-gradient(120deg,var(--ui-accent),var(--ui-secondary),var(--ui-third))}
html[data-palette] .enquiry .box::before{background-image:linear-gradient(120deg,var(--ui-accent),var(--ui-secondary),var(--ui-third),var(--ui-accent))}
html[data-palette] :is(.btn.primary,.studio-primary,.studio-login-card input[type=submit],.game-buttons .play-button,.pg-cta,.pg-game-links [aria-current=page],.concii-consent-actions button){background:var(--ui-action)!important;color:var(--ui-on-action)!important;border-color:transparent}
html[data-palette] .btn.primary .arr{background:var(--ui-on-action);color:var(--ui-action)}
html[data-palette] :is(.studio-login-aside,.experiment-note){background:linear-gradient(135deg,var(--ui-card1),var(--ui-card2));color:var(--ui-ink)}
html[data-palette] :is(.studio-login-aside>p:not(.studio-kicker),.studio-login-note,.studio-login-intro,.concii-legal,.concii-policy-date,.report-note,.report-card small,#concii-consent-status:not(:empty)){color:var(--ui-muted)}
html[data-palette] body.concii-studio-home>footer,html[data-palette] :is(.pg-footer,.concii-policy-footer){background:var(--ui-paper);color:var(--ui-ink);border-color:var(--ui-line)}
html[data-palette] .concii-legal::before{background:var(--ui-line)}
html[data-palette] .concii-studio-home :is(.offer,.questions,.enquiry){background:color-mix(in srgb,var(--ui-paper) 42%,var(--ui-bg))}
html[data-palette] .concii-studio-home #work{background:var(--ui-paper)}
html[data-palette] .concii-studio-home .person{background:var(--ui-soft)}
html[data-palette] .concii-studio-home #how{background:var(--ui-bg)}
html[data-palette] .concii-studio-home :is(.project-card,.project-index){background:var(--ui-paper);color:var(--ui-ink);border-color:var(--ui-line)}
html[data-palette] .concii-studio-home .person-note{background:var(--ui-action);color:var(--ui-on-action)}
html[data-palette] .concii-studio-home :is(.person-note>.serif,.person-note div>span){color:var(--ui-on-action)}
html[data-palette] .concii-studio-home .faq-list details{border-color:var(--ui-line)}
html[data-palette] .concii-studio-home .faq-list details p{color:var(--ui-muted)}
html[data-palette] .concii-studio-home .tab[aria-selected=true] .n{background:var(--ui-action);color:var(--ui-on-action)}
html[data-palette] .hero-art{filter:none}
html[data-palette] .cc-stage{box-shadow:0 30px 60px -44px color-mix(in srgb,var(--ui-action) 50%,transparent)}
html[data-palette] .btn.primary{box-shadow:0 15px 32px -22px color-mix(in srgb,var(--ui-action) 65%,transparent)}
html[data-palette] :is(.cc-t-idx,.cc-t-ctag){fill:var(--ui-on-action)}
html[data-palette] .cc-t-you{fill:var(--ui-art-deep)}
html[data-palette] :is(.cc-ring,.cc-you-pill){stroke:var(--ui-art-deep)}
html[data-palette][data-appearance=dark] .cc-t-cap{fill:var(--ui-ink)}
html[data-palette][data-appearance=dark] .cc-t-sub{fill:var(--ui-muted);opacity:1}
html[data-palette] :is(.concii-native-enquiry input,.concii-native-enquiry select,.concii-native-enquiry textarea,.studio-login-card input[type=text],.studio-login-card input[type=password],.kern-mode-grid label>span,.kern-input){background:var(--ui-paper)!important;color:var(--ui-ink)!important;border-color:var(--ui-muted)!important}
html[data-palette] .concii-native-enquiry label{color:var(--ui-ink)!important}
html[data-palette] .concii-native-enquiry :is(input,textarea)::placeholder{color:var(--ui-muted)!important}
html[data-palette] .concii-native-enquiry button[type=submit]{background:var(--ui-action)!important;color:var(--ui-on-action)!important}
html[data-palette] .concii-native-enquiry :is(input,select,textarea):focus{outline-color:var(--ui-accent)!important;border-color:var(--ui-accent)!important}
html[data-palette] :is(.studio-forgot a,.studio-kicker,.studio-login-aside h2 em,.pg-intro h1 em,.instruction-icon,.experiment-note .serif,.pg-launch,.pg-game-top a,.pg-game-links a,.concii-policy a,.concii-policy-kicker,.concii-consent a,.report-card strong,.kern-style-brief>a,.kern-style-brief .eyebrow){color:var(--ui-accent)}
html[data-palette] :is(.pg-wordmark i,.experiment-label i){background:var(--ui-accent)}
html[data-palette] :is(.game-heading p,.game-metrics>span,.game-status,.block-side p,.key-guide,.pong-instructions p,.pg-intro-bottom p,.experiment-label,.experiment-note p,.pg-footnote,.pg-library-copy p,.pg-library-copy .eyebrow,.kern-study-note,.kern-mode-grid small){color:var(--ui-muted)}
html[data-palette] :is(.game-metrics strong,.game-heading h2){color:var(--ui-ink)}
html[data-palette] .game-heading h2 span{color:var(--ui-accent)}
html[data-palette] :is(.game-buttons .secondary,.touch-controls button,.kern-mode-grid input:checked+span){background:var(--ui-soft);color:var(--ui-ink);border-color:var(--ui-line)}
html[data-palette] :is(.pg-cta a,.pg-preview-arrow){background:var(--ui-paper);color:var(--ui-ink)}
html[data-palette] .preview-kern-it{background:var(--ui-card1);color:var(--ui-accent)}
html[data-palette] .preview-pong{background:var(--ui-deep)}
html[data-palette] .concii-consent-actions button[data-consent=reject]{background:var(--ui-paper)!important;color:var(--ui-accent)!important;border-color:var(--ui-accent)}
html[data-palette] .concii-consent-actions .concii-consent-close{background:transparent!important;color:var(--ui-ink)!important}
html[data-palette] :is(.kern-style-brief,.kern-mode-grid label>span,.pg-library-card,.pg-launch,.pg-game-links a,.report-panel th,.report-panel td){border-color:var(--ui-line)}
/* Native WordPress account recovery has stronger vendor selectors. */
html[data-palette] body.login :is(#login,#loginform,#lostpasswordform,#resetpassform){background:var(--ui-paper)!important;color:var(--ui-ink)!important;border-color:var(--ui-line)!important}
html[data-palette] body.login #login :is(label,h1 a){color:var(--ui-ink)!important}
html[data-palette] body.login #login input:is([type=text],[type=password],[type=email]){background:var(--ui-paper)!important;color:var(--ui-ink)!important;border-color:var(--ui-muted)!important}
html[data-palette] body.login #login a{color:var(--ui-accent)!important}
html[data-palette] body.login #login .button-primary{background:var(--ui-action)!important;color:var(--ui-on-action)!important}
html[data-palette],html[data-palette] :is(.ccp-shell,.ccp-login-wrap){--cc-bg:var(--ui-bg);--cc-surface:var(--ui-paper);--cc-ink:var(--ui-ink);--cc-muted:var(--ui-muted);--cc-line:var(--ui-line);--cc-accent:var(--ui-accent)}
html[data-palette] :is(.ccp-shell,.ccp-login-wrap){background:var(--ui-bg)!important;color:var(--ui-ink)}
html[data-palette] .ccp-btn{background:var(--ui-action);color:var(--ui-on-action)}
html[data-palette] .ccp-stop{background:transparent;color:var(--ui-ink);border-color:var(--ui-line)}
html[data-palette] .ccp-theme{display:none}
.studio-login-main>*{min-width:0}
.studio-login-card :is(input,form){max-width:100%;min-width:0}
@media(max-width:850px){.studio-login-aside h2 br{display:initial}}
@media(max-width:1120px){
 header.nav .appearance-controls{order:1;margin-left:auto;gap:2px;position:relative;z-index:3}
 header.nav .menu-btn{order:2;margin-left:4px}
 header.nav>.wrap{gap:10px}
 html[data-palette] body header.nav.open{background:color-mix(in srgb,var(--ui-bg) 97%,transparent)}
 html[data-palette] header.nav.open>.wrap{background:transparent;box-shadow:none;border-color:transparent}
 html[data-palette] header.nav nav a{border-color:var(--ui-line)}
 html[data-palette] header.nav .logins .btn:last-child{background:var(--ui-action);color:var(--ui-on-action)}
}
@media(max-width:400px){header.nav>.wrap{padding-inline:12px;gap:4px}header.nav .logo{font-size:1.4rem!important;gap:.35rem}header.nav .appearance-controls button{width:30px;min-width:30px;height:36px}header.nav .appearance-controls{gap:0}header.nav .menu-btn{width:36px;min-width:36px;margin-left:0}}
@media print{.appearance-controls{display:none!important}}

/* Desktop: links left, wordmark at the true centre, account controls right. */
@media(min-width:1121px){html[data-palette] header.nav>.wrap{position:relative}html[data-palette] header.nav .logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0}html[data-palette] header.nav nav{margin-left:0;margin-right:auto}html[data-palette] header.nav .appearance-controls{margin-left:auto}html[data-palette] header.nav .logins{margin-left:0}}

header.nav .appearance-controls [data-palette=contrast]{--swatch-a:#FF5B3B;--swatch-b:#00DCE4}

header.nav .appearance-controls [data-palette=electric]{--swatch-a:#00DDE5;--swatch-b:#351235}

header.nav .appearance-controls [data-palette=editorial]{--swatch-a:#073C3E;--swatch-b:#91CDD1}

#nav .appearance-controls.concii-refined-appearance {
  gap: 6px;
}

#nav .concii-palette-rail {
  --swatch-slot: 32px;
  display: flex;
  align-items: center;
  flex: none;
  padding: 2px;
  border: 1px solid var(--ui-line);
  border-radius: 999px;
  background: color-mix(in srgb, var(--ui-paper) 88%, var(--ui-soft));
}

#nav .appearance-controls .concii-palette-rail button {
  width: var(--swatch-slot);
  min-width: var(--swatch-slot);
  height: 32px;
  min-height: 32px;
  border: 1px solid transparent;
  transition: background-color 150ms ease, border-color 150ms ease;
}

#nav .appearance-controls .concii-palette-rail button[aria-pressed="true"] {
  border-color: var(--ui-ink);
  background: var(--ui-paper);
}

#nav .appearance-controls .concii-palette-rail button::before {
  width: 18px;
  height: 18px;
}

#nav .concii-palette-rail [data-palette="studio"] {
  --swatch-a: #4351e8;
  --swatch-b: #d8ccff;
}

#nav .concii-palette-rail [data-palette="tide"] {
  --swatch-a: #14b7c9;
  --swatch-b: #636cdb;
}

#nav .concii-palette-rail [data-palette="prism"] {
  --swatch-a: #8d26d5;
  --swatch-b: #eb8bd6;
}

#nav .concii-palette-rail [data-palette="solar"] {
  --swatch-a: #e54a25;
  --swatch-b: #ffab74;
}

#nav .appearance-controls [data-appearance-toggle] {
  margin-right: 0;
  transition: background-color 150ms ease, border-color 150ms ease;
}

#nav .appearance-controls button:focus-visible {
  position: relative;
  z-index: 1;
  outline-width: 2px;
  outline-offset: 2px;
}

@media (min-width: 1121px) {
  #nav > .wrap {
    height: 68px;
    gap: clamp(12px, 1.35vw, 22px);
  }

  #nav nav {
    gap: clamp(12px, 1.35vw, 22px);
  }

  #nav nav a {
    font: 600 .875rem/1.25 var(--font-body);
    letter-spacing: -.015em;
    transition: color 150ms ease;
  }

  #nav .logins {
    gap: 8px;
  }

  #nav .logins .btn.ghost {
    min-height: 40px;
    padding-inline: .85rem;
    border-radius: 14px;
    font: 650 .8125rem/1.25 var(--font-body);
    letter-spacing: -.012em;
    transition: background-color 150ms ease, border-color 150ms ease;
  }
}

@media (max-width: 1120px) {
  #nav .concii-palette-rail {
    --swatch-slot: 34px;
    padding: 1px;
  }

  #nav .appearance-controls .concii-palette-rail button {
    height: 36px;
    min-height: 36px;
  }

  #nav .appearance-controls.concii-refined-appearance {
    gap: 4px;
  }
}

@media (max-width: 400px) {
  #nav .concii-palette-rail {
    --swatch-slot: 30px;
  }

  #nav .appearance-controls .concii-palette-rail button::before {
    width: 16px;
    height: 16px;
  }
}

@media (max-width: 360px) {
  #nav .concii-palette-rail {
    --swatch-slot: 27px;
  }

  #nav .appearance-controls.concii-refined-appearance {
    gap: 3px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #nav nav a,
  #nav .logins .btn.ghost,
  #nav .appearance-controls button {
    transition: none !important;
  }
}
