/* GameServ portal design system. Loaded on every HTML page by panelNavigation.js. */
:root,
html[data-gsrv-theme="gameserv"] {
  color-scheme: dark;
  --gs-font: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --gs-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --gs-bg: #070b14;
  --gs-bg-2: #0d1526;
  --gs-surface: rgba(15, 23, 42, .84);
  --gs-surface-2: rgba(8, 13, 24, .86);
  --gs-card: linear-gradient(180deg, rgba(17, 24, 39, .92), rgba(15, 23, 42, .74));
  --gs-card-flat: rgba(15, 23, 42, .78);
  --gs-border: rgba(87, 101, 125, .48);
  --gs-border-strong: rgba(148, 163, 184, .32);
  --gs-text: #f4f7fb;
  --gs-muted: #a8b3c7;
  --gs-soft: #dbe7ff;
  --gs-accent: #2f6bff;
  --gs-accent-2: #15b8b0;
  --gs-link: #61d6d1;
  --gs-ok: #22c55e;
  --gs-warn: #f4b740;
  --gs-danger: #ef4444;
  --gs-focus: rgba(47, 107, 255, .26);
  --gs-radius: 8px;
  --gs-radius-lg: 10px;
  --gs-shadow: 0 16px 34px rgba(0, 0, 0, .28);
  --gs-shadow-soft: 0 10px 24px rgba(0, 0, 0, .20);
  --gs-page-bg:
    linear-gradient(180deg, rgba(18, 27, 43, .98) 0%, rgba(7, 11, 20, 1) 58%, rgba(5, 7, 13, 1) 100%);
  --gs-nav-bg: linear-gradient(180deg, rgba(14, 22, 37, .98), rgba(9, 16, 30, .94));
  --gs-button-bg: linear-gradient(180deg, var(--gs-accent), color-mix(in srgb, var(--gs-accent) 72%, #000));
  --gs-button-alt-bg: linear-gradient(180deg, rgba(51, 65, 85, .96), rgba(30, 41, 59, .96));
  --gs-button-text: #ffffff;

  /* Legacy aliases used by older inline page CSS. */
  --bg: var(--gs-bg);
  --bg0: var(--gs-bg-2);
  --bg1: #05070d;
  --card: var(--gs-surface);
  --card2: var(--gs-surface-2);
  --text: var(--gs-text);
  --muted: var(--gs-muted);
  --border: var(--gs-border);
  --accent: var(--gs-accent);
  --accent2: var(--gs-accent-2);
  --danger: var(--gs-danger);
  --ok: var(--gs-ok);
  --warn: var(--gs-warn);
  --btn: var(--gs-accent);
  --btn2: var(--gs-accent-2);
  --r: var(--gs-radius-lg);
}

html[data-gsrv-theme="graphite"] {
  --gs-bg: #08090b; --gs-bg-2: #14171c; --gs-surface: rgba(24, 27, 33, .88); --gs-surface-2: rgba(13, 15, 18, .88);
  --gs-card: linear-gradient(180deg, rgba(30, 33, 40, .94), rgba(18, 21, 27, .76)); --gs-card-flat: rgba(24, 27, 33, .82);
  --gs-border: rgba(155, 163, 175, .34); --gs-border-strong: rgba(209, 213, 219, .28); --gs-text: #f7f7f8; --gs-muted: #b5bdc9; --gs-soft: #eef2f7;
  --gs-accent: #6b7280; --gs-accent-2: #38bdf8; --gs-link: #8bd8ff; --gs-focus: rgba(56, 189, 248, .22);
  --gs-page-bg: linear-gradient(180deg, #171a20 0%, #0c0e12 55%, #07080a 100%); --gs-nav-bg: linear-gradient(180deg, rgba(31,34,41,.98), rgba(16,18,23,.95));
}

html[data-gsrv-theme="alpine"] {
  --gs-bg: #07110f; --gs-bg-2: #10201c; --gs-surface: rgba(15, 37, 32, .86); --gs-surface-2: rgba(7, 18, 16, .9);
  --gs-card: linear-gradient(180deg, rgba(18, 47, 40, .94), rgba(10, 26, 23, .75)); --gs-card-flat: rgba(14, 38, 32, .82);
  --gs-border: rgba(94, 150, 132, .36); --gs-border-strong: rgba(167, 243, 208, .30); --gs-text: #f0fff9; --gs-muted: #a9c9bd; --gs-soft: #d8fff0;
  --gs-accent: #10b981; --gs-accent-2: #7dd3fc; --gs-link: #8debd0; --gs-ok: #34d399; --gs-focus: rgba(16, 185, 129, .24);
  --gs-page-bg: linear-gradient(180deg, #13241f 0%, #071411 58%, #040907 100%); --gs-nav-bg: linear-gradient(180deg, rgba(15, 39, 34, .98), rgba(8, 21, 18, .95));
}

html[data-gsrv-theme="harbor"] {
  --gs-bg: #071014; --gs-bg-2: #0d2028; --gs-surface: rgba(13, 37, 46, .88); --gs-surface-2: rgba(7, 19, 24, .9);
  --gs-card: linear-gradient(180deg, rgba(15, 47, 59, .94), rgba(8, 26, 33, .76)); --gs-card-flat: rgba(12, 35, 44, .83);
  --gs-border: rgba(95, 170, 188, .34); --gs-border-strong: rgba(165, 243, 252, .28); --gs-text: #f1fbff; --gs-muted: #a8c8d1; --gs-soft: #d9f8ff;
  --gs-accent: #0891b2; --gs-accent-2: #2dd4bf; --gs-link: #7be8ef; --gs-focus: rgba(8, 145, 178, .25);
  --gs-page-bg: linear-gradient(180deg, #10242c 0%, #06151b 58%, #03090c 100%); --gs-nav-bg: linear-gradient(180deg, rgba(13, 38, 47, .98), rgba(7, 20, 25, .95));
}

html[data-gsrv-theme="ember"] {
  --gs-bg: #150b08; --gs-bg-2: #281510; --gs-surface: rgba(47, 25, 18, .86); --gs-surface-2: rgba(22, 12, 9, .9);
  --gs-card: linear-gradient(180deg, rgba(61, 31, 22, .94), rgba(32, 16, 12, .75)); --gs-card-flat: rgba(46, 24, 18, .82);
  --gs-border: rgba(224, 128, 91, .32); --gs-border-strong: rgba(253, 186, 116, .30); --gs-text: #fff7ed; --gs-muted: #d5b7a6; --gs-soft: #ffedd5;
  --gs-accent: #f97316; --gs-accent-2: #f43f5e; --gs-link: #fdba74; --gs-warn: #fbbf24; --gs-focus: rgba(249, 115, 22, .24);
  --gs-page-bg: linear-gradient(180deg, #2a1710 0%, #130b08 58%, #080403 100%); --gs-nav-bg: linear-gradient(180deg, rgba(50, 27, 20, .98), rgba(22, 12, 9, .95));
}

html[data-gsrv-theme="orchard"] {
  --gs-bg: #0d0f08; --gs-bg-2: #1c2411; --gs-surface: rgba(35, 45, 22, .88); --gs-surface-2: rgba(15, 19, 10, .9);
  --gs-card: linear-gradient(180deg, rgba(43, 57, 27, .94), rgba(23, 30, 14, .76)); --gs-card-flat: rgba(34, 44, 22, .82);
  --gs-border: rgba(154, 184, 86, .36); --gs-border-strong: rgba(217, 249, 157, .28); --gs-text: #fbfff0; --gs-muted: #c3cea4; --gs-soft: #ecfccb;
  --gs-accent: #84cc16; --gs-accent-2: #22c55e; --gs-link: #bef264; --gs-focus: rgba(132, 204, 22, .22);
  --gs-page-bg: linear-gradient(180deg, #202a13 0%, #0d1208 58%, #050703 100%); --gs-nav-bg: linear-gradient(180deg, rgba(37, 48, 23, .98), rgba(17, 22, 10, .95));
}

html[data-gsrv-theme="aurora"] {
  --gs-bg: #081014; --gs-bg-2: #101b25; --gs-surface: rgba(17, 31, 42, .88); --gs-surface-2: rgba(7, 15, 20, .9);
  --gs-card: linear-gradient(180deg, rgba(22, 40, 54, .94), rgba(10, 23, 31, .76)); --gs-card-flat: rgba(17, 32, 43, .82);
  --gs-border: rgba(110, 231, 183, .28); --gs-border-strong: rgba(125, 211, 252, .28); --gs-text: #f2fff9; --gs-muted: #abc6cb; --gs-soft: #dcfce7;
  --gs-accent: #06b6d4; --gs-accent-2: #a3e635; --gs-link: #67e8f9; --gs-focus: rgba(6, 182, 212, .24);
  --gs-page-bg: linear-gradient(180deg, #13212a 0%, #071217 58%, #04090b 100%); --gs-nav-bg: linear-gradient(180deg, rgba(17, 33, 43, .98), rgba(8, 17, 23, .95));
}

html[data-gsrv-theme="rose"] {
  --gs-bg: #14080d; --gs-bg-2: #28111a; --gs-surface: rgba(48, 20, 31, .88); --gs-surface-2: rgba(21, 9, 14, .9);
  --gs-card: linear-gradient(180deg, rgba(62, 25, 40, .94), rgba(32, 13, 21, .76)); --gs-card-flat: rgba(47, 20, 31, .82);
  --gs-border: rgba(244, 114, 182, .30); --gs-border-strong: rgba(251, 207, 232, .24); --gs-text: #fff7fb; --gs-muted: #d7b1c1; --gs-soft: #fce7f3;
  --gs-accent: #e11d48; --gs-accent-2: #f59e0b; --gs-link: #f9a8d4; --gs-focus: rgba(225, 29, 72, .24);
  --gs-page-bg: linear-gradient(180deg, #2a111c 0%, #13080d 58%, #080305 100%); --gs-nav-bg: linear-gradient(180deg, rgba(52, 22, 34, .98), rgba(22, 9, 15, .95));
}

html[data-gsrv-theme="slate"] {
  --gs-bg: #070b10; --gs-bg-2: #101827; --gs-surface: rgba(17, 24, 39, .88); --gs-surface-2: rgba(7, 11, 16, .9);
  --gs-card: linear-gradient(180deg, rgba(24, 33, 49, .94), rgba(12, 18, 27, .76)); --gs-card-flat: rgba(17, 24, 39, .82);
  --gs-border: rgba(148, 163, 184, .30); --gs-border-strong: rgba(203, 213, 225, .24); --gs-text: #f8fafc; --gs-muted: #b3c0cf; --gs-soft: #e2e8f0;
  --gs-accent: #64748b; --gs-accent-2: #0ea5e9; --gs-link: #93c5fd; --gs-focus: rgba(14, 165, 233, .22);
  --gs-page-bg: linear-gradient(180deg, #151e2d 0%, #080d14 58%, #04070b 100%); --gs-nav-bg: linear-gradient(180deg, rgba(22, 31, 46, .98), rgba(9, 14, 22, .95));
}

html[data-gsrv-theme="circuit"] {
  --gs-bg: #06100c; --gs-bg-2: #0d1c15; --gs-surface: rgba(12, 32, 23, .88); --gs-surface-2: rgba(5, 15, 11, .92);
  --gs-card: linear-gradient(180deg, rgba(15, 41, 29, .94), rgba(7, 22, 15, .76)); --gs-card-flat: rgba(12, 31, 23, .82);
  --gs-border: rgba(74, 222, 128, .32); --gs-border-strong: rgba(134, 239, 172, .26); --gs-text: #ecfff4; --gs-muted: #9fc8af; --gs-soft: #dcfce7;
  --gs-accent: #16a34a; --gs-accent-2: #22d3ee; --gs-link: #86efac; --gs-focus: rgba(34, 211, 238, .22);
  --gs-page-bg: linear-gradient(180deg, #112319 0%, #06120d 58%, #020804 100%); --gs-nav-bg: linear-gradient(180deg, rgba(13, 34, 24, .98), rgba(5, 18, 12, .95));
}

html[data-gsrv-theme="midnight"] {
  --gs-bg: #050813; --gs-bg-2: #0b1224; --gs-surface: rgba(12, 20, 40, .88); --gs-surface-2: rgba(5, 9, 18, .92);
  --gs-card: linear-gradient(180deg, rgba(17, 27, 52, .94), rgba(8, 14, 28, .76)); --gs-card-flat: rgba(12, 20, 40, .82);
  --gs-border: rgba(96, 165, 250, .30); --gs-border-strong: rgba(191, 219, 254, .24); --gs-text: #f5f9ff; --gs-muted: #aabbd4; --gs-soft: #dbeafe;
  --gs-accent: #2563eb; --gs-accent-2: #f472b6; --gs-link: #93c5fd; --gs-focus: rgba(37, 99, 235, .24);
  --gs-page-bg: linear-gradient(180deg, #101a34 0%, #050b18 58%, #02040a 100%); --gs-nav-bg: linear-gradient(180deg, rgba(14, 24, 47, .98), rgba(6, 12, 25, .95));
}

html[data-gsrv-theme="sunset"] {
  --gs-bg: #150b11; --gs-bg-2: #2a1624; --gs-surface: rgba(48, 25, 41, .88); --gs-surface-2: rgba(22, 11, 18, .9);
  --gs-card: linear-gradient(180deg, rgba(63, 33, 53, .94), rgba(33, 17, 28, .76)); --gs-card-flat: rgba(48, 25, 41, .82);
  --gs-border: rgba(251, 146, 60, .28); --gs-border-strong: rgba(244, 114, 182, .24); --gs-text: #fff8f4; --gs-muted: #d5b3bf; --gs-soft: #ffe4e6;
  --gs-accent: #fb7185; --gs-accent-2: #f97316; --gs-link: #fdba74; --gs-focus: rgba(251, 113, 133, .24);
  --gs-page-bg: linear-gradient(180deg, #2a1825 0%, #140a10 58%, #070306 100%); --gs-nav-bg: linear-gradient(180deg, rgba(52, 28, 45, .98), rgba(22, 11, 18, .95));
}

html[data-gsrv-theme="frost"] {
  --gs-bg: #061014; --gs-bg-2: #0f1d24; --gs-surface: rgba(16, 33, 42, .88); --gs-surface-2: rgba(6, 17, 22, .9);
  --gs-card: linear-gradient(180deg, rgba(22, 45, 56, .94), rgba(10, 25, 32, .76)); --gs-card-flat: rgba(16, 33, 42, .82);
  --gs-border: rgba(186, 230, 253, .30); --gs-border-strong: rgba(224, 242, 254, .26); --gs-text: #f4fdff; --gs-muted: #b3c9d0; --gs-soft: #e0f2fe;
  --gs-accent: #38bdf8; --gs-accent-2: #a7f3d0; --gs-link: #bae6fd; --gs-focus: rgba(56, 189, 248, .22);
  --gs-page-bg: linear-gradient(180deg, #13242d 0%, #06151b 58%, #03090c 100%); --gs-nav-bg: linear-gradient(180deg, rgba(18, 37, 46, .98), rgba(7, 18, 24, .95));
}

html[data-gsrv-theme="violet"] {
  --gs-bg: #0f0916; --gs-bg-2: #21152e; --gs-surface: rgba(37, 25, 52, .88); --gs-surface-2: rgba(16, 10, 24, .9);
  --gs-card: linear-gradient(180deg, rgba(49, 33, 69, .94), rgba(25, 16, 37, .76)); --gs-card-flat: rgba(37, 25, 52, .82);
  --gs-border: rgba(196, 181, 253, .30); --gs-border-strong: rgba(233, 213, 255, .24); --gs-text: #fcf8ff; --gs-muted: #c6b5d8; --gs-soft: #f3e8ff;
  --gs-accent: #a855f7; --gs-accent-2: #22c55e; --gs-link: #d8b4fe; --gs-focus: rgba(168, 85, 247, .23);
  --gs-page-bg: linear-gradient(180deg, #251735 0%, #100917 58%, #07040a 100%); --gs-nav-bg: linear-gradient(180deg, rgba(42, 28, 59, .98), rgba(18, 11, 27, .95));
}

html[data-gsrv-theme="lagoon"] {
  --gs-bg: #06120f; --gs-bg-2: #10251f; --gs-surface: rgba(15, 44, 37, .88); --gs-surface-2: rgba(6, 19, 16, .9);
  --gs-card: linear-gradient(180deg, rgba(19, 56, 47, .94), rgba(9, 29, 24, .76)); --gs-card-flat: rgba(15, 43, 36, .82);
  --gs-border: rgba(45, 212, 191, .32); --gs-border-strong: rgba(153, 246, 228, .26); --gs-text: #effffb; --gs-muted: #a6c9c0; --gs-soft: #ccfbf1;
  --gs-accent: #14b8a6; --gs-accent-2: #60a5fa; --gs-link: #5eead4; --gs-focus: rgba(20, 184, 166, .23);
  --gs-page-bg: linear-gradient(180deg, #132a24 0%, #061512 58%, #030806 100%); --gs-nav-bg: linear-gradient(180deg, rgba(16, 46, 39, .98), rgba(7, 20, 17, .95));
}

html[data-gsrv-theme="forge"] {
  --gs-bg: #100d0a; --gs-bg-2: #201a14; --gs-surface: rgba(38, 31, 24, .88); --gs-surface-2: rgba(17, 14, 10, .9);
  --gs-card: linear-gradient(180deg, rgba(50, 40, 31, .94), rgba(26, 21, 16, .76)); --gs-card-flat: rgba(38, 31, 24, .82);
  --gs-border: rgba(202, 138, 4, .30); --gs-border-strong: rgba(253, 224, 71, .22); --gs-text: #fffaf0; --gs-muted: #d0c0a8; --gs-soft: #fef3c7;
  --gs-accent: #ca8a04; --gs-accent-2: #06b6d4; --gs-link: #facc15; --gs-focus: rgba(202, 138, 4, .22);
  --gs-page-bg: linear-gradient(180deg, #231c14 0%, #100c08 58%, #070503 100%); --gs-nav-bg: linear-gradient(180deg, rgba(42, 34, 25, .98), rgba(19, 15, 10, .95));
}

html[data-gsrv-theme="cobalt"] {
  --gs-bg: #070d17; --gs-bg-2: #101d31; --gs-surface: rgba(17, 33, 56, .88); --gs-surface-2: rgba(7, 14, 24, .9);
  --gs-card: linear-gradient(180deg, rgba(23, 43, 72, .94), rgba(11, 22, 38, .76)); --gs-card-flat: rgba(17, 33, 56, .82);
  --gs-border: rgba(96, 165, 250, .32); --gs-border-strong: rgba(147, 197, 253, .26); --gs-text: #f5f9ff; --gs-muted: #aebed5; --gs-soft: #dbeafe;
  --gs-accent: #1d4ed8; --gs-accent-2: #f97316; --gs-link: #93c5fd; --gs-focus: rgba(29, 78, 216, .24);
  --gs-page-bg: linear-gradient(180deg, #13233d 0%, #07101f 58%, #03070e 100%); --gs-nav-bg: linear-gradient(180deg, rgba(18, 35, 60, .98), rgba(8, 16, 30, .95));
}

html[data-gsrv-theme="meadow"] {
  --gs-bg: #071108; --gs-bg-2: #112112; --gs-surface: rgba(19, 41, 22, .88); --gs-surface-2: rgba(7, 18, 8, .9);
  --gs-card: linear-gradient(180deg, rgba(24, 53, 28, .94), rgba(11, 27, 12, .76)); --gs-card-flat: rgba(18, 40, 21, .82);
  --gs-border: rgba(74, 222, 128, .30); --gs-border-strong: rgba(187, 247, 208, .24); --gs-text: #f4fff5; --gs-muted: #acc9ae; --gs-soft: #dcfce7;
  --gs-accent: #22c55e; --gs-accent-2: #eab308; --gs-link: #86efac; --gs-focus: rgba(34, 197, 94, .23);
  --gs-page-bg: linear-gradient(180deg, #162817 0%, #071308 58%, #030803 100%); --gs-nav-bg: linear-gradient(180deg, rgba(20, 45, 24, .98), rgba(8, 20, 9, .95));
}

html[data-gsrv-theme="crimson"] {
  --gs-bg: #120708; --gs-bg-2: #250e10; --gs-surface: rgba(44, 18, 20, .88); --gs-surface-2: rgba(19, 8, 9, .9);
  --gs-card: linear-gradient(180deg, rgba(58, 23, 26, .94), rgba(30, 12, 13, .76)); --gs-card-flat: rgba(43, 18, 20, .82);
  --gs-border: rgba(248, 113, 113, .30); --gs-border-strong: rgba(254, 202, 202, .24); --gs-text: #fff7f7; --gs-muted: #d1adad; --gs-soft: #fee2e2;
  --gs-accent: #dc2626; --gs-accent-2: #14b8a6; --gs-link: #fca5a5; --gs-focus: rgba(220, 38, 38, .24);
  --gs-page-bg: linear-gradient(180deg, #2a1113 0%, #120708 58%, #070303 100%); --gs-nav-bg: linear-gradient(180deg, rgba(49, 20, 22, .98), rgba(21, 8, 9, .95));
}

html[data-gsrv-theme="mono-light"] {
  color-scheme: light;
  --gs-bg: #eef2f7; --gs-bg-2: #f8fafc; --gs-surface: rgba(255, 255, 255, .92); --gs-surface-2: rgba(241, 245, 249, .96);
  --gs-card: linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92)); --gs-card-flat: #ffffff;
  --gs-border: rgba(100, 116, 139, .25); --gs-border-strong: rgba(51, 65, 85, .20); --gs-text: #111827; --gs-muted: #5f6f84; --gs-soft: #1f2937;
  --gs-accent: #2563eb; --gs-accent-2: #0f766e; --gs-link: #0f766e; --gs-ok: #15803d; --gs-warn: #b45309; --gs-danger: #b91c1c; --gs-focus: rgba(37, 99, 235, .18);
  --gs-page-bg: linear-gradient(180deg, #f8fafc 0%, #eef2f7 56%, #e5eaf1 100%); --gs-nav-bg: linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,245,249,.95));
  --gs-button-text: #ffffff;
}

html[data-gsrv-theme="high-contrast"] {
  --gs-bg: #000000; --gs-bg-2: #0a0a0a; --gs-surface: rgba(0, 0, 0, .96); --gs-surface-2: rgba(10, 10, 10, .96);
  --gs-card: linear-gradient(180deg, rgba(18,18,18,.98), rgba(0,0,0,.92)); --gs-card-flat: #090909;
  --gs-border: rgba(255, 255, 255, .38); --gs-border-strong: rgba(255, 255, 255, .62); --gs-text: #ffffff; --gs-muted: #d4d4d8; --gs-soft: #ffffff;
  --gs-accent: #facc15; --gs-accent-2: #22d3ee; --gs-link: #67e8f9; --gs-ok: #4ade80; --gs-warn: #facc15; --gs-danger: #fb7185; --gs-focus: rgba(250, 204, 21, .28);
  --gs-page-bg: linear-gradient(180deg, #090909 0%, #000 100%); --gs-nav-bg: linear-gradient(180deg, rgba(16,16,16,.98), rgba(0,0,0,.96));
  --gs-button-text: #000000;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--gs-bg); }
body {
  min-height: 100vh;
  color: var(--gs-text) !important;
  background: var(--gs-page-bg) !important;
  font-family: var(--gs-font) !important;
  letter-spacing: 0 !important;
}

a { color: var(--gs-link); }
a:hover { color: var(--gs-soft); }

.top,
.brand,
.header,
.page-head,
.hero,
.gsrv-uniform-nav-wrap {
  border-color: var(--gs-border) !important;
  background: var(--gs-nav-bg) !important;
  color: var(--gs-text) !important;
  box-shadow: var(--gs-shadow-soft) !important;
  border-radius: var(--gs-radius-lg) !important;
}

.wrap,
.shell,
.container,
main {
  color: var(--gs-text);
}

.card,
.panel,
.box,
.status,
.tile,
.metric,
.kpi,
.toolkit-item,
.toolkit-kpi > div,
.toolkit-toggle-row,
.modexp-tile,
.gs-v2-shell,
.gs-v2-sidebar,
.gs-v2-content,
.gs-v2-section-title,
.gs-v3-lane-empty,
.gs-v3-workflow,
.gsrv-card {
  border-color: var(--gs-border) !important;
  background: var(--gs-card) !important;
  color: var(--gs-text) !important;
  border-radius: var(--gs-radius-lg) !important;
  box-shadow: var(--gs-shadow-soft);
}

.card:hover,
.panel:hover,
.box:hover,
.gs-v3-workflow:hover,
.gsrv-nav-btn:hover {
  border-color: color-mix(in srgb, var(--gs-accent-2) 62%, var(--gs-border)) !important;
}

.muted,
.sub,
.hint,
.note,
.small,
.guildId,
.pill,
label {
  color: var(--gs-muted) !important;
}

h1, h2, h3, h4, h5, h6,
.name,
.guildName,
.title {
  color: var(--gs-text) !important;
  letter-spacing: 0 !important;
}

input,
textarea,
select {
  color: var(--gs-text) !important;
  background: var(--gs-surface-2) !important;
  border: 1px solid var(--gs-border) !important;
  border-radius: var(--gs-radius) !important;
  box-shadow: none !important;
  outline: none !important;
}

input:focus,
textarea:focus,
select:focus,
button:focus-visible,
a:focus-visible,
.btn:focus-visible {
  border-color: var(--gs-accent-2) !important;
  box-shadow: 0 0 0 3px var(--gs-focus) !important;
  outline: none !important;
}

button,
.btn,
a.btn,
.top-actions a,
.gsrv-nav-btn,
.gsrv-nav-back,
.gs-v2-tab,
.gs-v3-workflow {
  border-radius: var(--gs-radius) !important;
  border: 1px solid color-mix(in srgb, var(--gs-accent) 44%, var(--gs-border)) !important;
  background: var(--gs-button-bg) !important;
  color: var(--gs-button-text) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

button.secondary,
.btn.secondary,
.secondary,
button.ghost,
.btn.ghost,
.gsrv-nav-btn,
.gs-v2-tab,
.gs-v3-workflow {
  background: var(--gs-button-alt-bg) !important;
  color: var(--gs-text) !important;
  border-color: var(--gs-border) !important;
}

button.danger,
.btn.danger,
.danger {
  background: linear-gradient(180deg, var(--gs-danger), color-mix(in srgb, var(--gs-danger) 72%, #000)) !important;
  color: #fff !important;
}

button.warn,
.btn.warn,
.warn:not(.note):not(.pill) {
  background: linear-gradient(180deg, var(--gs-warn), color-mix(in srgb, var(--gs-warn) 70%, #000)) !important;
}

.ok,
.good,
.note.ok {
  color: var(--gs-ok) !important;
}
.warn,
.note.warn {
  color: var(--gs-warn) !important;
}
.bad,
.badText,
.err,
.note.bad {
  color: var(--gs-danger) !important;
}

.pill,
code,
pre {
  border-color: var(--gs-border) !important;
  background: var(--gs-surface-2) !important;
  color: var(--gs-soft) !important;
  border-radius: var(--gs-radius) !important;
}

pre {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03);
}

table {
  color: var(--gs-text) !important;
  border-collapse: separate;
}

th,
td {
  color: var(--gs-text) !important;
  background: var(--gs-surface-2) !important;
  border-color: var(--gs-border) !important;
}

th {
  color: var(--gs-muted) !important;
}

.gsrv-nav-brand-mark,
.icon,
.gs-v2-logo,
.dot {
  background: linear-gradient(135deg, var(--gs-accent), var(--gs-accent-2)) !important;
  color: var(--gs-button-text) !important;
}

.gs-v2-tab.active,
.gs-v3-workflow.active,
.gs-v3-workflow[aria-pressed="true"] {
  border-color: color-mix(in srgb, var(--gs-accent-2) 65%, var(--gs-border)) !important;
  background: linear-gradient(180deg, color-mix(in srgb, var(--gs-accent) 58%, var(--gs-surface)), color-mix(in srgb, var(--gs-accent-2) 24%, var(--gs-surface-2))) !important;
  color: var(--gs-text) !important;
}

.gs-theme-controls {
  display: grid;
  gap: 12px;
  margin-top: 10px;
}

.gs-theme-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.gs-theme-swatches {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 8px;
}

.gs-theme-swatch {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 7px 8px;
  border: 1px solid var(--gs-border);
  border-radius: var(--gs-radius);
  background: var(--gs-surface);
  color: var(--gs-text);
  cursor: pointer;
  text-align: left;
}

.gs-theme-swatch.active {
  border-color: var(--gs-accent-2);
  box-shadow: 0 0 0 3px var(--gs-focus);
}

.gs-theme-chip {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, .20);
  background: linear-gradient(135deg, var(--chip-a, var(--gs-accent)), var(--chip-b, var(--gs-accent-2)));
}

.gs-theme-name {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.15;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 720px) {
  body { padding-left: max(10px, env(safe-area-inset-left)); padding-right: max(10px, env(safe-area-inset-right)); }
  .top,
  .brand,
  .header,
  .page-head {
    align-items: flex-start !important;
  }
  .gs-theme-toolbar {
    grid-template-columns: 1fr;
  }
  .gs-theme-swatches {
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  }
}
