.startup,.startup *{box-sizing:border-box}.startup{position:fixed;inset:0;z-index:100;background:radial-gradient(ellipse at 50% 20%,#fff 15%,#fbefea 75%,#f6f5f2);display:grid;place-items:center;padding:24px max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));overflow:auto;color:#24272b;font-family:Oplonti,'Segoe UI',system-ui,sans-serif}.startup[hidden]{display:none}.startup-card{width:min(100%,410px);text-align:center;background:#ffffffeb;border:1px solid #eddfd8;padding:36px 24px;border-radius:28px;box-shadow:0 18px 65px #472e1510}.startup-logo{display:block;width:205px;max-width:85%;height:auto;margin:0 auto 26px}.startup-symbol{position:relative;width:80px;height:80px;margin:0 auto 22px}.startup-symbol img{width:64px;height:64px;border-radius:16px;position:absolute;inset:8px}.startup-spinner{position:absolute;inset:-3px;border:3px solid #f4ded5;border-top-color:#e63835;border-radius:25px;animation:startup-spin 1.8s linear infinite}.startup h1{font-size:25px;letter-spacing:-.7px;line-height:1.25;margin:0 0 10px}.startup-tagline{color:#777b80;font-size:14px;margin:0 0 24px}.startup-message{font-size:15px;line-height:1.6;min-height:48px;margin:0 auto 18px;max-width:310px}.startup-retry{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font:700 16px 'Segoe UI',system-ui,sans-serif;min-height:50px;padding:12px 30px;border:0;border-radius:12px;color:#fff;background:#e63835;cursor:pointer}.startup-retry:disabled{opacity:.6}.startup-retry:focus-visible{outline:3px solid #192b35;outline-offset:4px}.startup-error .startup-spinner{animation:none;border-color:#e7c7bd}.connection-notice{position:fixed;top:max(8px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:80;max-width:calc(100% - 24px);width:max-content;box-sizing:border-box;background:#192b35;color:#fff;padding:12px 16px;border-radius:12px;font:14px/1.45 'Segoe UI',system-ui,sans-serif;box-shadow:0 6px 30px #0002;pointer-events:none}.quiz-focus .connection-notice{top:auto;bottom:calc(180px + env(safe-area-inset-bottom))}
@keyframes startup-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.startup-spinner{animation:none;border-top-color:#e63835}}
@media(max-height:600px){.startup-card{padding:22px}.startup-logo{width:150px;margin-bottom:16px}.startup-symbol{margin-bottom:16px;width:66px;height:66px}.startup-symbol img{width:50px;height:50px}.startup-tagline{margin-bottom:12px}.startup-message{min-height:0}}
@media print{.startup,.connection-notice{display:none!important}}
