*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}.error-boundary,.game-error-boundary,.network-error-boundary{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.error-boundary__container,.game-error-boundary__container,.network-error-boundary__container{max-width:400px;padding:2rem;text-align:center;background:#1a1a1a;border-radius:8px;border:1px solid #333;margin:1rem}.error-boundary__icon,.game-error-boundary__icon,.network-error-boundary__icon{font-size:3rem;margin-bottom:1rem;display:block}.error-boundary__title,.game-error-boundary__title,.network-error-boundary__title{font-size:1.5rem;margin-bottom:1rem;color:#fff}.error-boundary__message,.game-error-boundary__message,.network-error-boundary__message{font-size:1rem;line-height:1.5;margin-bottom:1.5rem;color:#ccc}.error-boundary__details{text-align:left;margin:1rem 0;background:#0a0a0a;border-radius:4px;border:1px solid #333}.error-boundary__details summary{padding:.5rem;cursor:pointer;color:#ff6b6b}.error-boundary__stack{padding:1rem;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:.8rem;line-height:1.4;color:#ff6b6b;white-space:pre-wrap;overflow-x:auto;max-height:200px;overflow-y:auto}.error-boundary__actions,.game-error-boundary__actions,.network-error-boundary__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.error-boundary__button,.game-error-boundary__button,.network-error-boundary__button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:background-color .2s;min-width:100px}.error-boundary__button--primary,.game-error-boundary__button--primary,.network-error-boundary__button--primary{background:#007bff;color:#fff}.error-boundary__button--primary:hover,.game-error-boundary__button--primary:hover,.network-error-boundary__button--primary:hover{background:#0056b3}.error-boundary__button--secondary,.game-error-boundary__button--secondary,.network-error-boundary__button--secondary{background:#6c757d;color:#fff}.error-boundary__button--secondary:hover,.game-error-boundary__button--secondary:hover,.network-error-boundary__button--secondary:hover{background:#545b62}.error-boundary__error-id{margin-top:1.5rem;font-size:.8rem;color:#666;font-family:monospace}.network-error-boundary__offline-notice{background:#dc3545;color:#fff;padding:.5rem 1rem;border-radius:4px;margin:1rem 0;font-size:.9rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.network-error-boundary__offline-icon{font-size:.8rem}html,body,#root{width:100%;height:100dvh;background:#000;overflow:visible;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}@keyframes cooldown-fill{0%{stroke-dashoffset:0}to{stroke-dashoffset:251.33}}@keyframes onboarding-flash{0%{opacity:.3}50%{opacity:.15}to{opacity:0}}@keyframes pulse-expand{0%{transform:scale(.3);opacity:.8}to{transform:scale(2);opacity:0}}@keyframes connection-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}
