:root{color:#ecf0f1;background:linear-gradient(#1a1a2e 0%,#16213e 50%,#0f3460 100%);min-height:100vh;font-family:Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}body,#root{min-height:100vh}.app{flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:100vh;padding:.75rem;display:flex}.app-header{text-align:center}.app-header h1{color:#f4d03f;text-shadow:2px 2px #8b4513;font-size:2rem}.app-header p{color:#bdc3c7;font-style:italic}.app-nav{margin-top:.35rem}.app-nav-link{color:#85c1e9;font-size:.85rem;text-decoration:none}.app-nav-link:hover{color:#f4d03f;text-decoration:underline}.game-shell{aspect-ratio:16/9;background:#000;border:4px solid #8b4513;border-radius:8px;width:min(100%,177.778vh - 266.667px);position:relative;overflow:hidden;box-shadow:0 8px 32px #00000080}.phaser-game{z-index:1;position:absolute;inset:0}.phaser-game,.phaser-game canvas{width:100%!important;height:100%!important}.hud{z-index:10;pointer-events:none;padding:.5rem .75rem;position:absolute;top:0;left:0;right:0}.hud-row{justify-content:space-between;align-items:center;margin-bottom:.35rem;display:flex}.hud-label{color:#bdc3c7;margin-right:.35rem;font-size:.75rem}.hud-value{font-size:1rem}.hud-powerups{gap:.35rem;display:flex}.powerup{filter:drop-shadow(0 0 4px #ffffff80);font-size:1.25rem}.powerup-count{color:#f1c40f;vertical-align:super;font-size:.85rem;font-weight:700}.hud-score{flex-direction:column;align-items:center;line-height:1.1;display:flex}.hud-score-value{color:#f4d03f;text-shadow:0 2px 3px #000c;font-size:1.4rem;font-weight:700}.hud-life-count{color:#ff6b6b;font-weight:700}.hud-wooby{background:#0006;border:1px solid #ffffff2e;border-radius:8px;align-items:center;gap:.4rem;padding:.2rem .5rem;display:flex}.hud-wooby-img{object-fit:contain;width:28px;height:28px;image-rendering:pixelated;filter:drop-shadow(0 1px 2px #000000b3)}.hud-wooby-info{flex-direction:column;gap:2px;display:flex}.hud-wooby-label{color:#ecf0f1;white-space:nowrap;font-size:.7rem;font-weight:700}.hud-wooby-bar{background:#00000080;border-radius:4px;width:90px;height:7px;position:relative;overflow:hidden}.hud-wooby-bar-fill{border-radius:4px;height:100%;transition:width .15s ease-out,background .2s ease-out}.hud-ballmer{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;color:#f4d03f;text-shadow:0 0 10px #f4d03fd9,3px 3px #8b4513;pointer-events:none;font-family:Racing Sans One,Segoe UI,sans-serif;font-size:clamp(1.4rem,4vw,2.6rem);animation:.55s ease-in-out infinite alternate ballmer-pulse;position:absolute;top:2.75rem;left:50%;transform:translate(-50%)}@keyframes ballmer-pulse{0%{filter:drop-shadow(0 0 2px #f4d03f99);transform:translate(-50%)scale(1)}to{filter:drop-shadow(0 0 12px #f4d03f);transform:translate(-50%)scale(1.08)}}.hud-overlay-note{text-align:center;color:#f1c40f;margin-top:.35rem;font-size:.85rem;font-weight:700}.app-footer{text-align:center;color:#7f8c8d;max-width:600px;font-size:.85rem}.app-version{text-align:center;color:#5d6d7e;letter-spacing:.05em;opacity:.7;font-size:.7rem}.leaderboard{z-index:20;pointer-events:auto;background:#000000b8;border:2px solid #f4d03f8c;border-radius:10px;min-width:220px;padding:.65rem .85rem;position:absolute;box-shadow:0 4px 16px #00000073}.leaderboard--menu{bottom:.75rem;right:.75rem}.leaderboard--gameover{bottom:.75rem;left:.75rem}.leaderboard-title{color:#f4d03f;text-align:center;letter-spacing:.03em;margin-bottom:.45rem;font-size:.95rem}.leaderboard-empty{color:#bdc3c7;text-align:center;font-size:.8rem}.leaderboard-list{flex-direction:column;gap:.35rem;list-style:none;display:flex}.leaderboard-entry{color:#ecf0f1;border-radius:6px;grid-template-columns:1.6rem 1fr auto;align-items:center;gap:.35rem;padding:.2rem .25rem;font-size:.82rem;display:grid}.leaderboard-entry--highlight{background:#2ecc7138;border:1px solid #2ecc7173}.leaderboard-rank{text-align:center}.leaderboard-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.leaderboard-distance{color:#f4d03f;white-space:nowrap;font-weight:700}.leaderboard-name-entry{border-top:1px solid #ffffff26;margin-top:.65rem;padding-top:.55rem}.leaderboard-qualify{color:#2ecc71;text-align:center;margin-bottom:.4rem;font-size:.78rem;font-weight:700}.leaderboard-name-row{gap:.35rem;display:flex}.leaderboard-input{color:#ecf0f1;background:#ffffff14;border:1px solid #ffffff40;border-radius:6px;flex:1;min-width:0;padding:.35rem .5rem;font-size:.85rem}.leaderboard-input:focus{border-color:#0000;outline:2px solid #3498dbb3}.leaderboard-submit{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:6px;padding:.35rem .65rem;font-size:.82rem;font-weight:700}.leaderboard-submit:disabled{opacity:.55;cursor:not-allowed}.leaderboard-error{color:#e74c3c;text-align:center;margin-top:.35rem;font-size:.75rem}.mobile-controls{z-index:15;pointer-events:none;display:none;position:absolute;inset:0}.mobile-controls-dpad{left:max(.75rem, env(safe-area-inset-left));bottom:max(.75rem, env(safe-area-inset-bottom));pointer-events:auto;gap:.5rem;display:flex;position:absolute}.mobile-control-btn{touch-action:none;-webkit-user-select:none;user-select:none;color:#ecf0f1;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;border:2px solid #ffffff59;border-radius:50%;font-size:1.25rem;font-weight:700;line-height:1}.mobile-control-btn:active{background:#f4d03f8c;border-color:#f4d03fd9}.mobile-control-btn--left,.mobile-control-btn--right{width:3.25rem;height:3.25rem}.mobile-control-btn--jump{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));letter-spacing:.02em;pointer-events:auto;width:4.25rem;height:4.25rem;font-size:.85rem;position:absolute}.stats-page{flex-direction:column;gap:1rem;width:min(960px,100%);min-height:100vh;margin:0 auto;padding:1.25rem 1rem 2rem;display:flex}.stats-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.stats-header h1{color:#f4d03f;text-shadow:2px 2px #8b4513;font-size:1.75rem}.stats-header p{color:#bdc3c7;margin-top:.2rem}.stats-back-link{color:#85c1e9;white-space:nowrap;font-size:.9rem;text-decoration:none}.stats-back-link:hover{color:#f4d03f;text-decoration:underline}.stats-controls{flex-wrap:wrap;gap:.5rem;display:flex}.stats-range-btn{color:#ecf0f1;cursor:pointer;background:#00000059;border:1px solid #ffffff40;border-radius:999px;padding:.4rem .9rem;font-size:.85rem}.stats-range-btn--active{color:#f4d03f;background:#f4d03f40;border-color:#f4d03fb3;font-weight:700}.stats-status{color:#bdc3c7;text-align:center;padding:1rem 0}.stats-status--error{color:#e74c3c}.stats-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.stats-summary-card{text-align:center;background:#00000073;border:1px solid #ffffff26;border-radius:10px;padding:.85rem}.stats-summary-value{color:#f4d03f;font-size:1.5rem;font-weight:700;display:block}.stats-summary-label{color:#bdc3c7;margin-top:.2rem;font-size:.8rem;display:block}.stats-chart{background:#00000073;border:1px solid #ffffff26;border-radius:12px;padding:1rem}.stats-chart h2{color:#ecf0f1;margin-bottom:.85rem;font-size:1rem}.stats-city-list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.stats-city-row{flex-direction:column;gap:.35rem;display:flex}.stats-city-meta{justify-content:space-between;gap:.75rem;font-size:.9rem;display:flex}.stats-city-name{color:#ecf0f1;font-weight:600}.stats-city-count{color:#f4d03f;white-space:nowrap;font-weight:700}.stats-city-bar-track{background:#ffffff1a;border-radius:999px;height:10px;overflow:hidden}.stats-city-bar-fill{background:linear-gradient(90deg,#3498db,#2ecc71);border-radius:999px;min-width:4px;height:100%;transition:width .25s ease-out}.admin-page{flex-direction:column;gap:1rem;width:min(1400px,100%);min-height:100vh;margin:0 auto;padding:1.25rem 1rem 2rem;display:flex}.admin-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.admin-header h1{color:#f4d03f;text-shadow:2px 2px #8b4513;font-size:1.75rem}.admin-header p{color:#bdc3c7;margin-top:.2rem}.admin-header-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-back-link{color:#85c1e9;white-space:nowrap;font-size:.9rem;text-decoration:none}.admin-back-link:hover{color:#f4d03f;text-decoration:underline}.admin-login{background:#00000073;border:1px solid #ffffff26;border-radius:12px;flex-direction:column;gap:.85rem;max-width:360px;margin:2rem auto 0;padding:1.25rem;display:flex}.admin-field{color:#bdc3c7;flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.admin-field input{color:#ecf0f1;background:#ffffff14;border:1px solid #ffffff40;border-radius:8px;padding:.5rem .65rem;font-size:.95rem}.admin-field input:focus{border-color:#0000;outline:2px solid #3498dbb3}.admin-primary-btn,.admin-secondary-btn{cursor:pointer;border:none;border-radius:8px;padding:.5rem .85rem;font-size:.9rem;font-weight:600}.admin-primary-btn{color:#fff;background:#3498db}.admin-primary-btn:disabled{opacity:.6;cursor:not-allowed}.admin-secondary-btn{color:#ecf0f1;background:#ffffff1f;border:1px solid #fff3}.admin-error,.admin-status--error{color:#e74c3c}.admin-status{color:#bdc3c7;text-align:center}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin-tabs{gap:.5rem;display:flex}.admin-tab{color:#ecf0f1;cursor:pointer;background:#00000059;border:1px solid #ffffff40;border-radius:999px;padding:.4rem .9rem;font-size:.85rem}.admin-tab--active{color:#f4d03f;background:#f4d03f40;border-color:#f4d03fb3;font-weight:700}.admin-search{color:#ecf0f1;background:#00000059;border:1px solid #ffffff40;border-radius:8px;flex:1;min-width:min(320px,100%);padding:.5rem .75rem}.admin-grid-wrap{background:#00000073;border:1px solid #ffffff26;border-radius:12px;overflow:auto}.admin-grid{border-collapse:collapse;width:100%;font-size:.82rem}.admin-grid th,.admin-grid td{text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #ffffff14;padding:.55rem .65rem}.admin-grid th{z-index:1;background:#0f3460f2;position:sticky;top:0}.admin-grid tbody tr:hover{background:#ffffff0a}.admin-sort-btn{color:#f4d03f;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.admin-sort-btn--active{color:#2ecc71}.admin-grid-empty{text-align:center;color:#bdc3c7;padding:1.5rem!important}@media (width<=640px){.stats-summary{grid-template-columns:1fr}.stats-header,.admin-header,.admin-toolbar{flex-direction:column;align-items:stretch}}@media (hover:none) and (pointer:coarse){.mobile-controls{display:block}.app{gap:.35rem;padding:.35rem}.app-header h1{font-size:1.35rem}.app-header p{font-size:.85rem}.app-footer{display:none}.game-shell{border-width:2px;width:min(100%,177.778vh)}.hud{padding:.35rem .5rem}.hud-row{flex-wrap:wrap;gap:.25rem}.hud-wooby-bar{width:70px}.leaderboard--menu{min-width:180px;padding:.45rem .55rem;bottom:5.5rem;right:.35rem}.leaderboard--gameover{bottom:5.5rem;left:.35rem}}
