.game-ui{z-index:var(--ui-z-base);width:360px;height:640px;color:var(--ui-text-primary);pointer-events:none;transform-origin:0 0;position:absolute;top:0;left:0}.game-ui button{font:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.game-ui button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.game-header{height:var(--ui-title-height);grid-template-columns:var(--ui-control-size) 1fr var(--ui-control-size);align-items:center;display:grid;position:absolute;top:12px;left:18px;right:18px}.ui-control,.level-label{height:var(--ui-title-height);color:var(--ui-text-primary);background:var(--ui-surface-primary);border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-control)}.ui-control{width:var(--ui-control-size);cursor:pointer;pointer-events:auto;place-items:center;padding:0;display:grid;position:relative}.ui-control:before{content:"";position:absolute;inset:-4px}.ui-control:active{transform:translateY(1px)}.restart-control svg{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.speed-control{font-size:var(--ui-font-size-sm);font-weight:var(--ui-font-weight-bold)}.level-label{min-width:126px;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-bold);letter-spacing:.1em;justify-self:center;place-items:center;padding:0 14px;line-height:1;display:grid}.active-slots{pointer-events:none;position:absolute;inset:0}.active-slots:before{z-index:0;content:"";background:var(--ui-wood);border:1px solid var(--ui-wood-dark);border-radius:var(--ui-radius-lg);width:306px;height:66px;box-shadow:var(--ui-shadow-panel);position:absolute;top:397px;left:27px}.active-slot{z-index:1;width:var(--ui-slot-size);height:var(--ui-slot-size);color:var(--ui-text-on-color);font-size:var(--ui-font-size-card);font-weight:var(--ui-font-weight-heavy);font-variant-numeric:tabular-nums;background:var(--ui-surface-warm);border:1px solid var(--ui-border-warm);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-slot);place-items:center;line-height:1;display:grid;position:absolute;transform:translate(-50%,-50%)}.active-slot>span,.stack-card>span,.flying-batch>span{color:var(--ui-text-on-color);text-shadow:0 2px #301c1552}.active-slot--occupied{background:var(--batch-color);border-color:var(--ui-border-card);box-shadow:var(--ui-shadow-card)}.active-slot--incoming{color:#0000;background:var(--ui-surface-warm);border-color:var(--ui-border-warm);box-shadow:var(--ui-shadow-slot)}.active-slot--incoming>span{opacity:0}.active-slot--arrived{animation:slot-arrive var(--ui-motion-fast) ease-out}@keyframes slot-arrive{0%{opacity:.7;transform:translate(-50%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.batch-stacks{grid-template-columns:repeat(4, var(--ui-card-size));pointer-events:none;justify-content:space-between;width:278px;height:170px;display:grid;position:absolute;top:468px;left:41px}.batch-stack,.stack-column{width:var(--ui-card-size);pointer-events:none;height:170px;position:relative}.stack-column{align-items:center;gap:var(--ui-space-2);flex-direction:column;display:flex}.stack-card,.flying-batch{width:var(--ui-card-size);height:var(--ui-card-size);color:var(--ui-text-on-color);font-size:var(--ui-font-size-card);font-weight:var(--ui-font-weight-heavy);font-variant-numeric:tabular-nums;background:var(--batch-color);border:1px solid var(--ui-border-card);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-card);place-items:center;padding:0;line-height:1;display:grid}.stack-card{flex:0 0 var(--ui-card-size);pointer-events:none;position:relative}.stack-card--depth-0{z-index:3;cursor:pointer;pointer-events:auto}.stack-card--depth-0:after{content:"";position:absolute;inset:-3px}.stack-card--depth-1{z-index:2}.stack-card--depth-2{z-index:1}.stack-card:disabled{cursor:default}.stack-card--depth-0:active{transform:translateY(1px)}.stack-card--departing{opacity:0}.stack-card--shake{animation:stack-shake var(--ui-motion-shake) ease-in-out}@keyframes stack-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.stack-move{transition:transform var(--ui-motion-normal) var(--ui-ease-standard)}.stack-enter-active{transition:opacity var(--ui-motion-fast) ease 45ms}.stack-enter-from,.stack-leave-to{opacity:0}.stack-leave-active{transition:opacity 55ms;position:absolute}.flying-batch{z-index:var(--ui-z-flight);pointer-events:none;transform-origin:50%;transition:transform var(--ui-motion-flight) var(--ui-ease-standard);will-change:transform;position:absolute;transform:translate(-50%,-50%)scale(1)}.flying-batch--active{transform:translate(-50%, -50%) translate(var(--flight-x), var(--flight-y)) scale(var(--flight-scale))}.game-modal-backdrop{z-index:var(--ui-z-modal);padding:var(--ui-space-4) var(--ui-space-4) var(--ui-space-5);background:var(--ui-modal-backdrop);pointer-events:auto;place-items:center;display:grid;position:absolute;inset:0}.game-modal{text-align:center;background:var(--ui-surface-modal);border-radius:var(--ui-radius-lg);width:calc(100% - 32px);max-width:300px;box-shadow:var(--ui-shadow-modal);border:1px solid #543c2b38;padding:22px}.game-modal h2{font-size:var(--ui-font-size-title);margin:0 0 10px}.game-modal p{margin:0 0 var(--ui-space-5);color:var(--ui-text-secondary);font-size:var(--ui-font-size-xs)}.game-modal button{width:100%;min-height:46px;color:var(--ui-text-on-color);font-weight:var(--ui-font-weight-bold);background:var(--ui-accent);box-shadow:0 4px 0 var(--ui-accent-dark);cursor:pointer;border:0;border-radius:9px;padding:0 18px}.game-modal button:active{transform:translateY(1px)}@media (hover:hover) and (pointer:fine){.ui-control:hover{background:var(--ui-surface-primary-hover)}.stack-card--depth-0:hover{filter:brightness(1.05)saturate(1.04);transform:translateY(-2px)}.game-modal button:hover{filter:brightness(1.05)}.game-modal{max-width:320px;padding:26px}}@media (hover:none),(pointer:coarse){.ui-control:active,.stack-card--depth-0:active,.game-modal button:active{transform:translateY(1px)}}:root{--ui-font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;--ui-font-size-xs:15px;--ui-font-size-sm:16px;--ui-font-size-md:17px;--ui-font-size-lg:18px;--ui-font-size-card:20px;--ui-font-size-title:25px;--ui-font-weight-normal:400;--ui-font-weight-semibold:600;--ui-font-weight-bold:850;--ui-font-weight-heavy:900;--ui-text-primary:#3b2b23;--ui-text-secondary:#765142;--ui-text-on-color:#fff;--ui-surface-primary:#fff6e0f0;--ui-surface-primary-hover:#fffaf0;--ui-surface-warm:#f7e6c2;--ui-surface-modal:#fffaf1;--ui-border-soft:#744e2f57;--ui-border-warm:#c99a61;--ui-border-card:#462a1d33;--ui-wood:#986039;--ui-wood-dark:#6f4328;--ui-modal-backdrop:#1a161261;--ui-accent:#5a8ff0;--ui-accent-dark:#3866ba;--ui-space-1:4px;--ui-space-2:7px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-5:20px;--ui-space-6:24px;--ui-control-size:44px;--ui-title-height:44px;--ui-card-size:52px;--ui-slot-size:52px;--ui-touch-target-min:44px;--ui-radius-sm:8px;--ui-radius-md:10px;--ui-radius-lg:14px;--ui-radius-round:999px;--ui-shadow-control:0 3px 0 #673f223d, 0 6px 10px #36201414, inset 0 1px 0 #ffffffc7;--ui-shadow-slot:0 3px 0 #6f4327, inset 0 2px 0 #ffffff9e, inset 0 -2px 0 #72492b1f;--ui-shadow-card:0 3px 0 var(--batch-dark), 0 6px 9px #301c131f, inset 0 2px 0 #ffffff47, inset 0 -2px 0 #26160f14;--ui-shadow-panel:0 5px 10px #371f1229, inset 0 2px 0 #ffdea92e, inset 0 -3px 0 #4928162e;--ui-shadow-modal:0 14px 40px #26181040;--ui-motion-fast:.14s;--ui-motion-shake:.17s;--ui-motion-normal:.2s;--ui-motion-flight:.23s;--ui-ease-standard:cubic-bezier(.22, .75, .25, 1);--ui-z-base:10;--ui-z-flight:80;--ui-z-modal:100;--ui-safe-top:var(--safe-top);--ui-safe-right:var(--safe-right);--ui-safe-bottom:var(--safe-bottom);--ui-safe-left:var(--safe-left);--vk-safe-top:0px;--vk-safe-right:0px;--vk-safe-bottom:0px;--vk-safe-left:0px;--safe-top:max(env(safe-area-inset-top,0px), var(--vk-safe-top,0px));--safe-right:max(env(safe-area-inset-right,0px), var(--vk-safe-right,0px));--safe-bottom:max(env(safe-area-inset-bottom,0px), var(--vk-safe-bottom,0px));--safe-left:max(env(safe-area-inset-left,0px), var(--vk-safe-left,0px));--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--ui-font-family);background:#cfd5dc}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}html,body{overflow-x:hidden}body{background:linear-gradient(#d9dee4 0%,#c7cdd5 100%);min-height:100dvh;overflow-y:auto}#app{min-height:100dvh}.app-viewport{width:100%;min-height:100dvh;padding:calc(var(--safe-top) + 8px) calc(var(--safe-right) + 8px) calc(var(--safe-bottom) + 8px) calc(var(--safe-left) + 8px);justify-content:center;align-items:center;display:flex;overflow-x:hidden}.game-shell{width:min(100%,56.25dvh - 9px);width:min(100%, calc((100dvh - var(--safe-top) - var(--safe-bottom) - 16px) * .5625));background:#f8efe3;border-radius:8px;flex:none;max-width:540px;position:relative;overflow:hidden}.game-shell:before{content:"";padding-top:177.778%;display:block}@supports (aspect-ratio:9 / 16){.game-shell{aspect-ratio:9/16}.game-shell:before{display:none}}#game-canvas{position:absolute;inset:0}#game-canvas canvas{max-width:100%;max-height:100%;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;display:block;width:100%!important;height:100%!important}.orientation-lock{z-index:1000;padding:calc(var(--safe-top) + 20px) calc(var(--safe-right) + 20px) calc(var(--safe-bottom) + 20px) calc(var(--safe-left) + 20px);color:#3c2e28;letter-spacing:.08em;text-align:center;background:#f5ead5;flex-direction:column;justify-content:center;align-items:center;gap:18px;font-size:17px;font-weight:850;display:none;position:fixed;inset:0}.orientation-lock svg{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:64px;height:64px}@media (hover:hover) and (pointer:fine){.game-shell{border-radius:14px;box-shadow:0 18px 60px #181f2833}}@media (hover:none),(pointer:coarse){.game-shell{box-shadow:none;border-radius:0}}@media (pointer:fine) and (width>=768px) and (height<=680px){.app-viewport{align-items:flex-start;min-height:100dvh;overflow-y:visible}.game-shell{width:min(540px,100vw - 24px);min-width:360px}}@media (orientation:landscape) and (pointer:coarse) and (height<=500px){.orientation-lock{display:flex}}
