:root{--bg: #0e1726;--panel: #182438;--panel-2: #1f2f49;--ink: #eaf1fb;--muted: #93a4bf;--accent: #f6c343;--accent-2: #e8503a;--good: #6ec06e}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;overscroll-behavior:none}button{font-family:inherit;cursor:pointer}.map-screen{min-height:100vh;min-height:100dvh;max-width:760px;margin:0 auto;padding:24px 18px 40px}.map-header{text-align:center;margin-bottom:22px}.map-header h1{margin:6px 0 4px;font-size:38px;letter-spacing:1px}.map-header p{margin:0;color:var(--muted)}.map-stars{margin-top:10px;color:var(--accent);font-weight:600;display:flex;gap:8px;justify-content:center;align-items:center}.level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}@media (min-width: 540px){.level-grid{grid-template-columns:repeat(4,1fr)}}.tile-link{text-decoration:none}.level-tile{background:var(--panel);border:1px solid var(--panel-2);border-radius:14px;padding:14px 8px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;min-height:116px;justify-content:center;transition:transform .08s ease,border-color .12s ease}.tile-link:active .level-tile{transform:scale(.96)}.tile-link:not(.disabled):hover .level-tile{border-color:var(--accent)}.level-tile.locked{opacity:.5}.level-num{font-size:30px;font-weight:800;color:var(--accent);line-height:1}.level-name{font-size:12px;color:var(--muted);text-align:center}.lock-icon{width:16px;height:13px;background:var(--muted);border-radius:2px;position:relative;margin-top:4px}.lock-icon:before{content:"";position:absolute;width:9px;height:9px;border:2.5px solid var(--muted);border-bottom:none;border-radius:6px 6px 0 0;left:50%;transform:translate(-50%);top:-8px}.map-footer{margin-top:26px;text-align:center;color:var(--muted);font-size:12px}.stars{display:inline-flex;gap:2px;color:#4a5878}.stars .star.on{color:var(--accent)}.stars-sm{font-size:14px}.stars-md{font-size:20px}.stars-lg{font-size:40px}.game-screen{position:relative;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:var(--bg)}.game-screen.center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.game-canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding:10px 12px;pointer-events:none}.hud-left,.hud-mid,.hud-btns{background:#0e1726b8;border-radius:12px;padding:8px 12px}.hud-mid{text-align:center}.hud-birds{display:flex;gap:5px;min-height:16px}.hud-bird-dot{width:14px;height:14px;border-radius:50%;background:var(--accent-2);border:2px solid rgba(0,0,0,.3)}.hud-pigs{margin-top:5px;font-size:12px;color:var(--muted)}.hud-level{font-size:12px;color:var(--muted)}.hud-score{font-size:22px;font-weight:800;color:var(--accent)}.hud-btns{display:flex;gap:6px}.hud-btn{pointer-events:auto;background:var(--panel-2);color:var(--ink);border:none;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:600}.hud-btn:active{transform:scale(.94)}.hint-banner{position:absolute;left:50%;bottom:26px;transform:translate(-50%);max-width:90%;background:#f6c343f2;color:#1a1205;border:none;border-radius:999px;padding:10px 18px;font-size:13px;font-weight:600;pointer-events:auto}.overlay-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#080d16c7;display:flex;align-items:center;justify-content:center;padding:20px}.overlay-card{background:var(--panel);border:1px solid var(--panel-2);border-radius:18px;padding:26px 24px;text-align:center;max-width:340px;width:100%}.overlay-card h2{margin:0 0 12px;font-size:26px}.overlay-score{margin-top:10px;font-size:18px;font-weight:700;color:var(--accent)}.overlay-sub{color:var(--muted);margin:4px 0 0}.overlay-actions{display:flex;flex-direction:column;gap:10px;margin-top:20px}.overlay-btn{background:var(--panel-2);color:var(--ink);border:none;border-radius:10px;padding:13px;font-size:15px;font-weight:600}.overlay-btn.primary{background:var(--accent);color:#1a1205}.overlay-btn:active{transform:scale(.97)}
