*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:#0e1726;color:#f4f8ff;font:16px/1.4 system-ui,-apple-system,Segoe UI,sans-serif;overscroll-behavior:none}.stage{position:relative;width:100%;height:100%;overflow:hidden;background:#9ad7f2}.hud-column{position:absolute;inset:0;max-width:min(100vw,62vh);margin:0 auto;container-type:size;pointer-events:none}@supports (height: 100dvh){html,body,#root{height:100dvh}.hud-column{max-width:min(100vw,62dvh)}}.stage__surface{position:absolute;inset:0}.renderer-status{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:24px;background:#0e17266b;color:#f4f8ff;text-align:center;pointer-events:auto}.stage__canvas{display:block;width:100%;height:100%;touch-action:none}.hud{position:absolute;top:calc(3.5cqh + env(safe-area-inset-top));right:calc(4cqw + env(safe-area-inset-right));left:calc(4cqw + env(safe-area-inset-left));display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.hud__left{display:flex;align-items:flex-start;gap:2.5cqw}.ball-chip{display:grid;justify-items:center;min-width:clamp(64px,25cqw,116px);padding:.5cqh 4cqw 1cqh;border-radius:clamp(14px,5cqw,24px);background:linear-gradient(180deg,#2b4c9b,#1b3167);border:clamp(2px,1cqw,5px) solid #f6b93b;box-shadow:0 .7cqh #09122673}.ball-chip__label{font-size:clamp(9px,3.4cqw,15px);font-weight:800;letter-spacing:.06em;color:#ffe8a8}.ball-chip__count{font-size:clamp(22px,10.5cqw,46px);line-height:1;font-weight:900;text-shadow:0 3px 0 rgba(9,18,38,.5)}.icon-button{pointer-events:auto;width:clamp(38px,15cqw,66px);height:clamp(38px,15cqw,66px);border-radius:50%;border:clamp(2px,1cqw,5px) solid #f6b93b;background:linear-gradient(180deg,#2b4c9b,#1b3167);color:#ffe8a8;font-size:clamp(16px,6.5cqw,30px);line-height:1;cursor:pointer;box-shadow:0 .7cqh #09122673}.coin-chip{display:flex;align-items:center;gap:1.5cqw;padding:.5cqh 3.5cqw 1cqh;border-radius:clamp(14px,5cqw,24px);background:linear-gradient(180deg,#ffb648,#e8850f);border:clamp(2px,1cqw,5px) solid #ffe8a8;box-shadow:0 .7cqh #09122673;opacity:0;transform:scale(.6);transform-origin:left center;transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.coin-chip--visible{opacity:1;transform:scale(1)}.coin-chip__icon{font-size:clamp(16px,6cqw,26px)}.coin-chip__count{font-size:clamp(16px,6.5cqw,28px);line-height:1;font-weight:900;color:#3a1d02;text-shadow:0 2px 0 rgba(255,232,168,.35);animation:coin-chip-pulse .26s ease-out}@keyframes coin-chip-pulse{0%{transform:scale(1)}40%{transform:scale(1.22)}to{transform:scale(1)}}.coin-fly-layer{position:absolute;inset:0;pointer-events:none}.coin-fly{position:absolute;left:0;top:0;font-size:clamp(16px,6cqw,26px);pointer-events:none;filter:drop-shadow(0 0 6px rgba(255,200,80,.85)) drop-shadow(0 2px 3px rgba(0,0,0,.35));animation-name:coin-arc;animation-timing-function:cubic-bezier(.25,.65,.4,1);animation-fill-mode:forwards}@keyframes coin-arc{0%{transform:translate(0) scale(.5);opacity:0}10%{opacity:1;transform:translate(0) scale(1)}55%{opacity:1;transform:translate(var(--mx),var(--my)) scale(1.05)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.45)}}@media (prefers-reduced-motion: reduce){.coin-chip{transition:opacity .2s ease;transform:none}.coin-chip__count{animation:none}.coin-fly-layer{display:none}}.tutorial{position:absolute;inset:0;pointer-events:none}.tutorial__bubble{position:absolute;top:calc(16cqh + env(safe-area-inset-top));left:50%;transform:translate(-50%);width:max-content;max-width:84cqw;padding:1.4cqh 5cqw;border-radius:clamp(12px,5cqw,22px);border:clamp(2px,1cqw,5px) solid #2b4c9b;background:#fdf6ec;color:#1b3167;font-size:clamp(11px,4.4cqw,20px);font-weight:800;text-align:center;line-height:1.25;text-wrap:balance;box-shadow:0 .7cqh #0912264d}.tutorial__hand{position:absolute;transform:translate(-30%,-10%);font-size:clamp(24px,11cqw,52px);animation:tap-pulse 1.1s ease-in-out infinite;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}@keyframes tap-pulse{0%,to{transform:translate(-30%,-10%) scale(1)}50%{transform:translate(-30%,6%) scale(.9)}}@media (prefers-reduced-motion: reduce){.tutorial__hand{animation:none}}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#080e1a9e;backdrop-filter:blur(2px);pointer-events:auto}.overlay--clear{background:none;backdrop-filter:none}.card{display:grid;gap:clamp(8px,2cqh,18px);justify-items:center;width:min(86cqw,340px);max-height:88cqh;overflow-y:auto;padding:clamp(16px,3.5cqh,32px) clamp(16px,7cqw,34px);border-radius:clamp(16px,7cqw,30px);border:clamp(3px,1.2cqw,5px) solid #f6b93b;background:linear-gradient(180deg,#7a41bd,#4a2578);text-align:center;box-shadow:0 14px #09122666}.card--win{background:linear-gradient(180deg,#38a86a,#1d6b41)}.card h2{margin:0;font-size:clamp(20px,8cqw,36px);font-weight:900}.card__shout{font-size:clamp(24px,10cqw,44px);letter-spacing:.02em;text-shadow:0 4px 0 rgba(9,18,38,.45)}.card p{margin:0;font-size:clamp(11px,3.8cqw,16px);opacity:.9}.reward{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(6px,3cqw,16px);align-items:center;padding:clamp(5px,1.4cqh,10px) clamp(10px,4cqw,18px);border-radius:clamp(10px,4cqw,18px);background:#09122647;font-weight:800}.reward__coins,.reward__balls{white-space:nowrap}.reward__coins{font-size:clamp(15px,5.5cqw,24px);color:#ffdf7a}.reward__balls{font-size:clamp(11px,3.6cqw,15px);opacity:.9}.button{width:100%;max-width:260px;padding:clamp(9px,2.2cqh,17px) clamp(12px,5cqw,24px);border-radius:clamp(11px,4.5cqw,20px);border:none;font:inherit;font-size:clamp(13px,4.6cqw,20px);font-weight:800;cursor:pointer}.button--primary{background:linear-gradient(180deg,#8ee563,#4caf3f);color:#10240f;box-shadow:0 6px #2f7a2a}.button--ghost{background:#ffffff29;color:#f4f8ff;border:3px solid rgba(255,255,255,.4);box-shadow:0 6px #0912264d}.button:disabled{opacity:.45;cursor:not-allowed}.loading,.fallback{position:absolute;inset:0;display:grid;place-content:center;gap:8px;text-align:center;padding:24px;background:#16233a}.debug-host{position:absolute;top:0;right:0;z-index:10}.level-editor{position:absolute;z-index:20;top:12px;right:12px;bottom:12px;width:min(380px,calc(100vw - 24px));display:flex;flex-direction:column;overflow:auto;padding:14px;border:1px solid rgba(255,255,255,.3);border-radius:16px;background:#0e1726f0;box-shadow:0 14px 48px #00000073;pointer-events:auto;color:#f4f8ff}.level-editor button,.level-editor input,.level-editor textarea,.level-editor select{font:inherit}.level-editor button{cursor:pointer;border:0;border-radius:6px;padding:6px 8px;background:#385281;color:#fff}.level-editor button:disabled{opacity:.45;cursor:default}.level-editor__header,.editor-section__title,.editor-footer,.editor-actions,.editor-gizmo{display:flex;align-items:center;gap:7px}.level-editor__header{justify-content:space-between;font-size:18px}.editor-icon{font-size:22px;line-height:1}.editor-actions{flex-wrap:wrap;margin:12px 0}.editor-section{display:grid;gap:8px;padding:12px 0;border-top:1px solid rgba(255,255,255,.16)}.editor-section__title{justify-content:space-between;font-weight:700}.editor-section__title span{display:flex;gap:5px}.editor-section label{display:grid;gap:3px;font-size:12px;color:#c8d8ef}.editor-section input,.editor-section textarea,.editor-section select{width:100%;padding:6px;border:1px solid #60769a;border-radius:5px;color:#fff;background:#1a2a43}.editor-section textarea{min-height:48px;resize:vertical}.editor-list{display:grid;gap:4px;max-height:150px;overflow:auto}.editor-list button{text-align:left;background:#263b5d}.editor-list button.selected{outline:2px solid #f6b93b;background:#395883}.editor-vector{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.editor-check{grid-template-columns:auto 1fr;align-items:center}.editor-check input{width:auto}.editor-gizmo{flex-wrap:wrap;padding:7px;border-radius:7px;background:#14233a}.editor-gizmo span{width:100%;font-size:12px;color:#c8d8ef}.editor-footer{position:sticky;bottom:-14px;margin:10px -14px -14px;padding:10px 14px;justify-content:space-between;background:#14233a}.editor-footer output{max-width:48%;font-size:12px;color:#c8d8ef}.editor-footer div{display:flex;gap:6px}.level-editor .editor-primary{background:#55a842;color:#10240f;font-weight:800}
