.team-badge{align-items:center;gap:8px;padding:6px 12px;display:flex}.team-badge-dot{width:16px;height:16px;box-shadow:inset 0 2px 0 #ffffff59, var(--hud-shadow);border:1px solid #13141540;border-radius:4px}.team-badge-name{color:var(--color-text);font-size:14px;font-weight:700}.team-badge-id{color:var(--color-muted);font-size:13px}@media (width<=640px){.team-badge{gap:6px;padding:4px 10px}.team-badge-dot{width:14px;height:14px}.team-badge-name{font-size:13px}.team-badge-suffix{display:none}.team-badge-id{font-size:12px}}.scoreboard{gap:8px;font-size:.875rem;display:flex}.scoreboard-item{background:var(--color-surface);border:var(--hud-border-width) solid var(--color-border-strong);box-shadow:0 2px 0 var(--color-border);border-radius:7px;align-items:center;gap:6px;padding:4px 7px;display:flex}.scoreboard-team{background:color-mix(in srgb, var(--score-color) 9%, white);border-color:color-mix(in srgb, var(--score-color) 35%, var(--color-border))}.scoreboard-indicator{border:1px solid #13141538;border-radius:3px;flex-shrink:0;width:10px;height:10px;box-shadow:inset 0 1px #fff6}.scoreboard-value{isolation:isolate;font-variant-numeric:tabular-nums;min-width:24px;font-weight:750;position:relative}.scoreboard-glow-overlay{z-index:-1;color:#0000;pointer-events:none;animation:.8s linear forwards score-glow;position:absolute;inset:0}@keyframes score-glow{0%{text-shadow:0 0 0px var(--glow-color,currentColor), 0 0 0px var(--glow-color,currentColor)}10%{text-shadow:0 0 4px var(--glow-color,currentColor), 0 0 8px var(--glow-color,currentColor)}to{text-shadow:0 0 20px #0000,0 0 40px #0000}}.scoreboard-value-local{min-width:0}.scoreboard-local{color:var(--color-text)}.scoreboard-icon{opacity:.7;flex-shrink:0}.scoreboard-divider{background:var(--color-border);opacity:.5;width:1px}@media (width<=640px){.scoreboard{gap:8px;font-size:.8rem}.scoreboard-indicator{width:8px;height:8px}.scoreboard-value{min-width:16px}.scoreboard-icon{width:10px;height:10px}}@media (width<=400px){.scoreboard{gap:4px;font-size:.75rem}.scoreboard-item{gap:4px;padding:4px}}.share-dialog-backdrop{z-index:100;background:#13141559;animation:.15s ease-out backdrop-fade-in;position:fixed;inset:0}.share-dialog-popup{background:var(--color-surface);border:var(--hud-border-width) solid var(--hud-outline);box-shadow:var(--hud-shadow), 0 16px 40px #13141529;z-index:101;border-radius:16px;width:90%;max-width:420px;max-height:calc(100dvh - 32px);padding:24px;animation:.2s ease-out popup-slide-in;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.share-dialog-title{margin-bottom:8px;font-size:1.25rem;font-weight:750}.share-dialog-description{color:var(--color-muted);margin-bottom:16px;font-size:.875rem}.share-dialog-native-button{background:var(--color-accent);width:100%;color:var(--color-text);border:var(--hud-border-width) solid var(--hud-outline);border-radius:var(--hud-radius);box-shadow:var(--hud-shadow);transition:background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;gap:10px;margin-bottom:16px;padding:14px 16px;font-size:1rem;font-weight:750;display:flex}.share-dialog-native-button:hover{background:var(--color-accent-hover)}.share-dialog-native-button:active{box-shadow:0 1px 0 var(--hud-edge);transform:translateY(2px)}.share-dialog-native-button svg{flex-shrink:0}.share-dialog-divider{color:var(--color-muted);align-items:center;gap:12px;margin-bottom:16px;font-size:.8125rem;display:flex}.share-dialog-divider:before,.share-dialog-divider:after{content:"";background:var(--color-border);flex:1;height:1px}.share-dialog-content{gap:8px;margin-bottom:20px;display:flex}.share-dialog-input{border:var(--hud-border-width) solid var(--hud-outline);border-radius:var(--hud-radius);background:var(--color-bg);color:var(--color-text);flex:1;min-width:0;padding:10px 12px;font-size:.875rem}.share-dialog-input:focus{border-color:var(--color-link);outline:none;outline:2px solid var(--color-link);outline-offset:2px}.share-dialog-copy-button{background:var(--color-accent);color:var(--color-text);border:var(--hud-border-width) solid var(--hud-outline);border-radius:var(--hud-radius);box-shadow:var(--hud-shadow);transition:background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;padding:10px 16px;font-size:.875rem;font-weight:750}.share-dialog-copy-button:hover{background:var(--color-accent-hover)}.share-dialog-copy-button:active{box-shadow:0 1px 0 var(--hud-edge);transform:translateY(2px)}.share-dialog-copy-button.copied{background:var(--color-link);color:#fff}.share-dialog-close-button{background:var(--color-surface);width:100%;color:var(--color-text);border:var(--hud-border-width) solid var(--hud-outline);border-radius:var(--hud-radius);box-shadow:var(--hud-shadow);transition:background-color var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);padding:12px;font-size:.875rem;font-weight:650}.share-dialog-close-button:hover{background:var(--color-surface-hover)}.share-dialog-close-button:active{box-shadow:0 1px 0 var(--hud-edge);transform:translateY(2px)}@keyframes backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes popup-slide-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (width<=640px){.share-dialog-popup{width:94%;padding:20px}.share-dialog-content{flex-direction:column}.share-dialog-copy-button{width:100%}}.about-dialog-backdrop{z-index:100;background:#13141559;animation:.15s ease-out about-backdrop-fade-in;position:fixed;inset:0}.about-dialog-popup{background:var(--color-surface);border:var(--hud-border-width) solid var(--hud-outline);box-shadow:var(--hud-shadow), 0 16px 40px #13141529;z-index:101;border-radius:16px;flex-direction:column;width:90%;max-width:480px;max-height:90vh;padding:0;animation:.2s ease-out about-popup-slide-in;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.about-dialog-title{text-align:center;background:#fff;border-bottom:1px solid #0000;flex-shrink:0;margin-bottom:0;padding:24px 24px 16px;transition:border-color .2s,box-shadow .2s;box-shadow:0 4px 12px #0000}.about-dialog-title.has-overflow{border-bottom-color:#00000014;box-shadow:0 4px 12px #0000000f}.about-dialog-logo{border-bottom:3px solid var(--hud-edge);width:auto;height:32px}.about-dialog-content{flex:1;min-height:0;padding:0 24px;overflow-y:auto}.about-dialog-content p{color:var(--color-text);margin-bottom:12px;font-size:.9375rem;line-height:1.6}.about-dialog-content p:last-of-type{margin-bottom:0}.about-dialog-content a{color:var(--color-link);text-underline-offset:3px;font-weight:600}.about-dialog-section-title{color:var(--color-text);letter-spacing:-.02em;margin:16px 0 8px;font-size:.875rem;font-weight:750}.about-dialog-rules{color:var(--color-text);margin:0;padding-left:20px;font-size:.875rem;line-height:1.6}.about-dialog-rules li{margin-bottom:4px}.about-dialog-rules li:last-child{margin-bottom:0}.about-dialog-leaderboard{grid-template-columns:repeat(2,1fr);gap:8px;margin:8px 0 16px;display:grid}.about-leaderboard-item{background:color-mix(in srgb, var(--score-color,var(--color-border)) 9%, white);border:var(--hud-border-width) solid color-mix(in srgb, var(--score-color,var(--color-border)) 35%, var(--color-border));min-width:0;box-shadow:0 2px 0 var(--color-border);border-radius:7px;align-items:center;gap:4px;padding:8px;font-size:.875rem;display:flex}.about-leaderboard-rank{color:var(--color-muted);font-size:.75rem;font-weight:600}.about-leaderboard-dot{border:1px solid #13141538;border-radius:3px;flex-shrink:0;width:10px;height:10px;box-shadow:inset 0 1px #fff6}.about-leaderboard-team{flex:1;min-width:0;font-size:.8125rem;font-weight:650}.about-leaderboard-score{font-variant-numeric:tabular-nums;font-weight:750}.about-leaderboard-item--loading .about-leaderboard-rank{color:var(--color-muted)}.about-skeleton{background:linear-gradient(90deg,#0000000f 0%,#0000001f 50%,#0000000f 100%) 0 0/200% 100%;border-radius:999px;animation:1.2s ease-in-out infinite about-skeleton-pulse;display:inline-block}.about-skeleton-text{width:90px;height:13.5px;margin:4px 0}.about-skeleton-number{width:48px;height:13.5px;margin:4px 0}.about-dialog-stats{gap:8px;margin:12px 0;display:flex}.about-stat{background:var(--color-bg);border:var(--hud-border-width) solid var(--color-border-strong);box-shadow:0 2px 0 var(--color-border);border-radius:7px;flex-direction:column;flex:1;align-items:center;padding:8px;display:flex}.about-stat-value{font-variant-numeric:tabular-nums;color:var(--color-text);font-size:.9375rem;font-weight:600}.about-stat .about-skeleton{border-radius:6px}.about-stat-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.3px;margin-top:1px;font-size:.625rem}.about-dialog-tech{text-align:center;color:var(--color-muted)!important;margin-top:16px!important;font-size:.8125rem!important}.about-dialog-tech a{color:var(--color-link);outline:none;font-weight:500;text-decoration:none}.about-dialog-tech a:hover,.about-dialog-tech a:focus-visible{text-decoration:underline}.about-dialog-button-container{background:#fff;border-top:1px solid #0000;flex-shrink:0;padding:24px;transition:border-color .2s,box-shadow .2s;box-shadow:0 -4px 12px #0000}.about-dialog-button-container.has-overflow{border-top-color:#00000014;box-shadow:0 -4px 12px #0000000f}.about-dialog-close-button{border:var(--hud-border-width) solid var(--hud-outline);border-radius:var(--hud-radius);width:100%;box-shadow:var(--hud-shadow);transition:filter var(--transition-fast), transform var(--transition-fast), box-shadow var(--transition-fast);padding:12px;font-size:.9375rem;font-weight:750}.about-dialog-close-button:hover{filter:brightness(.95)}.about-dialog-close-button:active{box-shadow:0 1px 0 var(--hud-edge);transform:translateY(2px)}@keyframes about-backdrop-fade-in{0%{opacity:0}to{opacity:1}}@keyframes about-popup-slide-in{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes about-skeleton-pulse{0%{background-position:100% 0}to{background-position:-100% 0}}.mobile-only{display:none}.desktop-only{display:inline}@media (width<=640px){.about-dialog-popup{width:94%;max-height:85vh}.about-dialog-title{padding:20px 20px 14px}.about-dialog-content{padding:0 20px}.about-dialog-button-container{padding:20px}.mobile-only{display:inline}.desktop-only{display:none}}.header{height:var(--header-height);background:var(--color-surface);border-bottom:2px solid var(--color-border);z-index:10;justify-content:space-between;align-items:center;gap:12px;padding:0 16px;display:flex}.header-left{flex-shrink:0;align-items:center;gap:12px;display:flex}.header-title{align-items:center;margin:0;display:flex}.header-logo{border-bottom:3px solid var(--hud-edge);width:auto;height:22px}.header-logo-mini{display:none}.header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.header-button{background:var(--color-surface);border:var(--hud-border-width) solid var(--hud-outline);border-radius:var(--hud-radius);box-shadow:var(--hud-shadow);color:var(--color-text);transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);align-items:center;gap:6px;padding:8px 12px;font-size:.875rem;font-weight:650;display:flex}.header-button:hover{background:var(--color-surface-hover)}.header-button:active{background:var(--color-surface-active);box-shadow:0 1px 0 var(--hud-edge);transform:translateY(2px)}.header-button svg{flex-shrink:0}.floating-scoreboard{display:none}@media (width<=1100px){.header-scoreboard{display:none}.floating-scoreboard{scrollbar-width:thin;max-width:calc(100% - 16px);top:calc(var(--header-height) + 8px);border:var(--hud-border-width) solid var(--hud-outline);box-shadow:var(--hud-shadow);z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border-radius:12px;padding:6px;display:flex;position:absolute;left:50%;overflow-x:auto;transform:translate(-50%)}}@media (width<=768px){.header{gap:6px;padding:0 12px}.header-button-text{display:none}.header-button{justify-content:center;width:44px;min-width:44px;height:40px;min-height:40px;padding:0}.header-button svg{display:block}.header-left{flex:1;gap:12px;min-width:0}.header-left .team-badge{flex-shrink:0;padding:0}.header-right{flex:none;justify-content:flex-end}.header-logo-full{display:none}.header-logo-mini{height:22px;display:block}}@media (width<=360px){.header-logo{height:20px}.header-left{gap:8px}.header-right{gap:6px}}.move-dial{width:var(--dial-size,44px);height:var(--dial-size,44px);background:#131415;border-radius:50%;position:relative;box-shadow:0 0 0 1px #ffffffd9,0 2px 6px #13141538}.move-dial-ring{stroke-width:3px;stroke-linecap:round;width:100%;height:100%;position:absolute;inset:0}.move-dial-track{stroke:#ffffff29}.move-dial-segment,.move-dial-charge{stroke:var(--ammo-color);stroke-dasharray:1;stroke-dashoffset:1px}.move-dial-segment--filled{stroke-dashoffset:0;transition:stroke-dashoffset .16s ease-out}.move-dial-charge{opacity:.65;animation:move-dial-refill var(--charge-duration) linear forwards}.move-dial-readout{color:#fff;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.move-dial-count{font-size:var(--dial-count-size,15px);font-variant-numeric:tabular-nums;font-weight:600;line-height:1}.move-dial-label{font-size:var(--dial-label-size,6px);letter-spacing:.06em;text-transform:uppercase;color:#c9cbcf;margin-top:1px;line-height:1}.move-dial[data-empty=true]{animation:1s ease-in-out infinite move-dial-empty}@keyframes move-dial-refill{0%{stroke-dashoffset:var(--charge-start)}to{stroke-dashoffset:0}}@keyframes move-dial-empty{50%{box-shadow:0 0 0 1px #e53935d9,0 0 10px #e5393540}}@media (prefers-reduced-motion:reduce){.move-dial-charge{stroke-dashoffset:var(--charge-start);animation:none!important}}.footer{bottom:var(--minimap-margin);left:var(--minimap-margin);right:var(--minimap-margin);height:var(--bottom-controls-height);z-index:10;pointer-events:none;grid-template-columns:minmax(56px,1fr) auto minmax(56px,1fr);align-items:end;gap:12px;display:grid;position:absolute}.footer-left{align-items:center;display:flex}.footer-move-dial{--dial-size:var(--bottom-dial-size);--dial-count-size:19px;--dial-label-size:8px;pointer-events:auto}.game-layout:has(.drawing-cursor[data-visible=true]) .footer-move-dial{opacity:0;pointer-events:none}.footer-link{border:var(--hud-border-width) solid var(--hud-outline);border-radius:var(--hud-radius);background:var(--color-accent);color:var(--color-text);box-shadow:var(--hud-shadow);pointer-events:auto;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);align-items:center;gap:6px;padding:8px 12px;font-size:.875rem;font-weight:650;display:flex}.footer-link:hover{background:var(--color-accent-hover)}.footer-link:active{box-shadow:0 1px 0 var(--hud-edge);transform:translateY(2px)}.footer-link svg{opacity:.8;flex-shrink:0}.footer-link-mobile{display:none}@media (width<=1030px){.footer-link-extra{display:none}}@media (width<=768px){.footer{gap:8px}.footer-link-desktop{display:none}.footer-link-mobile{display:inline}.footer-link{min-height:var(--touch-min);padding:8px 10px;font-size:.75rem}}@media (width<=600px){.footer-link{position:absolute;bottom:0;left:0}.footer-left{left:0;bottom:calc(var(--touch-min) + 12px);position:absolute}}@media (height<=480px) and (orientation:landscape){.footer-move-dial{--dial-count-size:15px;--dial-label-size:6px}}.touch-feedback-container{pointer-events:none;position:absolute;inset:0;overflow:hidden}.touch-ripple{pointer-events:none;background:radial-gradient(circle,#fff9 0%,#ffffff4d 40%,#fff0 70%);border-radius:50%;width:60px;height:60px;animation:.5s ease-out forwards ripple;position:absolute;transform:translate(-50%,-50%)scale(0)}.touch-ripple.team-red{background:radial-gradient(circle,#e5393580 0%,#e5393533 40%,#e5393500 70%)}.touch-ripple.team-blue{background:radial-gradient(circle,#1e88e580 0%,#1e88e533 40%,#1e88e500 70%)}.touch-ripple.team-green{background:radial-gradient(circle,#43a04780 0%,#43a04733 40%,#43a04700 70%)}.touch-ripple.team-yellow{background:radial-gradient(circle,#fdd83580 0%,#fdd83533 40%,#fdd83500 70%)}@keyframes ripple{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}to{opacity:0;transform:translate(-50%,-50%)scale(3)}}@media (prefers-reduced-motion:reduce){.touch-ripple{animation:none;display:none}}.drawing-cursor{z-index:5;visibility:hidden;pointer-events:none;will-change:transform;width:1px;height:1px;position:absolute;top:0;left:0}.drawing-cursor[data-visible=true]{visibility:visible}.game-canvas-container[data-pencil-enabled=true],.game-canvas-container[data-pencil-enabled=true] .game-canvas{cursor:none}.drawing-cursor-pencil{transform-origin:4px 44px;width:48px;height:48px;transform:rotate(var(--pencil-angle,0deg));filter:drop-shadow(1px 2px 1px #13141533);position:absolute;top:-44px;left:-4px}.cursor-ammo{left:var(--dial-x,22px);top:var(--dial-y,8px);position:absolute}.game-canvas-container{touch-action:none;cursor:crosshair;width:100%;height:100%;position:relative;overflow:hidden}.game-canvas{display:block}.game-canvas-pop{pointer-events:none;border-radius:50%;width:12px;height:12px;animation:.8s ease-out forwards game-canvas-pop;position:absolute;transform:translate(-50%,-50%)scale(0)}@keyframes game-canvas-pop{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}30%{opacity:.9;transform:translate(-50%,-50%)scale(2)}to{opacity:0;transform:translate(-50%,-50%)scale(3)}}.zoom-controls{display:flex}.zoom-button{background:var(--color-surface);min-width:39px;height:39px;color:var(--color-text);border:var(--hud-border-width) solid var(--hud-outline);transition:background-color var(--transition-fast), box-shadow var(--transition-fast);justify-content:center;align-items:center;font-size:1rem;font-weight:750;display:flex;box-shadow:inset 0 -3px #13141512}@media (width<=768px){.zoom-button{min-width:var(--touch-min);height:var(--touch-min)}}.zoom-button-left{border-radius:var(--radius-sm) 0 0 var(--radius-sm);border-right:none;padding-bottom:2px;font-size:1.25rem}.zoom-button-right{border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding-bottom:2px;font-size:1.25rem}.zoom-button:hover:not(:disabled){background:var(--color-surface-hover)}.zoom-button:active:not(:disabled){background:var(--color-surface-active);box-shadow:inset 0 2px #1314151a}.zoom-button:disabled{opacity:.4;cursor:not-allowed}.world-view-wrapper{bottom:var(--minimap-margin);right:var(--minimap-margin);z-index:100;flex-direction:row;align-items:flex-end;gap:8px;display:flex;position:absolute}.world-view-controls{flex-direction:column;gap:8px;display:flex}.minimap-sound-button{border-radius:var(--hud-radius);box-shadow:var(--hud-shadow)}.minimap-zoom-controls{box-shadow:var(--hud-shadow);border-radius:var(--hud-radius);flex-direction:column-reverse}.minimap-zoom-controls .zoom-button-left{border-radius:0 0 var(--hud-radius) var(--hud-radius);border-right:var(--hud-border-width) solid var(--hud-outline)}.minimap-zoom-controls .zoom-button-right{border-radius:var(--hud-radius) var(--hud-radius) 0 0;border-bottom:none}.world-view-container{width:var(--minimap-size);height:var(--minimap-size);border:var(--hud-border-width) solid var(--hud-outline);box-shadow:var(--hud-shadow);cursor:pointer;transition:transform var(--transition-normal);background:var(--color-bg);border-radius:12px;position:relative;overflow:hidden}.world-view-container:after{content:"Board";background:var(--color-text);color:#fff;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;border-radius:4px;padding:2px 5px;font-size:8px;font-weight:700;line-height:1.4;position:absolute;top:6px;left:6px}.world-view-canvas{border-radius:inherit;width:100%;height:100%;display:block}.world-view-pop{pointer-events:none;border-radius:50%;width:4px;height:4px;animation:.8s ease-out forwards worldview-pop;position:absolute;transform:translate(-50%,-50%)scale(0)}@keyframes worldview-pop{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}40%{opacity:.9;transform:translate(-50%,-50%)scale(2.5)}to{opacity:0;transform:translate(-50%,-50%)scale(4)}}.connection-status{z-index:100;background:var(--color-text);border-radius:var(--radius-md);color:#fff;box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:8px 16px;font-size:14px;font-weight:500;position:fixed;top:60px;left:50%;transform:translate(-50%)}.connection-status__loading,.connection-status__disconnected{align-items:center;gap:8px;display:flex}.connection-status__spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite connection-spin}@keyframes connection-spin{to{transform:rotate(360deg)}}.connection-status__dot{background:#f59e0b;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite connection-pulse}@keyframes connection-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.error-toast{z-index:100;color:#fff;background:#dc2626;border-radius:8px;align-items:center;gap:10px;padding:12px 20px;font-size:14px;font-weight:500;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #dc262666}.error-toast--visible{animation:.3s ease-out forwards error-toast-in}.error-toast--hidden{animation:.3s ease-in forwards error-toast-out}@keyframes error-toast-in{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@keyframes error-toast-out{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(20px)}}.error-toast__icon{background:#fff3;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:flex}.error-toast__message{flex:1}.bonus-toast{color:#fff;z-index:1000;pointer-events:none;white-space:nowrap;border-radius:16px;padding:6px 12px;font-size:.875rem;font-weight:600;animation:1.5s ease-out forwards bonus-float;position:fixed;transform:translate(-50%,-100%)}.bonus-toast-red{background:var(--color-red)}.bonus-toast-blue{background:var(--color-blue)}.bonus-toast-green{background:var(--color-green)}.bonus-toast-yellow{background:var(--color-yellow);color:#333}@keyframes bonus-float{0%{opacity:1;transform:translate(-50%,-100%)scale(.8)}20%{opacity:1;transform:translate(-50%,-100%)scale(1.1)}40%{transform:translate(-50%,-100%)scale(1)}to{opacity:0;transform:translate(-50%,-150%)scale(1)}}.game-complete-backdrop{z-index:200;background:#13141580;justify-content:center;align-items:center;animation:.3s ease-out game-complete-fade-in;display:flex;position:fixed;inset:0}.game-complete-dialog{border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center;background:#fff;width:90%;max-width:400px;padding:32px;animation:.4s ease-out game-complete-slide-in}.game-complete-title{color:var(--color-text);margin:0 0 8px;font-size:1.75rem;font-weight:700}.game-complete-mode{color:var(--color-muted);margin-bottom:24px;font-size:.875rem}.game-complete-winner{justify-content:center;align-items:center;gap:12px;margin-bottom:24px;display:flex}.game-complete-winner-dot{border-radius:50%;width:32px;height:32px;box-shadow:0 2px 8px #0003}.game-complete-winner-name{font-size:1.5rem;font-weight:700}.game-complete-tie{color:var(--color-muted);margin-bottom:24px;font-size:1.5rem;font-weight:700}.game-complete-scores{margin-bottom:24px}.game-complete-scores h3{color:var(--color-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:.875rem;font-weight:600}.game-complete-score-list{flex-direction:column;gap:8px;display:flex}.game-complete-score-item{background:var(--color-bg);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:8px 16px;display:flex}.game-complete-score-dot{border-radius:50%;flex-shrink:0;width:14px;height:14px}.game-complete-score-name{text-align:left;flex:1;font-weight:500}.game-complete-score-value{font-variant-numeric:tabular-nums;font-weight:700}.game-complete-button{background:var(--color-text);color:#fff;border-radius:var(--radius-sm);width:100%;transition:background-color var(--transition-fast), transform var(--transition-fast);padding:14px;font-size:1rem;font-weight:600}.game-complete-button:hover{background:#303236}.game-complete-button:active{transform:scale(.98)}@keyframes game-complete-fade-in{0%{opacity:0}to{opacity:1}}@keyframes game-complete-slide-in{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.game-complete-dialog{padding:24px}.game-complete-title{font-size:1.5rem}.game-complete-winner-name{font-size:1.25rem}}.game-layout{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.game-main{background-color:var(--color-bg);flex:1;min-height:0;position:relative;overflow:hidden}.debug-overlay{top:calc(var(--header-height) + 8px);color:#fff;z-index:1000;background:#000000d9;border-radius:8px;min-width:140px;padding:12px;font-family:monospace;font-size:12px;position:fixed;right:8px}.debug-fps{border-bottom:1px solid #fff3;align-items:baseline;gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.debug-fps-value{color:#4ade80;font-size:28px;font-weight:700}.debug-fps-label{color:#fff9;text-transform:uppercase;font-size:10px}.debug-toggles{flex-direction:column;gap:8px;display:flex}.debug-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.debug-toggle input{cursor:pointer;width:14px;height:14px}.debug-info{border-top:1px solid #fff3;flex-direction:column;gap:2px;margin-top:12px;padding-top:8px;display:flex}.debug-info-label{color:#fff9;text-transform:uppercase;font-size:10px}.debug-info-value{color:#ffffffe6;word-break:break-all;font-size:11px}.debug-hint{color:#fff6;text-align:center;border-top:1px solid #fff3;margin-top:12px;padding-top:8px;font-size:10px}@supports (padding:max(0px)){.game-layout{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.header{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}.world-view-wrapper{right:max(var(--minimap-margin), env(safe-area-inset-right))}}.game-canvas-container,.game-canvas,.zoom-controls,.world-view-container{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.game-main{overscroll-behavior:none}.game-layout{overscroll-behavior:contain}@media (pointer:coarse){button,[role=button],.clickable{min-width:var(--touch-min);min-height:var(--touch-min)}button:active:not(:disabled),[role=button]:active{transition:transform .1s;transform:scale(.95)}}@media (hover:hover) and (pointer:fine){.world-view-wrapper:hover .world-view-container{transform:scale(1.05)}}@media (hover:none){.hover-hint{display:none}.world-view-wrapper:hover .world-view-container{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.touch-ripple{display:none}}@media (height<=480px) and (orientation:landscape){:root{--header-height:32px;--bottom-controls-height:44px;--bottom-dial-size:44px;--minimap-size:80px;--minimap-margin:4px}@media (height<=360px){.world-view-wrapper{display:none}}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/Inter-Latin.woff2)format("woff2")}:root{--color-red:#e53935;--color-blue:#1e88e5;--color-green:#43a047;--color-yellow:#fdd835;--color-red-fill:#e5393580;--color-blue-fill:#1e88e580;--color-green-fill:#43a04780;--color-yellow-fill:#fdd83580;--color-bg:#fafafa;--color-surface:#fff;--color-surface-hover:#f2f2f3;--color-surface-active:#efeff0;--color-text:#131415;--color-border:#e4e5e7;--color-border-strong:#c9cbcf;--color-muted:#61646b;--color-accent:#00e599;--color-accent-hover:#0c8;--color-link:#087f5b;--hud-outline:#42464d;--hud-border-width:1px;--hud-edge:#b8bcc2;--hud-radius:10px;--hud-shadow:0 3px 0 var(--hud-edge), 0 5px 10px #13141514;--quota-full:#43a047;--quota-mid:#ffc107;--quota-low:#e53935;--header-height:56px;--bottom-controls-height:56px;--bottom-dial-size:56px;--minimap-size:150px;--minimap-margin:16px;--touch-min:44px;--shadow-sm:0 1px 2px #1314150a;--shadow-md:0 4px 16px #1314150f;--shadow-lg:0 12px 40px #1314151f;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--transition-fast:.15s ease;--transition-normal:.25s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:#fff;height:100%;overflow:hidden}body{color:var(--color-text);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}#root{flex-direction:column;height:100%;display:flex}.app-loading{background:#fff;justify-content:center;align-items:center;height:100%;display:flex}.app-loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-link);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}h1,h2,h3,h4,h5,h6{letter-spacing:-.04em;font-weight:500;line-height:1.25}button{font:inherit;cursor:pointer;background:0 0;border:none}button:disabled{cursor:not-allowed;opacity:.5}input{font:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.team-red{color:var(--color-red)}.team-blue{color:var(--color-blue)}.team-green{color:var(--color-green)}.team-yellow{color:var(--color-yellow)}.team-red-bg{background-color:var(--color-red)}.team-blue-bg{background-color:var(--color-blue)}.team-green-bg{background-color:var(--color-green)}.team-yellow-bg{background-color:var(--color-yellow)}@media (width>=1024px){:root{--minimap-size:180px}}@media (width<=768px){:root{--header-height:60px;--minimap-size:120px;--minimap-margin:8px;--touch-min:44px}}@media (width<=400px){:root{--minimap-size:100px}}
