:root{--orange-50: #fff7ed;--orange-100: #ffedd5;--orange-200: #fed7aa;--orange-300: #fdba74;--orange-400: #fb923c;--orange-500: #f97316;--orange-600: #ea580c;--orange-700: #c2410c;--orange-800: #9a3412;--orange-900: #7c2d12;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--slate-50: #f8fafc;--slate-100: #f1f5f9;--slate-200: #e2e8f0;--slate-300: #cbd5e1;--slate-400: #94a3b8;--slate-500: #64748b;--slate-600: #475569;--slate-700: #334155;--slate-800: #1e293b;--slate-900: #0f172a;--white: #ffffff;--black: #0f172a;--radius: .75rem;--shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font);background:var(--orange-50);color:var(--slate-800);line-height:1.6;min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1;width:100%}a{color:var(--blue-700);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}.site-header{background:var(--white);border-bottom:1px solid var(--orange-200);box-shadow:var(--shadow);padding:.75rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;position:sticky;top:0;z-index:100}.brand{display:flex;flex-direction:column;color:var(--orange-700)}.logo{font-size:1.25rem;font-weight:900;letter-spacing:-.02em;line-height:1.1}.tagline{font-size:.75rem;color:var(--slate-500);font-weight:500}.nav-links{display:flex;align-items:center;gap:1rem;font-size:.95rem;font-weight:600}.nav-links a{color:var(--slate-700);padding:.35rem .5rem;border-radius:.375rem;transition:background .15s ease,color .15s ease}.nav-links a:hover{background:var(--orange-100);color:var(--orange-700);text-decoration:none}.link-button{background:none;border:none;color:var(--slate-600);font-weight:600;cursor:pointer;padding:.35rem .5rem}.link-button:hover{color:var(--orange-700)}.site-footer{background:var(--slate-900);color:var(--slate-300);text-align:center;padding:1.25rem 1rem;font-size:.9rem;margin-top:auto}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;border-radius:.5rem;font-weight:700;cursor:pointer;border:2px solid transparent;transition:transform .1s ease,box-shadow .15s ease,background .15s ease}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn-primary{background:var(--orange-500);color:var(--white)}.btn-primary:hover{background:var(--orange-600);box-shadow:0 4px 12px #ea580c4d}.btn-secondary{background:var(--white);color:var(--blue-800);border-color:var(--blue-200)}.btn-secondary:hover{background:var(--blue-50)}.home-page{max-width:1200px;margin:0 auto;padding:1.5rem 1rem 3rem}.hero{background:linear-gradient(135deg,var(--orange-500) 0%,var(--orange-700) 100%);color:var(--white);border-radius:var(--radius);padding:2.5rem 1.5rem;text-align:center;margin-bottom:1.75rem;box-shadow:var(--shadow-lg)}.hero h1{margin:0 0 .75rem;font-size:clamp(1.75rem,5vw,3rem);line-height:1.15}.hero p{margin:0 auto 1.5rem;font-size:clamp(1rem,2.5vw,1.25rem);max-width:640px;opacity:.95}.location-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.25rem}.location-bar button{background:var(--white);color:var(--orange-700);border:none;padding:.6rem 1.1rem;border-radius:9999px;font-weight:700;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease}.location-bar button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.location-bar .status{font-size:.95rem;opacity:.95}.hero-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.hero-links a{background:var(--white);color:var(--orange-700);padding:.65rem 1.25rem;border-radius:9999px;font-weight:700;transition:transform .1s ease,background .15s ease}.hero-links a:hover{transform:translateY(-2px);background:var(--orange-100);text-decoration:none}.search-bar{display:flex;gap:.5rem;max-width:700px;margin:0 auto 1.75rem}.search-bar input{flex:1;padding:.85rem 1rem;border:2px solid var(--orange-200);border-radius:.5rem;background:var(--white);outline:none}.search-bar input:focus{border-color:var(--orange-400);box-shadow:0 0 0 3px #f9731626}.search-bar button{background:var(--blue-700);color:var(--white);border:none;padding:.85rem 1.5rem;border-radius:.5rem;font-weight:700;cursor:pointer}.search-bar button:hover{background:var(--blue-800)}.loading,.empty-state,.error{text-align:center;padding:2rem;color:var(--slate-600);background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin:1rem 0}.error{color:var(--orange-700);background:var(--orange-100)}.restaurant-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-bottom:2rem}.restaurant-card-link{display:block;text-decoration:none;color:inherit;border-radius:var(--radius);transition:transform .2s ease}.restaurant-card-link:hover{transform:translateY(-4px);text-decoration:none}.restaurant-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;height:100%;display:flex;flex-direction:column}.restaurant-card .thumb{width:100%;height:180px;overflow:hidden;background:var(--orange-100)}.restaurant-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}.restaurant-card .body{padding:1rem;flex:1;display:flex;flex-direction:column}.restaurant-card h2{margin:0 0 .25rem;font-size:1.15rem;color:var(--blue-900)}.restaurant-card .meta{margin:0;color:var(--slate-500);font-size:.9rem}.restaurant-card .distance{margin:.35rem 0 0;font-size:.85rem;color:var(--orange-600);font-weight:700}.restaurant-card .rating-row{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:.75rem}.restaurant-card .stars{color:#fbbf24;font-size:1.1rem;letter-spacing:.05em}.restaurant-card .count{font-size:.85rem;color:var(--slate-500)}.detail-card{max-width:900px;margin:0 auto;padding:1.5rem 1rem 3rem}.detail-thumb{width:100%;height:260px;border-radius:var(--radius);overflow:hidden;background:var(--orange-100);margin-bottom:1.25rem;box-shadow:var(--shadow)}.detail-thumb img{width:100%;height:100%;object-fit:cover;display:block}.detail-card h1{margin:0 0 .75rem;font-size:clamp(1.5rem,4vw,2.25rem);color:var(--blue-900)}.detail-info{background:var(--white);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}.detail-info p{margin:.5rem 0}.detail-info a{color:var(--blue-700);word-break:break-word}.detail-map{margin-bottom:1.5rem}.detail-map h2{margin-bottom:.75rem;color:var(--blue-900);font-size:1.25rem}.detail-map iframe{width:100%;height:300px;border:0;border-radius:var(--radius);box-shadow:var(--shadow)}.map-link{margin-top:.5rem;font-size:.9rem}.detail-actions{margin-bottom:1.5rem}.ratings-list{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1.5rem}.ratings-list h3{margin:0 0 1rem;color:var(--blue-900)}.rating-item{border-bottom:1px solid var(--slate-200);padding:1rem 0}.rating-item:last-child{border-bottom:none}.rating-item header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.35rem}.rating-item .author{font-weight:700;color:var(--slate-800)}.rating-item .stars{color:#fbbf24;font-size:1.1rem}.rating-item time{display:block;font-size:.85rem;color:var(--slate-500);margin-bottom:.5rem}.rating-comment{margin:.5rem 0;color:var(--slate-700)}.rating-photos{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.rating-photos img{width:80px;height:80px;object-fit:cover;border-radius:.5rem;cursor:pointer}.rating-form{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);margin-bottom:1.5rem}.rating-form h3{margin:0 0 1rem;color:var(--blue-900)}.rating-form label{display:block;margin-bottom:1rem;font-weight:600;color:var(--slate-700)}.rating-form input,.rating-form textarea{width:100%;padding:.65rem .75rem;border:2px solid var(--slate-200);border-radius:.5rem;margin-top:.35rem}.rating-form input:focus,.rating-form textarea:focus{border-color:var(--orange-400);outline:none}.rating-form button{background:var(--orange-500);color:var(--white);border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:700;cursor:pointer}.rating-form button:hover{background:var(--orange-600)}.photo-count{font-size:.9rem;color:var(--slate-600)}.cities-page{max-width:900px;margin:0 auto;padding:1.5rem 1rem 3rem}.cities-page h1{margin:0 0 .5rem;color:var(--blue-900);font-size:clamp(1.75rem,4vw,2.5rem)}.cities-page .intro{color:var(--slate-600);margin-bottom:1.5rem}.province-group{background:var(--white);border-radius:var(--radius);padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow)}.province-group h2{margin:0 0 .75rem;color:var(--orange-700);font-size:1.35rem}.city-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}.city-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;background:var(--slate-50)}.city-list a{color:var(--blue-700);font-weight:600}.city-list .count{font-size:.85rem;color:var(--slate-500);white-space:nowrap}.login-page{max-width:420px;margin:3rem auto;padding:2rem;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.login-page h1{margin:0 0 1rem;color:var(--blue-900);text-align:center}.login-page label{display:block;margin-bottom:1rem;font-weight:600;color:var(--slate-700)}.login-page input{width:100%;padding:.75rem;border:2px solid var(--slate-200);border-radius:.5rem;margin-top:.35rem}.login-page input:focus{border-color:var(--orange-400);outline:none}.login-page button{width:100%;background:var(--orange-500);color:var(--white);border:none;padding:.85rem;border-radius:.5rem;font-weight:700;cursor:pointer;margin-top:.5rem}.login-page button:hover{background:var(--orange-600)}.admin-page{max-width:900px;margin:0 auto;padding:1.5rem 1rem 3rem}.admin-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.admin-header h1{margin:0;color:var(--blue-900)}.admin-header button{background:var(--slate-200);color:var(--slate-800);border:none;padding:.5rem 1rem;border-radius:.5rem;font-weight:600;cursor:pointer}.admin-message{background:var(--blue-100);color:var(--blue-800);padding:.75rem 1rem;border-radius:.5rem;margin-bottom:1rem}.admin-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem}.admin-tabs button{background:var(--white);color:var(--slate-600);border:2px solid var(--slate-200);padding:.65rem 1.25rem;border-radius:.5rem;font-weight:700;cursor:pointer}.admin-tabs button.active{background:var(--orange-500);color:var(--white);border-color:var(--orange-500)}.admin-form{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.admin-form label{display:flex;flex-direction:column;font-weight:600;color:var(--slate-700);font-size:.9rem}.admin-form input,.admin-form select,.admin-form textarea{padding:.6rem .75rem;border:2px solid var(--slate-200);border-radius:.5rem;margin-top:.35rem}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus{border-color:var(--orange-400);outline:none}.admin-form textarea{min-height:100px;resize:vertical}.admin-form button[type=submit]{grid-column:1 / -1;background:var(--orange-500);color:var(--white);border:none;padding:.85rem;border-radius:.5rem;font-weight:700;cursor:pointer}.admin-form button[type=submit]:hover{background:var(--orange-600)}.twitter-feed{max-width:700px;margin:2rem auto 0;padding:1.5rem;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow)}.twitter-feed h2{margin:0 0 .5rem;color:var(--blue-900)}.twitter-feed p{color:var(--slate-600);margin-bottom:1rem}.twitter-embed{min-height:200px}.twitter-fallback{margin-top:1rem;text-align:center}.twitter-fallback a{color:var(--blue-700);font-weight:600}.games-landing-page{max-width:1100px;margin:0 auto;padding:2rem 1rem 3rem;text-align:center}.games-landing-page h1{font-size:clamp(2rem,5vw,2.75rem);margin-bottom:.5rem;color:var(--orange-600)}.games-landing-page .subtitle{color:var(--slate-600);margin-bottom:2.5rem;font-size:1.1rem}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.game-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}.game-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #0000001f}.game-thumb{width:100%;height:220px;overflow:hidden;background:var(--orange-100)}.game-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.game-card:hover .game-thumb img{transform:scale(1.05)}.game-card h2{margin:1rem 0 .5rem;color:var(--blue-800);font-size:1.5rem}.game-card p{padding:0 1rem 1.5rem;color:var(--slate-700);line-height:1.5}.game-page{max-width:900px;margin:0 auto;padding:1.5rem 1rem 3rem;text-align:center}.game-page h1{margin:0 0 .5rem;color:var(--orange-600);font-size:clamp(1.75rem,4vw,2.5rem)}.game-header{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1rem;font-weight:700;color:var(--slate-700)}.game-stats{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem}.game-stats .stat{background:var(--white);padding:.5rem 1rem;border-radius:.5rem;box-shadow:var(--shadow);font-weight:700}.game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0f172ae0;color:var(--white);padding:2rem}.game-overlay h2{font-size:1.75rem;margin-bottom:.75rem;color:#fbbf24}.game-overlay p{margin:.25rem 0}.game-overlay button{background:var(--orange-500);color:var(--white);border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:700;margin-top:1rem;cursor:pointer}.game-overlay button:hover{background:var(--orange-600)}.game-instructions{color:var(--slate-600);font-size:.95rem;margin-bottom:1rem}.game-instructions kbd{background:var(--slate-200);border-radius:.25rem;padding:.15rem .4rem;font-family:monospace;font-weight:700}.game-controls{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.game-controls button{width:52px;height:52px;border:0;border-radius:.5rem;background:var(--blue-700);color:var(--white);font-size:1.4rem;cursor:pointer;box-shadow:0 4px 0 var(--blue-900)}.game-controls button:active{transform:translateY(4px);box-shadow:none}.leaderboard{max-width:500px;margin:0 auto 1.5rem;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.leaderboard h2{margin-bottom:1rem;color:var(--blue-800)}.leaderboard ol{list-style:none;padding:0;margin:0}.leaderboard li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--slate-200)}.leaderboard li:last-child{border-bottom:none}.leaderboard li.highlight{background:var(--orange-100);border-radius:.375rem;padding:.5rem}.leaderboard .place{font-weight:800;color:var(--orange-600);width:2.5rem;text-align:left}.leaderboard .name{flex:1;text-align:left;font-weight:600}.leaderboard .time{font-weight:700;color:var(--slate-700)}.score-entry{max-width:420px;margin:0 auto 1.5rem;background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.score-entry h2{margin:0 0 1rem;color:var(--blue-900)}.score-entry label{display:block;margin-bottom:1rem;font-weight:600}.score-entry input{width:100%;padding:.65rem;border:2px solid var(--slate-200);border-radius:.5rem;margin-top:.35rem}.score-entry button{background:var(--orange-500);color:var(--white);border:none;padding:.75rem 1.25rem;border-radius:.5rem;font-weight:700;cursor:pointer}.back-link{margin-top:1rem}.hero-game-page{max-width:960px;margin:0 auto;padding:1rem 1rem 3rem;text-align:center}.hero-game-page h1{font-size:clamp(1.75rem,5vw,2.5rem);margin:0 0 .25rem;color:var(--orange-600)}.hero-game-page .tagline{color:var(--slate-600);margin-bottom:1rem}.hero-status{display:flex;justify-content:center;gap:1rem;margin-bottom:.75rem;font-size:1.1rem;font-weight:700;flex-wrap:wrap}.hero-status .stat{background:var(--white);padding:.4rem .9rem;border-radius:9999px;box-shadow:var(--shadow);color:var(--blue-800)}.hero-canvas-wrap{position:relative;margin:0 auto 1rem;width:100%;max-width:900px;border:4px solid var(--blue-900);border-radius:.75rem;overflow:hidden;background:#38bdf8;box-shadow:var(--shadow-lg)}.hero-canvas-wrap canvas{display:block;width:100%;height:auto;image-rendering:auto}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0f172a8c;color:#fff;padding:1.5rem;text-align:center}.hero-overlay h2{font-size:clamp(1.5rem,4vw,2.25rem);margin-bottom:.5rem;color:#fbbf24}.hero-overlay p{margin:.35rem 0;font-size:1rem}.hero-overlay .final-score{font-size:1.5rem;font-weight:800;color:#f97316;margin:.75rem 0 1rem}.hero-overlay form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:320px;margin-top:.5rem}.hero-overlay input{padding:.75rem;border-radius:.5rem;border:2px solid var(--orange-300);font-size:1rem;text-align:center}.hero-overlay button,.hero-btn{padding:.75rem 1.25rem;border:none;border-radius:.5rem;background:var(--orange-500);color:#fff;font-weight:700;cursor:pointer;transition:background .15s ease,transform .1s ease}.hero-canvas-wrapper{position:relative;margin:0 auto 1rem;width:100%;max-width:900px;border:4px solid var(--blue-900);border-radius:.75rem;overflow:hidden;background:#0f172a;box-shadow:var(--shadow-lg);touch-action:none}.hero-canvas{display:block;width:100%;height:auto;image-rendering:auto}.hero-hud{display:flex;justify-content:center;gap:1rem;margin-bottom:.75rem;font-weight:700;color:var(--slate-700)}.hero-hud span{background:var(--white);padding:.4rem .9rem;border-radius:9999px;box-shadow:var(--shadow)}.hero-result,.hero-intro{display:flex;flex-direction:column;align-items:center;gap:.75rem}.hero-form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:320px;margin-top:.25rem}.hero-form input{padding:.75rem;border-radius:.5rem;border:2px solid var(--orange-300);font-size:1rem;text-align:center}.hero-links{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem;font-weight:700}.hero-overlay button:hover,.hero-btn:hover{background:var(--orange-600);transform:translateY(-1px)}.hero-instructions{color:var(--slate-600);font-size:.95rem;margin-bottom:1rem}.hero-instructions kbd{background:var(--slate-200);border-radius:.25rem;padding:.15rem .4rem;font-family:monospace;font-weight:700}.hero-controls{display:flex;justify-content:center;gap:1.5rem;margin:1rem auto .5rem;max-width:700px;-webkit-user-select:none;user-select:none;touch-action:manipulation}.hero-control-btn{flex:1;max-width:220px;padding:1.25rem 1rem;border:0;border-radius:1rem;color:#fff;font-size:1.25rem;font-weight:800;cursor:pointer;box-shadow:0 5px #00000040,0 8px 12px #00000026;transition:transform .05s ease,box-shadow .05s ease}.hero-control-btn.jump{background:linear-gradient(180deg,#22c55e,#15803d);box-shadow:0 5px #14532d,0 8px 12px #00000026}.hero-control-btn.duck{background:linear-gradient(180deg,#f97316,#c2410c);box-shadow:0 5px #7c2d12,0 8px 12px #00000026}.hero-control-btn:active{transform:translateY(5px);box-shadow:0 0 #00000040,0 2px 4px #00000026}.hero-control-btn:disabled{opacity:.65;cursor:not-allowed}.mobile-hint{color:var(--slate-500);font-size:.9rem;margin:.5rem auto 1rem;max-width:700px}.hero-leaderboard{max-width:500px;margin:0 auto 1.5rem;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.hero-leaderboard h2{margin-bottom:1rem;color:var(--blue-800)}.hero-leaderboard ol{list-style:none;padding:0;margin:0}.hero-leaderboard li{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--slate-200)}.hero-leaderboard li:last-child{border-bottom:none}.hero-leaderboard .rank{font-weight:800;color:var(--orange-600);width:2.5rem;text-align:left}.hero-leaderboard .name{flex:1;text-align:left;font-weight:600}.hero-leaderboard .score{font-weight:700;color:var(--slate-700)}.hero-links{margin-top:1rem}@media (max-width: 640px){.site-header{padding:.65rem .75rem}.logo{font-size:1.05rem}.tagline{font-size:.65rem}.nav-links{gap:.5rem;font-size:.85rem}.home-page{padding:1rem .75rem 2rem}.hero{padding:1.75rem 1rem}.search-bar{flex-direction:column}.search-bar button{width:100%}.restaurant-list{grid-template-columns:1fr}.detail-card{padding:1rem .75rem 2rem}.detail-map iframe{height:220px}.games-landing-page{padding:1.5rem .75rem 2rem}.games-grid{grid-template-columns:1fr;gap:1.25rem}.game-thumb{height:180px}.game-page,.hero-game-page{padding:1rem .75rem 2rem}.hero-dpad{gap:.4rem}.dpad-btn{width:58px;height:58px;font-size:1.5rem}.game-controls button{width:48px;height:48px}.hero-status{font-size:1rem;gap:.6rem}.admin-form{grid-template-columns:1fr}}@media (min-width: 641px){.restaurant-list{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.restaurant-list{grid-template-columns:repeat(3,1fr)}}@media print{.site-header,.site-footer,.hero-links,.search-bar,.location-bar,.game-controls,.hero-dpad{display:none!important}}.game-canvas{position:relative;margin:0 auto 1rem;width:100%;max-width:700px;border:4px solid var(--blue-900);border-radius:.5rem;overflow:hidden;background:#86efac;box-shadow:var(--shadow-lg)}.game-canvas canvas{display:block;width:100%;height:auto;image-rendering:pixelated}.game-canvas .game-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#00000073}@media (max-width: 640px){.game-page,.hero-game-page{padding:1rem}.game-page h1,.hero-game-page h1{font-size:1.5rem}.game-canvas,.hero-canvas-wrapper{max-width:100%;border-width:2px}.game-controls{flex-wrap:wrap;gap:.5rem}}.dash-game-page{max-width:960px;margin:0 auto;padding:1rem 1rem 3rem;text-align:center}.dash-game-page h1{font-size:clamp(1.75rem,5vw,2.5rem);margin:0 0 .25rem;color:var(--orange-600)}.dash-game-page .subtitle{color:var(--slate-600);margin-bottom:1rem}.game-stats{display:flex;justify-content:center;gap:1rem;margin-bottom:.75rem;font-size:1.1rem;font-weight:700;flex-wrap:wrap}.game-stats span{background:var(--white);padding:.4rem .9rem;border-radius:9999px;box-shadow:var(--shadow);color:var(--blue-800)}.dash-game-page .game-canvas{max-width:760px;background:#ecfccb}.game-toast{position:absolute;top:.75rem;left:50%;transform:translate(-50%);background:#0f172ad9;color:#fff;padding:.4rem 1rem;border-radius:9999px;font-weight:700;pointer-events:none}.score-submit{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:320px;margin:.75rem 0}.score-submit input{padding:.75rem;border-radius:.5rem;border:2px solid var(--orange-300);font-size:1rem;text-align:center}.rank{font-size:1.25rem;font-weight:800;color:#f97316}.message{color:#facc15;font-weight:700}.mobile-controls{display:none;justify-content:center;margin:.5rem 0 1.5rem}.dpad{display:flex;flex-direction:column;align-items:center;gap:.5rem}.dpad>div{display:flex;gap:.5rem}.dpad button{width:3.5rem;height:3.5rem;border:none;border-radius:.5rem;background:var(--orange-500);color:#fff;font-size:1.25rem;font-weight:700;cursor:pointer}.pusher-game-page{max-width:960px;margin:0 auto;padding:1rem 1rem 3rem;text-align:center}.pusher-game-page h1{font-size:clamp(1.75rem,5vw,2.5rem);margin:0 0 .25rem;color:var(--orange-700)}.pusher-game-page .subtitle{color:var(--blue-700);margin-bottom:1rem}.level-select{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:.5rem 0 .25rem}.level-select button{width:2.5rem;height:2.5rem;border-radius:.5rem;border:2px solid var(--orange-300);background:#fff;color:var(--orange-700);font-weight:800;cursor:pointer}.level-select button.active{background:var(--orange-500);color:#fff;border-color:var(--orange-500)}.level-select button:hover:not(.active){background:var(--orange-100)}.level-name{font-weight:700;color:var(--blue-800);margin:.25rem 0 .75rem}.pusher-game-page .game-canvas{position:relative;margin:0 auto 1rem;width:100%;max-width:900px;border:6px solid #7c2d12;border-radius:1rem;overflow:hidden;background:linear-gradient(180deg,#fffbeb,#fef3c7);box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a}.pusher-game-page canvas{display:block;width:100%;height:auto;image-rendering:pixelated}@media (max-width: 640px){.dash-game-page{padding:1rem}.dash-game-page h1{font-size:1.5rem}.dash-game-page .game-canvas{max-width:100%;border-width:2px}.pusher-game-page .game-canvas{max-width:100%}.mobile-controls{display:flex}}
