/* ==========================================================================
   AIFrontier — unified brand layer  (assets/brand.css)
   Loaded last on every page, after the legacy Tailwind Play-CDN utilities
   and after assets/site.css. Purpose: one restrained, editorial
   "deep-tech" language shared by the dark product pages and the light
   news pages — replacing the neon-glow / heavy-gradient look and the
   early-2010s card styling with a single token set.

   Only colour, type, radius, border and effect properties are overridden.
   Layout, grid, display and sizing utilities are deliberately untouched,
   so no page structure changes.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  /* ink scale */
  --af-ink:#0A0E17;
  --af-ink-soft:#0F1522;
  --af-surface:rgba(255,255,255,.030);
  --af-surface-2:rgba(255,255,255,.055);
  --af-hair:rgba(255,255,255,.09);
  --af-hair-2:rgba(255,255,255,.17);
  /* type scale */
  --af-text:#E9EEF6;
  --af-text-2:#A9B6C8;
  --af-text-3:#74839B;
  /* one accent, used sparingly */
  --af-accent:#1E9BC4;
  --af-accent-2:#4FC3E4;
  --af-accent-soft:rgba(34,167,208,.13);
  --af-amber:#F0A62B;
  /* geometry */
  --af-r-s:10px; --af-r:14px; --af-r-l:20px;
  --af-font:"Inter","Noto Sans JP",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --af-ease:cubic-bezier(.22,.61,.36,1);
  --af-shadow:0 1px 2px rgba(0,0,0,.30),0 14px 34px -14px rgba(0,0,0,.55);
}

/* ------------------------------ global type ------------------------------ */
html{-webkit-text-size-adjust:100%}
body{font-family:var(--af-font)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{letter-spacing:-.022em}
::selection{background:var(--af-accent-soft);color:var(--af-text)}
:focus-visible{outline:2px solid var(--af-accent);outline-offset:2px;border-radius:4px}
img{height:auto}
i.fas,i.far,i.fab,i.fa{opacity:.85}
.fa-link{opacity:.45}

/* ============================== DARK PAGES ==============================
   Scoped to body.bg-gray-900 so the light news theme is unaffected.       */
body.bg-gray-900,body.bg-slate-900,body.bg-gray-950{
  background:var(--af-ink)!important;color:var(--af-text)!important}

/* -- surfaces -- */
.bg-gray-900{background-color:var(--af-ink)!important}
.bg-gray-950{background-color:var(--af-ink)!important}
.bg-gray-800{background-color:var(--af-ink-soft)!important}
.bg-gray-800\/50,.bg-gray-800\/60,.bg-gray-800\/70{background-color:rgba(255,255,255,.035)!important}
.bg-white\/5{background-color:var(--af-surface)!important}
.bg-white\/10{background-color:var(--af-surface-2)!important}
.bg-blue-500\/10,.bg-cyan-500\/10,.bg-blue-400\/10,.bg-sky-500\/10{background-color:var(--af-accent-soft)!important}

/* -- hairlines -- */
.border-white\/10,.border-white\/5,.border-gray-800,.border-gray-700{border-color:var(--af-hair)!important}
.border-white\/20,.border-blue-400\/30,.border-cyan-400\/30{border-color:var(--af-hair-2)!important}

/* -- text -- */
.text-white{color:var(--af-text)!important}
.text-gray-300,.text-slate-300{color:#BFCADA!important}
.text-gray-400,.text-slate-400{color:var(--af-text-2)!important}
.text-gray-500,.text-slate-500{color:var(--af-text-3)!important}
.text-cyan-200,.text-cyan-300,.text-cyan-400,.text-blue-300,.text-blue-400,.text-sky-400{color:var(--af-accent-2)!important}
.text-blue-500,.text-cyan-500{color:var(--af-accent)!important}
.hover\:text-blue-400:hover,.hover\:text-cyan-100:hover,.hover\:text-cyan-300:hover,.hover\:text-white:hover{color:#fff!important}

/* -- geometry: one radius scale -- */
.rounded-2xl{border-radius:var(--af-r-l)!important}
.rounded-xl{border-radius:var(--af-r)!important}
.rounded-lg{border-radius:var(--af-r-s)!important}
.rounded{border-radius:8px!important}

/* -- legacy effects, restrained -- */
.glass-effect{
  background:var(--af-surface)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  border:1px solid var(--af-hair)!important;
  border-radius:var(--af-r-l)!important;
  box-shadow:none!important}
.glow-blue,.glow-cyan,.glow-purple,.glow-amber,.glow-green{box-shadow:none!important}

/* hero: soft ambient wash instead of a hard blue ramp */
.hero-gradient{
  background:
    radial-gradient(1100px 520px at 16% -14%,rgba(30,155,196,.17),transparent 62%),
    radial-gradient(880px 440px at 88% 6%,rgba(79,195,228,.07),transparent 60%),
    linear-gradient(180deg,#0A0E17 0%,#0C1322 55%,#0A0E17 100%)!important}

/* -- gradients: retuned to the brand ramp (keeps amber for the hackathon) -- */
body.bg-gray-900 [class*="from-blue-"],body.bg-gray-900 [class*="from-cyan-"],
body.bg-gray-900 [class*="from-sky-"],body.bg-gray-900 [class*="from-indigo-"]{--tw-gradient-from:#1E9BC4!important}
body.bg-gray-900 [class*="to-blue-"],body.bg-gray-900 [class*="to-cyan-"],
body.bg-gray-900 [class*="to-sky-"],body.bg-gray-900 [class*="to-indigo-"]{--tw-gradient-to:#3FBFE0!important}
body.bg-gray-900 [class*="from-orange-"],body.bg-gray-900 [class*="from-amber-"]{--tw-gradient-from:rgba(240,166,43,.16)!important}
body.bg-gray-900 [class*="to-orange-"],body.bg-gray-900 [class*="to-amber-"]{--tw-gradient-to:rgba(240,166,43,.05)!important}
body.bg-gray-900 [class*="via-gray-"],body.bg-gray-900 [class*="via-slate-"]{--tw-gradient-via:rgba(10,14,23,.86)!important}

/* -- interaction -- */
.transition{transition:all .3s var(--af-ease)}
.hover-lift{transition:transform .35s var(--af-ease),border-color .35s var(--af-ease),
  background-color .35s var(--af-ease),box-shadow .35s var(--af-ease)}
.hover-lift:hover{transform:translateY(-3px);border-color:var(--af-hair-2)!important;box-shadow:var(--af-shadow)!important}

/* -- form controls -- */
body.bg-gray-900 input,body.bg-gray-900 textarea,body.bg-gray-900 select{
  background:var(--af-surface)!important;border-color:var(--af-hair)!important;
  color:var(--af-text)!important;border-radius:var(--af-r-s)!important}
body.bg-gray-900 input::placeholder,body.bg-gray-900 textarea::placeholder{color:var(--af-text-3)!important}

/* ============================== LIGHT PAGES ==============================
   News / article theme (assets/site.css). Token-matched to the dark set.  */
body:not(.bg-gray-900):not(.bg-slate-900):not(.bg-gray-950) .card,
body:not(.bg-gray-900) .hero-panel,
body:not(.bg-gray-900) .sidebar-box,
body:not(.bg-gray-900) .topic-box{
  box-shadow:0 1px 2px rgba(18,34,43,.04),0 14px 34px -20px rgba(18,34,43,.18)!important;
  border-radius:var(--af-r-l)!important}
body:not(.bg-gray-900) .card{min-height:unset!important}
body:not(.bg-gray-900) .button,
body:not(.bg-gray-900) .archive-link{border-radius:var(--af-r-s)!important}
body:not(.bg-gray-900) .button.primary{box-shadow:0 10px 24px -10px rgba(31,167,207,.45)!important}
body:not(.bg-gray-900) .archive-link:hover{background:#fff}

/* dead partner links rendered as plain text (URL unverifiable) */
.af-unlinked{color:inherit}
