/* Custom palette and utility helpers */
:root {
  --p-darkest: #0b0c10;
  --p-dark: #16181f;
  --p-gray: #2e3038;
  --p-light: #e5e7eb;
  --p-lightest: #f9fafb;

  --p-primary: #00d4ff;
  --p-secondary: #ff2cfb;

  --p-accent1: #c9ff42;
  --p-accent2: #ffb300;
  --p-accent3: #ff1640;

  --p-success: #10b981;
  --p-info: #0ea5e9;
  --p-warning: #f59e0b;
  --p-danger: #ef4444;

  --gr-hero: linear-gradient(135deg,#00d4ff 0%,#ff2cfb 100%);
  --gr-card: linear-gradient(160deg,#2e3038 0%,#16181f 100%);

  --bs-primary: var(--p-primary);
  --bs-secondary: var(--p-secondary);
  --bs-success: var(--p-success);
  --bs-info: var(--p-info);
  --bs-warning: var(--p-warning);
  --bs-danger: var(--p-danger);
  --bs-light: var(--p-light);
  --bs-dark: var(--p-dark);
  --bs-body-bg: var(--p-dark);
  --bs-body-color: var(--p-lightest);
  --bs-border-radius: 0.5rem;
  --bs-border-radius-lg: 0.5rem;
}

.text-accent1 { color: var(--p-accent1) !important; }
.bg-accent1 { background-color: var(--p-accent1) !important; }
.text-accent2 { color: var(--p-accent2) !important; }
.bg-accent2 { background-color: var(--p-accent2) !important; }
.text-accent3 { color: var(--p-accent3) !important; }
.bg-accent3 { background-color: var(--p-accent3) !important; }

.bg-hero { background-image: var(--gr-hero); }
.bg-card { background-image: var(--gr-card); }

.p-0\25{padding:0.25rem!important;}
.p-0\5{padding:0.5rem!important;}
.p-1{padding:1rem!important;}
.p-1\5{padding:1.5rem!important;}
.p-2{padding:2rem!important;}
.px-0\25{padding-left:0.25rem!important;padding-right:0.25rem!important;}
.px-0\5{padding-left:0.5rem!important;padding-right:0.5rem!important;}
.px-1{padding-left:1rem!important;padding-right:1rem!important;}
.px-1\5{padding-left:1.5rem!important;padding-right:1.5rem!important;}
.px-2{padding-left:2rem!important;padding-right:2rem!important;}
.py-0\25{padding-top:0.25rem!important;padding-bottom:0.25rem!important;}
.py-0\5{padding-top:0.5rem!important;padding-bottom:0.5rem!important;}
.py-1{padding-top:1rem!important;padding-bottom:1rem!important;}
.py-1\5{padding-top:1.5rem!important;padding-bottom:1.5rem!important;}
.py-2{padding-top:2rem!important;padding-bottom:2rem!important;}

.m-0\25{margin:0.25rem!important;}
.m-0\5{margin:0.5rem!important;}
.m-1{margin:1rem!important;}
.m-1\5{margin:1.5rem!important;}
.m-2{margin:2rem!important;}
.mx-0\25{margin-left:0.25rem!important;margin-right:0.25rem!important;}
.mx-0\5{margin-left:0.5rem!important;margin-right:0.5rem!important;}
.mx-1{margin-left:1rem!important;margin-right:1rem!important;}
.mx-1\5{margin-left:1.5rem!important;margin-right:1.5rem!important;}
.mx-2{margin-left:2rem!important;margin-right:2rem!important;}
.my-0\25{margin-top:0.25rem!important;margin-bottom:0.25rem!important;}
.my-0\5{margin-top:0.5rem!important;margin-bottom:0.5rem!important;}
.my-1{margin-top:1rem!important;margin-bottom:1rem!important;}
.my-1\5{margin-top:1.5rem!important;margin-bottom:1.5rem!important;}
.my-2{margin-top:2rem!important;margin-bottom:2rem!important;}

.ring{box-shadow:0 0 0 2px var(--p-primary);outline:2px solid transparent;}
.ring-lg{box-shadow:0 0 0 4px var(--p-primary);outline:2px solid transparent;}
.ring-offset{box-shadow:0 0 0 2px var(--p-primary),0 0 0 4px var(--p-dark);outline:2px solid transparent;}

html,body{font-family:'Inter',sans-serif;letter-spacing:-0.015em;}
body{background-color:var(--p-dark);color:var(--p-lightest);}
.btn,[role="button"]{border:none;box-shadow:0 2px 8px rgba(0,0,0,.25);transition:transform .15s;}
.btn:hover,[role="button"]:hover{transform:scale(1.05);}
input:focus,textarea:focus,select:focus{box-shadow:inset 0 0 0 2px var(--p-primary);outline:none;}

.navbar{transition:background-color .3s ease,backdrop-filter .3s ease;}
.navbar.scroll-bg{background-color:rgba(22,24,31,0.8)!important;backdrop-filter:blur(12px);}
.navbar.scroll-bg .nav-link,
.navbar.scroll-bg .navbar-brand,
.navbar.scroll-bg .brand-text{color:var(--p-lightest)!important;}
.navbar.scroll-bg .navbar-toggler-icon{filter:invert(1);}

.btn-primary.btn-glow{filter:drop-shadow(0 0 6px var(--p-primary));}
