@import "https://fonts.googleapis.com/css2?family=Ubuntu+Sans+Mono:wght@400;500;700&display=swap";@font-face{font-family:Akbar;src:url(../fonts/akbar.ttf)format("truetype");font-display:swap}:root{--cell-size:48px;--sprite-size:48px;--left-panel-width:288px;--right-panel-width:320px;--rules-panel-height:360px;--panel-header-height:48px;--inspector-panel-height:256px;--title-font:system-ui, -apple-system, sans-serif;--ui-font:system-ui, -apple-system, sans-serif;--game-font:system-ui, sans-serif;--sign-font:"Akbar", var(--game-font);--mono-font:"Ubuntu Sans Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--bg-black:#000;--bg-panel:#0f0f0f;--bg-hover:#1a1a1a;--border:#92929233;--border-light:#92929266;--text-muted:#929292;--text-white:#fff;--c-baba:#e35183;--c-flag:#ede285;--c-wall:#929292;--c-door:#e05536;--c-me:#9b62a6;--c-belt:#5ba8c9;--c-hedge:#5c6b29;--c-rock:#a17042}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{background:var(--bg-black);color:var(--text-muted);font:16px/1.4 var(--ui-font);-webkit-text-stroke:.5px #000;paint-order:stroke fill;overflow:hidden}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}::selection{background-color:#e351834d}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}button,input,select,textarea,pre{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{outline:0}pre,textarea,input,select,.rules-list,.trace-list,.json-content{font-family:var(--mono-font);-webkit-text-stroke:0;font-weight:300}h3{color:var(--text-white);font-family:var(--title-font);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:300;display:flex}.debugApp{flex-direction:column;height:100%;display:flex;overflow:hidden}.icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:16px;height:16px}.top-bar{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.top-bar-left{align-items:center;gap:16px;min-width:0;display:flex}.brand{color:var(--c-flag);font-family:var(--title-font);white-space:nowrap;align-items:center;gap:8px;font-size:18px;font-weight:300;display:flex}.brand-icon{width:28px;height:28px;color:var(--c-baba);place-items:center;display:grid;overflow:hidden}.brand-icon .sprite,.brand-icon .fallbackLabel{width:28px;height:28px}.brand-icon .fallbackLabel{font-family:var(--game-font);color:var(--c-flag);font-size:8px}.brand-fallback-icon{width:24px;height:24px}.divider{background:var(--border);width:1px;height:24px;margin:0 8px}.divider-small{height:16px;margin:0 4px}.control-group{background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;align-items:center;gap:4px;padding:4px;display:flex}.control-btn{min-width:28px;min-height:28px;color:var(--text-muted);border-radius:4px;padding:6px;transition:background-color .2s,color .2s}.control-btn:hover{color:var(--text-white);background:#9292921a}.control-btn.active{color:var(--text-white);background:#ede28529;border-color:#ede28573}.event-toggle{border:1px solid var(--border);background:var(--bg-hover);gap:6px;min-width:82px;font-size:12px}.event-toggle.active{color:var(--c-flag)}.stack-count-toggle{border:1px solid var(--border);background:var(--bg-hover);min-width:64px;font-size:12px}.stack-count-toggle.active{color:var(--c-flag);border-color:#ede28573}.control-btn.play:hover{color:var(--c-belt)}.control-btn.reset:hover{color:var(--c-door)}.control-btn.reset{padding-bottom:2px}.control-btn.step:hover{color:var(--c-flag)}.audio-toggle{border:1px solid var(--border);background:var(--bg-hover);min-width:72px;font-size:12px}.level-finder-toggle{border:1px solid var(--border);background:var(--bg-hover);min-width:92px;font-size:12px}.level-finder-toggle.active{color:var(--c-flag);background:#ede2851f;border-color:#ede28573}.audio-controls{align-items:center;gap:8px;display:flex}.music-volume{color:var(--text-muted);font:11px/1 var(--mono-font);-webkit-text-stroke:0;align-items:center;gap:6px;display:flex}.music-volume[hidden]{display:none}.music-volume input{width:92px;accent-color:var(--c-flag)}.zoom-controls{gap:2px}.zoom-btn{min-width:32px;font-family:var(--mono-font);-webkit-text-stroke:0;font-size:12px;font-weight:300}.audio-toggle.audio-enabled{color:var(--c-flag);border-color:#ede28573}.workspace{flex:1;min-height:0;display:flex;overflow:hidden}.resize-handle{background:0 0;flex-shrink:0;transition:background-color .15s}.resize-handle:hover,body.resizing .resize-handle{background:#5ba8c92e}.resize-handle-x{cursor:col-resize;border-right:1px solid var(--border);border-left:1px solid var(--border);width:8px}.resize-handle-y{cursor:row-resize;border-top:1px solid var(--border);border-bottom:1px solid var(--border);height:8px}.json-inspector[hidden],.right-panel[hidden],.resize-handle[hidden],.bottom-debug-row[hidden]{display:none!important}.panel{flex-direction:column;flex-shrink:0;min-height:0;display:flex;overflow:hidden}.left-panel{min-height:0;width:var(--left-panel-width);background:var(--bg-black)}.right-panel{width:var(--right-panel-width);background:var(--bg-black)}.center-panel{background:var(--bg-black);perspective:2200px;perspective-origin:50%;flex:1;gap:0;min-width:0;padding:0}.center-panel-card{min-height:0;transform-style:preserve-3d;will-change:transform;flex:1;transition:transform .6s cubic-bezier(.4,0,.2,1);display:flex;position:relative;transform:rotateY(0)}.center-panel.level-finder-open .center-panel-card{transform:rotateY(180deg)}.center-panel-face{background:var(--bg-black);backface-visibility:hidden;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;transform:translateZ(.1px)}.center-panel-front{z-index:1;pointer-events:auto;flex:1;position:relative}.center-panel-back{z-index:0;pointer-events:none;position:absolute;inset:0;transform:rotateY(180deg)translateZ(.1px)}.center-panel.level-finder-open .center-panel-front{pointer-events:none}.center-panel.level-finder-open .center-panel-back{z-index:2;pointer-events:auto}.center-panel.level-finder-closing .center-panel-back{pointer-events:none}.panel-section{flex-direction:column;flex:none;min-height:0;padding:16px;display:flex;overflow:hidden}.panel-section-handle-right{padding-right:8px}.panel-section-handle-left{padding-left:8px}.panel-section+.panel-section{border-top:1px solid var(--border)}.details-section{min-height:0}.source-section{flex:auto;gap:10px;min-height:0}.panel-section.collapsed{flex:none}.panel-section.collapsed .section-header{margin-bottom:0}.panel-section.collapsed .section-content{display:none}.section-content{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex}.details-section .section-content{overflow:auto}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-header h3,.panel-top-bar h3{margin:0}.section-icon{color:var(--c-belt)}.section-header-actions{align-items:center;gap:8px;display:flex}.section-collapse-toggle{width:24px;height:24px;color:var(--text-muted);border:1px solid var(--border);border-radius:4px}.section-collapse-toggle:hover{color:var(--text-white);background:var(--bg-hover)}.section-collapse-icon{width:14px;height:14px;transition:transform .15s}.panel-section.collapsed .section-collapse-icon{transform:rotate(-90deg)}.rule-icon{color:var(--c-baba)}.levelDetails{font:11px/1.35 var(--mono-font);-webkit-text-stroke:0;grid-template-columns:max-content 1fr;gap:1px 10px;margin:0;font-weight:300;display:grid}.levelDetails dt{color:var(--c-belt)}.levelDetails dd{min-width:0;color:var(--text-white);overflow-wrap:anywhere;margin:0}.level-count{color:var(--text-muted);font:11px/1 var(--mono-font);-webkit-text-stroke:0;font-weight:300}.level-pack-control{width:min(168px,48vw)}.level-pack-control .level-pack-segmented{--finder-sort-row-height:20px;height:var(--finder-sort-row-height);min-height:var(--finder-sort-row-height);background-image:linear-gradient(90deg,#0000 calc(33.333% - .5px),#92929224 33.333%,#0000 calc(33.333% + .5px) calc(66.666% - .5px),#92929224 66.666%,#0000 calc(66.666% + .5px));grid-template-columns:repeat(3,minmax(0,1fr))}.level-pack-segmented:after{display:none}.level-pack-segmented .finder-segment-slider{width:33.333%}.level-pack-segmented .finder-segment-item{padding:0 6px;font-size:9px}.level-filter{flex-direction:column;gap:6px;display:flex}.level-filter-heading{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.level-filter label{color:var(--text-muted);font:10px/1 var(--mono-font);text-transform:uppercase;-webkit-text-stroke:0;flex:none;font-weight:300}.level-filter input{width:100%;min-height:30px;color:var(--text-white);background:var(--bg-panel);border:1px solid var(--border);font:12px/1 var(--mono-font);-webkit-text-stroke:0;border-radius:4px;outline:none;padding:6px 8px;font-weight:300}.level-filter input:focus{border-color:#5ba8c999}.level-filter input::placeholder{color:#929292a6}.level-list{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:6px;min-height:0;padding-right:6px;display:flex;overflow-y:auto}.level-item{width:100%;min-height:54px;color:var(--text-muted);text-align:left;background:0 0;border:0;border-radius:4px;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:10px;padding:6px;display:grid}.level-item:hover,.level-item:focus-visible{color:var(--text-white);background:#92929214}.level-item.selected{color:var(--text-white);background:#ede2851a}.level-preview{background:var(--bg-panel);border:1px solid #92929229;place-items:center;width:64px;height:42px;display:grid;overflow:hidden}.level-preview img{max-width:100%;max-height:100%;image-rendering:pixelated;display:block}.level-preview-missing{border:1px solid var(--border-light);width:18px;height:18px}.level-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.level-title-row{align-items:center;gap:4px;min-width:0;display:flex}.level-title,.level-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.level-title{color:inherit;font:12px/1.15 var(--mono-font);-webkit-text-stroke:0;font-weight:300}.level-complete-star{color:#f1d85a;font:11px/1 var(--mono-font);text-shadow:0 0 6px #f1d85a80;-webkit-text-stroke:0;flex:none}.level-meta{color:var(--text-muted);font:10px/1.2 var(--mono-font);-webkit-text-stroke:0;font-weight:300}.level-finder{background:linear-gradient(180deg, #5ba8c914, transparent 180px), var(--bg-black);-webkit-text-stroke:0;flex-direction:column;flex:1;min-height:0;padding:18px;display:flex}.level-finder-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.level-finder-header h2{color:var(--text-white);font-family:var(--title-font);margin:0;font-size:20px;font-weight:300;line-height:1.1}.level-finder-header p{color:var(--text-muted);font:11px/1 var(--mono-font);margin-top:4px;font-weight:300}.level-finder-count{color:var(--c-flag);font:12px/1 var(--mono-font);background:#ede2851a;border:1px solid #ede28547;border-radius:4px;flex-shrink:0;padding:4px 8px;font-weight:300}.level-finder-grid{flex-shrink:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.finder-field{flex-direction:column;gap:5px;min-width:0;display:flex}.finder-field-wide{grid-column:span 2}.finder-field span{color:var(--text-muted);font:10px/1 var(--mono-font);text-transform:uppercase;font-weight:300}.finder-field input,.finder-field select{width:100%;min-height:30px;color:var(--text-white);border:1px solid var(--border);font:12px/1 var(--mono-font);-webkit-text-stroke:0;background:#0f0f0feb;border-radius:4px;padding:6px 8px;font-weight:300}.finder-field input:focus,.finder-field select:focus{border-color:#5ba8c9a6}.finder-field input::placeholder{color:#92929294}.finder-field input[readonly]{cursor:pointer}.finder-range-control{--range-left:0%;--range-right:0%;gap:4px;min-width:0;display:grid}.finder-range-values,.finder-range-bounds{min-width:0;color:var(--text-white);font:11px/1 var(--mono-font);-webkit-text-stroke:0;justify-content:space-between;align-items:center;font-weight:300;display:flex}.finder-range-bounds{color:#929292b8;font-size:9px}.finder-range-track{height:22px;position:relative}.finder-range-track:before,.finder-range-fill{content:"";border-radius:999px;height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.finder-range-track:before{background:#9292922e}.finder-range-fill{left:var(--range-left);right:var(--range-right);background:#5ba8c994}.finder-field .finder-range-track input[type=range]{pointer-events:none;appearance:none;background:0 0;border:0;width:100%;min-height:22px;padding:0;position:absolute;inset:0}.finder-field .finder-range-track input[type=range]:focus{border-color:#0000}.finder-range-track input[type=range]::-webkit-slider-runnable-track{background:0 0;height:4px}.finder-range-track input[type=range]::-moz-range-track{background:0 0;height:4px}.finder-range-track input[type=range]::-webkit-slider-thumb{background:var(--text-white);border:2px solid var(--c-belt);cursor:ew-resize;pointer-events:auto;appearance:none;border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 0 0 2px #000000b8}.finder-range-track input[type=range]::-moz-range-thumb{background:var(--text-white);border:2px solid var(--c-belt);cursor:ew-resize;pointer-events:auto;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 2px #000000b8}.finder-range-track input[type=range]:focus-visible::-webkit-slider-thumb{outline-offset:2px;outline:2px solid #ede285b8}.finder-range-track input[type=range]:focus-visible::-moz-range-thumb{outline-offset:2px;outline:2px solid #ede285b8}.finder-sort-field{grid-column:span 3}.finder-sort-controls{gap:6px;min-width:0;display:flex}.finder-segmented{--finder-segment-x:0;--finder-segment-y:0;--finder-sort-row-height:16px;min-height:calc(var(--finder-sort-row-height) * 2);border:1px solid var(--border);background:#0f0f0feb;border-radius:4px;display:grid;position:relative;overflow:hidden}.finder-segmented:after{z-index:1;content:"";pointer-events:none;background:#92929224;height:1px;position:absolute;top:50%;left:0;right:0}.finder-sort-metric{grid-template-columns:repeat(3,minmax(70px,1fr));grid-template-rows:repeat(2, var(--finder-sort-row-height));background-image:linear-gradient(90deg,#0000 calc(33.333% - .5px),#92929224 33.333%,#0000 calc(33.333% + .5px)),linear-gradient(90deg,#0000 calc(66.666% - .5px),#92929224 66.666%,#0000 calc(66.666% + .5px))}.finder-sort-direction{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2, var(--finder-sort-row-height));flex:0 0 48px}.finder-segment-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.finder-segment-item{z-index:2;min-width:0;height:var(--finder-sort-row-height);color:var(--text-muted);font:10px/1 var(--mono-font);text-align:center;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;-webkit-text-stroke:0;justify-content:center;align-items:center;padding:0 8px;font-weight:300;display:flex;position:relative;overflow:hidden}.finder-segment-input:focus-visible+.finder-segment-item{outline-offset:-2px;outline:1px solid #5ba8c9a6}.finder-segment-input:checked+.finder-segment-item{color:var(--text-white)}.finder-segment-slider{z-index:1;height:var(--finder-sort-row-height);pointer-events:none;transform:translate(calc(var(--finder-segment-x) * 100%), calc(var(--finder-segment-y) * var(--finder-sort-row-height)));background:#5ba8c93d;border:1px solid #5ba8c947;transition:transform .14s cubic-bezier(.65,0,.35,1);position:absolute;top:0;left:0}.finder-sort-metric .finder-segment-slider{width:33.333%}.finder-sort-direction .finder-segment-slider{width:100%}.finder-clear{min-height:30px;color:var(--text-muted);border:1px solid var(--border);background:#0f0f0feb;border-radius:4px;grid-column:6;align-self:end;padding:6px 12px;font-size:12px}.finder-clear:hover{color:var(--text-white);border-color:#e0553680}.level-finder-facet-panel{background:#0f0f0ff5;border:1px solid #5ba8c952;border-radius:6px;flex-shrink:0;margin:-2px 0 14px;padding:10px;box-shadow:0 18px 42px #0000005c}.level-finder-facet-panel[hidden]{display:none}.facet-picker-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.facet-picker-title{color:var(--text-white);font:12px/1 var(--mono-font);font-weight:300}.facet-picker-subtitle{color:var(--text-muted);font:10px/1 var(--mono-font);margin-top:3px;font-weight:300}.facet-picker-search{width:100%;min-height:30px;color:var(--text-white);background:var(--bg-black);border:1px solid var(--border);font:12px/1 var(--mono-font);-webkit-text-stroke:0;border-radius:4px;margin-bottom:8px;padding:6px 8px;font-weight:300}.facet-picker-search:focus{border-color:#5ba8c9a6}.facet-picker-options{scrollbar-gutter:stable;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px;max-height:252px;padding-right:4px;display:grid;overflow-y:auto}.facet-option{min-width:0;min-height:38px;color:var(--text-muted);background:#00000038;border:1px solid #9292921f;border-radius:4px;grid-template-columns:16px 30px minmax(0,1fr);align-items:center;gap:8px;padding:5px 7px;display:grid}.facet-option:hover,.facet-option.selected{color:var(--text-white);background:#ede28514;border-color:#ede28547}.facet-option input{width:14px;height:14px;accent-color:var(--c-flag)}.facet-option-sprite,.facet-option-initial{background:#00000038;border:1px solid #9292921f;border-radius:4px;place-items:center;width:30px;height:30px;display:grid;overflow:hidden}.facet-option-sprite .sprite,.facet-option-sprite .fallbackLabel{width:30px;height:30px}.facet-option-sprite .fallbackLabel{color:var(--c-flag);font:7px/1 var(--game-font)}.facet-option-initial{color:var(--c-belt);font:13px/1 var(--mono-font);font-weight:300}.facet-option-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.facet-option-label,.facet-option-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.facet-option-label{color:inherit;font:12px/1 var(--mono-font);font-weight:300}.facet-option-meta{color:var(--text-muted);font:10px/1 var(--mono-font);font-weight:300}.level-finder-results{scrollbar-gutter:stable;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px;min-height:0;padding-right:6px;display:grid;overflow-y:auto}.level-finder-item{--level-card-hue:195;min-width:0;min-height:68px;color:var(--text-muted);text-align:left;background:linear-gradient(90deg, hsl(var(--level-card-hue) 42% 18% / .24), transparent 70%), #0f0f0fb8;border:1px solid hsl(var(--level-card-hue) 38% 48% / .16);border-radius:6px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;padding:8px;display:grid}.level-finder-item:hover,.level-finder-item:focus-visible{color:var(--text-white);background:linear-gradient(90deg, hsl(var(--level-card-hue) 48% 22% / .34), transparent 72%), #92929214;border-color:hsl(var(--level-card-hue) 48% 58% / .35)}.level-finder-item.selected{color:var(--text-white);background:linear-gradient(90deg, hsl(var(--level-card-hue) 56% 24% / .38), transparent 72%), #ede2851a;border-color:hsl(var(--level-card-hue) 52% 62% / .42)}.level-finder-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.actions{align-items:center;gap:8px;display:flex}.summary,.error{font:12px/1.35 var(--mono-font);-webkit-text-stroke:0;font-weight:300}.summary{color:var(--c-hedge)}.error{color:var(--c-door)}.emptyState{color:var(--text-muted);font:12px/1.4 var(--mono-font);-webkit-text-stroke:0;padding:8px;font-weight:300}.game-canvas{--shake-x:var(--screen-shake-x,var(--shake-amount,7px));--shake-y:var(--screen-shake-y,var(--shake-amount,5px));scrollbar-gutter:stable both-edges;background:var(--bg-black);border:0;border-bottom:1px solid var(--border);border-radius:0;flex:1;justify-content:center;align-items:center;min-height:0;padding:14px;display:flex;position:relative;overflow:auto}.terminalOverlay{z-index:120;color:var(--c-flag);font-family:var(--title-font);text-align:center;text-transform:uppercase;letter-spacing:0;pointer-events:none;text-shadow:0 0 1px #000,0 4px #000,0 0 24px #ede28559;background:#00000052;place-items:center;padding:32px;font-size:clamp(48px,8vw,128px);font-weight:300;line-height:.9;display:grid;position:absolute;inset:0}.terminalOverlay[hidden]{display:none}.signOverlay{z-index:115;color:#fff;width:100%;font-family:var(--sign-font);text-align:center;pointer-events:none;-webkit-text-stroke:1px #000000bd;background:linear-gradient(#0000 0%,#0000004d 50%,#0000 100%);padding-top:100px;padding-bottom:100px;font-size:24px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.signOverlay[hidden]{display:none}.terminalOverlayLost{color:var(--c-door);text-shadow:0 0 1px #000,0 4px #000,0 0 24px #e0553659}.resourceLoading{z-index:130;border:1px solid var(--border-light);width:min(420px,100% - 48px);color:var(--text-white);-webkit-text-stroke:0;background:#0f0f0feb;border-radius:8px;padding:18px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 16px 48px #00000073}.resourceLoading[hidden]{display:none}.resourceLoadingTitle{font-family:var(--title-font);margin-bottom:6px;font-size:14px}.resourceLoadingLabel,.resourceLoadingMeta{color:var(--text-muted);font-family:var(--mono-font);font-size:11px}.resourceLoadingTrack{border:1px solid var(--border);background:#92929229;border-radius:999px;height:8px;margin:12px 0 8px;position:relative;overflow:hidden}.resourceLoadingBar{background:linear-gradient(90deg, var(--c-belt), var(--c-flag));border-radius:inherit;width:0;height:100%;transition:width .12s linear}.resourceLoadingIndeterminate .resourceLoadingBar{width:40%;animation:1.2s ease-in-out infinite resource-loading-indeterminate}.resourceLoadingError{border-color:#e05536b3}.resourceLoadingError .resourceLoadingBar{background:var(--c-door)}@keyframes resource-loading-indeterminate{0%{transform:translate(-105%)}to{transform:translate(260%)}}.grid-bg{display:none}.board{--shake-x:var(--screen-shake-x,var(--shake-amount,5px));--shake-y:var(--screen-shake-y,var(--shake-amount,4px));--level-offset-x:0px;--level-offset-y:0px;z-index:1;grid-auto-rows:var(--cell-size);background:var(--level-bg,#1d1c19);border:1px solid var(--border);contain:layout paint style;width:max-content;max-width:none;transform:translate3d(var(--level-offset-x), var(--level-offset-y), 0);border-radius:8px;gap:0;transition:transform .15s ease-out;display:grid;position:relative}.cell{z-index:0;width:var(--cell-size);height:var(--cell-size);min-width:var(--cell-size);min-height:var(--cell-size);text-align:center;background:var(--level-bg,#1d1c19);contain:layout style;border:0;position:relative;overflow:visible}.motion-layer{z-index:60;pointer-events:none;position:absolute;inset:0;overflow:visible}.object,.word,.unit{overflow-wrap:anywhere;font-family:var(--game-font);pointer-events:none;will-change:transform;place-items:center;font-size:12px;line-height:1.1;display:grid;position:absolute;inset:0}.unitAnimating{z-index:1}.unitMotionClone{z-index:1;transform:translate3d(var(--motion-from-x), var(--motion-from-y), 0);animation:63ms linear forwards unit-motion;position:absolute;inset:auto}.unitMotionHidden{visibility:hidden}.unitWinEffect{z-index:2}.unitEndEffect{z-index:2;--particle-win:#5ba8c9;--particle-win-mid:#7ed6f5}.stack-count{z-index:60;min-width:13px;color:var(--text-white);font:8px/1 var(--mono-font);text-align:center;-webkit-text-stroke:0;pointer-events:none;background:#000000b8;border:1px solid #fff6;border-radius:2px;padding:1px 2px;position:absolute;bottom:1px;right:2px}.object{color:var(--c-flag)}.word{color:var(--c-belt)}.sprite{width:var(--sprite-size);height:var(--sprite-size);background-image:var(--sprite-strip);image-rendering:pixelated;animation:.54s infinite sprite-idle;animation-delay:var(--phase-delay,0s);background-position:0 0;background-repeat:no-repeat;background-size:300% 100%;display:block}.ambientWinParticles,.ambientSadParticles{z-index:3;pointer-events:none;position:absolute;inset:0}.ambientWinParticles i,.particle{width:var(--spark-size,var(--particle-size,5px));height:var(--spark-size,var(--particle-size,5px));background:var(--particle-win,#ede285);box-shadow:0 0 0 1px var(--level-bg,#000), 0 0 8px var(--particle-win,#ede285);image-rendering:pixelated;pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.ambientWinParticles i{left:var(--spark-x);top:var(--spark-y);animation:2.6s ease-in-out infinite ambient-win-particle;animation-delay:var(--spark-delay,0s)}.ambientSadParticles i{left:var(--tear-x);width:var(--tear-size,3px);height:calc(var(--tear-size,3px) + 2px);background:var(--particle-sad,#7dc7e8);box-shadow:0 0 0 1px var(--level-bg,#000), 0 0 6px var(--particle-sad,#7dc7e8);image-rendering:pixelated;pointer-events:none;animation:1.1s ease-in infinite ambient-sad-tear;animation-delay:var(--tear-delay,0s);border-radius:50% 50% 50% 0;position:absolute;top:12px;transform:rotate(-45deg)}.particle{z-index:45;--particle-color:var(--particle-win-mid,#d6d23a);--particle-glow:var(--particle-win,#ede285);background:var(--particle-color);box-shadow:0 0 0 1px var(--level-bg,#000), 0 0 8px var(--particle-glow);animation:.9s cubic-bezier(.16,.68,.2,1) forwards particle-burst;animation-delay:var(--particle-delay,0s)}.particle-win{--particle-color:var(--particle-win,#ede285)}.particle-win:nth-child(2n){--particle-color:var(--particle-win-mid,#d6d23a)}.particle-unlock{--particle-color:#5ba8c9;--particle-glow:#9eeaff}.particle-destroy{--particle-color:#e05536;--particle-glow:#ff8a5c;animation-name:particle-pop}.particle-smoke{--particle-color:#777;--particle-glow:#9292928c;opacity:.72;animation-name:particle-smoke;transform:translate(-50%,-50%)}.particle-glow{--particle-color:#fff;--particle-glow:#ede285;width:calc(var(--particle-size,5px) * 1.8);height:calc(var(--particle-size,5px) * 1.8);border:1px solid var(--particle-glow);background:0 0}.particle-eat{--particle-color:#e35183;--particle-glow:#ff9dc0}.particle-bonus{--particle-color:#70c65a;--particle-glow:#b8f08b}.particle-hot{--particle-color:#ff9a36;--particle-glow:#e05536;animation-duration:.72s}.particle-music{--particle-color:#9b62a6;--particle-glow:#d69cff;width:calc(var(--particle-size,5px) * .75);height:calc(var(--particle-size,5px) * 1.8)}.particle-bling{--particle-color:#fff4a8;--particle-glow:#ede285;animation-name:particle-bling}.game-canvas.shake,.game-canvas.screen-shake,.game-canvas.screenShake,.board.shake,.board.screen-shake,.board.screenShake{animation:screen-shake var(--shake-duration,.18s) steps(2, end) both}.game-canvas.shake-light,.board.shake-light{--shake-x:3px;--shake-y:2px;--shake-duration:.14s}.game-canvas.shake-heavy,.board.shake-heavy{--shake-x:11px;--shake-y:8px;--shake-duration:.26s}.particle-end{box-shadow:0 0 0 1px var(--level-bg,#000), 0 0 8px #5ba8c9;background:#7ed6f5}.particle-end:nth-child(2n){background:#5ba8c9}@keyframes ambient-win-particle{0%{opacity:0;transform:translate(-50%,-50%)scale(.45)rotate(45deg)}18%{opacity:.9;transform:translate(calc(-50% + var(--spark-dx) * .28), calc(-50% + var(--spark-dy) * .28)) scale(1) rotate(95deg)}46%{opacity:1;transform:translate(calc(-50% + var(--spark-dx) * .72), calc(-50% + var(--spark-dy) * .72)) scale(1.2) rotate(170deg)}72%{opacity:.45;transform:translate(calc(-50% + var(--spark-dx)), calc(-50% + var(--spark-dy))) scale(.8) rotate(240deg)}to{opacity:0;transform:translate(calc(-50% + var(--spark-dx) * 1.15), calc(-50% + var(--spark-dy) * 1.15)) scale(.35) rotate(300deg)}}@keyframes ambient-sad-tear{0%{opacity:0;transform:translate(0)rotate(-45deg)scale(.6)}18%{opacity:.95}to{opacity:0;transform:translate(var(--tear-drift,0), 24px) rotate(-45deg) scale(.9)}}@keyframes particle-burst{0%{opacity:1;transform:translate(-50%,-50%)scale(.6)rotate(45deg)}34%{opacity:1;transform:translate(calc(-50% + var(--particle-x) * .45), calc(-50% + var(--particle-y) * .45)) scale(1.25) rotate(140deg)}70%{opacity:.72;transform:translate(calc(-50% + var(--particle-x) * .82), calc(-50% + var(--particle-y) * .82 - 6px)) scale(.85) rotate(230deg)}to{opacity:0;transform:translate(calc(-50% + var(--particle-x)), calc(-50% + var(--particle-y) - 12px)) scale(.25) rotate(315deg)}}@keyframes particle-pop{0%{opacity:1;transform:translate(-50%,-50%)scale(1.4)rotate(45deg)}42%{opacity:1;transform:translate(calc(-50% + var(--particle-x) * .55), calc(-50% + var(--particle-y) * .55)) scale(.9) rotate(135deg)}to{opacity:0;transform:translate(calc(-50% + var(--particle-x)), calc(-50% + var(--particle-y))) scale(.1) rotate(225deg)}}@keyframes particle-smoke{0%{opacity:.65;transform:translate(-50%,-50%)scale(.7)}to{opacity:0;transform:translate(calc(-50% + var(--particle-x) * .45), calc(-50% + var(--particle-y) - 18px)) scale(2.4)}}@keyframes particle-bling{0%{opacity:1;transform:translate(-50%,-50%)scale(.35)rotate(0)}38%{opacity:1;transform:translate(calc(-50% + var(--particle-x) * .35), calc(-50% + var(--particle-y) * .35)) scale(1.5) rotate(90deg)}to{opacity:0;transform:translate(calc(-50% + var(--particle-x)), calc(-50% + var(--particle-y) - 8px)) scale(.25) rotate(180deg)}}@keyframes screen-shake{0%,to{transform:translate(0,0)}16%{transform:translate3d(calc(0px - var(--shake-x)), var(--shake-y), 0)}32%{transform:translate3d(var(--shake-x), calc(0px - var(--shake-y)), 0)}48%{transform:translate3d(calc(0px - var(--shake-x)), calc(0px - var(--shake-y)), 0)}64%{transform:translate3d(var(--shake-x), var(--shake-y), 0)}80%{transform:translate3d(calc(0px - var(--shake-x)), var(--shake-y), 0)}}@keyframes unit-motion{0%{transform:translate3d(var(--motion-from-x), var(--motion-from-y), 0)}to{transform:translate(0,0)}}@keyframes sprite-idle{0%,32.999%{background-position:0 0}33%,65.999%{background-position:50% 0}66%,to{background-position:100% 0}}.fallbackLabel{place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.bottom-debug-row{width:100%;height:var(--rules-panel-height);border-top:1px solid var(--border);flex-shrink:0;min-height:0;display:flex;overflow:hidden}.rules-section{min-height:0}.badge{color:var(--text-muted);font:12px/1.4 var(--mono-font);background:var(--bg-black);border:1px solid var(--border);-webkit-text-stroke:0;border-radius:4px;padding:2px 8px;font-weight:300}.rules-list{min-height:0;color:var(--text-white);background:0 0;flex-direction:column;flex:auto;gap:6px;padding:0;font-size:12px;line-height:1.25;display:flex;overflow:hidden auto}.rule-item{color:var(--text-white);grid-template-columns:3ch minmax(0,1fr);align-items:baseline;column-gap:8px;display:grid}.rule-index{color:var(--text-muted);text-align:right}.rule-text{min-width:0}.rule-token{margin-right:.35em}.event-trace{flex-direction:column;flex:1;min-width:0;min-height:0;margin-bottom:0;margin-right:0;display:flex}.panel-top-bar{min-height:var(--panel-header-height);background:var(--bg-panel);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex}.filter-select{max-width:132px;color:var(--text-muted);background:var(--bg-black);border:1px solid #9292924d;border-radius:4px;padding:4px 8px;font-size:12px}.filter-select:focus{border-color:var(--c-baba)}.trace-list{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:0;min-height:0;padding:10px 14px 14px 10px;list-style:none;display:flex;overflow-y:auto}.trace-item{min-height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:2px;outline:0;grid-template-columns:5ch 4ch minmax(16ch,.9fr) minmax(0,1.2fr);align-items:baseline;gap:8px;padding:1px 4px;font-size:12px;line-height:1.25;transition:background-color .12s,color .12s;display:grid}.trace-item:hover,.trace-item:focus-visible{color:var(--text-white);background:#92929214}.trace-item.selected{color:var(--text-white);background:#ede2851a}.trace-id{color:var(--c-me);text-align:right}.trace-item.selected .trace-id{color:var(--c-flag)}.trace-time{color:var(--text-muted)}.trace-type{min-width:0;color:var(--c-belt);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trace-detail{color:#929292cc;white-space:nowrap;text-overflow:ellipsis;overflow-wrap:anywhere;overflow:hidden}.json-inspector{flex-direction:column;flex:1;min-width:0;height:100%;margin-right:0;display:flex}.json-content{scrollbar-gutter:stable both-edges;min-height:0;color:var(--text-muted);white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg-black);border:0;flex:1;margin:0;padding:16px 24px 24px 16px;font-size:12px;overflow:hidden auto}.json-key{color:var(--c-me)}.json-string{color:var(--c-belt)}.json-number{color:var(--c-rock)}.json-boolean{color:var(--c-baba)}.json-null{color:var(--c-wall)}code{color:var(--c-belt)}@media (width<=1100px){body{overflow:auto}.debugApp{height:auto;min-height:100%}.top-bar,.top-bar-left,.workspace{flex-direction:column;align-items:stretch}.left-panel,.right-panel{border:0;width:auto}.resize-handle{display:none}.center-panel{min-height:640px}}
