@charset "UTF-8";
/* ShadowCore theme finish: softer outlines, gentle elevation and violet glow to match the logo.
   Colours come from the theme tokens in models/brand-theme.js; this file only applies while
   the ShadowCore theme is active, so the other site themes are unchanged. */

:root[data-site-theme="shadowcore"] {
  --sc-glow: color-mix(in srgb, var(--accent) 45%, transparent);
  --sc-elevation: 0 1px 2px rgb(20 12 40 / 5%), 0 12px 32px -20px rgb(76 29 149 / 30%);
  --sc-elevation-hover: 0 2px 4px rgb(20 12 40 / 6%), 0 18px 40px -20px rgb(76 29 149 / 40%);
}
:root[data-site-theme="shadowcore"][data-site-mode="dark"] {
  --sc-elevation: 0 1px 2px rgb(0 0 0 / 30%), 0 14px 34px -22px rgb(0 0 0 / 70%);
  --sc-elevation-hover: 0 2px 4px rgb(0 0 0 / 35%), 0 18px 40px -20px rgb(124 58 237 / 30%);
}

/* Cards and panels: one thin line and soft depth instead of heavy frames. */
:root[data-site-theme="shadowcore"] :is(.surface, .settings-section, .module-card, .home-panel, .metrics, .home-metrics,
  .home-feature-card, .overview-welcome, .module-shortcut, .owner-section, .home-highlight, .home-command, .home-cta,
  .donate-card, .home-mock, .dashboard-addon, .home-stats, .home-faq-list details, .home-empty-pins, .home-review) {
  border: 1px solid var(--line);
  box-shadow: var(--sc-elevation);
}
:root[data-site-theme="shadowcore"] :is(.module-card, .module-shortcut, .home-feature-card, .home-highlight):hover {
  border-color: var(--accent-line);
  box-shadow: var(--sc-elevation-hover);
}
:root[data-site-theme="shadowcore"] :is(.module-card, .home-feature-card, .home-panel, .settings-section, .surface) { border-radius: 14px; }
:root[data-site-theme="shadowcore"] .overview-welcome { background: linear-gradient(135deg, var(--accent-wash), var(--paper) 70%); }

/* Buttons */
:root[data-site-theme="shadowcore"] .button { border: 1px solid var(--edge); border-radius: 10px; }
:root[data-site-theme="shadowcore"] .button.primary {
  border-color: transparent;
  background: linear-gradient(180deg, color-mix(in srgb, var(--accent) 86%, #ffffff), var(--accent));
  box-shadow: 0 8px 18px -10px var(--sc-glow), inset 0 1px 0 rgb(255 255 255 / 18%);
}
:root[data-site-theme="shadowcore"] .button.primary:hover { background: var(--accent-hover); transform: translateY(-1px); }
:root[data-site-theme="shadowcore"] .button.primary:active { transform: none; box-shadow: none; }
:root[data-site-theme="shadowcore"] :is(.button.ghost, .button.icon-button) { border-color: transparent; }
:root[data-site-theme="shadowcore"] .button.ghost:not(.icon-button) { border-color: var(--line); }

/* Sidebar: deep indigo with a faint violet fade, like the logo's shading. */
:root[data-site-theme="shadowcore"] .sidebar {
  background: linear-gradient(180deg, var(--nav) 0%, color-mix(in srgb, var(--nav) 88%, var(--accent)) 100%);
  border-right: 1px solid var(--nav-line);
}
:root[data-site-theme="shadowcore"] .brand img { filter: drop-shadow(0 0 12px var(--sc-glow)); }
:root[data-site-theme="shadowcore"] .nav-link { border-radius: 10px; }
:root[data-site-theme="shadowcore"] .nav-link.active {
  background: color-mix(in srgb, var(--accent) 24%, transparent);
  color: var(--nav-ink);
  outline: 0;
  box-shadow: inset 3px 0 0 var(--accent);
}
:root[data-site-theme="shadowcore"] .nav-link.active > .icon { color: color-mix(in srgb, var(--accent) 45%, #ffffff); }
:root[data-site-theme="shadowcore"] .rail-link.active { box-shadow: 0 6px 16px -8px var(--sc-glow); }

/* Top bar and save bar */
:root[data-site-theme="shadowcore"] .topbar {
  background: color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
:root[data-site-theme="shadowcore"] .save-bar {
  border: 1px solid var(--accent-line);
  box-shadow: 0 18px 40px -18px var(--sc-glow);
  backdrop-filter: blur(10px);
}

/* Form controls: consistent violet focus ring. */
:root[data-site-theme="shadowcore"] :is(input, select, textarea):focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 70%, transparent);
  outline-offset: 1px;
  border-color: var(--accent);
}

/* Public site: a soft violet glow behind the hero, like the one around the logo. */
:root[data-site-theme="shadowcore"] :is(.home-page, .legal-page, .server-select-page) {
  background:
    radial-gradient(900px 420px at 78% -8%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 65%),
    radial-gradient(700px 360px at 5% 10%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 60%),
    var(--canvas);
}
:root[data-site-theme="shadowcore"] .public-nav { background: color-mix(in srgb, var(--canvas) 80%, transparent); }
:root[data-site-theme="shadowcore"] .home-badge { border-color: var(--accent-line); background: color-mix(in srgb, var(--accent) 10%, var(--paper)); }
:root[data-site-theme="shadowcore"] .home-mock { border-radius: 18px; }
:root[data-site-theme="shadowcore"] .home-feature-icon { background: color-mix(in srgb, var(--accent) 16%, var(--paper)); color: var(--accent-ink); }
:root[data-site-theme="shadowcore"] .home-cta { background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, var(--paper)), var(--paper)); }

/* Quieter scrollbars */
:root[data-site-theme="shadowcore"] * { scrollbar-color: var(--edge) transparent; scrollbar-width: thin; }
