@import url("https://fonts.googleapis.com/css2?family=Creepster&display=swap");

/* IFL seasonal extras — loaded after the compiled Angular stylesheet. */
body.theme-halloween {
  --md-sys-color-background:#09070d;
  --md-sys-color-on-background:#f7efe8;
  --md-sys-color-surface:#120d18;
  --md-sys-color-on-surface:#f7efe8;
  --md-sys-color-surface-variant:#1d1327;
  --md-sys-color-on-surface-variant:#cbb8d8;
  --md-sys-color-outline:rgba(255,122,0,.24);
  --md-sys-color-primary:#ff7a00;
  --md-sys-color-on-primary:#160b00;
  --md-sys-color-primary-container:rgba(255,122,0,.17);
  --md-sys-color-on-primary-container:#ffe6ca;
  --md-sys-color-primary-rgb:255,122,0;
  --md-sys-color-secondary:#a855f7;
  --md-sys-color-on-secondary:#fff;
  --md-sys-color-secondary-container:rgba(168,85,247,.18);
  --md-sys-color-on-secondary-container:#f2e5ff;
  --md-sys-color-tertiary:#84cc16;
  --md-sys-color-on-tertiary:#101800;
  --md-sys-color-tertiary-container:rgba(132,204,22,.16);
  --md-sys-color-on-tertiary-container:#e8ffc2;
  --md-sys-color-on-surface-rgb:247,239,232;
  --md-sys-color-yellow:#facc15;
  --md-sys-color-orange:#ff7a00;
  --md-sys-color-blue:#a855f7;
  --md-sys-color-violet:#c084fc;
  --md-sys-color-bordeaux:#7e22ce;
  --md-sys-color-red:#ef4444;
  --md-sys-color-green:rgba(132,204,22,.18);
  --ifl-bg:#09070d;
  --ifl-bg-card:#120d18;
  --ifl-bg-elevated:#1d1327;
  --ifl-accent:#ff7a00;
  --ifl-accent-hover:#ff9a3c;
  --ifl-accent-glow:rgba(255,122,0,.18);
  --ifl-text-primary:#f7efe8;
  --ifl-text-secondary:#cbb8d8;
  --ifl-text-muted:#816f8f;
  --ifl-border:rgba(255,122,0,.14);
  --ifl-border-hover:rgba(168,85,247,.55);
  background-color:#09070d;
  background-image:
    radial-gradient(circle at 12% 18%,rgba(168,85,247,.14),transparent 28%),
    radial-gradient(circle at 88% 12%,rgba(255,122,0,.13),transparent 30%),
    linear-gradient(180deg,#09070d 0%,#100914 48%,#070509 100%);
}
body.theme-halloween h1,
body.theme-halloween h2,
body.theme-halloween .page-title,
body.theme-halloween .section-title,
body.theme-halloween .nb-theme-label {
  font-family:"Creepster","Impact","Arial Black",sans-serif!important;
  letter-spacing:.045em;
  text-shadow:0 0 12px rgba(255,122,0,.28),0 0 24px rgba(168,85,247,.16);
}
body.theme-halloween .navbar-container {
  background:linear-gradient(180deg,rgba(18,13,24,.98),rgba(9,7,13,.96))!important;
  border-bottom:1px solid rgba(255,122,0,.34)!important;
  box-shadow:0 3px 22px rgba(168,85,247,.14),0 2px 14px rgba(255,122,0,.10)!important;
}
body.theme-halloween .card,
body.theme-halloween .dropdown-menu,
body.theme-halloween .profile-dropdown {
  border-color:rgba(255,122,0,.18)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.34),0 0 22px rgba(168,85,247,.06)!important;
}
body.theme-halloween .card:hover {
  border-color:rgba(255,122,0,.52)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.42),0 0 26px rgba(255,122,0,.12)!important;
}
body.theme-halloween .btn.btn-filled,
body.theme-halloween button.primary {
  background:linear-gradient(135deg,#ff7a00,#a855f7)!important;
  color:#fff!important;
  box-shadow:0 5px 20px rgba(255,122,0,.24),0 0 16px rgba(168,85,247,.14)!important;
}
body.theme-halloween input:focus,
body.theme-halloween select:focus,
body.theme-halloween textarea:focus {
  border-color:#ff7a00!important;
  box-shadow:0 0 0 3px rgba(168,85,247,.18)!important;
}
body.theme-halloween .xp-progress-fill,
body.theme-halloween .bp-progress-fill,
body.theme-halloween [class*=progress-fill] {
  background:linear-gradient(90deg,#ff7a00,#a855f7,#84cc16)!important;
  box-shadow:0 0 10px rgba(255,122,0,.35)!important;
}

/* Native-looking injected theme swatches. */
.ifl-extra-theme-swatch {
  position:relative;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
}
.ifl-extra-theme-swatch .swatch-name { white-space:nowrap; }
.ifl-extra-theme-swatch[data-ifl-extra-theme="theme-halloween"] .swatch-name {
  font-family:"Creepster","Impact","Arial Black",sans-serif!important;
  letter-spacing:.04em;
}

/* Halloween overlay: webs, hanging spiders, pumpkins, fog. */
.ifl-halloween-decor,
.ifl-anniversary-decor {
  position:fixed;
  inset:0;
  z-index:60;
  pointer-events:none;
  overflow:hidden;
}
.ifl-halloween-decor .ifl-web {
  position:absolute;
  width:min(260px,30vw);
  aspect-ratio:1;
  opacity:.20;
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 240'%3E%3Cg fill='none' stroke='%23d9c6e5' stroke-width='2'%3E%3Cpath d='M0 0h240M0 0v240M0 0l240 240M0 0l240 120M0 0l120 240'/%3E%3Cpath d='M22 0c0 22 0 22 0 22s22 0 22 0M48 0c0 48 0 48 0 48s48 0 48 0M78 0c0 78 0 78 0 78s78 0 78 0M112 0c0 112 0 112 0 112s112 0 112 0'/%3E%3C/g%3E%3C/svg%3E");
  filter:drop-shadow(0 0 7px rgba(168,85,247,.35));
}
.ifl-halloween-decor .web-tl{left:-12px;top:64px}
.ifl-halloween-decor .web-tr{right:-12px;top:64px;transform:scaleX(-1)}
.ifl-halloween-decor .ifl-spider {
  position:absolute;
  top:48px;
  transform-origin:50% -130px;
  font-size:clamp(24px,3vw,42px);
  filter:drop-shadow(0 0 8px rgba(255,122,0,.45));
  animation:iflSpiderSwing 3.8s ease-in-out infinite;
}
.ifl-halloween-decor .ifl-spider:before {
  content:"";
  position:absolute;
  left:50%;
  bottom:75%;
  width:1px;
  height:145px;
  background:linear-gradient(#bba9c7,rgba(187,169,199,.2));
}
.ifl-halloween-decor .spider-a{left:17%;animation-delay:-.7s}
.ifl-halloween-decor .spider-b{right:21%;top:92px;animation-delay:-2.1s;animation-duration:4.6s}
.ifl-halloween-decor .spider-c{left:72%;top:170px;font-size:28px;animation-delay:-1.2s;animation-duration:5.1s}
.ifl-halloween-decor .ifl-pumpkin {
  position:absolute;
  bottom:-5px;
  font-size:clamp(38px,5vw,72px);
  filter:drop-shadow(0 0 12px rgba(255,122,0,.45));
  animation:iflPumpkinGlow 2.7s ease-in-out infinite;
}
.ifl-halloween-decor .pumpkin-a{left:18px}
.ifl-halloween-decor .pumpkin-b{right:24px;animation-delay:-1.1s;transform:scale(.82)}
.ifl-halloween-decor .ifl-fog {
  position:absolute;
  left:-25%;
  width:150%;
  height:170px;
  bottom:-65px;
  background:radial-gradient(ellipse at center,rgba(180,150,205,.13),rgba(100,75,125,.06) 40%,transparent 72%);
  filter:blur(12px);
  animation:iflFogDrift 13s ease-in-out infinite alternate;
}
@keyframes iflSpiderSwing {
  0%,100%{transform:rotate(-8deg) translateY(0)}
  50%{transform:rotate(8deg) translateY(10px)}
}
@keyframes iflPumpkinGlow {
  0%,100%{filter:drop-shadow(0 0 8px rgba(255,122,0,.35));transform:translateY(0)}
  50%{filter:drop-shadow(0 0 22px rgba(255,122,0,.72));transform:translateY(-4px)}
}
@keyframes iflFogDrift {
  0%{transform:translateX(-4%) scaleX(1)}
  100%{transform:translateX(4%) scaleX(1.06)}
}

/* 2nd Anniversary — premium IFL red/gold celebration. */
body.theme-2nd-anniversary {
  --md-sys-color-background:#0b0809;
  --md-sys-color-on-background:#fff8ec;
  --md-sys-color-surface:#151011;
  --md-sys-color-on-surface:#fff8ec;
  --md-sys-color-surface-variant:#211719;
  --md-sys-color-on-surface-variant:#d6c8ba;
  --md-sys-color-outline:rgba(212,175,55,.22);
  --md-sys-color-primary:#d4af37;
  --md-sys-color-on-primary:#1b1400;
  --md-sys-color-primary-container:rgba(212,175,55,.16);
  --md-sys-color-on-primary-container:#fff2b7;
  --md-sys-color-primary-rgb:212,175,55;
  --md-sys-color-secondary:#b91c1c;
  --md-sys-color-on-secondary:#fff;
  --md-sys-color-secondary-container:rgba(185,28,28,.17);
  --md-sys-color-on-secondary-container:#ffe0e0;
  --md-sys-color-tertiary:#f5e6b3;
  --md-sys-color-on-tertiary:#171003;
  --md-sys-color-tertiary-container:rgba(245,230,179,.13);
  --md-sys-color-on-tertiary-container:#fff7d8;
  --md-sys-color-on-surface-rgb:255,248,236;
  --ifl-bg:#0b0809;
  --ifl-bg-card:#151011;
  --ifl-bg-elevated:#211719;
  --ifl-accent:#d4af37;
  --ifl-accent-hover:#f0cf64;
  --ifl-accent-glow:rgba(212,175,55,.18);
  --ifl-text-primary:#fff8ec;
  --ifl-text-secondary:#d6c8ba;
  --ifl-text-muted:#8e7e72;
  --ifl-border:rgba(212,175,55,.13);
  --ifl-border-hover:rgba(212,175,55,.48);
  background-color:#0b0809;
  background-image:
    radial-gradient(circle at 20% 0,rgba(185,28,28,.16),transparent 31%),
    radial-gradient(circle at 82% 8%,rgba(212,175,55,.14),transparent 28%),
    linear-gradient(180deg,#0b0809,#130d0f 52%,#090607);
}
body.theme-2nd-anniversary h1,
body.theme-2nd-anniversary h2,
body.theme-2nd-anniversary .page-title,
body.theme-2nd-anniversary .section-title {
  letter-spacing:.02em;
  text-shadow:0 0 16px rgba(212,175,55,.18);
}
body.theme-2nd-anniversary .navbar-container {
  background:linear-gradient(180deg,rgba(21,16,17,.98),rgba(11,8,9,.96))!important;
  border-bottom:1px solid rgba(212,175,55,.31)!important;
  box-shadow:0 3px 20px rgba(185,28,28,.10),0 2px 16px rgba(212,175,55,.10)!important;
}
body.theme-2nd-anniversary .card,
body.theme-2nd-anniversary .dropdown-menu,
body.theme-2nd-anniversary .profile-dropdown {
  border-color:rgba(212,175,55,.18)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.34),0 0 24px rgba(212,175,55,.05)!important;
}
body.theme-2nd-anniversary .card:hover {
  border-color:rgba(212,175,55,.48)!important;
  box-shadow:0 14px 38px rgba(0,0,0,.42),0 0 26px rgba(212,175,55,.11)!important;
}
body.theme-2nd-anniversary .btn.btn-filled,
body.theme-2nd-anniversary button.primary {
  background:linear-gradient(135deg,#b91c1c,#d4af37)!important;
  color:#fff!important;
  box-shadow:0 5px 20px rgba(185,28,28,.18),0 0 18px rgba(212,175,55,.12)!important;
}
body.theme-2nd-anniversary .xp-progress-fill,
body.theme-2nd-anniversary .bp-progress-fill,
body.theme-2nd-anniversary [class*=progress-fill] {
  background:linear-gradient(90deg,#b91c1c,#d4af37,#f5e6b3)!important;
  box-shadow:0 0 10px rgba(212,175,55,.32)!important;
}
.ifl-anniversary-decor {
  z-index:55;
  background:
    radial-gradient(circle at 50% -10%,rgba(212,175,55,.08),transparent 37%),
    radial-gradient(circle at 8% 74%,rgba(185,28,28,.055),transparent 26%);
}
.ifl-anniversary-decor .ifl-spark {
  position:absolute;
  left:var(--x);
  top:-16px;
  width:var(--size);
  height:calc(var(--size) * .42);
  border-radius:999px;
  background:linear-gradient(90deg,#d4af37,#fff2b7);
  opacity:.65;
  transform:rotate(var(--rot));
  animation:iflAnniversaryFall var(--dur) linear infinite;
  animation-delay:var(--delay);
  box-shadow:0 0 8px rgba(212,175,55,.22);
}
@keyframes iflAnniversaryFall {
  0%{transform:translate3d(0,-6vh,0) rotate(var(--rot));opacity:0}
  10%{opacity:.7}
  100%{transform:translate3d(var(--drift),108vh,0) rotate(calc(var(--rot) + 300deg));opacity:.15}
}

@media (max-width:700px) {
  .ifl-halloween-decor .web-tr{display:none}
  .ifl-halloween-decor .spider-c{display:none}
  .ifl-halloween-decor .ifl-web{width:180px}
  .ifl-halloween-decor .ifl-pumpkin{font-size:42px;opacity:.75}
}
/* Seasonal themes are intentionally animated. Keep motion lightweight instead of disabling it. */
@media (prefers-reduced-motion: reduce) {
  .ifl-halloween-decor .ifl-spider { animation-duration:7s!important; }
  .ifl-halloween-decor .ifl-pumpkin { animation-duration:5s!important; }
  .ifl-halloween-decor .ifl-fog { animation-duration:28s!important; opacity:.18!important; }
  .ifl-anniversary-decor .ifl-spark { animation-duration:14s!important; opacity:.35!important; }
}


/* ===== PUBLIC HOMEPAGE — HALLOWEEN ===== */
body.homepage-theme-halloween {
  --ifl-bg:#08060c; --ifl-bg-card:#120d18; --ifl-bg-elevated:#1b1025;
  --ifl-accent:#ff7a00; --ifl-accent-hover:#ff9a3c; --ifl-accent-glow:rgba(255,122,0,.20);
  --ifl-text-primary:#fff4e8; --ifl-text-secondary:#cdbbdd; --ifl-border:rgba(255,122,0,.18);
  --md-sys-color-background:#08060c; --md-sys-color-surface:#120d18; --md-sys-color-primary:#ff7a00;
  background:
    radial-gradient(circle at 12% 10%,rgba(168,85,247,.12),transparent 27%),
    radial-gradient(circle at 88% 16%,rgba(255,122,0,.11),transparent 30%),#08060c!important;
}
body.homepage-theme-halloween .public-navbar,
body.homepage-theme-halloween .navbar,
body.homepage-theme-halloween .public-footer {
  background:rgba(8,6,12,.93)!important;border-color:rgba(255,122,0,.22)!important;
  box-shadow:0 0 30px rgba(168,85,247,.08)!important;
}
body.homepage-theme-halloween h1,
body.homepage-theme-halloween h2,
body.homepage-theme-halloween .section-title,
body.homepage-theme-halloween .hero-title {
  font-family:"Creepster",Impact,fantasy!important;letter-spacing:.04em;
  color:#ff9a3c!important;text-shadow:0 0 10px rgba(255,122,0,.28),0 0 24px rgba(168,85,247,.18);
}
body.homepage-theme-halloween .card,
body.homepage-theme-halloween .event-card,
body.homepage-theme-halloween .news-card,
body.homepage-theme-halloween .team-member-card,
body.homepage-theme-halloween .supporter-card {
  background:linear-gradient(145deg,rgba(18,13,24,.97),rgba(27,16,37,.95))!important;
  border-color:rgba(255,122,0,.18)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.34),0 0 22px rgba(168,85,247,.06)!important;
}
body.homepage-theme-halloween .card:hover,
body.homepage-theme-halloween .event-card:hover,
body.homepage-theme-halloween .news-card:hover {
  border-color:rgba(255,122,0,.52)!important;box-shadow:0 14px 34px rgba(0,0,0,.4),0 0 26px rgba(255,122,0,.13)!important;
}
body.homepage-theme-halloween .btn-filled,
body.homepage-theme-halloween .btn.btn-filled {
  background:linear-gradient(135deg,#ff7a00,#a855f7)!important;color:#fff!important;
  box-shadow:0 5px 22px rgba(255,122,0,.22)!important;
}
body.homepage-theme-halloween:before,
body.homepage-theme-halloween:after {
  content:"";position:fixed;z-index:9997;pointer-events:none;width:260px;height:260px;top:62px;opacity:.43;
  background:repeating-conic-gradient(from 0deg at 100% 0%,transparent 0 9deg,rgba(231,210,247,.35) 10deg 11deg,transparent 12deg 24deg);
  mask-image:radial-gradient(circle at 100% 0%,#000 0 61%,transparent 63%);
}
body.homepage-theme-halloween:before{left:-60px;transform:scaleX(-1)}
body.homepage-theme-halloween:after{right:-60px}

/* ===== PUBLIC HOMEPAGE — 2ND ANNIVERSARY ===== */
body.homepage-theme-anniversary {
  --ifl-bg:#0c0708; --ifl-bg-card:#171012; --ifl-bg-elevated:#211518;
  --ifl-accent:#d4af37; --ifl-accent-hover:#f2cf5b; --ifl-accent-glow:rgba(212,175,55,.18);
  --ifl-text-primary:#fff8e7; --ifl-text-secondary:#d8cdb8; --ifl-border:rgba(212,175,55,.20);
}
body.homepage-theme-anniversary .public-navbar,
body.homepage-theme-anniversary .navbar,
body.homepage-theme-anniversary .public-footer {background:rgba(12,7,8,.94)!important;border-color:rgba(212,175,55,.24)!important}
body.homepage-theme-anniversary h1,
body.homepage-theme-anniversary h2,
body.homepage-theme-anniversary .section-title {color:#f1d16b!important;text-shadow:0 0 18px rgba(212,175,55,.18)}
body.homepage-theme-anniversary .card,
body.homepage-theme-anniversary .event-card,
body.homepage-theme-anniversary .news-card,
body.homepage-theme-anniversary .team-member-card,
body.homepage-theme-anniversary .supporter-card {
  background:linear-gradient(145deg,#171012,#211518)!important;border-color:rgba(212,175,55,.18)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.34),0 0 22px rgba(212,175,55,.05)!important;
}
body.homepage-theme-anniversary .btn-filled,
body.homepage-theme-anniversary .btn.btn-filled {background:linear-gradient(135deg,#a81818,#d4af37)!important;color:#fff!important}

/* ===== 2ND ANNIVERSARY REWORK — unmistakably celebratory ===== */
.ifl-anniversary-signature {
  position:fixed;
  top:86px;
  right:26px;
  width:min(390px,calc(100vw - 52px));
  padding:15px 18px 14px;
  border:1px solid rgba(244,201,72,.42);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(18,8,10,.92),rgba(52,14,17,.88));
  box-shadow:0 15px 42px rgba(0,0,0,.42),0 0 32px rgba(212,175,55,.16),inset 0 0 20px rgba(255,255,255,.02);
  backdrop-filter:blur(9px);
  overflow:hidden;
  animation:iflAnniversaryBadgePulse 3.4s ease-in-out infinite;
}
.ifl-anniversary-signature:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(115deg,transparent 0 36%,rgba(255,244,190,.14) 46%,transparent 56% 100%);
  transform:translateX(-130%);
  animation:iflAnniversaryShine 5.6s ease-in-out infinite;
}
.ifl-anniversary-signature:after {
  content:"2";
  position:absolute;
  right:-9px;
  bottom:-32px;
  font:900 112px/1 Arial Black,Impact,sans-serif;
  color:rgba(244,201,72,.075);
  text-shadow:0 0 22px rgba(212,175,55,.12);
}
.ifl-anniversary-kicker,
.ifl-anniversary-years,
.ifl-anniversary-signature strong {position:relative;z-index:1;display:block}
.ifl-anniversary-kicker {
  margin-bottom:3px;
  color:#d9bd62;
  font:700 10px/1.2 Arial,sans-serif;
  letter-spacing:.22em;
}
.ifl-anniversary-signature strong {
  color:#fff6cf;
  font:900 clamp(20px,2.2vw,30px)/1.05 Arial Black,Impact,sans-serif;
  letter-spacing:.035em;
  text-shadow:0 0 15px rgba(212,175,55,.25),0 2px 0 rgba(87,8,13,.45);
}
.ifl-anniversary-signature-number {
  display:inline-block;
  margin-right:2px;
  color:#f2c94c;
  font-size:1.35em;
  transform:translateY(2px);
  text-shadow:0 0 18px rgba(242,201,76,.32);
}
.ifl-anniversary-signature sup {font-size:.43em;color:#f2c94c;vertical-align:top;margin-right:7px;letter-spacing:0}
.ifl-anniversary-years {
  margin-top:6px;
  color:#d7cbbd;
  font:700 10px/1.3 Arial,sans-serif;
  letter-spacing:.085em;
}
.ifl-anniversary-years b {color:#f2c94c;margin:0 4px}

.ifl-anniversary-watermark {
  position:fixed;
  right:5vw;
  bottom:3vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:190px;
  color:rgba(242,201,76,.075);
  text-align:center;
  filter:drop-shadow(0 0 24px rgba(212,175,55,.10));
  animation:iflAnniversaryWatermarkFloat 5s ease-in-out infinite;
}
.ifl-anniversary-watermark span {font:900 clamp(150px,22vw,310px)/.72 Arial Black,Impact,sans-serif;letter-spacing:-.08em}
.ifl-anniversary-watermark small {font:900 clamp(21px,3.4vw,46px)/1 Arial Black,Impact,sans-serif;letter-spacing:.28em;margin-left:.28em}

.ifl-anniversary-ribbon {
  position:fixed;
  left:-46px;
  bottom:82px;
  padding:8px 52px;
  transform:rotate(45deg);
  color:#fff3c2;
  background:linear-gradient(90deg,#7f1016,#b91c1c 45%,#9a731a);
  border:1px solid rgba(242,201,76,.43);
  box-shadow:0 0 25px rgba(185,28,28,.22);
  font:800 10px/1 Arial,sans-serif;
  letter-spacing:.14em;
}

.ifl-anniversary-decor .ifl-spark-two {
  width:auto!important;
  height:auto!important;
  background:none!important;
  border-radius:0!important;
  color:#f2c94c;
  font:900 13px/1 Arial Black,Impact,sans-serif;
  text-shadow:0 0 8px rgba(242,201,76,.45);
  box-shadow:none!important;
}

body.theme-2nd-anniversary .navbar-container:after,
body.homepage-theme-anniversary .public-navbar:after,
body.homepage-theme-anniversary .navbar:after {
  content:"2ND ANNIVERSARY · 2024–2026";
  display:block;
  position:absolute;
  left:50%;
  bottom:-1px;
  transform:translate(-50%,100%);
  padding:4px 12px 5px;
  border-radius:0 0 10px 10px;
  background:linear-gradient(90deg,#7d0f14,#b91c1c 48%,#b18922);
  border:1px solid rgba(242,201,76,.28);
  border-top:0;
  color:#fff5cf;
  font:800 9px/1 Arial,sans-serif;
  letter-spacing:.12em;
  box-shadow:0 7px 18px rgba(0,0,0,.22);
  pointer-events:none;
}

body.theme-2nd-anniversary h1:after,
body.theme-2nd-anniversary .page-title:after,
body.homepage-theme-anniversary .hero-title:after {
  content:" · 2 YEARS";
  color:#d4af37;
  font-size:.42em;
  font-weight:800;
  letter-spacing:.12em;
  vertical-align:middle;
  white-space:nowrap;
}


/* ===== 2ND ANNIVERSARY READABILITY — ghost decorations on pointer hover ===== */
.ifl-anniversary-signature,
.ifl-anniversary-ribbon,
.ifl-anniversary-watermark {
  pointer-events:auto;
  transition:opacity .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease, filter .22s ease;
}

@media (hover:hover) and (pointer:fine) {
  .ifl-anniversary-signature:hover {
    opacity:.38;
    background:linear-gradient(135deg,rgba(18,8,10,.28),rgba(52,14,17,.24));
    border-color:rgba(244,201,72,.14);
    box-shadow:0 6px 16px rgba(0,0,0,.12),0 0 8px rgba(212,175,55,.05)!important;
    filter:saturate(.72);
    animation-play-state:paused;
  }
  .ifl-anniversary-signature:hover:before { opacity:.18; }
  .ifl-anniversary-signature:hover:after { opacity:.34; }

  .ifl-anniversary-ribbon:hover {
    opacity:.28;
    border-color:rgba(242,201,76,.12);
    box-shadow:0 0 8px rgba(185,28,28,.06);
    filter:saturate(.65);
  }
  .ifl-anniversary-watermark:hover {
    opacity:.24;
    filter:drop-shadow(0 0 6px rgba(212,175,55,.04));
    animation-play-state:paused;
  }

  body.theme-2nd-anniversary .navbar-container:hover:after,
  body.homepage-theme-anniversary .public-navbar:hover:after,
  body.homepage-theme-anniversary .navbar:hover:after {
    opacity:.24;
    background:linear-gradient(90deg,rgba(125,15,20,.28),rgba(185,28,28,.24) 48%,rgba(177,137,34,.26));
    border-color:rgba(242,201,76,.10);
    box-shadow:0 3px 8px rgba(0,0,0,.08);
    transition:opacity .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
  }

  body.theme-2nd-anniversary h1:hover:after,
  body.theme-2nd-anniversary .page-title:hover:after,
  body.homepage-theme-anniversary .hero-title:hover:after {
    opacity:.28;
    transition:opacity .2s ease;
  }
}

@keyframes iflAnniversaryBadgePulse {
  0%,100%{box-shadow:0 15px 42px rgba(0,0,0,.42),0 0 25px rgba(212,175,55,.10)}
  50%{box-shadow:0 15px 42px rgba(0,0,0,.42),0 0 42px rgba(212,175,55,.25)}
}
@keyframes iflAnniversaryShine {
  0%,62%{transform:translateX(-130%)}
  82%,100%{transform:translateX(140%)}
}
@keyframes iflAnniversaryWatermarkFloat {
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-7px) scale(1.015)}
}

@media (max-width:800px) {
  .ifl-anniversary-signature {top:auto;right:12px;bottom:14px;width:min(330px,calc(100vw - 24px));padding:10px 13px;opacity:.94}
  .ifl-anniversary-signature strong{font-size:19px}
  .ifl-anniversary-years{font-size:9px}
  .ifl-anniversary-watermark{right:-8px;bottom:112px;opacity:.62}
  .ifl-anniversary-watermark span{font-size:150px}
  .ifl-anniversary-watermark small{font-size:21px}
  .ifl-anniversary-ribbon{display:none}
  body.theme-2nd-anniversary .navbar-container:after,
  body.homepage-theme-anniversary .public-navbar:after,
  body.homepage-theme-anniversary .navbar:after{font-size:8px;letter-spacing:.08em;max-width:85vw;white-space:nowrap}
}
