.runtime-debug-overlay{z-index:calc(var(--ui-z-modal) + 100);top:calc(var(--ui-safe-top) + var(--ui-space-2));right:calc(var(--ui-safe-right) + var(--ui-space-2));width:min(300px, calc(100vw - var(--ui-safe-left) - var(--ui-safe-right) - 16px));max-height:calc(100dvh - var(--ui-safe-top) - var(--ui-safe-bottom) - 16px);padding:var(--ui-space-3);color:var(--ui-text-primary);background:var(--ui-surface-modal);border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-md);box-shadow:var(--ui-shadow-modal);font-size:12px;line-height:1.35;position:fixed;overflow-y:auto}.runtime-debug-overlay h2{margin:0 64px var(--ui-space-2) 0;font-size:var(--ui-font-size-sm)}.runtime-debug-overlay>button{top:var(--ui-space-2);right:var(--ui-space-2);min-height:28px;padding:0 var(--ui-space-2);color:var(--ui-text-primary);font:inherit;font-weight:var(--ui-font-weight-semibold);background:var(--ui-surface-warm);border:1px solid var(--ui-border-warm);border-radius:var(--ui-radius-sm);cursor:pointer;position:absolute}.runtime-debug-overlay dl{gap:var(--ui-space-1) var(--ui-space-2);grid-template-columns:minmax(92px,auto) minmax(0,1fr);margin:0;display:grid}.runtime-debug-overlay dt{color:var(--ui-text-secondary)}.runtime-debug-overlay dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;min-width:0;font-weight:var(--ui-font-weight-semibold);margin:0}@media (width<=520px){.runtime-debug-overlay{right:auto;left:calc(var(--ui-safe-left) + var(--ui-space-2));width:calc(100vw - var(--ui-safe-left) - var(--ui-safe-right) - 14px);max-height:min(44dvh,360px)}}.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}.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}.action-tray{grid-template-columns:repeat(5, var(--ui-slot-size));align-items:center;gap:var(--ui-game-card-gap);padding:var(--ui-action-tray-padding);background:var(--ui-action-tray-background);border:var(--ui-action-tray-border);border-radius:var(--ui-action-tray-radius);box-shadow:var(--ui-action-tray-shadow);box-sizing:border-box;pointer-events:none;display:grid;position:absolute}.active-slot,.stack-card,.flying-batch{width:var(--ui-slot-size);height:var(--ui-slot-size);color:var(--ui-batch-number-color);font-variant-numeric:tabular-nums;background:var(--batch-color,var(--ui-surface-warm));border:var(--ui-game-card-border);border-radius:var(--ui-game-card-radius);box-shadow:var(--ui-game-card-shadow);place-items:center;padding:0;line-height:1;display:grid}.active-slot{background:var(--ui-surface-warm);position:relative}.active-slot>span,.stack-card>span,.flying-batch>span{color:var(--ui-batch-number-color);font-size:var(--ui-batch-number-size);font-weight:var(--ui-batch-number-weight);text-shadow:var(--ui-batch-number-shadow)}.active-slot--occupied{background:var(--batch-color)}.active-slot--incoming{background:var(--ui-surface-warm)}.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:scale(.92)}to{opacity:1;transform:scale(1)}}.batch-stacks{height:var(--ui-stack-height);grid-template-columns:repeat(4, var(--ui-card-size));pointer-events:none;justify-content:space-between;display:grid;position:absolute}.batch-stack,.stack-column{width:var(--ui-card-size);height:var(--ui-stack-height);pointer-events:none;position:relative}.stack-column{align-items:center;gap:var(--ui-stack-gap);flex-direction:column;display:flex}.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)}}.ui-lab-page{z-index:auto;width:100%;max-width:1080px;height:auto;min-height:100dvh;padding:calc(var(--ui-safe-top) + var(--ui-space-5)) calc(var(--ui-safe-right) + var(--ui-space-4)) calc(var(--ui-safe-bottom) + var(--ui-space-6)) calc(var(--ui-safe-left) + var(--ui-space-4));color:var(--ui-text-primary);pointer-events:auto;margin:0 auto;position:relative;top:auto;left:auto;transform:none}.ui-lab-intro,.ui-lab-section{background:var(--ui-surface-primary);border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-lg);width:100%;box-shadow:var(--ui-shadow-control)}.ui-lab-intro{margin-bottom:var(--ui-space-4);padding:var(--ui-space-5)}.ui-lab-intro h1,.ui-lab-section h2,.ui-lab-intro p,.ui-lab-section p{margin-top:0}.ui-lab-intro h1{margin-bottom:var(--ui-space-2);font-size:var(--ui-font-size-title)}.ui-lab-intro p:last-child,.ui-lab-section p:last-child{margin-bottom:0}.ui-lab-eyebrow{margin-bottom:var(--ui-space-2);color:var(--ui-text-secondary);font-size:var(--ui-font-size-xs);font-weight:var(--ui-font-weight-semibold)}.ui-lab-section{margin-top:var(--ui-space-4);padding:var(--ui-space-5);overflow:hidden}.ui-lab-section h2{margin-bottom:var(--ui-space-4);font-size:var(--ui-font-size-lg)}.ui-lab-component-grid,.ui-lab-stack-grid,.ui-lab-token-grid,.ui-lab-readout-grid,.ui-lab-safe-grid{gap:var(--ui-space-5);display:grid}.ui-lab-component-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.ui-lab-sample,.ui-lab-inline-example,.ui-lab-safe-sample{align-items:center;gap:var(--ui-space-3);flex-direction:column;display:flex}.ui-lab-label,.ui-lab-note,.ui-lab-readout{color:var(--ui-text-secondary);font-size:var(--ui-font-size-xs)}.stack-card.ui-lab-force-hover{filter:brightness(1.05)saturate(1.04);transform:translateY(-2px)}.stack-card.ui-lab-force-pressed{filter:none;transform:translateY(1px)}.ui-lab-header-stage{width:360px;max-width:100%;height:68px;margin-bottom:var(--ui-space-4);position:relative}.ui-lab-inline-example{width:max-content}.ui-lab-slot-preview{width:var(--ui-slot-size);height:var(--ui-slot-size);position:relative}.ui-lab-stack-grid{grid-template-columns:repeat(4, var(--ui-card-size));justify-content:start}.ui-lab-readout{margin-top:var(--ui-space-4);margin-bottom:0}.ui-lab-dock-viewport{width:360px;max-width:100%;height:92px;margin-top:var(--ui-space-3);position:relative;overflow:hidden}.ui-lab-dock-scale{transform-origin:top;width:360px;height:92px;position:absolute;top:0;left:50%;transform:translate(-50%)}.ui-lab-coordinate-space{width:360px;height:640px;position:absolute;left:0}.ui-lab-modal-stage{background:var(--ui-surface-warm);border:1px solid var(--ui-border-warm);border-radius:var(--ui-radius-md);place-items:center;width:360px;max-width:100%;height:300px;display:grid;position:relative;overflow:hidden}.ui-lab-button{min-height:var(--ui-touch-target-min);padding:0 var(--ui-space-4);color:var(--ui-text-on-color);font:inherit;font-weight:var(--ui-font-weight-bold);background:var(--ui-accent);border-radius:var(--ui-radius-md);box-shadow:0 4px 0 var(--ui-accent-dark);cursor:pointer;border:0}.ui-lab-token-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.ui-lab-token-grid dl{padding:var(--ui-space-4);background:var(--ui-surface-warm);border-radius:var(--ui-radius-md);margin:0}.ui-lab-token-grid dt{margin-bottom:var(--ui-space-2);font-weight:var(--ui-font-weight-bold)}.ui-lab-token-grid dd{margin:var(--ui-space-1) 0 0;color:var(--ui-text-secondary)}.ui-lab-readout-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.ui-lab-readout-grid span{padding:var(--ui-space-3);background:var(--ui-surface-warm);border-radius:var(--ui-radius-sm)}.ui-lab-table-wrap{width:100%}.ui-lab-table-wrap table{border-collapse:collapse;width:100%;font-size:var(--ui-font-size-xs);font-variant-numeric:tabular-nums}.ui-lab-table-wrap th,.ui-lab-table-wrap td{padding:var(--ui-space-2) var(--ui-space-3);text-align:left;border-bottom:1px solid var(--ui-border-soft)}.ui-lab-safe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-lab-safe-preview{width:100%;height:150px;padding:var(--ui-safe-top) var(--ui-safe-right) var(--ui-safe-bottom) var(--ui-safe-left);background:var(--ui-wood);border-radius:var(--ui-radius-md)}.ui-lab-safe-preview>div{width:100%;height:100%;color:var(--ui-text-primary);background:var(--ui-surface-warm);border-radius:var(--ui-radius-sm);place-items:center;display:grid}@media (width<=520px){.ui-lab-page{padding:calc(var(--ui-safe-top) + var(--ui-space-3)) calc(var(--ui-safe-right) + var(--ui-space-3)) calc(var(--ui-safe-bottom) + var(--ui-space-4)) calc(var(--ui-safe-left) + var(--ui-space-3))}.ui-lab-intro,.ui-lab-section{padding:var(--ui-space-4)}.ui-lab-component-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ui-lab-stack-grid{grid-template-columns:repeat(2, var(--ui-card-size));row-gap:var(--ui-space-6)}.ui-lab-safe-grid{grid-template-columns:1fr}}@media (width<=390px){.ui-lab-dock-viewport{height:68px}.ui-lab-dock-scale{transform:translate(-50%)scale(.72)}}: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-batch-number-color:#fff;--ui-batch-number-size:20px;--ui-batch-number-weight:900;--ui-batch-number-shadow:0 1px 2px #2d1b127a;--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:48px;--ui-slot-size:48px;--ui-stack-gap:6px;--ui-stack-height:156px;--ui-touch-target-min:44px;--ui-radius-sm:8px;--ui-radius-md:10px;--ui-radius-lg:14px;--ui-radius-round:999px;--ui-game-card-radius:var(--ui-radius-md);--ui-game-card-border:1px solid var(--ui-border-card);--ui-game-card-gap:var(--ui-space-3);--ui-action-tray-padding:5px;--ui-action-tray-background:var(--ui-surface-warm);--ui-action-tray-border:1px solid var(--ui-border-warm);--ui-action-tray-radius:var(--ui-radius-lg);--ui-shadow-control:0 3px 0 #673f223d, 0 6px 10px #36201414, inset 0 1px 0 #ffffffc7;--ui-shadow-card:0 3px 0 var(--ui-wood-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-game-card-shadow:var(--ui-shadow-card);--ui-action-tray-shadow:var(--ui-shadow-panel);--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}}
