/* Shared Socora palette. Loaded last on studio, landing and public documents. */
:root {
  color-scheme: light;
  --studio:#f7f7f5; --studio-2:#efefec; --paper:#f7f7f5; --paper-2:#efefec;
  --panel:#fdfdfb; --panel-2:#f0f1ee; --ink:#272b2e; --ink-2:#535a60;
  --muted:#6c7276; --line:#dedfdb;
  --accent:#a64f40; --accent-strong:#8c4034; --accent-active:#78362c;
  --accent-soft:#f0e7df; --accent-soft-active:#e5d5c8; --accent-ink:#56352c; --accent-border:#b99887;
  --focus:var(--accent); --on-accent:#fffaf5; --on-slate:#f2f4f5;
  --ok:#35644d; --warn:#986227; --bad:#ad403e; --running:#456a8c;
  --font:"Manrope","PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;
  --display:var(--font); --mono:var(--font);
  --disabled-bg:#e8e5e0; --disabled-ink:#69635e;
}
#auth-gate { --landing-accent:var(--accent); --landing-soft:var(--accent-soft); }
body .btn.primary { background:var(--accent); border-color:var(--accent); color:var(--on-accent); box-shadow:none; }
body .btn.primary:hover:not(:disabled):not([aria-disabled="true"]),
body .btn.primary:focus-visible { background:var(--accent-strong); border-color:var(--accent-strong); color:var(--on-accent); transform:none; }
body .btn.primary:active:not(:disabled):not([aria-disabled="true"]) { background:var(--accent-active); color:var(--on-accent); }
body .btn.ghost,body .btn.secondary { background:transparent; color:var(--ink-2); border-color:var(--line); box-shadow:none; }
body .btn.ghost:hover:not(:disabled):not([aria-disabled="true"]),body .btn.secondary:hover:not(:disabled):not([aria-disabled="true"]),
body .btn.ghost:focus-visible,body .btn.secondary:focus-visible { background:var(--accent-soft); color:var(--accent-ink); border-color:var(--accent-border); }
body .btn.ghost:active:not(:disabled),body .btn.secondary:active:not(:disabled) { background:var(--accent-soft-active); color:var(--accent-ink); }
body .btn:disabled,body .btn[aria-disabled="true"] { background:var(--disabled-bg); color:var(--disabled-ink); border-color:var(--line); box-shadow:none; cursor:not-allowed; }
body :focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
body .seg-btn.is-on,body .chip.is-on,body .lang-btn[aria-pressed="true"],
.topbar .studio-nav button[aria-current="page"],#account-view .admin-tabs .seg-btn.is-on,
.studio-character-tab[aria-pressed="true"] { background:var(--accent-soft); color:var(--accent-ink); border-color:var(--accent-border); box-shadow:none; }
body .seg-btn:hover:not(.is-on),body .chip:hover,body .lang-btn:hover,
.topbar .studio-nav button:hover,#account-view .admin-tabs .seg-btn:hover,.studio-character-tab:hover,
.topbar .user-menu button:hover,.topbar .user-menu button:focus-visible { background:var(--accent-soft); color:var(--accent-ink); }
.studio-character-check { color:var(--accent); }
.topbar .balance,#account-view .account-balance { background:var(--accent-soft); color:var(--accent-ink); }
.topbar .balance:hover { background:var(--accent-soft-active); }
body.is-dance-follow #btn-create.btn.primary:not(:disabled):not([aria-disabled="true"]) { background:var(--accent); color:var(--on-accent); }
body.is-dance-follow #btn-create.btn.primary:hover:not(:disabled):not([aria-disabled="true"]),
body.is-dance-follow #btn-depth-ingest:hover:not(:disabled),body.is-dance-follow #btn-gen-outfit:hover:not(:disabled) { background:var(--accent-strong); color:var(--on-accent); }
body.is-dance-follow .dance-well:hover { border-color:var(--accent-border); }
#account-view .me-offer:hover,#account-view .me-pack:hover { background:var(--accent-soft); border-color:var(--accent-border); }
/* Public documents previously loaded the legacy dark theme only. */
body.legal-page,body.seo-page { background:var(--paper); color:var(--ink); font-family:var(--font); }
.legal-page h1,.legal-page h2,.legal-page h3,.seo-page h1,.seo-page h2,.seo-page h3 { font-family:var(--font); letter-spacing:-.025em; }
.legal-page a { color:var(--accent-strong); }
.legal-page .price-card { background:var(--panel); border-color:var(--line); box-shadow:none; border-radius:10px; }
.legal-page .price-card.featured { background:var(--accent-soft); border-color:var(--accent-border); }
.seo-page .seo-main::before { display:none; }
.seo-page .brand-mark { background:transparent; border:0; box-shadow:none; }
.seo-page .brand-mark img { filter:none; }
.seo-page .pub-brand-name { color:var(--ink); font-family:var(--font); }
.seo-page .pub-bar { background:var(--paper); border-color:var(--line); }
.seo-page .seo-case img,.seo-page .seo-char img { filter:none; background:var(--panel-2); }
.seo-page .seo-case,.seo-page .seo-char { border-radius:10px; }
.seo-page .seo-more a:hover { background:var(--accent-soft); color:var(--accent-ink); }
body.seo-page .skip-link { transform:translateY(-180%); background:var(--accent-strong); color:var(--on-accent); }
body.seo-page .skip-link:focus { transform:translateY(0); }
