/* FreeCut's public theme tokens, aligned with the site's wallet palette. */
:root {
  --background: #0b1020 !important;
  --foreground: #f4f7fb !important;
  --card: #171e33 !important;
  --card-foreground: #f4f7fb !important;
  --popover: #1c2438 !important;
  --popover-foreground: #f4f7fb !important;
  --primary: #7c6cf6 !important;
  --primary-foreground: #fff !important;
  --secondary: #1c2438 !important;
  --secondary-foreground: #f4f7fb !important;
  --muted: #171e33 !important;
  --muted-foreground: #8b95a7 !important;
  --accent: #282c50 !important;
  --accent-foreground: #c4b5fd !important;
  --border: rgba(255,255,255,.08) !important;
  --ring: #7c6cf6 !important;
  --radius: .75rem !important;
  color-scheme: dark;
}
html[data-mode="light"] {
  --background: #f4f6fb !important; --foreground: #1c2434 !important;
  --card: #fff !important; --card-foreground: #1c2434 !important;
  --popover: #fff !important; --popover-foreground: #1c2434 !important;
  --primary: #4f46e5 !important; --secondary: #f8f9fd !important;
  --secondary-foreground: #1c2434 !important; --muted: #f8f9fd !important;
  --muted-foreground: #6b7280 !important; --accent: #edecfc !important;
  --accent-foreground: #4f46e5 !important; --border: rgba(28,36,52,.08) !important;
  --ring: #4f46e5 !important; color-scheme: light;
}
html, body { background: var(--background) !important; color: var(--foreground) !important; }
button, a, input, select { -webkit-tap-highlight-color: transparent; }
button, a { touch-action: manipulation; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--ring); outline-offset: 3px; }
#boot-loading svg { fill: var(--primary) !important; }
#root > .min-h-screen > .max-w-lg { padding: 28px; border: 1px solid var(--border); border-radius: 18px; background: var(--card); }
#root > .min-h-screen button, #root > .min-h-screen a { min-height: 44px; border-radius: 10px; }
@media(max-width:720px) {
  #root > .min-h-screen { min-height: 100dvh; padding: max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
  #root > .min-h-screen > .max-w-lg { padding: 22px; }
  #root > .min-h-screen a { display: inline-flex; align-items: center; justify-content: center; }
}
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { transition: none !important; } }
