/* SkilloPrint festival presentation layer.
 * Scope: public homepage / landing screen only.
 * Authenticated dashboard and tool surfaces intentionally remain unchanged.
 */
:root{
  --festival-page-bg:var(--bg-gradient,#0f172a);
  --festival-surface:var(--card-bg,rgba(30,41,59,.88));
  --festival-surface-strong:rgba(15,23,42,.94);
  --festival-primary:var(--accent-blue,#38bdf8);
  --festival-secondary:var(--accent-purple,#818cf8);
  --festival-border:var(--border-color,rgba(255,255,255,.12));
  --festival-glow:rgba(56,189,248,.22);
  --festival-heading:linear-gradient(135deg,#38bdf8,#a855f7,#f43f5e);
  --festival-action:linear-gradient(135deg,#2563eb,#7c3aed);
  --festival-pattern:none;
}

/* The JS adapter adds this class only while the public landing screen is
 * visible. No authenticated or free-tool surface matches these selectors. */
body.skillo-festival-landing-active{
  --bg-gradient:var(--festival-page-bg);
  --card-bg:var(--festival-surface);
  --accent-blue:var(--festival-primary);
  --accent-purple:var(--festival-secondary);
  --border-color:var(--festival-border);
  background:var(--festival-page-bg)!important;
  background-image:var(--festival-pattern),var(--festival-page-bg)!important;
  color:#fff7ed!important;
  transition:background .45s ease,color .25s ease;
}
body.skillo-festival-landing-active::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  opacity:.10;
  background-image:
    radial-gradient(circle at 12% 22%,var(--festival-primary) 0 1px,transparent 2px),
    radial-gradient(circle at 86% 68%,var(--festival-secondary) 0 1px,transparent 2px);
  background-size:31px 31px,47px 47px;
  mix-blend-mode:screen;
}
body.skillo-festival-landing-active #loginScreen.front-home{
  position:relative;
  z-index:1;
  background:var(--festival-surface)!important;
  color:#fff7ed!important;
  border-color:var(--festival-border)!important;
  box-shadow:0 20px 58px var(--festival-glow)!important;
}
body.skillo-festival-landing-active #loginScreen.front-home
:is(.front-tool-catalog,.landing-contact-card,.landing-metrics-section,
.landing-trust-section,.reference-floating-card,.front-hero,#landingArticles,
#landingMetrics,.landing-trust-item){
  background:var(--festival-surface)!important;
  color:#fff7ed!important;
  border-color:var(--festival-border)!important;
  box-shadow:0 16px 42px var(--festival-glow)!important;
}
body.skillo-festival-landing-active #loginScreen.front-home
:is(.front-showcase,.reference-dashboard-surface){
  background:var(--festival-surface-strong)!important;
  border-color:var(--festival-border)!important;
}
body.skillo-festival-landing-active #loginScreen.front-home
:is(.front-nav,.front-auth-panel,.mission-shell){
  background:var(--festival-surface-strong)!important;
  color:#fff7ed!important;
  border-color:var(--festival-border)!important;
}
body.skillo-festival-landing-active #loginScreen.front-home
:is(.front-nav a,.front-nav button,.landing-free-tools-trigger,#frontLoginBtn,#frontJoinBtn){
  background:var(--festival-action)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  border-color:var(--festival-border)!important;
  box-shadow:0 8px 22px var(--festival-glow);
}
body.skillo-festival-landing-active #loginScreen.front-home
:is(a,.front-hero p,#landingArticles p,#landingMetrics strong,#landingMetrics small){
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
}
body.skillo-festival-landing-active #loginScreen.front-home
:is(.portal-main-heading,.front-hero h1,.front-hero h2,.front-hero h3,
#landingArticles h2,#landingMetrics h2){
  background:var(--festival-heading)!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
}
body.skillo-festival-landing-active #loginScreen.front-home
:is(.front-nav a,.front-nav button,.landing-free-tools-trigger,#frontLoginBtn,#frontJoinBtn):hover{
  filter:brightness(1.1) saturate(1.08);
  transform:translateY(-1px);
}

body.skillo-festival-landing-active #skilloFestivalAmbient{
  position:fixed;
  inset:0;
  z-index:2;
  overflow:hidden;
  pointer-events:none;
  isolation:isolate;
  contain:strict;
  opacity:.74;
  mix-blend-mode:normal;
}
body.skillo-festival-landing-active #skilloFestivalAmbient > *{
  pointer-events:none!important;
}
body.skillo-festival-landing-active .skillo-festival-ambient-backdrop{
  position:absolute;
  inset:-8%;
  background:
    radial-gradient(ellipse at 14% 16%,color-mix(in srgb,var(--festival-primary) 22%,transparent) 0 13%,transparent 42%),
    radial-gradient(ellipse at 86% 78%,color-mix(in srgb,var(--festival-secondary) 18%,transparent) 0 14%,transparent 44%),
    linear-gradient(135deg,transparent 0 42%,color-mix(in srgb,var(--festival-primary) 7%,transparent) 50%,transparent 60%);
  opacity:.36;
  filter:saturate(1.08);
  backdrop-filter:blur(3px) saturate(1.08);
  -webkit-backdrop-filter:blur(3px) saturate(1.08);
  animation:skilloFestivalAmbientDrift 18s ease-in-out infinite alternate;
}
body.skillo-festival-landing-active .skillo-festival-ambient-sheen{
  position:absolute;
  inset:0;
  background:linear-gradient(112deg,transparent 0 34%,color-mix(in srgb,var(--festival-primary) 7%,transparent) 45%,transparent 58% 100%);
  opacity:.28;
  transform:translateX(-16%);
  animation:skilloFestivalSheen 14s ease-in-out infinite alternate;
}
body.skillo-festival-landing-active .skillo-festival-ambient-spark{
  position:absolute;
  width:5px;
  height:5px;
  border-radius:999px;
  background:var(--festival-primary);
  box-shadow:0 0 12px 3px var(--festival-glow);
  opacity:.42;
  animation:skilloFestivalSparkFloat 7s ease-in-out infinite;
}
body.skillo-festival-landing-active .spark-a{left:8%;top:26%;animation-delay:-1s}
body.skillo-festival-landing-active .spark-b{left:26%;top:74%;animation-delay:-4s}
body.skillo-festival-landing-active .spark-c{left:48%;top:18%;animation-delay:-2s}
body.skillo-festival-landing-active .spark-d{left:68%;top:68%;animation-delay:-5s}
body.skillo-festival-landing-active .spark-e{left:82%;top:32%;animation-delay:-3s}
body.skillo-festival-landing-active .spark-f{left:92%;top:82%;animation-delay:-6s}

body.skillo-festival-landing-active #skilloFestivalAmbient[data-festival="diwali"] .skillo-festival-ambient-backdrop{
  background:
    radial-gradient(ellipse at 18% 18%,rgba(251,191,36,.26) 0 12%,transparent 40%),
    radial-gradient(ellipse at 82% 72%,rgba(244,63,94,.22) 0 13%,transparent 42%),
    linear-gradient(135deg,rgba(250,204,21,.08),transparent 46%,rgba(168,85,247,.12));
}
body.skillo-festival-landing-active #skilloFestivalAmbient[data-festival="holi"] .skillo-festival-ambient-backdrop{
  background:
    radial-gradient(ellipse at 14% 24%,rgba(244,63,94,.24) 0 14%,transparent 42%),
    radial-gradient(ellipse at 78% 72%,rgba(34,211,238,.22) 0 14%,transparent 44%),
    radial-gradient(ellipse at 58% 28%,rgba(250,204,21,.16) 0 10%,transparent 38%);
}
body.skillo-festival-landing-active #skilloFestivalAmbient[data-festival="karwa_chauth"] .skillo-festival-ambient-backdrop{
  background:
    radial-gradient(circle at 84% 22%,rgba(254,240,138,.32) 0 3%,rgba(251,191,36,.12) 4% 12%,transparent 33%),
    radial-gradient(ellipse at 16% 76%,rgba(244,114,182,.18) 0 12%,transparent 42%),
    linear-gradient(135deg,rgba(190,24,93,.12),transparent 58%);
}
body.skillo-festival-landing-active .skillo-festival-moon{
  position:absolute;
  right:8%;
  top:12%;
  width:clamp(44px,6vw,86px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle at 38% 34%,#fffde7 0 16%,#fde68a 48%,#f59e0b 72%,transparent 74%);
  box-shadow:0 0 22px 8px rgba(253,224,71,.25),0 0 80px 18px rgba(251,191,36,.12);
  opacity:.58;
  animation:skilloFestivalMoonGlow 4.8s ease-in-out infinite alternate;
}
body.skillo-festival-landing-active #skilloFestivalAmbient[data-festival="diwali"] .skillo-festival-firework{
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:radial-gradient(circle,#fff7ed 0 13%,#fbbf24 25%,#f97316 45%,transparent 68%);
  box-shadow:
    0 -58px 0 -2px #fde68a,
    41px -41px 0 -2px #fb7185,
    58px 0 0 -2px #fbbf24,
    41px 41px 0 -2px #a78bfa,
    0 58px 0 -2px #f97316,
    -41px 41px 0 -2px #fde68a,
    -58px 0 0 -2px #f472b6,
    -41px -41px 0 -2px #fbbf24;
  opacity:0;
  transform:scale(.12);
  animation:skilloFestivalFireworkBurst 5.6s cubic-bezier(.18,.68,.32,1) infinite;
}
/* Refreshed PR #712 multicolor ray/firework design on the current main branch. */
body.skillo-festival-landing-active #skilloFestivalAmbient[data-festival="diwali"] .skillo-festival-firework::before{
  content:'';position:absolute;left:50%;top:50%;width:170px;height:170px;
  border-radius:50%;transform:translate(-50%,-50%);
  background:repeating-conic-gradient(from 3deg,transparent 0deg 5deg,var(--burst-ray,#fbbf24) 6deg 7deg,transparent 8deg 15deg);
  -webkit-mask-image:radial-gradient(circle,transparent 0 15%,#000 23% 70%,transparent 77%);
  mask-image:radial-gradient(circle,transparent 0 15%,#000 23% 70%,transparent 77%);
  opacity:.8;
}
body.skillo-festival-landing-active #skilloFestivalAmbient[data-festival="diwali"] .skillo-festival-firework::after{
  content:'';position:absolute;left:50%;top:50%;width:5px;height:5px;
  border-radius:50%;background:#fff;
  box-shadow:0 -75px 4px 2px var(--burst-ray,#fbbf24),53px -53px 4px 1px var(--burst-accent,#fb7185),
  75px 0 4px 2px var(--burst-ray,#fbbf24),53px 53px 4px 1px var(--burst-accent,#fb7185),
  0 75px 4px 2px var(--burst-ray,#fbbf24),-53px 53px 4px 1px var(--burst-accent,#fb7185),
  -75px 0 4px 2px var(--burst-ray,#fbbf24),-53px -53px 4px 1px var(--burst-accent,#fb7185);
}
body.skillo-festival-landing-active #skilloFestivalAmbient .firework-a{--burst-ray:#fbbf24;--burst-accent:#f97316;left:18%;top:22%;animation-delay:-1.2s}
body.skillo-festival-landing-active #skilloFestivalAmbient .firework-b{--burst-ray:#e879f9;--burst-accent:#fb7185;left:77%;top:28%;animation-delay:-3.6s}
body.skillo-festival-landing-active #skilloFestivalAmbient .firework-c{--burst-ray:#22d3ee;--burst-accent:#4ade80;left:52%;top:14%;animation-delay:-5s}
body.skillo-festival-landing-active #skilloFestivalAmbient[data-festival="diwali"] .skillo-festival-diya{
  position:absolute;
  bottom:22px;
  width:62px;
  height:30px;
  border-radius:50% 50% 45% 45%;
  background:linear-gradient(180deg,#fbbf24,#ea580c 72%,#7c2d12);
  box-shadow:0 0 18px 5px rgba(251,191,36,.32),inset 0 -6px 8px rgba(124,45,18,.44);
  opacity:.82;
}
body.skillo-festival-landing-active #skilloFestivalAmbient .diya-a{left:5%}
body.skillo-festival-landing-active #skilloFestivalAmbient .diya-b{right:5%}
body.skillo-festival-landing-active #skilloFestivalAmbient .skillo-festival-diya::before{
  content:'';
  position:absolute;
  left:50%;
  top:-32px;
  width:20px;
  height:34px;
  transform:translateX(-50%);
  border-radius:50% 50% 46% 46%;
  background:radial-gradient(ellipse at 50% 78%,#fff7ed 0 12%,#fef08a 26%,#f97316 58%,transparent 72%);
  filter:blur(.2px);
  box-shadow:0 0 20px 8px rgba(251,191,36,.26);
  animation:skilloFestivalFlame 1.1s ease-in-out infinite alternate;
}
body.skillo-festival-landing-active .skillo-festival-color-cloud{
  position:absolute;
  width:clamp(120px,18vw,260px);
  aspect-ratio:1.8;
  border-radius:50%;
  filter:blur(24px);
  opacity:.22;
  animation:skilloFestivalCloudDrift 11s ease-in-out infinite alternate;
}
body.skillo-festival-landing-active .cloud-a{left:-4%;top:16%;background:#f43f5e}
body.skillo-festival-landing-active .cloud-b{right:-5%;top:48%;background:#22d3ee;animation-delay:-4s}
body.skillo-festival-landing-active .cloud-c{left:38%;bottom:4%;background:#facc15;animation-delay:-7s}


/* Diwali edge effects animate transform and opacity without layout shifts. */
body.skillo-festival-landing-active #skilloFestivalAmbient[data-festival="diwali"] :is(.skillo-festival-rocket,.skillo-festival-fountain,.skillo-festival-chakri,.skillo-festival-sparkler){position:absolute;opacity:0;will-change:transform,opacity}
body.skillo-festival-landing-active .skillo-festival-rocket{bottom:7%;width:4px;height:36px;border-radius:50%;background:linear-gradient(transparent,#fb923c,#fff7ed);box-shadow:0 0 12px #fbbf24;animation:skilloFestivalRocket 6s ease-out infinite}
body.skillo-festival-landing-active .rocket-a{left:12%;animation-delay:-1s}
body.skillo-festival-landing-active .rocket-b{right:12%;animation-delay:-4s}
body.skillo-festival-landing-active .skillo-festival-fountain{bottom:0;width:90px;height:150px;background:repeating-conic-gradient(from 172deg at 50% 100%,transparent 0deg 4deg,#fbbf24 5deg 6deg,transparent 7deg 12deg);clip-path:polygon(47% 100%,0 0,100% 0,53% 100%);animation:skilloFestivalFountain 5s ease-in-out infinite}
body.skillo-festival-landing-active .fountain-a{left:0;animation-delay:-1s}
body.skillo-festival-landing-active .fountain-b{right:0;animation-delay:-3s}
body.skillo-festival-landing-active .skillo-festival-chakri{bottom:12%;width:44px;height:44px;border:2px dotted #fde68a;border-radius:50%;box-shadow:0 0 12px #fbbf24,inset 0 0 10px #fb923c;background:conic-gradient(transparent 0 20%,#fbbf24 22% 25%,transparent 27% 48%,#fb7185 50% 53%,transparent 55%);animation:skilloFestivalChakri 5s linear infinite}
body.skillo-festival-landing-active .chakri-a{left:6%;animation-delay:-1s}
body.skillo-festival-landing-active .chakri-b{right:6%;animation-delay:-4s}
body.skillo-festival-landing-active .skillo-festival-sparkler{top:44%;width:3px;height:85px;border-radius:3px;background:linear-gradient(#fff7ed,#fbbf24 20%,#92400e 25%,#64748b 70%);transform-origin:50% 80%;box-shadow:0 -16px 14px 4px #fbbf2488;animation:skilloFestivalSparkler 5s ease-in-out infinite}
body.skillo-festival-landing-active .sparkler-a{left:3%;animation-delay:-1s}
body.skillo-festival-landing-active .sparkler-b{right:3%;animation-delay:-3s}
@keyframes skilloFestivalRocket{0%,8%{transform:translate3d(0,0,0) scale(.5);opacity:0}15%{opacity:.85}48%{transform:translate3d(12px,-54vh,0);opacity:.9}62%,100%{transform:translate3d(16px,-62vh,0) scale(.2);opacity:0}}
@keyframes skilloFestivalFountain{0%,100%{transform:scaleY(.25);opacity:0}18%,72%{transform:scaleY(1);opacity:.7}88%{transform:scaleY(.55);opacity:0}}
@keyframes skilloFestivalChakri{0%,10%,90%,100%{opacity:0}20%,75%{opacity:.8}50%{transform:rotate(720deg) scale(1.1)}100%{transform:rotate(1440deg) scale(.8)}}
@keyframes skilloFestivalSparkler{0%,100%{transform:rotate(-22deg);opacity:0}20%,72%{opacity:.8}50%{transform:rotate(22deg);opacity:.65}}

@keyframes skilloFestivalAmbientDrift{
  from{transform:translate3d(-1.5%,-1%,0) scale(1.02)}
  to{transform:translate3d(1.5%,1%,0) scale(1.06)}
}
@keyframes skilloFestivalSheen{
  from{transform:translateX(-16%)}
  to{transform:translateX(16%)}
}
@keyframes skilloFestivalSparkFloat{
  0%,100%{transform:translate3d(0,0,0) scale(.75);opacity:.18}
  50%{transform:translate3d(0,-18px,0) scale(1.35);opacity:.72}
}
@keyframes skilloFestivalFireworkBurst{
  0%,100%{opacity:0;transform:scale(.12)}
  12%{opacity:.88;transform:scale(.18)}
  34%{opacity:.78;transform:scale(.62)}
  58%{opacity:.55;transform:scale(1)}
  76%{opacity:.22;transform:scale(1.08)}
}
@keyframes skilloFestivalMoonGlow{
  from{transform:scale(.96);filter:brightness(.94)}
  to{transform:scale(1.04);filter:brightness(1.12)}
}
@keyframes skilloFestivalFlame{
  from{transform:translateX(-50%) scale(.82,.92) rotate(-4deg)}
  to{transform:translateX(-50%) scale(1.05,1.12) rotate(4deg)}
}
@keyframes skilloFestivalCloudDrift{
  from{transform:translate3d(-2%,-2%,0) scale(.96)}
  to{transform:translate3d(4%,3%,0) scale(1.08)}
}
@media(prefers-reduced-motion:reduce){
  body.skillo-festival-landing-active{transition:none}
  body.skillo-festival-landing-active *{
    animation-duration:.001ms!important;
    transition-duration:.001ms!important;
  }
}
@media(max-width:699px){
  body.skillo-festival-landing-active #skilloFestivalAmbient{opacity:.68}
}


/* ===== landing-readable-ink-v28 =====
   Explicit solid foregrounds for the festival landing surfaces.
   Keep this scope landing-only; authenticated/free-tool UI is untouched. */
body.skillo-festival-landing-active #loginScreen.front-home :is(
  .front-hero,
  #landingArticles,
  #landingMetrics,
  .front-showcase,
  .reference-dashboard-surface,
  .front-tool-catalog,
  .landing-contact-card,
  .landing-metrics-section,
  .landing-trust-section,
  .landing-trust-item
){
  background:var(--festival-surface-strong)!important;
  color:#fff7ed!important;
  border-color:var(--festival-border)!important;
  -webkit-text-fill-color:#fff7ed!important;
}
body.skillo-festival-landing-active #loginScreen.front-home :is(
  .front-hero h1,.front-hero h2,.front-hero h3,.front-hero h4,
  #landingArticles h1,#landingArticles h2,#landingArticles h3,#landingArticles h4,
  #landingMetrics h1,#landingMetrics h2,#landingMetrics h3,#landingMetrics h4,
  .front-showcase h1,.front-showcase h2,.front-showcase h3,.front-showcase h4,
  .reference-dashboard-surface h1,.reference-dashboard-surface h2,.reference-dashboard-surface h3,.reference-dashboard-surface h4,
  .front-tool-catalog h1,.front-tool-catalog h2,.front-tool-catalog h3,.front-tool-catalog h4
){
  background:none!important;
  background-image:none!important;
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
  text-shadow:0 1px 2px #02061766!important;
}
body.skillo-festival-landing-active #loginScreen.front-home :is(
  .front-hero p,.front-hero strong,.front-hero span,.front-hero small,
  #landingArticles p,#landingArticles strong,#landingArticles span,#landingArticles small,
  #landingMetrics p,#landingMetrics strong,#landingMetrics span,#landingMetrics small,
  .front-showcase p,.front-showcase strong,.front-showcase span,.front-showcase small,
  .reference-dashboard-surface p,.reference-dashboard-surface strong,.reference-dashboard-surface span,.reference-dashboard-surface small,
  .front-tool-catalog p,.front-tool-catalog strong,.front-tool-catalog span,.front-tool-catalog small
){
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
}
body.skillo-festival-landing-active #loginScreen.front-home :is(
  .front-hero .landing-seo-tool-links > a,
  .landing-seo-tool-links > a,
  .front-tool-catalog a
){
  background:#f8fafc!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  border-color:#cbd5e1!important;
  text-shadow:none!important;
}
body.skillo-festival-landing-active #loginScreen.front-home :is(
  .front-hero .landing-seo-tool-links > a:hover,
  .landing-seo-tool-links > a:hover,
  .front-tool-catalog a:hover
){
  background:#fff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
}
body.skillo-festival-landing-active #loginScreen.front-home :is(
  #landingArticles a,
  #landingMetrics a,
  .front-showcase a,
  .reference-dashboard-surface a
){
  color:#fde68a!important;
  -webkit-text-fill-color:#fde68a!important;
  text-decoration-color:#fde68a!important;
}
body.skillo-festival-landing-active #loginScreen.front-home :is(
  #landingMetrics .landing-trust-item,
  #landingMetrics .landing-metric-card,
  .landing-trust-item,
  .landing-contact-card
){
  background:rgba(255,255,255,.12)!important;
  color:#fff7ed!important;
  border-color:#ffffff42!important;
}
body.skillo-festival-landing-active #landingPolicyStrip,
body.skillo-festival-landing-active .op-footer{
  background:var(--festival-surface-strong)!important;
  color:#fff7ed!important;
  border-color:var(--festival-border)!important;
}
body.skillo-festival-landing-active #landingPolicyStrip :is(
  h1,h2,h3,h4,p,span,strong,small,a,
  .landing-policy-kicker,.landing-policy-title,.landing-policy-description
),
body.skillo-festival-landing-active .op-footer :is(
  h1,h2,h3,h4,p,span,strong,small,a,li,button
){
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
}
body.skillo-festival-landing-active #landingPolicyStrip a,
body.skillo-festival-landing-active .op-footer a{
  color:#fde68a!important;
  -webkit-text-fill-color:#fde68a!important;
}
body.skillo-festival-landing-active .landing-float-actions :is(button,a){
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-shadow:0 1px 2px #02061766!important;
}
body.skillo-festival-landing-active :is(
  .info-modal-card,
  #landingFeedbackDialog
){
  background:var(--festival-surface-strong)!important;
  color:#fff7ed!important;
  border-color:var(--festival-border)!important;
}
body.skillo-festival-landing-active :is(
  .info-modal-card h1,.info-modal-card h2,.info-modal-card h3,
  .info-modal-card p,.info-modal-card li,.info-modal-card label,
  #landingFeedbackDialog h1,#landingFeedbackDialog h2,#landingFeedbackDialog h3,
  #landingFeedbackDialog p,#landingFeedbackDialog label
){
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
}
body.skillo-festival-landing-active :is(
  .info-modal-card input,.info-modal-card textarea,
  #landingFeedbackDialog input,#landingFeedbackDialog textarea
){
  background:#fff!important;
  color:#172033!important;
  border-color:#cbd5e1!important;
}


/* Direct descendant selectors: keep contrast deterministic across Chromium and Safari. */
body.skillo-festival-landing-active #loginScreen.front-home #landingArticles{
  background:var(--festival-surface-strong)!important;
  color:#fff7ed!important;
}
body.skillo-festival-landing-active #loginScreen.front-home #landingArticles h2,
body.skillo-festival-landing-active #loginScreen.front-home #landingArticles h3{
  background:none!important;
  background-image:none!important;
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
}
body.skillo-festival-landing-active #loginScreen.front-home #landingArticles p,
body.skillo-festival-landing-active #loginScreen.front-home #landingArticles span{
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
}
body.skillo-festival-landing-active #loginScreen.front-home #landingArticles a{
  color:#fde68a!important;
  -webkit-text-fill-color:#fde68a!important;
}
body.skillo-festival-landing-active #loginScreen.front-home #landingMetrics{
  background:var(--festival-surface-strong)!important;
  color:#fff7ed!important;
  border-color:var(--festival-border)!important;
}
body.skillo-festival-landing-active #loginScreen.front-home #landingMetrics h2,
body.skillo-festival-landing-active #loginScreen.front-home #landingMetrics h3{
  background:none!important;
  background-image:none!important;
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
}
body.skillo-festival-landing-active #loginScreen.front-home #landingMetrics p,
body.skillo-festival-landing-active #loginScreen.front-home #landingMetrics span,
body.skillo-festival-landing-active #loginScreen.front-home #landingMetrics strong,
body.skillo-festival-landing-active #loginScreen.front-home #landingMetrics small{
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
}
body.skillo-festival-landing-active #loginScreen.front-home .front-hero .landing-seo-tool-links > a{
  background:#f8fafc!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  border-color:#cbd5e1!important;
  text-shadow:none!important;
}
body.skillo-festival-landing-active #loginScreen.front-home .front-hero .landing-seo-tool-links > a:hover{
  background:#fff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
}


/* Final high-specificity landing ink override.
   This wins over the legacy light-mode landing palette while remaining
   strictly scoped to the public festival landing screen. */
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home #landingArticles h2,
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home #landingArticles p,
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home #landingArticles span{
  background:none!important;
  background-image:none!important;
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
}
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home #landingArticles a{
  color:#fde68a!important;
  -webkit-text-fill-color:#fde68a!important;
}
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home #landingMetrics{
  background:var(--festival-surface-strong)!important;
  color:#fff7ed!important;
}
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home #landingMetrics h2,
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home #landingMetrics strong,
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home #landingMetrics p,
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home #landingMetrics span,
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home #landingMetrics small{
  background:none!important;
  background-image:none!important;
  color:#fff7ed!important;
  -webkit-text-fill-color:#fff7ed!important;
}
html body.op-light.skillo-festival-landing-active #loginScreen.auth-box.front-home .front-hero .landing-seo-tool-links > a{
  background:#f8fafc!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  border-color:#cbd5e1!important;
}


/* Popular-tool pills: override the pre-festival auth-dialog ink with a
   deliberately higher-specificity landing-only rule. */
html:not(.workspace-route) body.op-light.public-landing-active.skillo-festival-active.skillo-festival-landing-active #loginScreen.auth-box.front-home .front-hero nav.landing-seo-tool-links > a{
  background:#f8fafc!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  border-color:#cbd5e1!important;
  text-shadow:none!important;
}
html:not(.workspace-route) body.op-light.public-landing-active.skillo-festival-active.skillo-festival-landing-active #loginScreen.auth-box.front-home .front-hero nav.landing-seo-tool-links > a:hover,
html:not(.workspace-route) body.op-light.public-landing-active.skillo-festival-active.skillo-festival-landing-active #loginScreen.auth-box.front-home .front-hero nav.landing-seo-tool-links > a:focus-visible{
  background:#fff!important;
  color:#0f172a!important;
  -webkit-text-fill-color:#0f172a!important;
}

/* Festival footer: a single opaque palette keeps every label legible. */
body.skillo-festival-landing-active #loginScreen.front-home :is(.op-footer,.op-footer-grid,.landing-footer-info-row,#landingPolicyStrip,.landing-footer-activity,.op-footer-bottom){background:var(--festival-surface-strong)!important;color:#fff7ed!important;-webkit-text-fill-color:#fff7ed!important;border-color:var(--festival-border)!important}
body.skillo-festival-landing-active #loginScreen.front-home :is(.landing-footer-stat,.op-footer-social a){background:rgba(255,255,255,.12)!important;border-color:var(--festival-border)!important}
body.skillo-festival-landing-active #loginScreen.front-home :is(.op-footer,#landingPolicyStrip,.landing-footer-activity) :is(p,span,strong,small,li,h2,h3,button){color:#fff7ed!important;-webkit-text-fill-color:#fff7ed!important}
body.skillo-festival-landing-active #loginScreen.front-home :is(.op-footer,#landingPolicyStrip) a{color:#fde68a!important;-webkit-text-fill-color:#fde68a!important;text-decoration-color:#fde68a!important}

/* Center Diwali celebration: one-shot, 24 small paper strips, compositor-only transforms. */
body.skillo-festival-landing-active #skilloFestivalGreeting[data-festival="diwali"]{
  position:fixed;inset:0;z-index:55;contain:layout style paint;isolation:isolate;
  overflow:hidden;pointer-events:none!important;color:#fff5cf;
  animation:skilloDiwaliGreetingExit 6.6s linear both;
}
#skilloFestivalGreeting .skillo-diwali-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#skilloFestivalGreeting .skillo-diwali-center{position:absolute;left:50%;top:50%;width:0;height:0;pointer-events:none}
#skilloFestivalGreeting .skillo-diwali-rocket{
  position:absolute;left:-4px;top:-25px;width:8px;height:27px;border-radius:50% 50% 30% 30%;
  background:linear-gradient(#fff9df 0 16%,#fba54c 46%,#dc2626 90%);
  box-shadow:0 0 15px 4px #f59e0b77,0 14px 12px 2px #fbbf2480;
  opacity:0;animation:skilloDiwaliCenterRocket 1.2s ease-out both;
}
#skilloFestivalGreeting .skillo-diwali-rocket::after{content:'';position:absolute;top:100%;left:2px;width:4px;height:20px;border-radius:50%;background:linear-gradient(#fbbf24,#f97316,transparent)}
#skilloFestivalGreeting .skillo-diwali-flash{
  position:absolute;left:-38px;top:-38px;width:76px;height:76px;border-radius:50%;
  background:radial-gradient(circle,#fff6c1 0 5%,#fbbf2488 18%,#f9731633 46%,transparent 72%);
  opacity:0;animation:skilloDiwaliPaperFlash .7s 1.02s ease-out both;
}
#skilloFestivalGreeting .skillo-diwali-paper{
  position:absolute;left:-3px;top:-5px;width:6px;height:11px;border-radius:1px;
  background:var(--paper-color,#fbbf24);opacity:0;
  animation:skilloDiwaliPaperBurst 1.65s var(--paper-delay,1.1s) cubic-bezier(.1,.6,.38,1) both;
}
#skilloFestivalGreeting .skillo-diwali-message{
  position:absolute;left:50%;top:50%;width:min(95vw,690px);
  display:flex;flex-direction:column;align-items:center;gap:clamp(7px,1.8vw,14px);
  transform:translate(-50%,-50%);text-align:center;line-height:1.1;
}
#skilloFestivalGreeting .skillo-diwali-wordline{
  display:flex;justify-content:center;white-space:nowrap;
  font:900 clamp(29px,6.3vw,68px)/1.1 system-ui,-apple-system,"Segoe UI",sans-serif;
  letter-spacing:.01em;color:#fff1bf;-webkit-text-fill-color:#fff1bf;
  text-shadow:0 3px 6px #120703,0 0 18px #f59e0b,0 0 35px #f9731680;
}
#skilloFestivalGreeting .skillo-diwali-wordline:nth-child(2){font-size:clamp(24px,5vw,53px);color:#ffe7a0;-webkit-text-fill-color:#ffe7a0}
#skilloFestivalGreeting .skillo-diwali-letter{display:inline-block;opacity:0;animation:skilloDiwaliLetterForm .82s var(--in-delay,1.48s) cubic-bezier(.19,1,.33,1) both}
@keyframes skilloDiwaliCenterRocket{
  0%{opacity:0;transform:translate3d(0,165px,0) scale(.45)}
  13%{opacity:1}84%{opacity:1;transform:translate3d(0,0,0) scale(1.1)}
  100%{opacity:0;transform:translate3d(0,-3px,0) scale(.18)}
}
@keyframes skilloDiwaliPaperFlash{
  0%{opacity:0;transform:scale(.12)}28%{opacity:.95;transform:scale(1.3)}
  100%{opacity:0;transform:scale(2.5)}
}
@keyframes skilloDiwaliPaperBurst{
  0%{opacity:0;transform:translate3d(0,0,0) rotate(0) scale(.5)}
  18%{opacity:1}72%{opacity:.92}
  100%{opacity:0;transform:translate3d(var(--px),var(--py),0) rotate(var(--spin)) scale(.68)}
}
@keyframes skilloDiwaliLetterForm{
  from{opacity:0;transform:translate3d(var(--in-x),var(--in-y),0) scale(.58)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes skilloDiwaliGreetingExit{0%,84%{opacity:1}100%{opacity:0}}
body.skillo-festival-landing-active #skilloFestivalGreeting.skillo-diwali-greeting-static{animation:none!important}
#skilloFestivalGreeting.skillo-diwali-greeting-static .skillo-diwali-letter{animation:none!important;opacity:1;transform:none}
#skilloFestivalGreeting.skillo-diwali-greeting-static :is(.skillo-diwali-rocket,.skillo-diwali-flash,.skillo-diwali-paper){display:none!important}
@media(max-width:420px){
  #skilloFestivalGreeting .skillo-diwali-wordline{font-size:clamp(25px,6.6vw,32px);letter-spacing:0}
  #skilloFestivalGreeting .skillo-diwali-wordline:nth-child(2){font-size:clamp(22px,5.6vw,29px)}
}
@media(prefers-reduced-motion:reduce){
  #skilloFestivalGreeting :is(.skillo-diwali-rocket,.skillo-diwali-flash,.skillo-diwali-paper){display:none!important}
  #skilloFestivalGreeting .skillo-diwali-letter{animation:none!important;opacity:1;transform:none!important}
}
