.game-canvas-outer{width:100%;height:100%;position:absolute;top:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0a12}.game-canvas-wrapper{position:relative;border:3px solid #2a2a4a;border-radius:4px;box-shadow:0 0 20px #00000080,inset 0 0 30px #0000004d;overflow:hidden}.game-canvas{width:100%;height:100%;display:block;cursor:default;touch-action:none}.game-canvas.ghost-mode{filter:grayscale(50%) brightness(.7)}.hud{position:absolute;top:16px;left:16px;background:#000000b3;border-radius:8px;padding:12px 16px;font-size:14px;font-family:SF Mono,Monaco,Inconsolata,monospace;color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;gap:6px;min-width:180px}.hud-item{display:flex;justify-content:space-between;gap:16px}.hud-label{color:#888}.hud-value{color:#fff;font-weight:500}.hud-status{padding:2px 8px;border-radius:4px;font-size:12px;text-transform:uppercase;font-weight:600}.hud-status.connected{background:#22c55e;color:#000}.hud-status.disconnected{background:#ef4444;color:#fff}.hud-session{font-size:12px;opacity:.7}.leaderboard{position:absolute;bottom:16px;right:16px;background:#000c;border-radius:8px;padding:12px 16px;font-size:13px;font-family:SF Mono,Monaco,Inconsolata,monospace;color:#fff;pointer-events:none;-webkit-user-select:none;user-select:none;min-width:200px}.leaderboard-header{font-size:14px;font-weight:600;color:#fff;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:8px}.leaderboard-list{display:flex;flex-direction:column;gap:6px}.leaderboard-empty{color:#666;font-style:italic;text-align:center;padding:8px 0}.leaderboard-entry{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px;background:#ffffff0d}.leaderboard-entry.current-player{background:#3b82f64d;border:1px solid rgba(59,130,246,.5)}.leaderboard-rank{color:#888;min-width:28px;font-weight:600}.leaderboard-entry.current-player .leaderboard-rank{color:#60a5fa}.leaderboard-name{flex:1;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.leaderboard-stats{display:flex;gap:4px;align-items:center}.leaderboard-tiles{color:#22c55e;font-weight:600}.leaderboard-deaths{color:#888;font-size:11px}.leaderboard-separator{text-align:center;color:#666;padding:4px 0;font-size:11px}.leaderboard-footer{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.leaderboard-legend{font-size:11px;color:#666}.explosion-container{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:200}.explosion-container.fading{animation:explosionFadeOut .6s ease-out forwards}@keyframes explosionFadeOut{0%{opacity:1}to{opacity:0}}.explosion-flash{position:absolute;width:200px;height:200px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,255,255,1) 0%,rgba(255,230,150,.9) 20%,rgba(255,180,50,.6) 40%,transparent 70%);border-radius:50%;animation:flashPulse .4s ease-out forwards}@keyframes flashPulse{0%{transform:translate(-50%,-50%) scale(0);opacity:1}30%{transform:translate(-50%,-50%) scale(1.5);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}.explosion-core{position:absolute;width:80px;height:80px;transform:translate(-50%,-50%);background:radial-gradient(circle,#fff 0%,#ffcc00 20%,#ff6600 50%,#cc2200 80%,transparent 100%);border-radius:50%;animation:coreExpand .6s ease-out forwards;box-shadow:0 0 30px 15px #ff9600cc,0 0 60px 30px #ff640066}@keyframes coreExpand{0%{transform:translate(-50%,-50%) scale(0);opacity:1}40%{transform:translate(-50%,-50%) scale(1.2);opacity:1}to{transform:translate(-50%,-50%) scale(.3);opacity:0}}.explosion-particle{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);background:radial-gradient(circle,#fd4,#f60 60%,#c20);border-radius:50%;animation:particleFly .5s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:var(--delay);opacity:0;box-shadow:0 0 10px 3px #ff640099}@keyframes particleFly{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translate(0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translate(var(--distance)) scale(.3)}}.explosion-particle-small{position:absolute;width:8px;height:8px;transform:translate(-50%,-50%);background:radial-gradient(circle,#fe8,#f80);border-radius:50%;animation:particleFly .45s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:var(--delay);opacity:0}.explosion-shockwave{position:absolute;width:40px;height:40px;transform:translate(-50%,-50%);border:3px solid rgba(255,200,100,.9);border-radius:50%;animation:shockwaveExpand .6s ease-out forwards;box-shadow:0 0 10px 2px #ff963280,inset 0 0 10px 2px #ff96324d}@keyframes shockwaveExpand{0%{transform:translate(-50%,-50%) scale(1);opacity:1;border-width:6px}to{transform:translate(-50%,-50%) scale(8);opacity:0;border-width:1px}}.explosion-debris{position:absolute;width:6px;height:6px;transform:translate(-50%,-50%);background:linear-gradient(135deg,#555,#333);animation:debrisFly .8s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:var(--delay);opacity:0}@keyframes debrisFly{0%{opacity:1;transform:translate(-50%,-50%) rotate(var(--angle)) translate(20px) rotate(0) scale(1)}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--angle)) translate(var(--distance)) rotate(var(--rotation)) scale(.5)}}.death-flash{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:250;pointer-events:none;opacity:0;transition:none}.death-flash.active{opacity:1;animation:flashFade .2s ease-out forwards}@keyframes flashFade{0%{opacity:1}to{opacity:0}}.death-white-tint{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:150;pointer-events:none;opacity:0}.death-white-tint.active{animation:whiteTintFade 1.5s ease-out forwards}@keyframes whiteTintFade{0%{opacity:.6}to{opacity:0}}.death-fade{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;z-index:90;pointer-events:none;opacity:0}.death-fade.active{animation:fadeToBlack 1s ease-in-out forwards}@keyframes fadeToBlack{0%{opacity:0}to{opacity:1}}.death-shake-trigger{position:fixed;top:0;left:0;width:0;height:0;z-index:-1}.death-shake-trigger~*{animation:screenShake .4s ease-out}body:has(.death-shake-trigger){animation:screenShake .4s ease-out}@keyframes screenShake{0%{transform:translate(0)}10%{transform:translate(-8px,6px)}20%{transform:translate(10px,-8px)}30%{transform:translate(-6px,4px)}40%{transform:translate(8px,-4px)}50%{transform:translate(-4px,6px)}60%{transform:translate(6px,-2px)}70%{transform:translate(-2px,4px)}80%{transform:translate(4px,-2px)}90%{transform:translate(-2px,2px)}to{transform:translate(0)}}.death-vignette{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:140;background:radial-gradient(ellipse at center,transparent 0%,transparent 40%,rgba(0,0,0,.3) 80%,rgba(0,0,0,.6) 100%);opacity:0}.death-vignette.active{animation:vignetteIn .8s ease-out forwards}@keyframes vignetteIn{0%{opacity:0}to{opacity:1}}.death-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s ease-out}.death-overlay.visible{opacity:1;pointer-events:auto}.death-overlay.direct-load{background:#000000d9;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.death-content{text-align:center;max-width:400px;padding:40px;background:#ffffff0d;border-radius:16px;border:1px solid rgba(255,255,255,.1);opacity:0;transform:translateY(20px) scale(.95);transition:opacity .5s ease-out,transform .5s ease-out}.death-content.visible{opacity:1;transform:translateY(0) scale(1)}.death-icon{font-size:64px;margin-bottom:20px;animation:pulse 2s infinite;animation-delay:.5s}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.death-title{font-size:32px;font-weight:700;color:#ef4444;margin:0 0 16px;text-shadow:0 0 20px rgba(239,68,68,.5)}.death-message{font-size:16px;color:#a0a0a0;margin:0 0 32px;line-height:1.5}.death-countdown{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.countdown-label{font-size:14px;color:#888;text-transform:uppercase;letter-spacing:1px}.countdown-value{font-size:48px;font-weight:700;color:#fff;font-family:SF Mono,Monaco,Inconsolata,monospace;text-shadow:0 0 15px rgba(255,255,255,.3)}.death-hint{font-size:12px;color:#666;margin:0}.loading-screen{width:100%;height:100%;background:linear-gradient(135deg,#1a1a2e,#16213e);display:flex;align-items:center;justify-content:center}.loading-content{text-align:center;max-width:400px;padding:40px}.loading-title{font-size:48px;font-weight:700;color:#fff;margin:0 0 8px;letter-spacing:-1px}.loading-subtitle{font-size:16px;color:#888;margin:0 0 48px}.loading-spinner{display:flex;justify-content:center;margin-bottom:24px}.spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.1);border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-status{font-size:14px;color:#a0a0a0;margin:0 0 48px}.loading-tips{background:#ffffff0d;border-radius:12px;padding:20px 24px;text-align:left}.tip-title{font-size:14px;font-weight:600;color:#fff;margin:0 0 12px}.tip-list{margin:0;padding:0 0 0 20px;list-style:disc}.tip-list li{font-size:13px;color:#a0a0a0;margin-bottom:6px;line-height:1.4}.tip-list li:last-child{margin-bottom:0}.name-entry{margin-bottom:48px}.name-prompt{font-size:16px;color:#fff;margin:0 0 20px}.name-form{display:flex;gap:12px;justify-content:center}.name-input{flex:1;max-width:240px;padding:12px 16px;font-size:16px;border:2px solid rgba(255,255,255,.2);border-radius:8px;background:#ffffff1a;color:#fff;outline:none;transition:border-color .2s,background-color .2s}.name-input::placeholder{color:#fff6}.name-input:focus{border-color:#3b82f6;background:#ffffff26}.name-input:disabled{opacity:.6;cursor:not-allowed}.name-submit{padding:12px 24px;font-size:16px;font-weight:600;border:none;border-radius:8px;background:#3b82f6;color:#fff;cursor:pointer;transition:background-color .2s,transform .1s}.name-submit:hover:not(:disabled){background:#2563eb}.name-submit:active:not(:disabled){transform:scale(.98)}.name-submit:disabled{opacity:.6;cursor:not-allowed}.name-error{font-size:14px;color:#ef4444;margin:12px 0 0}.death-dev-container{position:fixed;top:0;left:0;right:0;bottom:0;background:#1a1a2e;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dev-grid-background{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;cursor:crosshair;overflow:hidden}.dev-grid-row{display:flex;flex-shrink:0}.dev-tile{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;flex-shrink:0}.dev-tile.unrevealed{background:linear-gradient(135deg,#4a5568,#2d3748);border:1px solid #1a202c;box-shadow:inset 2px 2px 4px #ffffff1a,inset -2px -2px 4px #0000004d}.dev-tile.revealed{background:#e2e8f0;border:1px solid #cbd5e0}.dev-tile.mine{background:#ef4444;border:1px solid #dc2626}.dev-click-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:16px 24px;border-radius:8px;font-size:16px;pointer-events:none;text-align:center;border:1px solid rgba(255,255,255,.2)}.dev-info-panel{position:absolute;top:16px;right:16px;width:280px;background:#0f0f1ef2;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;color:#fff}.dev-info-panel h2{margin:0 0 12px;font-size:18px;color:#fff}.dev-phase{margin:0 0 12px;font-size:14px;color:#888}.dev-phase strong{color:#3b82f6;text-transform:uppercase}.dev-instructions{margin:0 0 12px;font-size:13px;color:#888;line-height:1.5}.dev-instructions code{background:#3b82f633;color:#3b82f6;padding:2px 6px;border-radius:4px;font-size:12px}.dev-position{margin:0;font-size:12px;color:#666;font-family:SF Mono,Monaco,monospace}.dev-death-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:100;animation:devFadeInContent .5s ease-out forwards}@keyframes devFadeInContent{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dev-death-content{text-align:center;max-width:400px;padding:40px;background:#ffffff0d;border-radius:16px;border:1px solid rgba(255,255,255,.1)}.dev-death-icon{font-size:64px;margin-bottom:20px;animation:devPulse 2s infinite}@keyframes devPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.dev-death-title{font-size:32px;font-weight:700;color:#ef4444;margin:0 0 16px;text-shadow:0 0 20px rgba(239,68,68,.5)}.dev-death-message{font-size:16px;color:#a0a0a0;margin:0}.app{width:100%;height:100%;position:relative;overflow:hidden}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif}body{background:#1a1a2e;color:#fff}.no-select{user-select:none;-webkit-user-select:none}
