/* Core Tailwind Extended Color Utility Definitions */
script + style, :root {
  --surface: #131313;
  --surface-bright: #3a3939;
  --surface-container-lowest: #0e0e0e;
  --surface-container-low: #1c1b1b;
  --accent: #00f0ff;
  --brand-pink: #E29E9E;
  --brand-grey: #8C8C8C;
}

/* Global Application layout rules */
body {
  background-color: #131313;
  color: #000000;
  font-family: 'Geist', sans-serif;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden; /* Strict requirement: no browser viewport scrolling */
  background-image: radial-gradient(circle at 2px 2px, #1c1b1b 1px, transparent 0);
  background-size: 40px 40px;
}

.glass-panel {
  background: rgba(28, 27, 27, 0.8);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(58, 57, 57, 0.5);
}

.strength-bar {
  transition: width 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

/* Hide number input spinners natively */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Custom mapping bridges for properties used with dynamic theme values */
.bg-surface-container-low { background-color: var(--surface-container-low); }
.bg-surface-container-lowest { background-color: var(--surface-container-lowest); }
.border-surface-bright { border-color: var(--surface-bright); }
.border-t-surface-bright { border-top-color: var(--surface-bright); }
.bg-brand-pink { background-color: var(--brand-pink); }
.text-brand-pink { color: var(--brand-pink); }
.text-brand-grey { color: var(--brand-grey); }
.bg-brand-grey { background-color: var(--brand-grey); }
.bg-accent { background-color: var(--accent); }
.text-accent { color: var(--accent); }
.text-surface { color: var(--surface); }
.focus\:border-accent:focus { border-color: var(--accent); }
.border-accent { border-color: var(--accent); }
.hover\:border-accent:hover { border-color: var(--accent); }

.rounded-custom {
  border-radius: 4px;
}