@property --ui-laser-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
.page,.study{animation:none;transform-origin:50% 30%}
#modal{position:fixed;transform-origin:50% 35%;background:linear-gradient(135deg,#241b38d9,#101426d9);isolation:isolate}
#modal.fx-closing{pointer-events:none}
.fx-laser{position:relative;isolation:isolate}
.fx-laser::after{content:'';display:block;position:absolute;inset:0;padding:1.5px;border:0;border-radius:inherit;pointer-events:none;z-index:5;background:conic-gradient(from var(--ui-laser-angle),transparent 0deg,transparent 275deg,#ff25354d 310deg,#ff344b 343deg,#ffd0d5 351deg,transparent 358deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:ui-laser-trace 4.2s linear infinite}
#modal:not([open])::after{animation-play-state:paused}
@keyframes ui-laser-trace{to{--ui-laser-angle:360deg}}
.ui-sound-toggle{position:fixed;right:16px;bottom:14px;z-index:40;border:1px solid #ffffff40;border-radius:20px;background:#191329e8;color:#f6e5bf;backdrop-filter:blur(16px);padding:9px 13px;font-size:11px;box-shadow:0 5px 20px #0003;min-height:36px}
.btn,.size-choice,.tabs button,.cat,.model{transition:transform .16s,background .2s,box-shadow .2s}
.btn:active,.size-choice:active,.tabs button:active,.cat:active,.model:active{transform:scale(.975)}
@media(max-width:650px){.ui-sound-toggle{bottom:84px;right:10px;padding:8px 11px;min-height:40px}}
@media(prefers-reduced-motion:reduce){.fx-laser::after{animation:none;--ui-laser-angle:45deg}.btn,.size-choice,.tabs button,.cat,.model{transition:none}.page,.study{animation:none!important}}
@media print{.ui-sound-toggle,.fx-laser::after{display:none!important}}
