.App{text-align:center;background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#0f172a 100%) fixed;height:100vh;position:relative;overflow:hidden}.App:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 20% 30%,#3b82f60d 0%,#0000 50%),radial-gradient(circle at 80% 70%,#8b5cf60d 0%,#0000 50%);position:fixed;inset:-10vh -10vw}.App>*{z-index:1}.App>.seasonal-backdrop{z-index:0}.App-route-shell{opacity:1;filter:blur();will-change:opacity, transform, filter;flex-direction:column;width:100%;height:100vh;transition:opacity .26s,transform .26s,filter .26s;display:flex;position:relative;overflow:auto;transform:translateY(0)scale(1)}.App.history-route .App-route-shell{overflow:hidden}.App-route-shell.is-exiting{opacity:0;filter:blur(10px);pointer-events:none;transform:translateY(18px)scale(.985)}.App-route-shell.is-entering{opacity:1;filter:blur();pointer-events:none;animation:.26s cubic-bezier(.22,1,.36,1) app-route-enter;transform:translateY(0)scale(1)}@keyframes app-route-enter{0%{opacity:0;filter:blur(8px);transform:translateY(-14px)scale(.99)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.App-route-shell.is-route-loading>:not(.route-loading){opacity:0}.route-loading{z-index:20;pointer-events:none;background:0 0;justify-content:center;align-items:center;animation:.2s ease-out route-loading-enter;display:flex;position:fixed;inset:0}.route-loading.is-exiting{animation:.22s ease-in forwards route-loading-exit}.route-loading-stack{flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.route-loading-ring{border:2px solid #60a5fa33;border-top-color:#60a5facc;border-radius:50%;width:48px;height:48px;animation:1s linear infinite route-loading-spin}.route-loading-text{color:#f1f5f9b3;margin:0;font-size:.9rem;font-weight:500}@keyframes route-loading-spin{to{transform:rotate(360deg)}}@keyframes route-loading-enter{0%{opacity:0}to{opacity:1}}@keyframes route-loading-exit{0%{opacity:1}to{opacity:0}}.App:after{content:"";pointer-events:none;z-index:10;background:linear-gradient(#0f172a 0%,#0000 4rem calc(100% - 4rem),#0f172a 100%);position:fixed;inset:0}.App.history-route:after{background:0 0}.App-header{color:#fff;background-color:#282c34;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;font-size:calc(10px + 2vmin);display:flex}.App-link{color:#61dafb}@media (width<=768px){.App{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){.App-route-shell,.App-route-shell.is-exiting,.App-route-shell.is-entering{filter:none;opacity:1;transition:none;animation:none;transform:none}}
