/* ─── DΛREΛKT_ STYLESHEET — core ─────────────────────────────────────────────
   Classification: Core | Reset + Theme Tokens + Globals (atom-safe)
   Version: 2.2.0  (neutral, non-opinionated, no implicit clamping/centering)
   File: /assets/css/core.css
   ─────────────────────────────────────────────────────────────────────────── */

@layer reset, base, atoms, modules, site;

/* ─── RESET (lowest) ─────────────────────────────────────────────────────── */
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; height: 100%; width: 100%; }
}

/* ─── BASE (neutral foundation; NEVER clamps/centers) ───────────────────── */
@layer base {

  /* THEME TOKENS */
  :root{
    --bg:#ffffff; --text:#111111;
    --primary:#4f46e5; --secondary:#3ea8ff;
    --font-main:'Inter','Roboto',sans-serif;

    --gap-xs:.25rem; --gap-sm:.5rem; --gap-md:1rem; --gap-lg:2rem;

    --ctl-h:28px; --ctl-pad-x:10px;
    --ctl-bg:#111; --ctl-bd:#333; --ctl-fg:#bcbcbc; --ctl-fg-muted:#8aa; --ctl-focus:#3ea8ff;
  }
  :root[data-theme="dark"]{
    --bg:#000; --text:#bcbcbc;
    --ctl-bg:#111; --ctl-bd:#333; --ctl-fg:#bcbcbc; --ctl-fg-muted:#8aa; --ctl-focus:#3ea8ff;
  }

  /* BODY (no max-width, no auto-center) */
  body{
    font-family:var(--font-main);
    background-color:var(--bg);
    color:var(--text);
    line-height:1.6;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    overflow-x:hidden;
    background-size:cover;
    width:100%;
    min-height:100vh;
  }

  /* TYPOGRAPHY */
  h1,h2,h3,h4,h5,h6{ font-family:var(--font-main); font-weight:600; line-height:1.2; }
  p{ margin:0 0 var(--gap-md) 0; }

  /* LINKS */
  a{ color:var(--primary); text-decoration:none; transition:color .25s ease; }
  a:hover{ text-decoration:underline; }

  /* BUTTONS (visuals only; no layout constraints) */
  button{
    font-family:var(--font-main); font-size:1rem;
    padding:var(--gap-sm) var(--gap-md);
    border:none; border-radius:6px; cursor:pointer;
    background-color:var(--primary); color:#fff;
    transition:background-color .25s ease, color .25s ease, border-color .25s ease;
    -webkit-tap-highlight-color:transparent;
  }
  button:hover{ background-color:var(--secondary); }
  button:disabled{ opacity:.6; cursor:not-allowed; }

  /* IMAGES */
  img{ max-width:100%; height:auto; display:block; }

  /* CONTAINER (neutral) — NO implicit width/max/centering */
  .container, .section{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  /* EXPLICIT, OPT-IN helpers (use only when you want them) */
  .center{ margin-left:auto !important; margin-right:auto !important; }
  .clamp{ max-width:var(--container-max,1200px) !important; }
  .pad-x{ padding-left:var(--gap-lg); padding-right:var(--gap-lg); }
  .w-100{ width:100% !important; }

  /* BUTTON VARIANTS (visual only) */
  .back-btn{
    display:inline-block; padding:.5rem 1rem; border-radius:8px;
    background-color:var(--primary); color:#fff; border:2px solid var(--primary);
    transition:background-color .25s ease, color .25s ease, border-color .25s ease;
  }
  .back-btn:hover{ background-color:var(--secondary); }

  .btn-primary,#save-theme-btn{ background-color:var(--primary); color:#fff; border:2px solid var(--primary); }
  .btn-primary:hover,#save-theme-btn:hover{ background-color:var(--secondary); }

  .btn-secondary,#reset-theme-btn{ background-color:transparent; color:var(--primary); border:2px solid var(--primary); }
  .btn-secondary:hover,#reset-theme-btn:hover{ background-color:var(--primary); color:var(--bg); }

  .btn-danger,#factory-reset-btn{ background-color:#e11d48; color:#fff; border:2px solid #e11d48; }
  .btn-danger:hover,#factory-reset-btn:hover{ background-color:#be123c; border-color:#be123c; }

  /* Reduced motion */
  @media (prefers-reduced-motion: reduce){
    *{ scroll-behavior:auto !important; }
  }
}


/* System-wide: visually boost Λ */
.lambda {
  display: inline-block;
  transform: scale(1.22) translateY(-0.04em);
  transform-origin: center;
  text-shadow: 0 0 8px rgba(255,255,255,.14);
}

.lambda {
  transform: scale(1.25) translateY(-0.03em);
  text-shadow: 0 6px 10px rgb(255, 0, 0);
}


/* DΛREΛKT_ — Lambda Identity Glow */
.lambda {
  display: inline-block;
  transform: scale(1.22) translateY(-0.03em);
  transform-origin: center;
  color: #fff;
  text-shadow:
    0 0 4px rgba(255, 0, 0, 0.6),
    0 0 12px rgba(255, 0, 0, 0.4),
    0 0 20px rgba(255, 0, 0, 0.3);
  animation: lambdaGlow 4s ease-in-out infinite alternate;
}

/* Subtle breathing glow animation */
@keyframes lambdaGlow {
  0% {
    text-shadow:
      0 0 2px rgba(255, 0, 0, 0.5),
      0 0 8px rgba(255, 0, 0, 0.4),
      0 0 16px rgba(255, 0, 0, 0.3);
  }
  100% {
    text-shadow:
      0 0 6px rgba(255, 80, 80, 0.8),
      0 0 18px rgba(255, 0, 0, 0.6),
      0 0 30px rgba(255, 0, 0, 0.4);
  }
}

.lambda {
  opacity: 0;
  animation:
    lambdaBoot 0.8s ease-out forwards,
    lambdaGlow 4s ease-in-out infinite alternate 0.8s;
}

@keyframes lambdaBoot {
  0%, 10%, 20%, 30%, 40%, 50% {
    opacity: 0;
  }
  55%, 60%, 70%, 80%, 100% {
    opacity: 1;
  }
}



/* atoms/modules/site layers intentionally left to your project */
