/* Brighter launch theme and purposeful motion. Loaded after feature styles. */
:root {
  --ink: #10261d;
  --ink-soft: #385148;
  --muted: #6d8077;
  --forest-950: #123c31;
  --forest-900: #15503f;
  --forest-800: #17664c;
  --forest: #17664c;
  --green: #159766;
  --green-hover: #0f8056;
  --green-soft: #e5f8ee;
  --mint: #d9f3e6;
  --canvas: #fbfcfa;
  --line: #dfe9e3;
  --line-strong: #cbdcd3;
  --shadow-sm: 0 8px 26px rgba(25, 80, 58, .055);
  --shadow-md: 0 22px 58px rgba(25, 80, 58, .11);
}

body { background:linear-gradient(180deg,#fff 0,#f8fbf8 460px,#fbfcfa 100%); }

/* Header and search */
.site-header {
  height:78px;
  background:rgba(255,255,255,.88);
  border-color:rgba(210,228,218,.82);
  box-shadow:0 8px 26px rgba(34,78,60,.035);
  backdrop-filter:blur(22px) saturate(150%);
}
.brand-mark {
  background:linear-gradient(145deg,#159766,#11684b);
  box-shadow:0 8px 20px rgba(21,151,102,.2),inset 0 0 0 1px rgba(255,255,255,.16);
  transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s;
}
.brand:hover .brand-mark { transform:translateY(-2px) rotate(-3deg); box-shadow:0 12px 26px rgba(21,151,102,.26); }
.nav-wrap { gap:30px; }
.main-nav { height:auto; align-items:center; gap:4px; }
.main-nav a {
  min-width:auto;
  height:40px;
  padding:0 16px;
  border-radius:11px;
  color:#586b62;
  font-size:14px;
  font-weight:720;
  line-height:1;
  transition:color .2s,background .2s,box-shadow .2s,transform .2s;
}
.main-nav a:after { display:none; }
.main-nav a:hover { color:#126b4b; background:#f0f8f4; }
.main-nav a.active {
  color:#0f7651;
  background:#e5f6ed;
  box-shadow:inset 0 0 0 1px rgba(21,151,102,.08);
}
.main-nav a:active { transform:scale(.97); }
.header-search {
  display:flex;
  width:250px;
  height:44px;
  gap:11px;
  padding:0 16px;
  border:1px solid #d8e7df;
  border-radius:999px;
  background:rgba(247,251,248,.95);
  color:#73857d;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:width .28s cubic-bezier(.2,.8,.2,1),border-color .2s,box-shadow .2s,background .2s;
}
.header-search:hover { border-color:#bcd8ca; background:#fff; }
.header-search:focus-within {
  border-color:#69bd97;
  background:#fff;
  box-shadow:0 0 0 4px rgba(21,151,102,.1),0 10px 30px rgba(25,80,58,.08);
}
.search-icon { width:15px; height:15px; flex:0 0 15px; border:1.8px solid currentColor; border-radius:50%; position:relative; }
.search-icon:after { content:""; width:6px; height:1.8px; position:absolute; right:-5px; bottom:-2px; border-radius:2px; background:currentColor; transform:rotate(45deg); transform-origin:left center; }
.site-header .header-search > input[type="search"] {
  flex:1 1 auto;
  width:0;
  min-width:0;
  height:100%;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  outline:0;
  background:transparent;
  box-shadow:none;
  color:var(--ink);
  font-size:12px;
  line-height:1;
  appearance:none;
  -webkit-appearance:none;
  transition:none;
}
.site-header .header-search > input[type="search"]::-webkit-search-decoration,
.site-header .header-search > input[type="search"]::-webkit-search-cancel-button { -webkit-appearance:none; }
.site-header .header-search > input[type="search"]:focus { width:0; border:0; box-shadow:none; }
.site-header .header-search > input[type="search"]::placeholder { color:#84948d; opacity:1; }
.header-search:focus-within .search-icon { color:var(--green); }
.account-popover { transform-origin:top right; animation:menu-pop .2s cubic-bezier(.2,.8,.2,1); }
.button { transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,background .22s,border-color .22s; }
.button:active { transform:translateY(1px) scale(.985); }
.button-primary { background:linear-gradient(135deg,#1aa873,#12885c); box-shadow:0 9px 24px rgba(21,151,102,.2); }
.button-primary:hover { background:linear-gradient(135deg,#17b378,#0f8056); box-shadow:0 13px 30px rgba(21,151,102,.27); }

/* Bright homepage */
.home-hero {
  color:var(--ink);
  background:
    radial-gradient(circle at 83% 20%,rgba(81,204,150,.26),transparent 27%),
    radial-gradient(circle at 14% 100%,rgba(255,201,132,.18),transparent 24%),
    linear-gradient(135deg,#f7fcf8 0%,#eaf8f1 53%,#dcf3e8 100%);
  border-bottom:1px solid #d6e9df;
}
.home-hero:before {
  border-color:rgba(21,151,102,.13);
  box-shadow:0 0 0 74px rgba(21,151,102,.035),0 0 0 160px rgba(21,151,102,.025);
  animation:hero-orbit 14s ease-in-out infinite alternate;
}
.home-hero:after { height:3px; background:linear-gradient(90deg,#1aae76,#f0b678,transparent); }
.home-hero-grid { min-height:535px; }
.home-hero .eyebrow { color:var(--green); }
.home-hero h1 { color:#123328; text-shadow:0 1px 0 #fff; }
.home-hero h1 em { color:#149263; }
.home-hero-copy>p { color:#536c61; }
.home-hero .button-light { border-color:#c9ddd3; color:#174b3a; box-shadow:0 8px 24px rgba(25,80,58,.07); }
.home-hero .community-stats div { border-color:rgba(26,102,75,.14); }
.home-hero .community-stats dt { color:#173c2f; }
.home-hero .community-stats dd { color:#73887e; }
.hero-principle {
  border-color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.68);
  box-shadow:0 24px 65px rgba(30,93,67,.12);
  backdrop-filter:blur(18px);
}
.principle-mark { color:#15503f; background:linear-gradient(145deg,#ffd7ad,#f0aa72); box-shadow:0 8px 20px rgba(223,139,89,.2); }
.hero-principle>span { color:#3d8a69; }
.hero-principle h2 { color:#183c30; }
.hero-principle p { color:#657b71; }
.hero-principle a { color:var(--green); }

/* Lighter hero surfaces across the public site */
.topic-page-head,.ea-profile-head,.profile-hero,.points-hero {
  color:var(--ink);
  background:
    radial-gradient(circle at 88% 15%,rgba(80,202,148,.2),transparent 25%),
    linear-gradient(132deg,#f3fbf6,#def3e8);
  border-bottom:1px solid #d7e9df;
}
.topic-page-head .breadcrumbs,.ea-profile-head .breadcrumbs { color:#71867c; }
.topic-page-head .breadcrumbs a,.ea-profile-head .breadcrumbs a { color:var(--green); }
.topic-page-head h1,.ea-title-row h1,.profile-identity h1,.points-hero h1 { color:#123328; }
.topic-state-row .category-dot,.topic-author-link small,.topic-intro-stat,.ea-title-row p,.profile-handle,.points-hero p { color:#667e73; }
.topic-intro-stat strong { color:#183f31; }
.topic-author-link { border-color:rgba(25,92,66,.14); }
.topic-bookmark .button {
  color:#18523f;
  border-color:#c4ddd1;
  background:rgba(255,255,255,.76);
}
.ea-labels .platform-pill { color:#fff; background:linear-gradient(145deg,#159766,#11684b); }
.ea-labels .badge { color:#536b60; background:rgba(255,255,255,.72); }
.ea-labels .risk-low { color:#177453; }.ea-labels .risk-medium { color:#a76825; }.ea-labels .risk-high,.ea-labels .risk-extreme { color:#b34840; }
.ea-hero-facts,.profile-stats,.points-balance {
  border-color:rgba(29,112,79,.14);
  background:rgba(255,255,255,.62);
  box-shadow:0 16px 40px rgba(31,92,66,.08);
}
.ea-hero-facts div,.profile-stats div { border-color:rgba(29,112,79,.1); }
.ea-hero-facts dt,.profile-stats dd,.points-balance span { color:#71887d; }
.ea-hero-facts dd,.profile-stats dt { color:#143b2d; }
.points-balance strong { color:var(--green); }
.profile-meta { color:#667e73; }
.profile-meta a { color:var(--green); }
.profile-actions .button-light { border-color:#bdd8ca; }
.profile-more-actions>summary { color:#285a46; border-color:#bdd8ca; background:rgba(255,255,255,.7); }

/* Motion and interaction */
.home-hero-copy>* { opacity:0; animation:hero-enter .66s cubic-bezier(.2,.75,.2,1) forwards; }
.home-hero-copy>*:nth-child(1) { animation-delay:.04s; }
.home-hero-copy>*:nth-child(2) { animation-delay:.11s; }
.home-hero-copy>*:nth-child(3) { animation-delay:.18s; }
.home-hero-copy>*:nth-child(4) { animation-delay:.25s; }
.home-hero-copy>*:nth-child(5) { animation-delay:.32s; }
.hero-principle { opacity:0; animation:hero-card-enter .75s .26s cubic-bezier(.2,.75,.2,1) forwards,gentle-float 5.5s 1.2s ease-in-out infinite; }
.topic-row,.ea-card,.side-card,.detail-card { transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,border-color .25s,background .25s; }
.topic-row:hover { background:#f5fbf7; transform:translateX(3px); }
.ea-card:hover { transform:translateY(-6px); box-shadow:0 22px 44px rgba(25,80,58,.12); }
.side-card:hover { border-color:#c9ddd3; box-shadow:0 14px 34px rgba(25,80,58,.08); }
.section-link { display:inline-flex; align-items:center; gap:4px; }
.section-link:hover { transform:translateX(3px); }
.section-link,.hero-principle a { transition:transform .2s,color .2s; }
.hero-principle a:hover { display:inline-block; transform:translateX(4px); }
.flash { animation:flash-enter .32s cubic-bezier(.2,.8,.2,1); }
.ea-section { background:linear-gradient(180deg,#eff8f3,#f8fbf8); }

@supports (animation-timeline:view()) {
  .home-content-grid,.ea-section .section-heading,.ea-section .ea-card {
    animation:section-reveal linear both;
    animation-timeline:view();
    animation-range:entry 0% cover 18%;
  }
}

@keyframes hero-enter {
  from { opacity:0; transform:translateY(16px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes hero-card-enter {
  from { opacity:0; transform:translateY(20px) scale(.98); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes gentle-float {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-7px); }
}
@keyframes hero-orbit {
  from { transform:translate(0,0) scale(1); }
  to { transform:translate(-18px,20px) scale(1.04); }
}
@keyframes menu-pop {
  from { opacity:0; transform:translateY(-6px) scale(.98); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes flash-enter {
  from { opacity:0; transform:translate(-50%,-10px) scale(.97); }
  to { opacity:1; transform:translate(-50%,0) scale(1); }
}
@keyframes section-reveal {
  from { opacity:.2; transform:translateY(22px); }
  to { opacity:1; transform:translateY(0); }
}

@media (max-width:1000px) {
  .header-search { width:190px; }
}
@media (max-width:620px) {
  .site-header { height:66px; }
  .header-search { width:42px; flex:0 0 42px; height:42px; padding:0; justify-content:center; overflow:hidden; }
  .site-header .header-search > input[type="search"] { width:0; flex:0 1 0; opacity:0; padding:0; pointer-events:none; }
  .header-search:focus-within { width:min(170px,46vw); flex-basis:min(170px,46vw); justify-content:flex-start; padding:0 12px; }
  .site-header .header-search:focus-within > input[type="search"] { width:0; flex:1 1 auto; opacity:1; pointer-events:auto; }
  .home-hero-grid { padding-bottom:42px; }
  .home-hero h1 { color:#123328; }
  .hero-principle { animation:hero-card-enter .75s .18s cubic-bezier(.2,.75,.2,1) forwards; }
  .ea-hero-facts { background:rgba(255,255,255,.72); }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .home-hero-copy>*,.hero-principle { opacity:1; }
}
