/* CSS effects use two painted layers. Aurora and stars use bounded canvases with still fallbacks. */
@layer hyct-site-priority {
 body.eb-public-page > #hyct-page-ambient {position:fixed!important;inset:0!important;width:auto!important;height:100lvh!important;z-index:-1!important;pointer-events:none!important;overflow:clip!important;contain:strict!important;}
 /* Fade only the decorative layer. Content and controls never wait for it. */
 #hyct-page-ambient {opacity:1!important;transition:opacity 1.8s ease-out!important;}
 #hyct-page-ambient[data-starting] {opacity:0!important;}
 @media(prefers-reduced-motion:reduce) {#hyct-page-ambient{transition:none!important;}}
 .hyct-ambient {position:relative;isolation:isolate;overflow:clip;pointer-events:none;--hyct-ambient-state:running;}
 .hyct-ambient::before,.hyct-ambient::after {content:""!important;position:absolute!important;inset:-12%!important;pointer-events:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;opacity:var(--hyct-ambient-strength)!important;background-repeat:no-repeat!important;animation:hyct-ambient-drift var(--hyct-ambient-duration) ease-in-out infinite alternate!important;transform:scale(var(--hyct-ambient-scale));animation-play-state:var(--hyct-ambient-state)!important;}
 .hyct-ambient::after {animation-name:hyct-ambient-counter!important;animation-duration:calc(var(--hyct-ambient-duration)*1.3)!important;animation-delay:-19s!important;}
 .hyct-ambient[data-effect="aura"]::before {background-image:radial-gradient(ellipse at 22% 30%,var(--hyct-ambient-c1),transparent 51%),radial-gradient(ellipse at 80% 76%,var(--hyct-ambient-c2),transparent 48%)!important;}
 .hyct-ambient[data-effect="aura"]::after {background-image:radial-gradient(ellipse at 70% 20%,var(--hyct-ambient-c3),transparent 50%),radial-gradient(ellipse at 24% 88%,var(--hyct-ambient-c4),transparent 46%)!important;}
 .hyct-ambient[data-effect="mist"]::before {background-image:radial-gradient(ellipse 90% 18% at 35% 40%,transparent 15%,var(--hyct-ambient-c1) 38%,transparent 68%),radial-gradient(ellipse 85% 15% at 80% 78%,transparent 10%,var(--hyct-ambient-c2) 38%,transparent 66%)!important;}
 .hyct-ambient[data-effect="mist"]::after {background-image:radial-gradient(ellipse 90% 16% at 65% 24%,transparent 15%,var(--hyct-ambient-c3) 38%,transparent 69%),radial-gradient(ellipse 70% 12% at 10% 70%,transparent 15%,var(--hyct-ambient-c4) 36%,transparent 68%)!important;}
 .hyct-ambient[data-effect="ribbons"]::before {background-image:linear-gradient(125deg,transparent 10%,var(--hyct-ambient-c1) 23%,transparent 35%,transparent 54%,var(--hyct-ambient-c2) 68%,transparent 80%)!important;}
 .hyct-ambient[data-effect="ribbons"]::after {background-image:linear-gradient(145deg,transparent 14%,var(--hyct-ambient-c3) 30%,transparent 41%,transparent 62%,var(--hyct-ambient-c4) 75%,transparent 87%)!important;}
 .hyct-ambient[data-effect="ice"] {background:radial-gradient(ellipse at 25% 30%,color-mix(in srgb,var(--hyct-ambient-c1) 16%,transparent),transparent 65%),radial-gradient(ellipse at 80% 80%,color-mix(in srgb,var(--hyct-ambient-c2) 14%,transparent),transparent 60%);}
 .hyct-ambient[data-effect="ice"]::before,.hyct-ambient[data-effect="ice"]::after {opacity:calc(var(--hyct-ambient-strength)*2)!important;background-image:linear-gradient(145deg,#fff 15%,color-mix(in srgb,var(--hyct-ambient-c3) 25%,white) 50%,color-mix(in srgb,var(--hyct-ambient-c1) 55%,white) 53%,#fff 60%)!important;mask:url("ice-floes.svg") center/1100px 850px repeat;}
 .hyct-ambient[data-effect="ice"]::after {mask-position:550px 425px;mask-size:770px 595px;background-image:linear-gradient(145deg,#fff,color-mix(in srgb,var(--hyct-ambient-c4) 35%,white))!important;}
 /* Photographic alpha texture is painted once; only transform/opacity animate. */
 .hyct-ambient:where([data-effect="wild-smoke"])::before,.hyct-ambient:where([data-effect="wild-smoke"])::after {
  inset:-18% -24%!important;
  mask:url("wild-smoke.webp") center/cover no-repeat;
  background-image:linear-gradient(115deg,var(--hyct-ambient-c1),var(--hyct-ambient-c2) 42%,var(--hyct-ambient-c3) 76%,var(--hyct-ambient-c4))!important;
  opacity:var(--hyct-ambient-strength)!important;
  animation-name:hyct-smoke-drift!important;
  animation-delay:-17s!important;
 }
 .hyct-ambient:where([data-effect="wild-smoke"])::after {
  background-image:linear-gradient(155deg,var(--hyct-ambient-c4),var(--hyct-ambient-c3) 42%,var(--hyct-ambient-c2) 76%,var(--hyct-ambient-c1))!important;
  opacity:calc(var(--hyct-ambient-strength)*.65)!important;
  animation-name:hyct-smoke-counter!important;
  animation-delay:-41s!important;
  transform:translate3d(4%,-3%,0) rotate(16deg) scaleX(-1) scale(var(--hyct-ambient-scale));
 }
 .hyct-ambient[data-effect="crystal"]::before {mask:url("crystal-ribbons.svg") center/cover no-repeat;background-image:linear-gradient(120deg,var(--hyct-ambient-c1),var(--hyct-ambient-c2) 48%,var(--hyct-ambient-c3) 78%,var(--hyct-ambient-c4))!important;}
 .hyct-ambient[data-effect="crystal"]::after {inset:0!important;background-image:radial-gradient(circle at 30% 25%,rgb(255 255 255 / .9),color-mix(in srgb,var(--hyct-ambient-c2) 45%,transparent) 32%,transparent 65%,var(--hyct-ambient-c1) 69%,rgb(255 255 255 / .65) 71%,transparent 73%),radial-gradient(circle at 30% 25%,rgb(255 255 255 / .85),color-mix(in srgb,var(--hyct-ambient-c3) 35%,transparent) 32%,transparent 65%,var(--hyct-ambient-c4) 69%,rgb(255 255 255 / .6) 71%,transparent 73%)!important;background-size:clamp(64px,9vw,120px) clamp(64px,9vw,120px),clamp(90px,13vw,170px) clamp(90px,13vw,170px)!important;background-position:10% 8%,92% 90%!important;}
 .hyct-ambient:is([data-effect="aurora-wisps"],[data-effect="aurora-lite"])::before,.hyct-ambient:is([data-effect="aurora-wisps"],[data-effect="aurora-lite"])::after {mask:url("aurora-wisps.svg") center/100% 100% no-repeat;background-image:linear-gradient(110deg,var(--hyct-ambient-c1),var(--hyct-ambient-c2) 40%,var(--hyct-ambient-c3) 75%,var(--hyct-ambient-c4))!important;animation:none!important;opacity:var(--hyct-ambient-strength)!important;}
 .hyct-ambient:is([data-effect="aurora-wisps"],[data-effect="aurora-lite"])::after {transform:scaleX(-1) translateY(12%);opacity:calc(var(--hyct-ambient-strength)*.4)!important;}
 .hyct-ambient[data-effect="aurora-lite"]::before,.hyct-ambient[data-effect="aurora-lite"]::after {background-image:linear-gradient(110deg,color-mix(in srgb,var(--hyct-ambient-c1) 62%,#f6f8fc),color-mix(in srgb,var(--hyct-ambient-c2) 62%,#f6f8fc) 40%,color-mix(in srgb,var(--hyct-ambient-c3) 62%,#f6f8fc) 75%,color-mix(in srgb,var(--hyct-ambient-c4) 62%,#f6f8fc))!important;opacity:calc(var(--hyct-ambient-strength)*.7)!important;}
 .hyct-ambient:is([data-effect="aurora-wisps"],[data-effect="aurora-lite"]):not([data-aurora-fallback])::before,.hyct-ambient:is([data-effect="aurora-wisps"],[data-effect="aurora-lite"]):not([data-aurora-fallback])::after {display:none!important;}
 .hyct-ambient[data-aurora-ready]::before,.hyct-ambient[data-aurora-ready]::after {display:none!important;}
 .hyct-ambient > :is(.hyct-aurora-canvas,.hyct-stars-canvas,.hyct-dandelion-canvas,.hyct-bubbles-canvas) {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;pointer-events:none!important;border:0!important;box-shadow:none!important;opacity:1!important;filter:none!important;}
 /* The stationary colour wash is composited once instead of repainted every frame. */
 .hyct-ambient[data-effect="lustrous-stars"] {background-image:radial-gradient(circle at 16% 28%,color-mix(in srgb,var(--hyct-ambient-c1) calc(var(--hyct-ambient-strength)*9%),transparent),transparent 55%),radial-gradient(circle at 39% 72%,color-mix(in srgb,var(--hyct-ambient-c2) calc(var(--hyct-ambient-strength)*9%),transparent),transparent 55%),radial-gradient(circle at 62% 28%,color-mix(in srgb,var(--hyct-ambient-c3) calc(var(--hyct-ambient-strength)*9%),transparent),transparent 55%),radial-gradient(circle at 85% 72%,color-mix(in srgb,var(--hyct-ambient-c4) calc(var(--hyct-ambient-strength)*9%),transparent),transparent 55%)!important;}
 .hyct-ambient[data-effect="lustrous-stars"]::before {mask:url("lustrous-stars.svg") center/cover no-repeat;background-image:linear-gradient(125deg,var(--hyct-ambient-c1),var(--hyct-ambient-c2) 40%,var(--hyct-ambient-c3) 75%,var(--hyct-ambient-c4))!important;animation:none!important;inset:0!important;}
 .hyct-ambient[data-effect="lustrous-stars"]::after,.hyct-ambient[data-effect="lustrous-stars"]:not([data-stars-fallback])::before {display:none!important;}
 /* Static sunrise colour is painted once; seeds use a bounded, transparent canvas. */
 .hyct-ambient[data-effect="dandelion-sunrise"] {background:radial-gradient(ellipse at 77% 69%,#fffcf3 0%,color-mix(in srgb,var(--hyct-ambient-c2) 38%,transparent) 16%,transparent 54%),radial-gradient(ellipse at 55% 100%,color-mix(in srgb,var(--hyct-ambient-c1) 45%,transparent),transparent 66%),linear-gradient(180deg,color-mix(in srgb,var(--hyct-ambient-c4) 13%,transparent),transparent 53%)!important;}
 .hyct-ambient[data-effect="dandelion-sunrise"]::before {inset:0!important;mask:url("dandelion-sunrise.svg") center/cover no-repeat;background:color-mix(in srgb,var(--hyct-ambient-c3) 72%,#6f796d)!important;opacity:calc(var(--hyct-ambient-strength)*.45)!important;animation:none!important;transform:none!important;}
 .hyct-ambient[data-effect="dandelion-sunrise"]::after,.hyct-ambient[data-dandelions-ready]::before,.hyct-ambient[data-effect="dandelion-sunrise"]:not([data-dandelions-fallback])::before {display:none!important;}
 .hyct-ambient[data-effect="glass-bubbles"] {background:radial-gradient(ellipse at 15% 20%,color-mix(in srgb,var(--hyct-ambient-c1) 12%,transparent),transparent 60%),radial-gradient(ellipse at 85% 80%,color-mix(in srgb,var(--hyct-ambient-c3) 10%,transparent),transparent 65%)!important;}
 .hyct-ambient[data-effect="glass-bubbles"]::before {inset:0!important;mask:url("glass-bubbles.svg") center/cover no-repeat;background:linear-gradient(130deg,#fff,var(--hyct-ambient-c1),var(--hyct-ambient-c3),#fff)!important;animation:none!important;transform:none!important;}
 .hyct-ambient[data-effect="glass-bubbles"]::after,.hyct-ambient[data-bubbles-ready]::before,.hyct-ambient[data-effect="glass-bubbles"]:not([data-bubbles-fallback])::before {display:none!important;}
 /* Night artwork shares the bounded floating canvas; a faint aurora also survives no-JavaScript mode. */
 .hyct-ambient:is([data-effect="eerie-night-dandelions"],[data-effect="night-jellies"]) {background:radial-gradient(ellipse at 25% 28%,color-mix(in srgb,var(--hyct-ambient-c1) 5%,transparent),transparent 58%),radial-gradient(ellipse at 80% 45%,color-mix(in srgb,var(--hyct-ambient-c3) 5%,transparent),transparent 60%)!important;}
 .hyct-ambient:is([data-effect="eerie-night-dandelions"],[data-effect="night-jellies"])::before {inset:0!important;mask:url("dandelion-sunrise.svg") center/cover no-repeat;background:linear-gradient(125deg,var(--hyct-ambient-c1),var(--hyct-ambient-c2),var(--hyct-ambient-c3))!important;opacity:calc(var(--hyct-ambient-strength)*.6)!important;animation:none!important;transform:none!important;}
 .hyct-ambient[data-effect="night-jellies"]::before {mask-image:url("night-jellies.svg");}
 .hyct-ambient:is([data-effect="eerie-night-dandelions"],[data-effect="night-jellies"])::after {mask:url("aurora-wisps.svg") center/cover no-repeat;background:linear-gradient(110deg,var(--hyct-ambient-c1),var(--hyct-ambient-c2),var(--hyct-ambient-c3))!important;opacity:.08!important;animation:none!important;transform:none!important;}
 .hyct-ambient[data-effect="eerie-night-dandelions"]:not([data-dandelions-fallback])::before,.hyct-ambient[data-effect="eerie-night-dandelions"]:not([data-dandelions-fallback])::after,.hyct-ambient[data-effect="night-jellies"]:not([data-bubbles-fallback])::before,.hyct-ambient[data-effect="night-jellies"]:not([data-bubbles-fallback])::after {display:none!important;}
 .hyct-ambient[data-still]::before,.hyct-ambient[data-still]::after {animation-play-state:paused!important;}
 .hyct-ambient[data-effect="none"]::before,.hyct-ambient[data-effect="none"]::after {display:none!important;}
 .hyct-ambient[data-motion="0"]::before,.hyct-ambient[data-motion="0"]::after,.hyct-ambient[data-paused]::before,.hyct-ambient[data-paused]::after,.hyct-ambient[data-starting]::before,.hyct-ambient[data-starting]::after {animation-play-state:paused!important;}
 @media(max-width:767px) {.hyct-ambient::after{animation-name:none!important;} .hyct-ambient::before{animation-duration:calc(var(--hyct-ambient-duration)*1.4)!important;}}
 @media(prefers-reduced-motion:reduce),(prefers-reduced-transparency:reduce) {.hyct-ambient::before,.hyct-ambient::after{animation:none!important;}}
 @media(forced-colors:active),print {.hyct-ambient{display:none!important;}}
}
@keyframes hyct-ambient-drift {from{transform:translate3d(-2%,-1%,0) rotate(-3deg) scale(var(--hyct-ambient-scale));}to{transform:translate3d(3%,2%,0) rotate(3deg) scale(var(--hyct-ambient-scale));}}
@keyframes hyct-ambient-counter {from{transform:translate3d(2%,-2%,0) rotate(2deg) scale(var(--hyct-ambient-scale));}to{transform:translate3d(-3%,2%,0) rotate(-2deg) scale(var(--hyct-ambient-scale));}}
@keyframes hyct-smoke-drift {
 from{transform:translate3d(-9%,5%,0) rotate(-8deg) scale(calc(var(--hyct-ambient-scale)*.96));}
 to{transform:translate3d(9%,-5%,0) rotate(6deg) scale(calc(var(--hyct-ambient-scale)*1.09));}
}
@keyframes hyct-smoke-counter {
 from{transform:translate3d(8%,-6%,0) rotate(18deg) scaleX(-1) scale(calc(var(--hyct-ambient-scale)*1.08));}
 to{transform:translate3d(-7%,7%,0) rotate(3deg) scaleX(-1) scale(calc(var(--hyct-ambient-scale)*.94));}
}
/* The settings preview uses exactly the public effect, with its own clipped canvas. */
.hyct-ambient-preview {position:relative;isolation:isolate;min-height:210px;border-radius:20px;overflow:hidden;background:var(--hyct-ambient-base);border:1px solid #8b9ca844;margin-block:16px;}
.hyct-ambient-preview > .hyct-ambient {position:absolute;inset:0;}
.hyct-ambient-preview > p {position:relative;margin:30px!important;padding:22px!important;border-radius:18px;background:color-mix(in srgb,var(--hyct-ambient-base) 78%,transparent);border:1px solid #8b9ca855;backdrop-filter:blur(10px);color:var(--hyct-ambient-text)!important;}
.hyct-ambient-panel[hidden]{display:none!important;}

.hyct-ambient-panel [data-ambient-quantity][hidden]{display:none!important;}
