/* Generic login appearance; no private artwork or authenticated data. */
html[data-theme="orc-pg"] {
  color-scheme: light;
  --login-bg: #f1ecdc; --login-panel: #faf6e9; --login-text: #24372a;
  --login-muted: #52604e; --login-line: #9da992; --login-accent: #315a39;
  --login-on-accent: #fff; --login-focus: #396d42;
}
html:is([data-theme="neutral-light"], [data-theme="workspace"]) {
  color-scheme: light;
  --login-bg: #f1f4f8; --login-panel: #fff; --login-text: #1b2530;
  --login-muted: #526174; --login-line: #b8c4d1; --login-accent: #245caa;
  --login-on-accent: #fff; --login-focus: #245caa;
}
html[data-theme="neutral-dark"] {
  color-scheme: dark;
  --login-bg: #101722; --login-panel: #182230; --login-text: #e4ebf2;
  --login-muted: #b2bed0; --login-line: #526179; --login-accent: #9abffc;
  --login-on-accent: #101722; --login-focus: #9abffc;
}
html[data-theme]:not([data-theme="orc-original"]) body {
  background: var(--login-bg); color: var(--login-text);
}
html[data-theme]:not([data-theme="orc-original"]) .gate {
  background: var(--login-panel); border-color: var(--login-line);
  box-shadow: 0 16px 48px #0001; border-radius: 16px;
}
html[data-theme]:not([data-theme="orc-original"]) :is(.brand,h1) {
  color: var(--login-text); font-family: system-ui,sans-serif; letter-spacing: normal;
}
html[data-theme]:not([data-theme="orc-original"]) .brand {font-size: 30px; gap: 12px;}
html[data-theme]:not([data-theme="orc-original"]) :is(p,small,details,footer,.help,.eyebrow) {
  color: var(--login-muted); border-color: var(--login-line); font-family: system-ui,sans-serif;
}
html[data-theme]:not([data-theme="orc-original"]) button {
  background: var(--login-accent); color: var(--login-on-accent); border-color: var(--login-accent); border-radius: 8px;
}
html[data-theme]:not([data-theme="orc-original"]) button:hover {filter: brightness(.95);}
html[data-theme]:not([data-theme="orc-original"]) :is(.secondary,.return) {color: var(--login-accent); background: transparent;}
html[data-theme]:not([data-theme="orc-original"]) #login-status {color: var(--login-text);}
html[data-theme]:not([data-theme="orc-original"]) :is(button,a,summary):focus-visible {outline-color: var(--login-focus);}
@media(max-width:380px) {
  html[data-theme]:not([data-theme="orc-original"]) .brand {font-size: 24px;}
  html[data-theme]:not([data-theme="orc-original"]) .brand img {width: 44px; height: 50px;}
}

/* The saved palette applies before deferred UI artwork replacement. */
html[data-theme="orc-pg"] img[data-brand][src="/favicon.svg"],
html[data-theme^="neutral-"] img[data-brand][src="/favicon.svg"] {visibility:hidden}

/* Arcane Cards login: public neutral emblem inside a parchment card. */
html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) {
  color-scheme: light;
  --login-bg: #cdb98a;
  --login-panel: #f8edcf;
  --login-text: #261b12;
  --login-muted: #5b4934;
  --login-line: #765b31;
  --login-accent: #4f2d20;
  --login-on-accent: #fff4d8;
  --login-focus: #075fa5;
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) body {
  background-color: var(--login-bg);
  background-image:
    radial-gradient(circle at 15% 8%, #fff8df66 0 2px, transparent 3px),
    radial-gradient(circle at 82% 75%, #5b3d1824 0 1px, transparent 2px),
    repeating-linear-gradient(94deg, transparent 0 9px, #5b3d1812 10px, transparent 11px 20px);
  color: var(--login-text);
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) .gate {
  padding: 34px;
  background-color: var(--login-panel);
  background-image:
    linear-gradient(96deg, #fff9e666, transparent 38%, #805d2410),
    repeating-linear-gradient(2deg, transparent 0 4px, #533a1308 5px);
  border: 3px solid #1d1510;
  border-radius: 14px;
  box-shadow: 0 0 0 2px #ad8245, inset 0 0 0 2px #d9bb79, 0 24px 70px #2d1c1255;
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) :is(.brand, h1) {
  color: var(--login-text);
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: .01em;
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) .brand {
  gap: 13px;
  padding: 10px 12px;
  margin: 0 0 34px;
  border: 1px solid #d5b875;
  border-bottom: 3px solid #68451b;
  border-radius: 8px;
  background: #e5cf98;
  background-image: linear-gradient(100deg, #b99858aa, #f5e7be 42% 64%, #b99858aa);
  font-size: 31px;
  text-shadow: 0 1px #fff6da;
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) .brand img {
  object-fit: contain;
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) :is(p, small, details, footer, .help, .eyebrow) {
  color: var(--login-muted);
  border-color: var(--login-line);
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) .eyebrow {
  color: #68451b;
  font-family: Georgia, "Times New Roman", serif;
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) button {
  background: #4f2d20;
  background-image: linear-gradient(#6c412d, #43251b);
  border-color: #24130d;
  border-radius: 6px;
  box-shadow: inset 0 0 0 1px #ba8d54;
  color: #fff4d8;
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) button:hover {
  background: #6a3d2a;
  filter: none;
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) :is(.secondary, .return) {
  color: #5d370e;
  background: transparent;
  background-image: none;
  box-shadow: none;
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) #login-status {
  color: var(--login-text);
}

html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) :is(button, a, summary):focus-visible {
  outline-color: var(--login-focus);
}

@media (max-width: 480px) {
  html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) .gate {
    padding: 25px 22px;
  }

  html:is([data-theme="arcane-cards"],[data-theme="arcane-dark"]):not([data-theme="orc-original"]) .brand {
    margin-bottom: 28px;
    font-size: 26px;
  }
}

/* Terminal login: saved terminal IDs render in their matching palette with
 * monospace type. Generic public rules only; no private assets. */
html[data-theme="terminal-raw"] {
  color-scheme: dark;
  --login-bg: #090c09; --login-panel: #0e120e; --login-text: #d9e2d9;
  --login-muted: #9fb3a2; --login-line: #39453a; --login-accent: #57e389;
  --login-on-accent: #090c09; --login-focus: #57e389;
}
html[data-theme="terminal-lamplight"] {
  color-scheme: dark;
  --login-bg: #191613; --login-panel: #26211b; --login-text: #ece1cb;
  --login-muted: #c9bda3; --login-line: #4a4234; --login-accent: #e6cf9c;
  --login-on-accent: #26211b; --login-focus: #e6cf9c;
}
html[data-theme="terminal-ledger"] {
  color-scheme: dark;
  --login-bg: #0d1114; --login-panel: #11171b; --login-text: #d3dade;
  --login-muted: #9aa4ac; --login-line: #2b343b; --login-accent: #7fd6c2;
  --login-on-accent: #0d1114; --login-focus: #7fd6c2;
}
:is(html[data-theme="terminal-raw"], html[data-theme="terminal-lamplight"], html[data-theme="terminal-ledger"]):not([data-theme="orc-original"]) body,
:is(html[data-theme="terminal-raw"], html[data-theme="terminal-lamplight"], html[data-theme="terminal-ledger"]):not([data-theme="orc-original"]) :is(.gate, .brand, h1, p, small, details, footer, .help, .eyebrow, button, input, a) {
  font-family: ui-monospace, "Cascadia Mono", "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;
}
:is(html[data-theme="terminal-raw"], html[data-theme="terminal-lamplight"], html[data-theme="terminal-ledger"]):not([data-theme="orc-original"]) .gate {
  border-radius: 8px;
  box-shadow: none;
}

/* Public Arcane Dark login uses only generic chrome, never private art. */
html[data-theme="arcane-dark"][data-theme]:not([data-theme="orc-original"]) {
 color-scheme:dark;--login-bg:#101517;--login-panel:#1b2427;--login-text:#eeeade;
 --login-muted:#bfc7c2;--login-line:#746642;--login-accent:#e4c684;--login-on-accent:#1b2427;--login-focus:#f4d790;
}
html[data-theme="arcane-dark"][data-theme] :is(body,.gate) {background-image:none}
html[data-theme="arcane-dark"][data-theme] .gate {border-color:#746642;box-shadow:0 0 0 1px #b59a61,0 24px 70px #0008}
html[data-theme="arcane-dark"][data-theme]:not([data-theme="orc-original"]) .brand {background:#2b3830;background-image:none;color:var(--login-text);text-shadow:none;border-color:#746642}
html[data-theme="arcane-dark"][data-theme]:not([data-theme="orc-original"]) :is(.eyebrow,.secondary,.return,a) {color:var(--login-accent)}
html[data-theme="arcane-dark"][data-theme]:not([data-theme="orc-original"]) button {background:#4b3d26;color:#fff0c9;border-color:#ac915a}
