/* ═══════════════════════════════════════════════════════════════
   The Guests — shared design system
   Loaded by every page BEFORE the page's own <style> block, so
   page-level rules can still override where needed.
   ═══════════════════════════════════════════════════════════════ */

/* ── Design tokens ─────────────────────────────────────────────── */
:root {
  --bg: #F4F6F8;
  --card: #FFFFFF;
  --text: #1A2332;
  --muted: #7C8591;
  --border: #E2E5E9;
  --accent: #2D6A4F;
  --accent-hover: #1B4332;
  --green-light: #3A7D5C;
  --gold: #C9A96E;
  --danger: #DC4C4C;
  --danger-hover: #B93E3E;
  --warning: #E8A020;
  --info: #2563EB;
  --success: #16A34A;
  --buyback: #C9A96E;
  --buyback-hover: #B08A3E;
  --token-bg: #F8FAFB;
  --token-hover: #E8F5EE;
  --rarity-common: #7C8591;
  --rarity-uncommon: #2D6A4F;
  --rarity-rare: #3B6EA8;
  --rarity-epic: #7A5EA8;
  --rarity-legendary: #B08A3E;
  --radius: 12px;
  --radius-sm: 8px;
  --shadow: 0 1px 3px rgba(26,35,50,0.06), 0 4px 12px rgba(26,35,50,0.05);
  --shadow-lg: 0 8px 32px rgba(0,0,0,0.2);
  --scrim: rgba(0,0,0,0.55);
  --header-gradient: linear-gradient(135deg,#1B4332 0%,#2D6A4F 50%,#3A7D5C 100%);
  --btn-fg: #fff;
}

body.dark-mode {
  --bg: #0F1419;
  --card: #1C2128;
  --text: #E6EDF3;
  --muted: #8B949E;
  --border: #30363D;
  --accent: #56D88E;
  --accent-hover: #7EE8AC;
  --green-light: #3A7D5C;
  --gold: #D4A853;
  --danger: #E06060;
  --danger-hover: #EB7A7A;
  --warning: #E8A020;
  --info: #5B8DEF;
  --success: #3FB960;
  --buyback: #D4A853;
  --buyback-hover: #E0BC7E;
  --token-bg: #161B22;
  --token-hover: #1C2E22;
  --rarity-common: #8B949E;
  --rarity-uncommon: #56D88E;
  --rarity-rare: #6CA6E0;
  --rarity-epic: #A78BD4;
  --rarity-legendary: #D4A853;
  --scrim: rgba(0,0,0,0.65);
  --shadow: 0 1px 3px rgba(0,0,0,0.3), 0 4px 12px rgba(0,0,0,0.25);
  --btn-fg: #0F1419; /* dark text on the bright dark-mode accent */
}

/* ── Base ──────────────────────────────────────────────────────── */
body {
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  background: var(--bg);
  color: var(--text);
}

/* ── Buttons (base + canonical modifiers; page CSS may extend) ── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  padding: 10px 18px;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  transition: background 0.15s, opacity 0.15s, transform 0.1s;
  background: var(--accent);
  color: var(--btn-fg);
}
.btn:hover { background: var(--accent-hover); }
.btn:active { transform: translateY(1px); }
.btn.secondary, .btn.cancel {
  background: var(--card);
  color: var(--text);
  border: 1px solid var(--border);
}
.btn.secondary:hover, .btn.cancel:hover { background: var(--token-hover); }
.btn.danger, .btn.delete { background: var(--danger); color: #fff; }
.btn.danger:hover, .btn.delete:hover { background: var(--danger-hover); }
.btn.buyback { background: var(--buyback); color: #1B4332; }
.btn.buyback:hover { background: var(--buyback-hover); }
.btn.sm { font-size: 12px; padding: 6px 12px; }
.btn:disabled { opacity: 0.5; cursor: not-allowed; }

/* ── Modal scrim (canonical opacity for every overlay) ─────────── */
.modal-scrim { background: var(--scrim); }

/* ── CSS icon system ───────────────────────────────────────────────
   Usage: <span class="ico ico-flag"></span>
   Icons inherit currentColor; size with font-size on the parent or
   width/height on the span itself. */
.ico {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: -0.15em;
  background-color: currentColor;
  flex-shrink: 0;
  -webkit-mask-image: var(--i);
  mask-image: var(--i);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.ico-flag    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><line x1='4' y1='1' x2='4' y2='15' stroke='black' stroke-width='1.5' stroke-linecap='round'/><path d='M4 1L13 5L4 9Z' fill='black'/></svg>"); }
.ico-globe   { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.3'><circle cx='8' cy='8' r='6'/><path d='M8 2C6 4 6 12 8 14C10 12 10 4 8 2'/><line x1='2' y1='6' x2='14' y2='6'/><line x1='2' y1='10' x2='14' y2='10'/></svg>"); }
.ico-lock    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='2.5' y='7' width='11' height='8.5' rx='1.5' fill='black'/><path d='M5.5 7V5.5A2.5 2.5 0 0110.5 5.5V7' fill='none' stroke='black' stroke-width='1.5'/></svg>"); }
.ico-list    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='2' y='1' width='12' height='14' rx='1.5' fill='none' stroke='black' stroke-width='1.5'/><rect x='4' y='5' width='8' height='1.5' rx='.5' fill='black'/><rect x='4' y='8' width='8' height='1.5' rx='.5' fill='black'/><rect x='4' y='11' width='5' height='1.5' rx='.5' fill='black'/></svg>"); }
.ico-signal  { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'><path d='M1.5 12C4 8 12 8 14.5 12'/><path d='M4 10C5.8 8 10.2 8 12 10'/><circle cx='8' cy='13.5' r='1.3' fill='black' stroke='none'/></svg>"); }
.ico-pin     { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M8 1.5C5 1.5 2.5 4 2.5 6.5c0 3.8 5.5 8 5.5 8s5.5-4.2 5.5-8C13.5 4 11 1.5 8 1.5ZM6 6a2 2 0 1 0 4 0a2 2 0 1 0-4 0Z' fill='black'/></svg>"); }
.ico-check   { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M2 8.5l4 4 8-8'/></svg>"); }
.ico-cross   { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'><path d='M3 3l10 10M13 3L3 13'/></svg>"); }
.ico-gear    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><path d='M8 5a3 3 0 1 0 0 6A3 3 0 0 0 8 5Zm0 1.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z'/><path d='M8 0a.75.75 0 0 0-.75.75v.87a5.5 5.5 0 0 0-1.6.66l-.61-.62a.75.75 0 0 0-1.06 1.06l.62.61A5.5 5.5 0 0 0 3.98 5H3.12a.75.75 0 0 0 0 1.5h.87a5.5 5.5 0 0 0 .65 1.58l-.62.62a.75.75 0 0 0 1.06 1.06l.62-.62a5.5 5.5 0 0 0 1.55.65v.88a.75.75 0 0 0 1.5 0v-.87a5.5 5.5 0 0 0 1.6-.66l.61.62a.75.75 0 0 0 1.06-1.06l-.62-.61A5.5 5.5 0 0 0 12.02 7h.86a.75.75 0 0 0 0-1.5h-.87a5.5 5.5 0 0 0-.65-1.58l.62-.62A.75.75 0 0 0 10.92 2.24l-.62.62A5.5 5.5 0 0 0 8.75 2.24V1.38a.75.75 0 0 0-.75-.75Z'/></svg>"); }
.ico-warn    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'><path d='M8 2L1.5 13.5h13L8 2z'/><line x1='8' y1='7' x2='8' y2='10'/><circle cx='8' cy='12' r='.7' fill='black' stroke='none'/></svg>"); }
.ico-search  { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round'><circle cx='6.5' cy='6.5' r='4.5'/><line x1='9.9' y1='9.9' x2='14' y2='14'/></svg>"); }
.ico-sun     { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='3.2' fill='black'/><g stroke='black' stroke-width='1.4' stroke-linecap='round'><line x1='8' y1='1' x2='8' y2='2.6'/><line x1='8' y1='13.4' x2='8' y2='15'/><line x1='1' y1='8' x2='2.6' y2='8'/><line x1='13.4' y1='8' x2='15' y2='8'/><line x1='3.05' y1='3.05' x2='4.2' y2='4.2'/><line x1='11.8' y1='11.8' x2='12.95' y2='12.95'/><line x1='12.95' y1='3.05' x2='11.8' y2='4.2'/><line x1='4.2' y1='11.8' x2='3.05' y2='12.95'/></g></svg>"); }
.ico-moon    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M13.8 9.7A6.3 6.3 0 1 1 6.3 2.2a5.1 5.1 0 0 0 7.5 7.5Z' fill='black'/></svg>"); }
.ico-trophy  { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 1.5h8V5a4 4 0 0 1-8 0Z' fill='black'/><path d='M4 2.5H1.5v1a3 3 0 0 0 3 3M12 2.5h2.5v1a3 3 0 0 1-3 3' fill='none' stroke='black' stroke-width='1.3'/><rect x='7' y='8.6' width='2' height='2.6' fill='black'/><rect x='4.5' y='11.2' width='7' height='2.6' rx='.8' fill='black'/></svg>"); }
.ico-coin    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='6.2' fill='none' stroke='black' stroke-width='1.6'/><circle cx='8' cy='8' r='3' fill='black'/></svg>"); }
.ico-swords  { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'><line x1='3' y1='2.5' x2='12.5' y2='12'/><line x1='13' y1='2.5' x2='3.5' y2='12'/><line x1='10.8' y1='13.8' x2='13.8' y2='10.8'/><line x1='2.2' y1='10.8' x2='5.2' y2='13.8'/></svg>"); }
.ico-calendar{ --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='2' y='3' width='12' height='11.5' rx='1.5' fill='none' stroke='black' stroke-width='1.4'/><line x1='2' y1='6.5' x2='14' y2='6.5' stroke='black' stroke-width='1.4'/><line x1='5' y1='1.5' x2='5' y2='4' stroke='black' stroke-width='1.4' stroke-linecap='round'/><line x1='11' y1='1.5' x2='11' y2='4' stroke='black' stroke-width='1.4' stroke-linecap='round'/></svg>"); }
.ico-users   { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><circle cx='5.5' cy='5' r='2.5'/><path d='M1 13.5a4.5 4.5 0 0 1 9 0Z'/><circle cx='11.8' cy='5.5' r='2'/><path d='M11.3 9.6a4 4 0 0 1 3.7 3.9h-3.5a5.4 5.4 0 0 0-1.6-3.5 4 4 0 0 1 1.4-.4Z'/></svg>"); }
.ico-chart   { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><rect x='2.5' y='8' width='2.6' height='6' rx='.6'/><rect x='6.7' y='3.5' width='2.6' height='10.5' rx='.6'/><rect x='10.9' y='6' width='2.6' height='8' rx='.6'/></svg>"); }
.ico-clock   { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.5'><circle cx='8' cy='8' r='6'/><path d='M8 4.5V8l2.5 1.5' stroke-linecap='round'/></svg>"); }
.ico-target  { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='6' fill='none' stroke='black' stroke-width='1.4'/><circle cx='8' cy='8' r='3.2' fill='none' stroke='black' stroke-width='1.4'/><circle cx='8' cy='8' r='1' fill='black'/></svg>"); }
.ico-refresh { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'><path d='M13.5 8a5.5 5.5 0 1 1-1.6-3.9'/><path d='M13.8 1.6v3.1h-3.1' stroke-linejoin='round'/></svg>"); }
.ico-home    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M2.5 7.5L8 2.5l5.5 5V14a.8.8 0 0 1-.8.8H9.8V10H6.2v4.8H3.3a.8.8 0 0 1-.8-.8Z' fill='black'/></svg>"); }
.ico-bolt    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M9 1L3 9.5h4L7 15l6-8.5H9Z' fill='black'/></svg>"); }
.ico-upload  { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'><path d='M8 10V2.5M5 5l3-3 3 3' stroke-linejoin='round'/><path d='M2.5 10.5V13a1.5 1.5 0 0 0 1.5 1.5h8a1.5 1.5 0 0 0 1.5-1.5v-2.5'/></svg>"); }
.ico-clipboard{ --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><rect x='3' y='2.5' width='10' height='12' rx='1.5' fill='none' stroke='black' stroke-width='1.4'/><rect x='5.5' y='1' width='5' height='3' rx='1' fill='black'/><line x1='5.5' y1='7.5' x2='10.5' y2='7.5' stroke='black' stroke-width='1.4' stroke-linecap='round'/><line x1='5.5' y1='10.5' x2='10.5' y2='10.5' stroke='black' stroke-width='1.4' stroke-linecap='round'/></svg>"); }
.ico-drop    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 1.5C8 1.5 3 7 3 10a5 5 0 0 0 10 0C13 7 8 1.5 8 1.5Z' fill='black'/></svg>"); }
.ico-tree    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M8 .8L3.5 7h2L2.5 11.8h11L10.5 7h2Z' fill='black'/><rect x='7' y='11.8' width='2' height='3.4' fill='black'/></svg>"); }
.ico-mountain{ --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M1.5 13.5L6 4.5l3 5.5 2-3.5 3.5 7Z' fill='black'/></svg>"); }
.ico-arrow-left { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M13 8H3M7 3.5L2.5 8L7 12.5'/></svg>"); }
.ico-arrow-right{ --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 8h10M9 3.5L13.5 8L9 12.5'/></svg>"); }
.ico-arrow-up   { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 13V3M3.5 7L8 2.5L12.5 7'/></svg>"); }
.ico-arrow-down { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 3v10M3.5 9L8 13.5L12.5 9'/></svg>"); }
.ico-swap    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M5 13.5V3M2 6l3-3 3 3'/><path d='M11 2.5V13M8 10l3 3 3-3'/></svg>"); }
.ico-menu    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' stroke='black' stroke-width='1.8' stroke-linecap='round'><line x1='2.5' y1='4' x2='13.5' y2='4'/><line x1='2.5' y1='8' x2='13.5' y2='8'/><line x1='2.5' y1='12' x2='13.5' y2='12'/></svg>"); }
.ico-medal   { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><path d='M4.5 1H7l1 2.6L9 1h2.5L9.7 5.9a4.5 4.5 0 0 0-3.4 0Z'/><circle cx='8' cy='10' r='4'/></svg>"); }
.ico-crown   { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><path d='M2 11.5h12L15 4.5l-3.6 2.6L8 2 4.6 7.1 1 4.5Z'/><rect x='2' y='12.7' width='12' height='1.6' rx='.6'/></svg>"); }
.ico-play    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4.5 2.5v11L13 8Z' fill='black'/></svg>"); }
.ico-plus    { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' stroke='black' stroke-width='1.8' stroke-linecap='round'><path d='M8 2.5v11M2.5 8h11'/></svg>"); }
.ico-pencil  { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M2 14l.8-3.2L10.6 3a1.7 1.7 0 0 1 2.4 2.4L5.2 13.2Z' fill='black'/></svg>"); }
.ico-trash   { --i: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='black'><path d='M3.2 4.8h9.6l-.7 9.3a1.5 1.5 0 0 1-1.5 1.4H5.4a1.5 1.5 0 0 1-1.5-1.4Z'/><rect x='1.8' y='2.6' width='12.4' height='1.5' rx='.5'/><rect x='6' y='.8' width='4' height='1.5' rx='.5'/></svg>"); }

/* ── Toast notifications ───────────────────────────────────────── */
#sharedToastWrap {
  position: fixed;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 10000;
  pointer-events: none;
}
.shared-toast {
  pointer-events: auto;
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--card);
  color: var(--text);
  border: 1px solid var(--border);
  border-left: 3px solid var(--accent);
  border-radius: var(--radius-sm);
  padding: 12px 16px;
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.4;
  max-width: min(420px, calc(100vw - 32px));
  opacity: 1;
  transform: none;
  transition: opacity 0.25s, transform 0.25s;
}
.shared-toast .ico { font-size: 15px; }
.shared-toast.success { border-left-color: var(--success); }
.shared-toast.success .ico { color: var(--success); }
.shared-toast.error { border-left-color: var(--danger); }
.shared-toast.error .ico { color: var(--danger); }
.shared-toast.warning { border-left-color: var(--warning); }
.shared-toast.warning .ico { color: var(--warning); }
.shared-toast.info .ico { color: var(--info); }
.shared-toast.entering { opacity: 0; transform: translateY(8px); }
.shared-toast.leaving { opacity: 0; transform: translateY(6px); }

/* ── Confirm dialog ────────────────────────────────────────────── */
.shared-confirm-overlay {
  position: fixed;
  inset: 0;
  background: var(--scrim);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10001;
  padding: 16px;
}
.shared-confirm-box {
  background: var(--card);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 22px;
  max-width: 400px;
  width: 100%;
  box-shadow: var(--shadow-lg);
}
.shared-confirm-title { font-weight: 700; font-size: 16px; margin-bottom: 8px; }
.shared-confirm-msg {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.5;
  margin-bottom: 18px;
  white-space: pre-line;
}
.shared-confirm-actions { display: flex; gap: 10px; justify-content: flex-end; }

/* ── Theme toggle ──────────────────────────────────────────────── */
.themeBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.2);
  color: #fff;
  padding: 6px 9px;
  border-radius: var(--radius-sm);
  cursor: pointer;
  font-size: 15px;
  line-height: 1;
}
.themeBtn:hover { background: rgba(255,255,255,0.2); }

/* ── Dark-mode scrollbars ──────────────────────────────────────── */
body.dark-mode ::-webkit-scrollbar { width: 8px; height: 8px; }
body.dark-mode ::-webkit-scrollbar-track { background: #161B22; }
body.dark-mode ::-webkit-scrollbar-thumb { background: #30363D; border-radius: 4px; }
body.dark-mode ::-webkit-scrollbar-thumb:hover { background: #484F58; }
