/* Cosmic ambient motion: decor-only layers, never block UI interaction. */
body::before,body::after{content:"";position:fixed;pointer-events:none;z-index:0;border-radius:50%;filter:blur(24px);opacity:.48;will-change:transform}
body::before{width:min(38vw,440px);height:min(38vw,440px);top:12%;right:3%;background:radial-gradient(circle at 38% 35%,rgba(255,187,246,.44),rgba(154,95,255,.19) 48%,transparent 72%);animation:mhOrbOne 23s ease-in-out infinite alternate}
body::after{width:min(34vw,400px);height:min(34vw,400px);bottom:7%;left:5%;background:radial-gradient(circle at 40% 35%,rgba(124,120,255,.39),rgba(255,119,203,.16) 50%,transparent 75%);animation:mhOrbTwo 29s ease-in-out infinite alternate}
@keyframes mhOrbOne{0%{transform:translate3d(0,0,0) scale(.95)}50%{transform:translate3d(-7vw,9vh,0) scale(1.12)}100%{transform:translate3d(-2vw,-7vh,0) scale(.9)}}
@keyframes mhOrbTwo{0%{transform:translate3d(0,0,0)}50%{transform:translate3d(10vw,-10vh,0) scale(1.14)}100%{transform:translate3d(3vw,6vh,0) scale(.95)}}
body>div,body>main,body>aside,body>header,body>nav{position:relative;z-index:1}
/* Light-catching border, no layout changes and no overlays on buttons. */
.card{position:relative;isolation:isolate;transition:box-shadow .35s ease,transform .35s ease,border-color .35s ease}
.card:hover{border-color:rgba(225,160,255,.48)!important;box-shadow:0 0 0 1px rgba(217,156,255,.13),0 0 24px rgba(177,107,243,.18),inset 0 1px rgba(255,255,255,.12)!important}
/* Featured cards: a slow luminous edge glow, preserving original glass. */
.card:has(#timerArc),.card:has(#roomClock),.card:has(#examTimeline){animation:mhCardGlow 7s ease-in-out infinite}
@keyframes mhCardGlow{0%,100%{box-shadow:0 0 0 1px rgba(213,142,255,.08),0 0 14px rgba(174,103,244,.07)}50%{box-shadow:0 0 0 1px rgba(244,149,224,.29),0 0 30px rgba(183,106,250,.21),inset 0 0 13px rgba(237,170,255,.05)}}
/* Slow moving soft sparkles in the page background. */
.mh-ambient-particles{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.mh-ambient-particles i{position:absolute;width:3px;height:3px;border-radius:50%;background:rgba(242,206,255,.8);box-shadow:0 0 9px 3px rgba(196,125,255,.32);animation:mhFloatParticle var(--dur) ease-in-out infinite alternate;animation-delay:var(--delay);left:var(--x);top:var(--y)}
@keyframes mhFloatParticle{from{transform:translate3d(0,0,0);opacity:.1}to{transform:translate3d(20px,-42px,0);opacity:.7}}
html[data-theme="light"] body::before,html[data-theme="light"] body::after{opacity:.19}
html[data-theme="light"] .mh-ambient-particles i{opacity:.24}
body:has(#fullTimer:not([hidden]))::before,body:has(#fullTimer:not([hidden]))::after{opacity:.08}
body:has(#fullTimer:not([hidden])) .mh-ambient-particles{opacity:.08}
@media(max-width:650px){body::before,body::after{width:220px;height:220px;opacity:.27;filter:blur(28px)}.mh-ambient-particles i:nth-child(n+8){display:none}}
@media(prefers-reduced-motion:reduce){body::before,body::after,.card:has(#timerArc),.card:has(#roomClock),.card:has(#examTimeline),.mh-ambient-particles i{animation:none!important}.card{transition:none!important}}
