#loader{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;background:radial-gradient(120% 90% at 50% 35%,#ffffff 0%,#E7F0FA 55%,#d6e5f5 100%);transition:opacity .55s ease,visibility .55s ease}#loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader-core{position:relative;width:128px;height:128px;display:grid;place-items:center}.loader-core .ring{position:absolute;border-radius:50%;border:3px solid transparent}.ring-outer{inset:0;border-top-color:#2E5E99;border-right-color:rgba(46,94,153,.35);animation:ring-spin 1.15s linear infinite}.ring-inner{inset:18px;border-bottom-color:#7BA4D0;border-left-color:rgba(123,164,208,.4);animation:ring-spin 1.5s linear infinite reverse}@keyframes ring-spin{to{transform:rotate(360deg)}}.loader-gem{width:60px;height:60px;border-radius:14px;box-shadow:0 8px 24px rgba(13,36,64,.22);animation:gem-pulse 1.8s ease-in-out infinite}@keyframes gem-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}.loader-meta{font-family:'JetBrains Mono',monospace;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:#4a6a8a}.loader-meta b{color:#0D2440;font-weight:700}@media (prefers-reduced-motion:reduce){.ring-outer,.ring-inner,.loader-gem{animation:none}}#pageturn{position:fixed;inset:0;z-index:99990;perspective:2200px;pointer-events:none}#pageturn.active{pointer-events:auto}.pt-page{position:absolute;inset:0;transform-origin:left center;transform:rotateY(112deg);transform-style:preserve-3d;backface-visibility:hidden;background:linear-gradient(105deg,#0D2440 0%,#1e4a80 42%,#2E5E99 100%);box-shadow:-12px 0 40px rgba(13,36,64,.35);opacity:0}.pt-page::after{content:"";position:absolute;top:0;right:0;bottom:0;width:90px;background:linear-gradient(90deg,transparent,rgba(231,240,250,.18))}.pt-page::before{content:"";position:absolute;top:50%;left:50%;width:96px;height:96px;transform:translate(-50%,-50%);background:url('/favicon.svg') center/contain no-repeat;opacity:.9;filter:drop-shadow(0 10px 26px rgba(0,0,0,.4))}#pageturn.turn-out .pt-page{opacity:1;animation:pt-close .62s cubic-bezier(.76,0,.24,1) forwards}@keyframes pt-close{from{transform:rotateY(112deg)}to{transform:rotateY(0deg)}}#pageturn.turn-in .pt-page{opacity:1;animation:pt-open .62s cubic-bezier(.76,0,.24,1) forwards}@keyframes pt-open{from{transform:rotateY(0deg)}to{transform:rotateY(112deg)}}@media (prefers-reduced-motion:reduce){#pageturn{display:none}}