.level-art-lab{width:min(1180px,100%);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);margin:0 auto}.level-art-lab__intro,.level-art-lab__panel,.level-art-lab__notice{background:var(--ui-surface-primary);border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-lg);box-shadow:var(--ui-shadow-control)}.level-art-lab__intro{padding:var(--ui-space-5)}.level-art-lab__intro h1,.level-art-lab__intro p,.level-art-lab__panel h2,.level-art-lab__panel p{margin-top:0}.level-art-lab__intro h1{margin-bottom:var(--ui-space-2);font-size:28px}.level-art-lab__intro p:last-child,.level-art-lab__panel p:last-child{margin-bottom:0}.level-art-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)}.level-art-lab__controls{margin-top:var(--ui-space-4);gap:var(--ui-space-4);padding:var(--ui-space-4);grid-template-columns:minmax(260px,2fr) repeat(4,minmax(110px,1fr));align-items:end;display:grid}.level-art-lab__controls label,.level-art-lab__file-control{gap:var(--ui-space-1);color:var(--ui-text-secondary);font-size:var(--ui-font-size-xs);font-weight:var(--ui-font-weight-semibold);display:grid}.level-art-lab__controls input,.level-art-lab__controls select,.level-art-lab__hex-input{min-height:42px;padding:0 var(--ui-space-3);color:var(--ui-text-primary);font:inherit;border:1px solid var(--ui-border-warm);border-radius:var(--ui-radius-sm);background:#fffdf8}.level-art-lab__controls input[type=file]{width:100%;padding:8px}.level-art-lab__controls input:disabled{opacity:.55}.level-art-lab__file-control small{min-height:1.2em;font-weight:var(--ui-font-weight-normal);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.level-art-lab__check{min-height:42px;padding:0 var(--ui-space-3);background:var(--ui-surface-warm);border-radius:var(--ui-radius-sm);grid-template-columns:auto 1fr;align-items:center}.level-art-lab__check input{width:18px;height:18px;min-height:0;padding:0}.level-art-lab__comparison{margin-top:var(--ui-space-4);gap:var(--ui-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.level-art-lab__preview-card,.level-art-lab>.level-art-lab__panel{padding:var(--ui-space-4)}.level-art-lab>.level-art-lab__panel{margin-top:var(--ui-space-4)}.level-art-lab__section-heading{justify-content:space-between;align-items:center;gap:var(--ui-space-3);min-height:32px;margin-bottom:var(--ui-space-3);display:flex}.level-art-lab__section-heading h2{font-size:var(--ui-font-size-lg);margin:0}.level-art-lab__section-heading>span{color:var(--ui-text-secondary);font-size:var(--ui-font-size-xs);font-variant-numeric:tabular-nums}.level-art-lab__preview-stage{min-height:420px;padding:var(--ui-space-3);border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-md);background:#e9e2d5;place-items:center;display:grid;overflow:hidden}.level-art-lab__preview-stage img{object-fit:contain;max-width:100%;max-height:480px;display:block}.level-art-lab__preview-stage p{color:var(--ui-text-secondary);text-align:center}.level-art-lab__pixel-stage{background-color:#f3eee4;background-image:linear-gradient(45deg,#5a4e4417 25%,#0000 25%),linear-gradient(-45deg,#5a4e4417 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#5a4e4417 75%),linear-gradient(-45deg,#0000 75%,#5a4e4417 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.level-art-lab__pixel-stage canvas{width:auto;max-width:100%;max-height:480px;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.level-art-lab__palette{gap:var(--ui-space-2);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));display:grid}.level-art-lab__palette-row{gap:var(--ui-space-2);min-height:48px;padding:var(--ui-space-2);background:var(--ui-surface-warm);border-radius:var(--ui-radius-sm);grid-template-columns:24px 38px minmax(92px,1fr) auto;align-items:center;display:grid}.level-art-lab__palette-swatch{border:1px solid var(--ui-border-soft);border-radius:6px;width:38px;height:34px}.level-art-lab__palette-row code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px}.level-art-lab__palette-count{color:var(--ui-text-secondary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px}.level-art-lab__stats{gap:var(--ui-space-3);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.level-art-lab__stats>div{padding:var(--ui-space-3);background:var(--ui-surface-warm);border-radius:var(--ui-radius-sm)}.level-art-lab__stats dt{color:var(--ui-text-secondary);font-size:13px}.level-art-lab__stats dd{margin:var(--ui-space-1) 0 0;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-bold);font-variant-numeric:tabular-nums}.level-art-lab__validity{color:#1d6a46;border-radius:var(--ui-radius-round);background:#dff6e8;padding:5px 10px;font-size:13px}.level-art-lab__validity--invalid{color:#8f2f32;background:#ffe2e2}.level-art-lab__outputs{margin-top:var(--ui-space-4);gap:var(--ui-space-4);grid-template-columns:2fr 1fr 1fr;display:grid}.level-art-lab__output-card{min-width:0;padding:var(--ui-space-4)}.level-art-lab button{min-height:36px;padding:0 var(--ui-space-3);color:var(--ui-text-on-color);font:inherit;font-size:13px;font-weight:var(--ui-font-weight-bold);background:var(--ui-accent);border-radius:var(--ui-radius-sm);box-shadow:0 3px 0 var(--ui-accent-dark);cursor:pointer;border:0}.level-art-lab button:active{transform:translateY(1px)}.level-art-lab pre{max-height:500px;padding:var(--ui-space-3);color:#26303c;border:1px solid var(--ui-border-soft);border-radius:var(--ui-radius-sm);tab-size:2;background:#f8f5ed;margin:0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px;line-height:1.45;overflow:auto}.level-art-lab__copy-all{align-items:center;gap:var(--ui-space-3);min-height:52px;margin-top:var(--ui-space-4);display:flex}.level-art-lab__copy-all button{min-height:44px;padding-inline:var(--ui-space-5)}.level-art-lab__copy-all span{color:var(--ui-text-secondary);font-size:var(--ui-font-size-xs)}.level-art-lab__error{margin:var(--ui-space-4) 0 0;padding:var(--ui-space-3) var(--ui-space-4);color:#8f2f32;border-radius:var(--ui-radius-md);background:#ffe2e2;border:1px solid #e9a7a7}.level-art-lab__notice{margin-top:var(--ui-space-4);padding:var(--ui-space-4);color:var(--ui-text-secondary);font-size:var(--ui-font-size-xs);text-align:center}@media (width<=980px){.level-art-lab__controls{grid-template-columns:repeat(3,minmax(0,1fr))}.level-art-lab__file-control{grid-column:1/-1}.level-art-lab__outputs{grid-template-columns:1fr 1fr}.level-art-lab__output-card:first-child{grid-column:1/-1}}@media (width<=720px){.level-art-lab{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))}.level-art-lab__comparison,.level-art-lab__outputs{grid-template-columns:1fr}.level-art-lab__output-card:first-child{grid-column:auto}.level-art-lab__preview-stage{min-height:280px}.level-art-lab__pixel-stage canvas{width:100%;height:auto}.level-art-lab__stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.level-art-lab__intro,.level-art-lab__preview-card,.level-art-lab>.level-art-lab__panel,.level-art-lab__output-card{padding:var(--ui-space-3)}.level-art-lab__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.level-art-lab__file-control,.level-art-lab__check:last-child{grid-column:1/-1}.level-art-lab__palette{grid-template-columns:1fr}.level-art-lab__palette-row{grid-template-columns:22px 36px minmax(88px,1fr)}.level-art-lab__palette-count{grid-column:3}}.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) var(--ui-control-size) 1fr var(--ui-control-size);gap:var(--ui-space-1);align-items:center;display:grid;position:absolute}.ui-control,.level-label{height:var(--ui-title-height);box-sizing:border-box;color:var(--ui-text-primary);background:var(--ui-header-surface);border:2px solid var(--ui-header-edge-dark);clip-path:var(--ui-game-card-clip);box-shadow:var(--ui-shadow-header-control);filter:var(--ui-filter-header-control);border-radius:0;position:relative}.ui-control{width:var(--ui-control-size);cursor:pointer;pointer-events:auto;place-items:center;padding:0;display:grid}.ui-control:before{content:"";position:absolute;inset:-4px}.ui-control:active{box-shadow:var(--ui-shadow-header-control-pressed);filter:var(--ui-filter-header-control-pressed);transform:translateY(2px)}.home-control svg,.restart-control svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:21px;height:21px}.speed-control{position:relative}.speed-value{color:var(--ui-text-primary);font-size:20px;font-weight:var(--ui-font-weight-heavy);font-variant-numeric:tabular-nums;line-height:1}.speed-times{color:var(--ui-text-primary);font-size:10px;font-weight:var(--ui-font-weight-heavy);pointer-events:none;line-height:1;position:absolute;top:7px;right:7px}.speed-accent{pointer-events:none;width:6px;height:6px;position:absolute;bottom:8px;right:7px}.speed-accent:before,.speed-accent:after{content:"";background:var(--ui-header-accent);height:2px;position:absolute;right:0}.speed-accent:before{width:6px;top:0}.speed-accent:after{width:4px;bottom:0}.level-label{min-width:126px;font-size:var(--ui-font-size-lg);font-weight:var(--ui-font-weight-heavy);letter-spacing:.1em;font-variant-numeric:tabular-nums;justify-self:center;place-items:center;padding:0 14px;line-height:1;display:grid}.level-label:after{content:"";background:var(--ui-header-accent);width:18px;height:2px;position:absolute;top:2px;left:50%;transform:translate(-50%)}.action-tray{grid-template-columns:repeat(5, var(--action-tray-slot-size));gap:var(--action-tray-gap);padding-inline:var(--action-tray-padding-inline);box-sizing:border-box;isolation:isolate;pointer-events:none;align-items:center;display:grid;position:absolute}.action-tray:before{z-index:0;box-sizing:border-box;content:"";background:var(--ui-frame-wood);border:4px solid var(--ui-frame-dark);box-shadow:inset 0 0 0 3px var(--ui-frame-terracotta), inset 0 0 0 5px var(--ui-frame-highlight), 0 3px 0 var(--ui-frame-dark);border-radius:0;position:absolute;inset:0}.action-tray__corner{z-index:2;box-sizing:border-box;background:var(--ui-frame-terracotta);border:2px solid var(--ui-frame-dark);width:12px;height:12px;box-shadow:inset 2px 2px 0 var(--ui-frame-highlight);position:absolute}.action-tray__corner--top-left{top:2px;left:2px}.action-tray__corner--top-right{top:2px;right:2px}.action-tray__corner--bottom-left{bottom:2px;left:2px}.action-tray__corner--bottom-right{bottom:2px;right:2px}.action-tray>.active-slot{z-index:1;position:relative}.stack-card,.flying-batch,.active-slot--occupied,.active-slot__departure{width:var(--ui-card-size);height:var(--ui-card-size);box-sizing:border-box;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);clip-path:var(--ui-game-card-clip);box-shadow:var(--ui-game-card-shadow);border-radius:0;place-items:center;padding:0;line-height:1;display:grid}.active-slot{z-index:1;width:var(--ui-slot-size);height:var(--ui-slot-size);box-sizing:border-box;color:var(--ui-batch-number-color);font-variant-numeric:tabular-nums;background:var(--ui-surface-warm);border:2px solid var(--ui-frame-inner);box-shadow:inset 3px 3px 0 var(--ui-frame-wood), inset -2px -2px 0 var(--ui-frame-highlight);border-radius:0;place-items:center;padding:0;line-height:1;display:grid;position:relative}.active-slot>span:not(.active-slot__departure),.active-slot__departure>span,.stack-card>span,.flying-batch>span{box-sizing:border-box;width:100%;height:100%;color:var(--ui-batch-number-color);font-size:var(--ui-batch-number-size);font-weight:var(--ui-batch-number-weight);pointer-events:none;transform:translateY(var(--ui-batch-number-optical-y));text-shadow:var(--ui-batch-number-shadow);place-items:center;margin:0;padding:0;line-height:1;display:grid;position:absolute;inset:0}.active-slot--occupied{background:var(--batch-color)}.active-slot--incoming{background:var(--ui-surface-warm)}.active-slot--incoming>span:not(.active-slot__departure){opacity:0}.active-slot--arrived{animation:slot-arrive var(--ui-motion-fast) ease-out}.active-slot__departure{z-index:2;box-sizing:border-box;pointer-events:none;transform-origin:50%;animation:slot-departure var(--ui-motion-slot-departure) ease-in forwards;position:absolute;inset:0}@keyframes slot-arrive{0%{opacity:.7;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slot-departure{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-2px)scale(.72)}}.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);opacity:1;filter:none;pointer-events:none;transition:opacity var(--ui-queued-transition) ease, filter var(--ui-queued-transition) ease, transform var(--ui-motion-normal) var(--ui-ease-standard);position:relative}.stack-card--depth-0{z-index:3;opacity:1;filter:none;box-shadow:var(--ui-game-card-shadow);cursor:pointer;pointer-events:auto}.stack-card--depth-0:after{content:"";position:absolute;inset:-3px}.stack-card--depth-1{z-index:2;opacity:var(--ui-queued-depth-1-opacity);filter:saturate(var(--ui-queued-depth-1-saturation)) brightness(var(--ui-queued-depth-1-brightness));box-shadow:var(--ui-shadow-card-queued);cursor:default}.stack-card--depth-2{z-index:1;opacity:var(--ui-queued-depth-2-opacity);filter:saturate(var(--ui-queued-depth-2-saturation)) brightness(var(--ui-queued-depth-2-brightness));box-shadow:var(--ui-shadow-card-queued);cursor:default}.stack-card--disabled{cursor:default}.stack-card--depth-0.stack-card--disabled{opacity:var(--ui-batch-disabled-opacity);filter:saturate(var(--ui-batch-disabled-saturation)) brightness(var(--ui-batch-disabled-brightness));box-shadow:var(--ui-shadow-card-queued);pointer-events:none}.stack-card:disabled{cursor:default}.stack-card--depth-0:not(.stack-card--disabled):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:opacity var(--ui-queued-transition) ease, filter var(--ui-queued-transition) ease, 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-header-surface-hover)}.stack-card--depth-0:not(.stack-card--disabled):hover{filter:brightness(1.06)saturate(1.06)}.game-modal button:hover{filter:brightness(1.05)}.game-modal{max-width:320px;padding:26px}}@media (hover:none),(pointer:coarse){.ui-control:active{box-shadow:var(--ui-shadow-header-control-pressed);filter:var(--ui-filter-header-control-pressed);transform:translateY(2px)}.stack-card--depth-0:not(.stack-card--disabled):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-control.ui-lab-force-hover{background:var(--ui-header-surface-hover)}.ui-control.ui-lab-force-pressed{box-shadow:var(--ui-shadow-header-control-pressed);filter:var(--ui-filter-header-control-pressed);transform:translateY(2px)}.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-header-state-grid{gap:var(--ui-space-5);grid-template-columns:repeat(3,minmax(92px,max-content));align-items:start;display:grid}.ui-lab-queue-state-grid{align-items:flex-start;gap:var(--ui-space-6);flex-wrap:wrap;display:flex}.ui-lab-queue-preview{align-items:flex-start;gap:var(--ui-space-3);display:flex}.ui-lab-queue-labels{grid-template-rows:repeat(3, var(--ui-card-size));gap:var(--ui-stack-gap);color:var(--ui-text-secondary);font-size:var(--ui-font-size-xs);font-weight:var(--ui-font-weight-bold);display:grid}.ui-lab-queue-labels span{align-items:center;display:flex}.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}.ui-lab-header-state-grid{grid-template-columns:repeat(2,minmax(92px,max-content))}}@media (width<=390px){.ui-lab-dock-viewport{height:68px}.ui-lab-dock-scale{transform:translate(-50%)scale(.72)}}.menu-screen{color:var(--ui-text-primary);background:linear-gradient(#fff6e014,#67432814),url(/assets/game/background-garden-workbench.png) 50%/cover no-repeat;position:absolute;inset:0;overflow:hidden}.home-title,.home-status,.screen-title,.coming-soon-panel,.menu-button,.screen-home-button{clip-path:var(--ui-game-card-clip);border-radius:0}.home-title{width:80%;height:13%;color:var(--ui-text-primary);font-size:10cqw;font-weight:var(--ui-font-weight-heavy);letter-spacing:.16em;text-indent:.16em;background:var(--ui-header-surface);border:.55cqw solid var(--ui-header-edge-dark);box-shadow:inset 0 -.3cqw 0 var(--ui-header-pixel-edge), inset .55cqw .55cqw 0 var(--ui-header-highlight), inset -.55cqw -.55cqw 0 var(--ui-header-lower-edge), 0 1cqw 0 var(--ui-header-edge-dark);place-items:center;display:grid;position:absolute;top:10%;left:10%}.home-status{text-align:center;background:var(--ui-surface-primary);border:.55cqw solid var(--ui-frame-inner);width:64%;height:14%;box-shadow:inset .55cqw .55cqw 0 var(--ui-header-highlight), inset -.55cqw -.55cqw 0 var(--ui-header-lower-edge), 0 .85cqw 0 var(--ui-frame-dark);place-content:center;gap:1%;display:grid;position:absolute;top:29%;left:18%}.home-status span{color:var(--ui-text-secondary);font-size:4.2cqw;font-weight:var(--ui-font-weight-bold);letter-spacing:.08em}.home-status strong{font-size:5.8cqw;font-weight:var(--ui-font-weight-heavy);letter-spacing:.08em}.home-actions{grid-template-rows:28% 23% 23%;gap:7%;width:83.333%;height:36%;display:grid;position:absolute;top:51%;left:8.333%}.menu-button{width:100%;min-height:44px;color:var(--ui-batch-number-color);font:inherit;font-size:6cqw;font-weight:var(--ui-font-weight-heavy);letter-spacing:.08em;text-indent:.08em;text-shadow:var(--ui-batch-number-shadow);border:.55cqw solid var(--ui-frame-dark);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;padding:0}.menu-button--primary{background:var(--ui-frame-terracotta);box-shadow:inset .55cqw .55cqw 0 var(--ui-frame-highlight), inset -.55cqw -.55cqw 0 #c94f42, 0 1.1cqw 0 var(--ui-frame-dark);font-size:7cqw}.menu-button--secondary{background:var(--ui-wood);box-shadow:inset .55cqw .55cqw 0 #cf9469, inset -.55cqw -.55cqw 0 var(--ui-wood-dark), 0 .85cqw 0 var(--ui-frame-dark)}.menu-button:active,.screen-home-button:active{transform:translateY(2px)}.menu-button:focus-visible,.screen-home-button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.screen-header{grid-template-columns:13.58% 1fr 13.58%;gap:1.2%;height:6.875%;display:grid;position:absolute;top:1.875%;left:5%;right:5%}.screen-header:after{content:""}.screen-home-button,.screen-title{height:100%;color:var(--ui-text-primary);background:var(--ui-header-surface);border:.55cqw solid var(--ui-header-edge-dark);box-shadow:inset .55cqw .55cqw 0 var(--ui-header-highlight), inset -.55cqw -.55cqw 0 var(--ui-header-lower-edge), 0 .85cqw 0 var(--ui-header-edge-dark)}.screen-home-button{cursor:pointer;place-items:center;width:100%;padding:0;display:grid}.screen-home-button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:58%;height:58%}.screen-title{font-size:5cqw;font-weight:var(--ui-font-weight-heavy);letter-spacing:.1em;text-indent:.1em;place-items:center;display:grid}.coming-soon-panel{text-align:center;background:var(--ui-surface-primary);border:.8cqw solid var(--ui-frame-dark);width:80%;height:30%;box-shadow:inset 0 0 0 .85cqw var(--ui-frame-terracotta), inset 0 0 0 1.4cqw var(--ui-frame-highlight), 0 1.1cqw 0 var(--ui-frame-dark);place-content:center;gap:3cqh;display:grid;position:absolute;top:30%;left:10%}.coming-soon-panel strong{font-size:7cqw;font-weight:var(--ui-font-weight-heavy);letter-spacing:.1em}.coming-soon-panel span{color:var(--ui-text-secondary);font-size:4.4cqw;font-weight:var(--ui-font-weight-bold);letter-spacing:.08em}@media (hover:hover) and (pointer:fine){.menu-button:hover{filter:brightness(1.06)saturate(1.04)}.screen-home-button:hover{background:var(--ui-header-surface-hover)}}: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:#fff8f0;--ui-batch-number-size:20px;--ui-batch-number-weight:900;--ui-batch-number-optical-y:-1px;--ui-batch-number-shadow:1px 0 0 #37261cb3, -1px 0 0 #37261cb3, 0 1px 0 #37261cb3, 0 -1px 0 #37261cb3, 0 1px 0 #50281447;--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-frame-dark:#6b3424;--ui-frame-wood:#a75d39;--ui-frame-terracotta:#ed7461;--ui-frame-highlight:#ffd18b;--ui-frame-inner:#7e452e;--ui-modal-backdrop:#1a161261;--ui-accent:#5a8ff0;--ui-accent-dark:#3866ba;--ui-header-surface:#fff1cf;--ui-header-surface-hover:#fff9e9;--ui-header-highlight:#fff9e9;--ui-header-pixel-edge:#b77a4d;--ui-header-lower-edge:#d9aa71;--ui-header-edge-dark:#855035;--ui-header-accent:#ed7461;--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:4px;--ui-stack-height:152px;--ui-touch-target-min:44px;--ui-radius-sm:8px;--ui-radius-md:10px;--ui-radius-lg:14px;--ui-radius-round:999px;--ui-game-card-clip:polygon(4px 0, calc(100% - 4px) 0, 100% 4px, 100% calc(100% - 4px), calc(100% - 4px) 100%, 4px 100%, 0 calc(100% - 4px), 0 4px);--ui-game-card-border:2px solid var(--batch-shadow-color,var(--ui-frame-inner));--ui-queued-depth-1-opacity:.62;--ui-queued-depth-1-saturation:.48;--ui-queued-depth-1-brightness:1.08;--ui-queued-depth-2-opacity:.42;--ui-queued-depth-2-saturation:.3;--ui-queued-depth-2-brightness:1.12;--ui-batch-disabled-opacity:.55;--ui-batch-disabled-saturation:.4;--ui-batch-disabled-brightness:1.08;--ui-queued-transition:.16s;--ui-shadow-control:0 3px 0 #673f223d, 0 6px 10px #36201414, inset 0 1px 0 #ffffffc7;--ui-shadow-header-control:inset 0 -1px 0 var(--ui-header-pixel-edge), inset 2px 2px 0 var(--ui-header-highlight), inset -2px -2px 0 var(--ui-header-lower-edge);--ui-shadow-header-control-pressed:inset 0 -1px 0 var(--ui-header-pixel-edge), inset 2px 2px 0 var(--ui-header-highlight), inset -2px -2px 0 var(--ui-header-lower-edge);--ui-filter-header-control:drop-shadow(0 3px 0 var(--ui-header-edge-dark));--ui-filter-header-control-pressed:drop-shadow(0 1px 0 var(--ui-header-edge-dark));--ui-shadow-card:inset 2px 2px 0 #ffffff57, inset 0 -3px 0 var(--batch-shadow-color,var(--ui-frame-inner));--ui-shadow-card-queued:inset 1px 1px 0 #ffffff2e, inset 0 -2px 0 var(--batch-shadow-color,var(--ui-frame-inner));--ui-game-card-shadow:var(--ui-shadow-card);--ui-shadow-modal:0 14px 40px #26181040;--ui-motion-fast:.14s;--ui-motion-slot-departure:.15s;--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}.screen-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;container-type:size}.screen-shell:before{content:"";padding-top:177.778%;display:block}@supports (aspect-ratio:9 / 16){.screen-shell{aspect-ratio:9/16}.screen-shell:before{display:none}}#game-canvas,.game-screen{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){.screen-shell{border-radius:14px;box-shadow:0 18px 60px #181f2833}}@media (hover:none),(pointer:coarse){.screen-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}.screen-shell{width:min(540px,100vw - 24px);min-width:360px}}@media (orientation:landscape) and (pointer:coarse) and (height<=500px){.orientation-lock{display:flex}}
