#gamable-game-zone{background:#3f6b35;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}#gamable-game-zone canvas{display:block}.ui{position:absolute;inset:0;pointer-events:none;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#fff;text-shadow:0 2px 0 rgba(42,34,56,.8)}.ui button{pointer-events:auto;font:inherit;cursor:pointer}.ui-bar{position:absolute;top:0;left:0;right:0;height:52px;display:flex;align-items:center;gap:10px;padding:0 10px;background:linear-gradient(#2a2238d9,#2a223899);font-weight:900;font-size:18px;white-space:nowrap}.ui-lives{color:#ff6b81}.ui-gold{color:#ffd23f}.ui-wave{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:15px}.ui-speed{border:0;border-radius:10px;padding:7px 10px;min-width:44px;background:#e0e0e0;font-weight:900;font-size:15px;color:#2a2238;box-shadow:0 3px #0000004d}.ui-send{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);border:0;border-radius:14px;padding:10px 22px;background:#ffd23f;font-weight:900;font-size:18px;color:#2a2238;white-space:nowrap;box-shadow:0 5px #00000059;animation:ui-glow .9s ease-in-out infinite alternate}@media(orientation:landscape){.ui-send{left:auto;right:14px;transform:none}}.ui-speed:active{transform:translateY(2px);box-shadow:0 1px #0000004d}.ui-menu{position:absolute;padding:8px;border-radius:14px;background:#2a2238eb;box-shadow:0 8px 20px #0006;pointer-events:auto;animation:ui-pop .15s ease-out}.ui-menu>div{display:none}.ui-build{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.ui-menu.build .ui-build{display:grid}.ui-tower,.ui-clear,.ui-castle{flex-direction:column;gap:6px;min-width:176px}.ui-menu.tower .ui-tower,.ui-menu.clear .ui-clear,.ui-menu.castle .ui-castle{display:flex}.ui-info{font-size:13px;font-weight:800;text-align:center;color:#ffd23f}.ui-build-button{display:flex;flex-direction:column;align-items:center;gap:2px;width:84px;padding:6px 4px;border:2px solid rgba(255,255,255,.2);border-radius:10px;background:#ffffff1a;color:#fff}.ui-build-button:disabled,.ui-upgrade:disabled,.ui-strike:disabled{opacity:.4;cursor:default}.ui-icon{width:46px;height:46px}.ui-build-name{font-size:13px;font-weight:800}.ui-cost{font-size:14px;font-weight:900;color:#ffd23f}.ui-tower-title{font-weight:900;font-size:16px;text-align:center}.ui-upgrade,.ui-sell,.ui-strike{border:0;border-radius:10px;padding:9px 12px;font-weight:900;font-size:15px;color:#2a2238}.ui-upgrade{background:#ffd23f}.ui-sell{background:#e0e0e0}.ui-strike{background:#8fd8ff}.ui-card{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:min(560px,94vw);max-height:92vh;overflow:hidden;padding:18px 22px;border-radius:22px;background:#2a2238e6;box-shadow:0 12px 30px #00000080,inset 0 0 0 3px #ffffff14}.ui-banner{position:absolute;top:30%;left:0;right:0;text-align:center;opacity:0;padding:0 16px}.ui-banner.visible{animation:ui-banner .35s cubic-bezier(.2,1.6,.4,1) forwards}.ui-banner-text{display:inline-block;max-width:88%;padding:4px 22px;border-radius:20px;background:#2a2238b8;box-shadow:0 4px #00000040;font-size:clamp(24px,7.4vw,44px);font-weight:900;color:#ffd23f;text-shadow:0 3px 0 #2a2238}.ui-banner-sub{margin-top:8px;font-size:clamp(15px,4.2vw,20px);font-weight:800}.ui-screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;background:#2a2238b8}.ui-title{margin:0;font-size:clamp(46px,14vw,90px);font-weight:900;line-height:1;color:#ffd23f;-webkit-text-stroke:3px #2a2238;text-shadow:0 7px 0 #2a2238}.ui-subtitle{margin:0;max-width:24em;font-size:clamp(16px,4.4vw,21px);font-weight:800}.ui-hint{margin:16px 0 0;font-size:clamp(18px,5vw,24px);font-weight:900}.ui-small{margin:0;max-width:30em;font-size:14px;font-weight:700;line-height:1.45}.ui-best{font-size:17px;color:#ffd23f}.ui-stars{display:flex;gap:6px;font-size:clamp(44px,12vw,64px)}.ui-star{color:#fff3}.ui-star.won{color:#ffd23f}.ui-pulse{animation:ui-glow .8s ease-in-out infinite alternate}@keyframes ui-glow{0%{opacity:1}to{opacity:.45}}@keyframes ui-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes ui-banner{0%{opacity:0;transform:scale(1.8)}to{opacity:1;transform:scale(1)}}
