*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}:root{font-family:Lexend,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#333;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{height:100%;overflow:hidden}body{margin:0;padding:0;min-width:320px;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#fff,#d28af0 60%) fixed;padding-bottom:env(safe-area-inset-bottom)}h1{font-size:3.2em;line-height:1.1}img{max-width:100%;height:auto}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:transparent;cursor:pointer;transition:border-color .25s;-webkit-appearance:none}button:focus,button:focus-visible{outline:none}input{-webkit-appearance:none;appearance:none;font-family:inherit}.splash-screen{position:fixed;inset:0;background:linear-gradient(180deg,#fff 0% 23%,#d28af0);display:flex;align-items:center;justify-content:center;z-index:1000}.splash-content{display:flex;flex-direction:column;align-items:center}.splash-logo-wrapper{position:relative;width:min(300px,75vw);height:min(300px,75vw);display:flex;align-items:center;justify-content:center}.splash-logo{width:min(230px,60vw);height:auto;object-fit:contain}.splash-ring{position:absolute;inset:0;width:100%;height:100%;animation:splash-spin 1.5s linear infinite}.splash-ring circle{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-dasharray:280 600}@keyframes splash-spin{to{transform:rotate(360deg)}}.splash-message{margin-top:2rem;font-size:clamp(1rem,4vw,1.2rem);font-weight:600;color:#2d2438;text-align:center;padding:0 1.5rem;animation:fadeIn .5s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.notification-prompt-backdrop{position:fixed;inset:0;background:#00000080;z-index:500;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;transition:opacity .3s ease}.notification-prompt-backdrop.visible{opacity:1}.notification-prompt{background:#fff;border-radius:24px;padding:clamp(1.5rem,6vw,2rem);max-width:340px;width:100%;text-align:center;position:relative;transform:translateY(20px);opacity:0;animation:promptSlideUp .4s ease .1s forwards}@keyframes promptSlideUp{to{transform:translateY(0);opacity:1}}.notification-prompt-close{position:absolute;top:12px;left:12px;width:36px;height:36px;border-radius:50%;border:none;background:#f8f6fa;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b5c7a;transition:transform .15s}.notification-prompt-close svg{width:18px;height:18px}.notification-prompt-close:active{transform:scale(.92)}.notification-prompt-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(145deg,#f8f0ff,#e8d4f5);display:flex;align-items:center;justify-content:center;margin:0 auto clamp(1rem,4vw,1.25rem);color:#d28af0;box-shadow:0 6px 24px #d28af040}.notification-prompt-icon svg{width:34px;height:34px}.notification-prompt-title{font-size:clamp(1.25rem,5vw,1.4rem);font-weight:700;color:#2d2438;margin:0 0 .5rem}.notification-prompt-text{font-size:clamp(.9rem,3.5vw,.95rem);color:#6b5c7a;margin:0 0 clamp(1.25rem,5vw,1.5rem);line-height:1.5}.notification-prompt-buttons{display:flex;flex-direction:column;gap:.65rem}.notification-prompt-enable{width:100%;padding:clamp(.9rem,3.5vw,1rem);background:#d28af0;color:#fff;border:none;border-radius:14px;font-size:clamp(.95rem,3.5vw,1rem);font-weight:600;font-family:inherit;cursor:pointer;transition:transform .15s,opacity .15s}.notification-prompt-enable:active{transform:scale(.98);opacity:.9}.notification-prompt-later{width:100%;padding:clamp(.75rem,3vw,.85rem);background:transparent;color:#8a7a9a;border:none;border-radius:12px;font-size:clamp(.88rem,3.2vw,.92rem);font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s}.notification-prompt-later:active{background:#f8f6fa}#root{max-width:1280px;margin:0 auto;text-align:center;min-height:100%;width:100%;overflow-x:hidden}
