/* Animated, subject-themed education background (see partials/edu-bg.blade.php). */
.edu-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;
  --g1:#BFD4FF;--g2:#DCCBFF;--g3:#FFD9B3;}
.edu-bg--float{background:
  radial-gradient(1200px 600px at 10% -10%,color-mix(in srgb,var(--g1) 35%,#fff) 0%,transparent 60%),
  radial-gradient(900px 500px at 100% 10%,color-mix(in srgb,var(--g2) 35%,#fff) 0%,transparent 55%),
  radial-gradient(900px 600px at 50% 110%,color-mix(in srgb,var(--g3) 35%,#fff) 0%,transparent 55%),#F8FAFD;}
.eb-grid{position:absolute;inset:0;opacity:.55;
  background-image:linear-gradient(rgba(37,99,235,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(37,99,235,.06) 1px,transparent 1px);
  background-size:44px 44px;
  -webkit-mask-image:radial-gradient(ellipse at center,transparent 28%,#000 85%);mask-image:radial-gradient(ellipse at center,transparent 28%,#000 85%);}
.eb-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.45;animation:eb-drift 22s ease-in-out infinite alternate;}
.eb-b1{width:380px;height:380px;left:-90px;top:8%;background:var(--g1);}
.eb-b2{width:340px;height:340px;right:-80px;top:38%;background:var(--g2);animation-delay:-7s;}
.eb-b3{width:320px;height:320px;left:34%;bottom:-120px;background:var(--g3);animation-delay:-13s;}
.eb-c-blue{color:#2563EB}.eb-c-violet{color:#7C3AED}.eb-c-orange{color:#F97316}.eb-c-green{color:#16A34A}

/* ── variant: float (chapter pages) ── */
.eb-i,.eb-t{position:absolute;left:var(--x);top:var(--y);animation:eb-float var(--t,16s) ease-in-out var(--d,0s) infinite;will-change:transform;font-style:normal;}
.eb-i{font-size:var(--s,32px);line-height:1;opacity:.5;}
.eb-t{font-size:13px;font-weight:800;letter-spacing:.04em;padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid currentColor;opacity:.55;white-space:nowrap;}
@keyframes eb-float{0%,100%{transform:translate3d(0,0,0) rotate(-6deg)}50%{transform:translate3d(10px,-24px,0) rotate(7deg)}}
@keyframes eb-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(60px,-40px,0) scale(1.15)}}

/* ── variant: rain (reader pages) — ruled paper, giant watermarks, symbols rising like bubbles ── */
.edu-bg--rain{z-index:-1;}
.edu-bg--rain .eb-blob{opacity:.22;}
.eb-paper{position:absolute;inset:0;
  background:
    linear-gradient(90deg,transparent 0,transparent 71px,rgba(239,68,68,.10) 71px,rgba(239,68,68,.10) 73px,transparent 73px),
    repeating-linear-gradient(180deg,transparent 0,transparent 31px,rgba(37,99,235,.07) 31px,rgba(37,99,235,.07) 32px);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 100%);mask-image:linear-gradient(180deg,#000 0%,rgba(0,0,0,.55) 100%);}
.eb-mark{position:absolute;font-size:300px;line-height:1;opacity:.055;color:var(--g2);filter:saturate(3) brightness(.7);font-style:normal;animation:eb-spin 90s linear infinite;}
.eb-mark-1{right:-70px;top:6%;} .eb-mark-2{left:-90px;bottom:-40px;animation-direction:reverse;font-size:340px;}
.eb-r{position:absolute;left:var(--x);bottom:-60px;font-style:normal;opacity:0;animation:eb-rise var(--t,26s) linear var(--d,0s) infinite;will-change:transform,opacity;}
i.eb-r{font-size:var(--s,24px);line-height:1;}
.eb-rt{font-size:12px;font-weight:800;letter-spacing:.04em;padding:4px 10px;border-radius:999px;border:1px solid currentColor;background:rgba(255,255,255,.6);white-space:nowrap;}
@keyframes eb-rise{0%{transform:translate3d(0,0,0) rotate(-8deg);opacity:0}8%{opacity:.4}50%{transform:translate3d(14px,-55vh,0) rotate(6deg)}92%{opacity:.4}100%{transform:translate3d(-10px,-112vh,0) rotate(-6deg);opacity:0}}
@keyframes eb-spin{to{transform:rotate(360deg)}}

/* page content + footer paint above the decoration (float variant) */
.ch-wrap,footer{position:relative;z-index:1}
@media(max-width:700px){.eb-t,.eb-i:nth-of-type(n+6){display:none}.eb-i{opacity:.35}.eb-r:nth-of-type(n+7){display:none}.eb-mark{font-size:200px}}
@media(prefers-reduced-motion:reduce){.eb-i,.eb-t,.eb-blob,.eb-r,.eb-mark{animation:none}.eb-r{opacity:.25}}



/* keep the top contact bar (and its Login / user dropdown) above the background layer */
.utility-bar{position:relative;z-index:101}
