:root{--panel-header-bg-color: #FFA500;--panel-header-text-color: #222222;--panel-header-hover-bg-color: #E69500;--panel-resize-handle-color: #FFA500;--panel-header-font-size: 14px;--panel-button-font-size: 13px;--context-menu-bg: #333333;--context-menu-text-color: #DDDDDD;--context-menu-border-color: #555555;--context-menu-item-hover-bg: var(--panel-header-bg-color);--context-menu-item-hover-text: var(--panel-header-text-color);--context-menu-active-checkmark-color: #28a745}body.theme-orange{--panel-header-bg-color: #FFA500;--panel-header-text-color: #222222;--panel-header-hover-bg-color: #E69500;--panel-resize-handle-color: #FFA500;--context-menu-item-hover-bg: #FFA500;--context-menu-item-hover-text: #222222}body.theme-cyan{--panel-header-bg-color: #00BCD4;--panel-header-text-color: #FFFFFF;--panel-header-hover-bg-color: #00ACC1;--panel-resize-handle-color: #00BCD4;--context-menu-item-hover-bg: #00BCD4;--context-menu-item-hover-text: #FFFFFF}body.theme-green{--panel-header-bg-color: #4CAF50;--panel-header-text-color: #FFFFFF;--panel-header-hover-bg-color: #43A047;--panel-resize-handle-color: #4CAF50;--context-menu-item-hover-bg: #4CAF50;--context-menu-item-hover-text: #FFFFFF}body.theme-purple{--panel-header-bg-color: #9C27B0;--panel-header-text-color: #FFFFFF;--panel-header-hover-bg-color: #8E24AA;--panel-resize-handle-color: #9C27B0;--context-menu-item-hover-bg: #9C27B0;--context-menu-item-hover-text: #FFFFFF}body.theme-dark-grey{--panel-header-bg-color: #424242;--panel-header-text-color: #FFFFFF;--panel-header-hover-bg-color: #303030;--panel-resize-handle-color: #BDBDBD;--context-menu-item-hover-bg: #424242;--context-menu-item-hover-text: #FFFFFF}body.font-size-very-small{--panel-header-font-size: 10px;--panel-button-font-size: 9px}body.font-size-small{--panel-header-font-size: 12px;--panel-button-font-size: 11px}body.font-size-medium{--panel-header-font-size: 14px;--panel-button-font-size: 13px}body.font-size-large{--panel-header-font-size: 16px;--panel-button-font-size: 15px}body,html{margin:0;padding:0;height:100vh;font-family:Arial,sans-serif;background-color:#000;color:#fff;overflow:hidden}input[type=number]{width:30px!important;padding:1px!important;box-sizing:border-box;background-color:#555;color:#fff;border-radius:3px;border:1px solid #777;text-align:right;-moz-appearance:textfield;font-size:11px;line-height:normal}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:14px;background:transparent;cursor:pointer}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:4px;cursor:pointer;background:#555;border-radius:2px;border:none}input[type=range]::-moz-range-track{width:100%;height:4px;cursor:pointer;background:#555;border-radius:2px;border:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid #222;height:14px;width:14px;border-radius:2px;background:var(--panel-header-bg-color);cursor:pointer;margin-top:-5px;transition:background-color .15s ease-in-out}input[type=range]::-moz-range-thumb{border:1px solid #222;height:14px;width:14px;border-radius:2px;background:var(--panel-header-bg-color);cursor:pointer}input[type=range]:hover::-webkit-slider-thumb{background:var(--panel-header-hover-bg-color)}input[type=range]:hover::-moz-range-thumb{background:var(--panel-header-hover-bg-color)}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.1)}input[type=range]:active::-moz-range-thumb{transform:scale(1.1)}.toggle-switch{position:relative;display:inline-block;width:28px;height:14px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-switch .slider-round{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#555;transition:.4s;border-radius:3px}.toggle-switch .slider-round:before{position:absolute;content:"";height:10px;width:10px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:2px}.toggle-switch input:checked+.slider-round{background-color:var(--panel-header-bg-color, #28a745)}.toggle-switch input:focus+.slider-round{box-shadow:0 0 1px var(--panel-header-bg-color, #28a745)}.toggle-switch input:checked+.slider-round:before{transform:translate(14px)}#spriteCanvas{display:block;background-color:#000;cursor:default;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;position:fixed;left:0;top:0;width:100vw;height:100vh}#ui-container{position:absolute;top:0;left:0;width:100%;height:100%;padding:10px;box-sizing:border-box;z-index:10;background-color:#0000;display:flex;flex-direction:column;gap:8px;pointer-events:none}#top-header-bar{display:flex;align-items:center;gap:10px;pointer-events:none}#toggleControlsButton,#settingsButton,#toggleHelpButton,#runTestsButton,#resetLayoutButton{padding:3px 5px;background-color:#333;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:13px;transition:background-color .2s ease;flex-shrink:0;pointer-events:auto}#toggleControlsButton:hover,#settingsButton:hover,#toggleHelpButton:hover,#runTestsButton:hover,#resetLayoutButton:hover{background-color:#444}.button{background-color:var(--accent-primary, var(--panel-header-bg-color));color:var(--text-main, var(--panel-header-text-color));padding:5px 9px;border:1px solid transparent;border-radius:4px;cursor:pointer;transition:background-color .2s ease,transform .1s ease,filter .2s ease,border-color .2s ease;font-size:.75em;font-weight:500;width:100%;box-sizing:border-box;margin-top:8px}.button:not(:disabled):active{transform:translateY(1px);filter:brightness(.7)}#updateAvailableButton{position:fixed;top:10px;right:10px;z-index:1003;width:auto;min-height:38px;max-width:min(520px,calc(100vw - 20px));padding:8px 14px;margin:0;background-color:#f59e0b;border-color:#d97706;color:#111827;font-weight:700;box-shadow:0 8px 24px #00000040;pointer-events:auto}#updateAvailableButton:not(:disabled):hover{filter:brightness(1.05)}#updateAvailableButton.hidden{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#info-bar{pointer-events:auto;overflow-x:auto;overflow-y:hidden;white-space:nowrap;-ms-overflow-style:none;scrollbar-width:none}#info-bar::-webkit-scrollbar{display:none}.bar{display:inline-flex;font-family:sans-serif;font-weight:700;font-size:.8rem;height:2.2em;margin:5px 0}.bar .segment{position:relative;padding:.5em 1em .5em 1.5em;color:#fff;display:flex;align-items:center;white-space:nowrap}.bar .label{background:var(--panel-header-bg-color);color:var(--panel-header-text-color);text-transform:uppercase}.bar .value{background:#333;color:#fff;padding:.5em 1.2em}.bar .label:after{content:"";position:absolute;right:-.7em;top:0;width:0;height:0;border-top:1.1em solid transparent;border-bottom:1.1em solid transparent;border-left:.8em solid var(--panel-header-bg-color)}.bar .label{z-index:2}.bar .value{z-index:1}.bar .value.gamepad-status.connected{background-color:#28a745e6}.bar .value.gamepad-status.disconnected{background-color:#dc3545e6}.control-group{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:5px;background-color:#1e1e1e80;border-radius:4px;pointer-events:auto;width:100%;box-sizing:border-box}.control-group-label{font-size:13px;color:#ccc;margin-bottom:2px;font-weight:700}.control-group>button:not(.square-tool-btn),.control-group .button-row>button:not(.square-tool-btn),.sub-group-content .button-row>button:not(.square-tool-btn),.control-group>.size-btn,.fps-button-container>.fps-btn,.physics-factor-button-container>.factor-btn,#sprite-size-controls .column>button:not(.square-tool-btn),#newLayerButton,#copyLayerButton,#moveLayerButton,#clearLayerButton,#layerCollisionsButton,#loadTileGfxButton,.tile-gfx-actions button:not(.stepper-btn),#addEntryPointButton,#deleteActivePointButton,#combineEntryPointsButton,.entry-point-button,.tile-gfx-main-actions button:not(.stepper-btn),#saveBlocksButton,#loadBlocksButton,#addCurrentSelectionAsBlockButton,#loadSingleBlockButton{padding:3px 5px;background-color:#555;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:var(--panel-button-font-size);transition:background-color .2s ease;width:auto;min-width:60px;text-align:center;flex-grow:0}#newLayerButton,#copyLayerButton,#moveLayerButton,#clearLayerButton{min-width:0}#sprite-size-controls .column>.size-btn{width:100%;flex-grow:0}#sprite-size-controls .column>button{width:100%;flex-grow:0}.control-group>button:not(.active):not(#clearAll):not(#clearLayerButton):not(.square-tool-btn):hover,.control-group .button-row>button:not(.active):not(#clearAll):not(#clearLayerButton):not(.square-tool-btn):hover,.sub-group-content .button-row>button:not(.active):not(#clearAll):not(#clearLayerButton):not(.square-tool-btn):hover,.control-group>.size-btn:not(.active):hover,.fps-button-container>.fps-btn:not(.active):hover,.physics-factor-button-container>.factor-btn:not(.active):hover,#sprite-size-controls .column>button:not(.active):not(.square-tool-btn):hover,#newLayerButton:not(.active):hover,#copyLayerButton:not(.active):hover,#moveLayerButton:not(.active):hover,#layerCollisionsButton:not(.active):hover,#loadTileGfxButton:not(.active):hover,.tile-gfx-actions button:not(.delete-tile-gfx-button):not(.stepper-btn):hover,#addEntryPointButton:not(.active):hover,#deleteActivePointButton:not(.active):hover,#combineEntryPointsButton:not(.active):hover,.entry-point-button:not(.active):hover,.tile-gfx-main-actions button:not([data-action=delete-graphic]):not(.stepper-btn):hover,#saveBlocksButton:not(.active):hover,#loadBlocksButton:not(.active):hover,#addCurrentSelectionAsBlockButton:not(.active):hover,#loadSingleBlockButton:not(.active):hover{background-color:#6c6c6c}.control-group>button:not(.active):not(#clearAll):not(#clearLayerButton):not(.square-tool-btn):active,.control-group .button-row>button:not(.active):not(#clearAll):not(#clearLayerButton):not(.square-tool-btn):active,.sub-group-content .button-row>button:not(.active):not(#clearAll):not(#clearLayerButton):not(.square-tool-btn):active,.control-group>.size-btn:not(.active):active,.fps-button-container>.fps-btn:not(.active):active,.physics-factor-button-container>.factor-btn:not(.active):active,#sprite-size-controls .column>button:not(.active):not(.square-tool-btn):active,#newLayerButton:not(.active):active,#copyLayerButton:not(.active):active,#moveLayerButton:not(.active):active,#layerCollisionsButton:not(.active):active,#loadTileGfxButton:not(.active):active,.tile-gfx-actions button:not(.delete-tile-gfx-button):not(.stepper-btn):active,#addEntryPointButton:not(.active):active,#deleteActivePointButton:not(.active):active,#combineEntryPointsButton:not(.active):active,.entry-point-button:not(.active):active,.tile-gfx-main-actions button:not([data-action=delete-graphic]):not(.stepper-btn):active,#saveBlocksButton:not(.active):active,#loadBlocksButton:not(.active):active,#addCurrentSelectionAsBlockButton:not(.active):active,#loadSingleBlockButton:not(.active):active{background-color:#4a4a4a}.control-group>button.active,.control-group .button-row>button.active,.sub-group-content .button-row>button.active,.control-group>.size-btn.active,.fps-button-container>.fps-btn.active,.physics-factor-button-container>.factor-btn.active,#sprite-size-controls .column>button.active,#newLayerButton.active,#copyLayerButton.active,#moveLayerButton.active,#layerCollisionsButton.active,#addEntryPointButton.active,#deleteActivePointButton.active,#combineEntryPointsButton.active,.entry-point-button.active{background-color:#28a745;color:#fff}.control-group>button.active:hover,.control-group .button-row>button.active:hover,.sub-group-content .button-row>button.active:hover,.control-group>.size-btn.active:hover,.fps-button-container>.fps-btn.active:hover,.physics-factor-button-container>.factor-btn.active:hover,#sprite-size-controls .column>button.active:hover,#newLayerButton.active:hover,#copyLayerButton.active:hover,#moveLayerButton.active:hover,#layerCollisionsButton.active:hover,#addEntryPointButton.active:hover,#deleteActivePointButton.active:hover,#combineEntryPointsButton.active:hover,.entry-point-button.active:hover{background-color:#2ebf4f;filter:none}.control-group>button.active:active,.control-group .button-row>button.active:active,.sub-group-content .button-row>button.active:active,.control-group>.size-btn.active:active,.fps-button-container>.fps-btn.active:active,.physics-factor-button-container>.factor-btn.active:active,#sprite-size-controls .column>button.active:active,#newLayerButton.active:active,#copyLayerButton.active:active,#moveLayerButton.active:active,#layerCollisionsButton.active:active,#addEntryPointButton.active:active,#deleteActivePointButton.active:active,#combineEntryPointsButton.active:active,.entry-point-button.active:active{background-color:#28a745}#clearAll,#clearLayerButton,.tile-gfx-main-actions button[data-action=delete-graphic],.entry-point-actions button[data-action=delete-entry-point]{background-color:#dc3545;color:#fff}#clearAll:hover,#clearLayerButton:hover,.tile-gfx-main-actions button[data-action=delete-graphic]:hover,.entry-point-actions button[data-action=delete-entry-point]:hover{background-color:#c82333}#clearAll:active,#clearLayerButton:active,.tile-gfx-main-actions button[data-action=delete-graphic]:active,.entry-point-actions button[data-action=delete-entry-point]:active{background-color:#bd2130}.control-group>.button-row{display:flex;gap:5px;width:100%;box-sizing:border-box;flex-wrap:wrap}.control-group>.button-row.align-right{justify-content:flex-end}#sprite-size-controls .two-column-layout-container{display:flex;gap:10px;align-items:flex-start}#sprite-size-controls .column{display:flex;flex-direction:column;align-items:stretch;gap:5px;flex:1}.fps-button-container,.physics-factor-button-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px;width:100%}.control-sub-group{display:flex;flex-direction:column;margin-bottom:8px;overflow:hidden;width:100%;box-sizing:border-box}.control-sub-group select{width:100%;box-sizing:border-box;padding:4px;font-size:11px;background-color:#555;color:#fff;border-radius:3px;border:none;min-width:60px;flex-grow:1}.control-sub-group select option:checked{color:#000;font-weight:700}.control-sub-group .button-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px;width:100%;box-sizing:border-box}.stepper-btn{padding:1px 5px;font-size:12px;background-color:#666;color:#fff;border:1px solid #888;border-radius:3px;cursor:pointer;min-width:20px;height:auto;line-height:1}.stepper-btn:hover{background-color:#777}.draggable-panel{position:absolute;background-color:#282828d9;border:1px solid #111;border-radius:4px;z-index:15;pointer-events:auto;box-shadow:0 3px 10px #00000080;display:flex;flex-direction:column;overflow:visible}.draggable-panel.hidden{display:none!important}.panel-title-bar{display:block;width:100%;background-color:#666;color:#fff;text-align:center;padding:6px 0;font-size:var(--panel-header-font-size);font-weight:700;cursor:move;margin-bottom:0!important;border-radius:3px 3px 0 0;box-sizing:border-box}.panel-title-bar:hover{background-color:#777}.control-sub-group>.control-group-label{display:block;width:100%;color:var(--panel-header-text-color);text-align:center;padding:6px 0;font-size:var(--panel-header-font-size);font-weight:700;cursor:pointer;position:relative;margin-bottom:0!important;border-radius:3px 3px 0 0;box-sizing:border-box;background-image:linear-gradient(#222,#222),linear-gradient(#222,#222),linear-gradient(0deg,var(--panel-header-bg-color) 0%,#111 100%);background-repeat:no-repeat;background-position:left,right,center;background-size:max(20px,10%) 100%,max(20px,10%) 100%,100% 100%}.control-sub-group.draggable-panel>.control-group-label{cursor:move}.control-sub-group>.control-group-label:hover{background-image:linear-gradient(#222,#222),linear-gradient(#222,#222),linear-gradient(0deg,var(--panel-header-hover-bg-color) 0%,#111 100%)}.control-sub-group>.control-group-label:after{content:"▼";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:12px;transition:transform .2s ease-in-out;color:var(--panel-header-bg-color)}.control-sub-group>.control-group-label.collapsed:after{content:"►"}.sub-group-content{padding:4px;background-color:#1e1e1eb3;display:flex;flex-direction:column;gap:1px;border:1px solid #1a1a1a;border-top:none;border-radius:0 0 3px 3px;flex-grow:1;min-height:20px;overflow:auto;box-sizing:border-box}.sub-group-content.collapsed{display:none}.sub-group-content .control-group-label,.inner-control-section>.control-group-label{font-size:11px!important;color:#bbb!important;font-weight:400!important;text-align:left!important;padding:0!important;background-color:transparent!important;cursor:default!important;width:auto!important;margin-bottom:2px!important;margin-top:3px!important;display:block}.sub-group-content .control-group-label:after,.inner-control-section>.control-group-label:after{content:none!important}.panel-resize-handle-tl{position:absolute;top:8px;left:7px;width:12px;height:12px;cursor:nw-resize;display:flex;align-items:flex-start;justify-content:flex-start;z-index:1}.panel-resize-handle-tl:after{content:"◤";font-size:12px;color:var(--panel-resize-handle-color);display:block;width:8px;height:8px;line-height:1;text-align:center}.panel-resize-handle{position:absolute;bottom:8px;right:7px;width:12px;height:12px;cursor:se-resize;display:flex;align-items:flex-end;justify-content:flex-end;z-index:1}.panel-resize-handle:after{content:"◢";font-size:12px;color:var(--panel-resize-handle-color);display:block;width:8px;height:8px;line-height:1;text-align:center}.control-sub-group .sub-group-content.collapsed~.panel-resize-handle,.control-sub-group .sub-group-content.collapsed~.panel-resize-handle-tl{display:none}.draggable-panel.performance-panel .panel-resize-handle{display:none}.floating-panel{position:absolute;z-index:50;background-color:#282828d9;border:1px solid #111;border-radius:4px;box-shadow:0 3px 10px #00000080;display:flex;flex-direction:column;box-sizing:border-box;left:50%;top:50%;transform:translate(-50%,-50%);max-width:95vw;max-height:90vh}.floating-panel.hidden{display:none!important}.floating-panel .modal-content{display:flex;flex-direction:column;flex-grow:1;min-height:0;width:100%;max-width:none;max-height:none;box-sizing:border-box;overflow:hidden;background-color:transparent;border:none;box-shadow:none;padding:20px}.floating-panel-body{flex-grow:1;overflow-y:auto;min-height:0}.floating-panel .modal-content h3{color:var(--panel-header-text-color);border-radius:3px 3px 0 0;margin:-20px -20px 15px;padding:10px 20px;font-size:1.1em;font-weight:700;flex-shrink:0;text-align:center;background-image:linear-gradient(0deg,var(--panel-header-bg-color) 0%,#111 100%);-webkit-user-select:none;user-select:none;position:relative;cursor:pointer}.floating-panel.collapsed{width:auto!important;height:auto!important;min-width:200px;max-width:300px;max-height:none;transition:width .2s ease,height .2s ease}.floating-panel.collapsed .floating-panel-body,.floating-panel.collapsed .modal-action-buttons{display:none}.floating-panel.collapsed .modal-content{padding:0}.floating-panel.collapsed .modal-content h3{margin:0;border-radius:3px}.floating-panel .modal-content h3:after{content:"−";position:absolute;right:15px;top:50%;transform:translateY(-50%) scale(1.5);font-weight:700;color:var(--panel-header-text-color);opacity:.7}.floating-panel.collapsed .modal-content h3:after{content:"+";transform:translateY(-50%) scale(1.8)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1001}.modal-overlay.hidden{display:none}.modal-content{background-color:#2c2c2c;padding:20px;border-radius:8px;border:1px solid #555;min-width:300px;max-width:820px;width:90vw;text-align:center;box-shadow:0 5px 15px #0000004d;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}.modal-content h3{margin-top:0;color:#eee;flex-shrink:0}.modal-action-buttons{display:flex;justify-content:flex-end;gap:10px}.modal-secondary-button{padding:3px 5px;background-color:#555;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:12px;transition:background-color .2s ease}.modal-secondary-button:hover{background-color:#6c6c6c}.modal-close-button{padding:4px 7.5px;background-color:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s ease;margin-top:15px}.modal-close-button:hover{background-color:#c82333}#layout-slots-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin-bottom:20px}.slot-button{padding:0;background-color:#555;color:#fff;border:1px solid #777;border-radius:4px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease;min-height:160px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;overflow:hidden;background-size:contain;background-position:center;background-repeat:no-repeat;text-shadow:1px 1px 2px rgba(0,0,0,.7)}.slot-button:hover:not(.slot-disabled){background-color:#6a6a6a;border-color:#999}.slot-button.slot-occupied{background-color:#28a745;border-color:#1e7e34}.slot-button.slot-occupied:hover:not(.slot-disabled){background-color:#2ebf4f;border-color:#25a240}.slot-button.slot-disabled{opacity:.6;cursor:not-allowed;background-color:#444!important;border-color:#666!important}.slot-button-label{font-size:12px;padding:4px 0;width:100%;text-align:center;background-color:#00000080;z-index:1;margin-top:auto}.preview-load-button{position:absolute;top:5px;left:5px;padding:1.5px 3px;font-size:11px;background-color:#282828d9;color:#fff;border:1px solid #f0f0f0;border-radius:3px;cursor:pointer;z-index:2;transition:background-color .2s ease}.preview-load-button:hover{background-color:#464646f2}.load-filter-modal-content{width:95vw;max-width:1200px}#load-filter-modal-body{max-height:65vh;overflow-y:auto;padding:5px;background-color:#0003;border:1px solid #444;border-radius:4px;display:flex;flex-direction:column}.load-filter-header,.load-filter-row{display:grid;grid-template-columns:50px 240px 120px 1fr 1fr;gap:10px;align-items:center;padding:8px;border-bottom:1px solid #383838}.load-filter-header{font-weight:700;color:gold;background-color:#3a3a3a;position:sticky;top:0;z-index:1}.load-filter-row:last-child{border-bottom:none}.load-filter-row:hover{background-color:#ffffff0d}.load-filter-col-header{font-size:11px;display:flex;align-items:center;justify-content:flex-start}.load-filter-header>div:nth-child(1),.load-filter-header>div:nth-child(2){justify-content:center}.load-filter-row>div{font-size:11px;color:#ddd;display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.load-filter-row .item-note{font-size:11px;color:#999;font-style:italic}.load-filter-row .item-note.warning{color:orange;font-weight:700}.load-toggle{justify-content:center}.mode-toggle-group{display:flex;background-color:#222;border-radius:3px;border:1px solid #444;padding:1px}.mode-toggle-group.disabled{opacity:.4;pointer-events:none}.mode-toggle-group button{flex:1;padding:3px 6px;border:none;background-color:transparent;color:#aaa;font-size:11px;cursor:pointer;border-radius:2px;transition:background-color .2s,color .2s}.mode-toggle-group button.active{background-color:#666;color:#fff;font-weight:700}.load-filter-row-group-header{font-weight:700;color:#ccc;background-color:#333;padding:6px 8px;margin-top:10px;border-radius:3px;border-bottom:1px solid #555;font-size:11px}.load-filter-row-group-header:first-of-type{margin-top:0}.load-filter-row.is-note{font-style:italic;color:#888;background:none;grid-column:1 / -1;padding-left:20px}.load-filter-row.is-note:hover{background:none}.load-filter-row.is-sub-item{background-color:#0000001a}.load-filter-row.is-sub-item>div:nth-child(3){padding-left:15px;position:relative}.load-filter-row.is-sub-item>div:nth-child(3):before{content:"↳";position:absolute;left:2px;top:50%;transform:translateY(-50%);color:#999}.load-filter-row.is-sub-item:hover{background-color:#ffffff14}#help-panel{width:90vw;max-width:900px;height:80vh;min-width:500px;min-height:400px}#help-modal-body{display:flex;flex-direction:row;flex-grow:1;overflow:hidden;border:1px solid #111;background-color:#1c1c1c;border-radius:3px}#help-tabs-container{flex:0 0 200px;border-right:1px solid var(--panel-header-bg-color);padding:10px;display:flex;flex-direction:column;gap:5px;overflow-y:auto;background-color:#0003}#help-tabs-container button{width:100%;padding:8px 12px;background-color:#444;color:#ccc;border:1px solid #555;border-radius:3px;text-align:left;cursor:pointer;font-size:13px;transition:background-color .2s,color .2s,border-color .2s}#help-tabs-container button:hover{background-color:#555;color:#fff;border-color:#777}#help-tabs-container button.active{background-color:var(--panel-header-bg-color);color:var(--panel-header-text-color);font-weight:700;border-color:var(--panel-header-hover-bg-color)}#help-content-container{flex-grow:1;overflow-y:auto;padding:15px 25px;background-color:#2a2a2a80;line-height:1.6;color:#e0e0e0;text-align:left}#help-content-container h4{font-size:1.5em;color:var(--panel-header-bg-color);border-bottom:2px solid var(--panel-header-hover-bg-color);padding-bottom:8px;margin-top:0;margin-bottom:20px}#help-content-container h5{font-size:1.2em;color:gold;margin-top:25px;margin-bottom:10px}#help-content-container p{margin-bottom:15px;color:#d0d0d0}#help-content-container ul{list-style:none;padding-left:20px}#help-content-container ul li{padding-left:0;position:static;margin-bottom:12px}#help-content-container ul ul{margin-top:10px;padding-left:20px}#help-content-container strong{color:#fff;font-weight:600}#help-content-container kbd{background-color:#444;border:1px solid #666;border-radius:3px;padding:2px 6px;font-family:Courier New,Courier,monospace;font-size:.9em;color:#fff;box-shadow:1px 1px 2px #0006}#help-content-container pre{background-color:#1c1c1c;padding:15px;border-radius:5px;border:1px solid #333;color:#f0f0f0;overflow-x:auto;white-space:pre;font-family:Courier New,Courier,monospace;font-size:.85em;box-shadow:inset 0 0 8px #00000080}#help-content-container code{font-family:Courier New,Courier,monospace;background-color:#0000004d;padding:3px 5px;border-radius:3px;color:#0ff}#help-content-container pre code{background-color:transparent;padding:0;border-radius:0;color:inherit}.help-section{margin-bottom:30px;padding-bottom:20px;border-bottom:1px dashed #444}.help-section:last-child{border-bottom:none}.help-modal-content .modal-action-buttons{margin-top:15px;justify-content:center;border-top:1px solid #444;padding-top:15px;flex-shrink:0}.help-modal-content .modal-action-buttons .modal-cancel-button{margin-top:0;min-width:120px}.settings-modal-content{width:90vw;max-width:1600px;text-align:left}#settings-modal-body,#scrolling-settings-modal-body,#camera-shake-modal-body{display:flex;flex-direction:column;gap:15px}#settings-modal-body{overflow-y:auto;flex-grow:1}.settings-group{padding:10px;border:1px solid #444;border-radius:4px;background-color:#0000001a}.settings-group-title{font-size:1.1em;color:gold;margin-top:0;margin-bottom:10px;border-bottom:1px solid #555;padding-bottom:5px}#settings-modal-body fieldset.settings-group,#scrolling-settings-panel fieldset.settings-group,#camera-shake-panel fieldset.settings-group,#gamepad-settings-panel fieldset.settings-group,#edit-tile-gfx-modal-overlay fieldset.settings-group{padding:10px 12px 12px;border:1px solid #666;border-radius:4px;margin:0;background-color:#0000001a}#settings-modal-body legend.settings-group-title,#scrolling-settings-panel legend.settings-group-title,#camera-shake-panel legend.settings-group-title,#gamepad-settings-panel legend.settings-group-title,#edit-tile-gfx-modal-overlay legend.settings-group-title{font-size:1em;font-weight:700;color:var(--panel-header-bg-color);padding:0 8px;margin-left:10px;border-bottom:none}.settings-options-container{display:flex;flex-direction:column;gap:8px}.settings-options-container.horizontal-options{flex-direction:row;flex-wrap:wrap}.settings-option-item{display:flex;align-items:center;gap:8px}.settings-option-item label{font-size:.95em;color:#ddd}.settings-option-item input[type=radio],.settings-option-item input[type=checkbox]{margin:0;accent-color:var(--panel-header-bg-color, #FFA500)}.theme-color-swatch{width:24px;height:24px;border:1px solid #777;border-radius:3px;cursor:pointer;display:inline-block;vertical-align:middle}.settings-modal-actions-bar{display:flex;justify-content:center;gap:15px;padding-top:20px;margin-top:15px;border-top:1px solid #444;flex-shrink:0}.settings-modal-actions-bar button{padding:8px 16px;font-size:14px;border-radius:4px;border:1px solid #666;background-color:#555;color:#fff;cursor:pointer;min-width:100px;text-align:center;transition:background-color .2s,border-color .2s}.settings-modal-actions-bar button:hover{background-color:#6a6a6a;border-color:#888}.settings-modal-actions-bar button:active{background-color:#4a4a4a}.slider-item{display:flex;align-items:center;gap:10px;width:100%}.slider-item.disabled{opacity:.5}.slider-item label{flex-shrink:0;width:140px}.slider-item input[type=range]{flex-grow:1;margin:0}.slider-item span{width:50px;text-align:right;font-family:inherit}.settings-flex-row{display:flex;flex-direction:column;flex-wrap:wrap;gap:10px;align-items:flex-start}.settings-flex-row>.settings-option-item,.settings-flex-row>.settings-group{flex:1;min-width:300px;width:100%;box-sizing:border-box}.settings-flex-row>.slider-item{width:auto}.toggle-row label:first-child{flex-grow:0}#player-physics-panel .modal-content{display:flex;flex-direction:column;gap:15px}#player-physics-panel fieldset.settings-group{padding:10px 12px 12px;border:1px solid #666;border-radius:4px;margin:0;background-color:#0000001a}#player-physics-panel legend.settings-group-title{font-size:1em;font-weight:700;color:var(--panel-header-bg-color);padding:0 8px;margin-left:10px;border-bottom:none}.physics-panel-body-container{display:flex;flex-direction:row;gap:15px;flex-grow:1;min-height:0;overflow:hidden}#player-physics-modal-body{max-height:80vh;overflow-y:auto;padding-right:10px;flex:0 0 500px}#physics-visualizer-container{flex:1;display:flex;background-color:#2a2a2a;border-radius:4px;border:1px solid #444;min-width:800px}#physics-visualizer-canvas{width:100%;height:100%}.physics-setting-fieldset .slider-item{display:grid;grid-template-columns:35% 50% 15%;align-items:center;width:100%;gap:0}.physics-setting-fieldset .slider-item label{width:100%;text-align:left;padding-right:10px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.physics-setting-fieldset .slider-item input[type=range]{width:100%;margin:0}.physics-setting-fieldset .slider-item .slider-value-container{display:flex;justify-content:flex-end;align-items:baseline;gap:3px;width:100%;padding-left:10px;box-sizing:border-box}.physics-setting-fieldset .slider-item .slider-value-number{font-family:inherit;font-weight:700;color:#fff;font-size:12px}.physics-setting-fieldset .slider-item .slider-value-unit{font-family:inherit;font-size:11px;color:#ddd;font-weight:400;margin-left:2px}.physics-tab-content{display:none}.physics-tab-content.active{display:flex;flex-direction:column;gap:10px}.physics-setting-fieldset{padding:8px 10px 10px;border:1px solid #444;border-radius:4px;background-color:#0000001a;transition:opacity .3s ease}.physics-setting-fieldset.disabled{opacity:.5}.physics-setting-fieldset legend{font-weight:700;color:#eee;padding:0 5px;display:flex;align-items:center;gap:8px;cursor:pointer}.physics-setting-fieldset legend input[type=checkbox]{margin:0}.physics-setting-fieldset-content{display:flex;flex-direction:column;gap:8px;padding-top:10px}.confirmation-modal-content{min-width:350px;max-width:500px}.confirmation-modal-message{font-size:14px;color:#e0e0e0;margin-bottom:20px;line-height:1.6;text-align:left;white-space:pre-wrap}.confirmation-modal-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:15px}.modal-confirm-button,.modal-cancel-button{padding:4px 7.5px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:700;transition:background-color .2s ease;min-width:80px}.modal-confirm-button{background-color:#28a745;color:#fff}.modal-confirm-button:hover{background-color:#218838}.modal-cancel-button{background-color:#dc3545;color:#fff}.modal-cancel-button:hover{background-color:#c82333}.collision-settings-modal-content{width:90vw;max-width:1200px;background-color:#2c2c2cbf;color:#e0e0e0}#collision-settings-legend{font-size:10px;color:#bbb;margin-top:15px;padding:10px;background-color:#0000004d;border:1px solid #222;border-radius:4px;text-align:left;line-height:1.4;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}#collision-settings-legend strong{color:gold}#collision-settings-legend ul{list-style-type:none;padding-left:0;margin-top:5px;margin-bottom:5px}#collision-settings-legend ul li{margin-bottom:3px;padding-left:10px;position:relative}#collision-settings-legend ul li:before{content:"-";position:absolute;left:0}#collision-settings-legend ul ul{list-style-type:none;padding-left:15px;margin-top:2px;margin-bottom:2px}#collision-settings-legend ul ul li:before{content:"•";position:absolute;left:0;top:1px}#collision-settings-legend em{display:block;margin-top:5px}#collision-settings-table-container{overflow-x:auto;margin-top:15px;border:1px solid #444;border-radius:4px;max-height:65vh;overflow-y:auto}#collision-settings-table-container table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}#collision-settings-table-container th,#collision-settings-table-container td{border:1px solid #444;padding:6px 8px;text-align:left;vertical-align:top;white-space:nowrap}#collision-settings-table-container th{background-color:#383838;color:#ccc;position:sticky;top:0;z-index:1}#collision-settings-table-container th:first-child{left:0;z-index:2}#collision-settings-table-container td:first-child,#collision-settings-table-container tbody th{background-color:#383838;color:#ccc;font-weight:700;position:sticky;left:0;z-index:1;min-width:150px;overflow:hidden;text-overflow:ellipsis}#collision-settings-table-container td{min-width:180px;position:relative}.collision-setting-cell-group{display:flex;flex-direction:column;gap:4px;position:relative;z-index:1}.collision-setting-cell-group label{display:flex;align-items:center;gap:5px;font-size:11px;color:#bbb;cursor:pointer;white-space:normal}.collision-setting-cell-group input[type=checkbox]{margin:0;accent-color:#28a745;cursor:pointer;flex-shrink:0}.collision-setting-cell-group label .long-text{display:none}#collision-settings-table-container .diagonal-cell{background-color:#3c3c3c4d}#collision-settings-table-container .player-row-header{font-style:italic;color:gold}.diagonal-self-text{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#00000040;pointer-events:none;z-index:0;text-transform:uppercase}.edit-tile-gfx-modal-content{width:90vw;height:90vh;display:flex;flex-direction:column;overflow:hidden}#edit-tile-gfx-settings{display:flex;flex-direction:column;gap:8px;flex-shrink:0;overflow-y:auto}#edit-tile-gfx-settings input[type=number]{width:50px;box-sizing:border-box;padding:4px;font-size:11px;background-color:#555;color:#fff;border-radius:3px;border:1px solid #777;text-align:right;-moz-appearance:textfield}#edit-tile-gfx-settings input[type=number]::-webkit-outer-spin-button,#edit-tile-gfx-settings input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tile-setting-row{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.tile-setting-row label{font-size:11px;color:#ccc;min-width:60px;text-align:right;margin-right:3px}.tile-setting-row input[type=number]{flex-grow:1;max-width:70px}.tile-entry-points-section{margin-top:10px;padding-top:10px;border-top:1px solid #444}.entry-point-actions-row{display:flex;gap:10px;margin-bottom:10px}#entry-points-button-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px;background-color:#0000001a;padding:5px;border-radius:3px;border:1px solid #333}.entry-point-button{min-width:70px}#edit-tile-gfx-original-display-container{flex-shrink:0;flex-grow:0;overflow:auto;background-color:#111;border:1px solid #555;margin-bottom:10px;padding:5px;min-height:50px;max-height:45vh;position:relative}#edit-tile-gfx-original-image{display:block;image-rendering:pixelated;margin:0 auto}#edit-tile-gfx-image-hover-preview{position:absolute;border:1px dashed yellow;pointer-events:none;box-sizing:border-box;display:none;z-index:1}#edit-tile-gfx-preview-container{flex-grow:1;display:flex;flex-direction:column;min-height:100px;overflow:hidden}.preview-scale-controls{display:flex;align-items:center;gap:5px}.preview-scale-controls .tile-scale-button{padding:1px 5px;font-size:12px;background-color:#666;min-width:20px}.preview-scale-controls .tile-scale-button:hover{background-color:#777}#previewScaleFactorDisplay{font-size:11px;color:#ccc;min-width:25px;text-align:center}#edit-tile-gfx-preview-grid{flex-grow:1;overflow:auto;display:flex;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;row-gap:0px;column-gap:2px;background-color:#1a1a1a;border:1px solid #555;padding:4px}#edit-tile-gfx-preview-grid div.preview-tile-item{image-rendering:pixelated;background-size:contain;background-repeat:no-repeat;background-position:center;box-sizing:border-box;flex-shrink:0}.blocks-modal-list-container{max-height:50vh;overflow-y:auto;padding:10px;border:1px solid #444;border-radius:3px;background-color:#0003;display:flex;flex-direction:column;gap:8px}.blocks-modal-item{display:flex;align-items:center;padding:6px;background-color:#3a3a3a;border:1px solid #555;border-radius:3px;font-size:12px;color:#ddd}.blocks-modal-item input[type=checkbox]{margin-right:10px;accent-color:#28a745}.blocks-modal-item-preview{width:40px;height:30px;background-color:#222;border:1px solid #111;margin-right:10px;image-rendering:pixelated;background-size:contain;background-position:center;background-repeat:no-repeat;flex-shrink:0}.blocks-modal-item-preview canvas{display:block;width:100%;height:100%}.blocks-modal-item-details{flex-grow:1;display:flex;flex-direction:column}.blocks-modal-item-name{font-weight:700}.blocks-modal-item-context{font-size:10px;color:#aaa}#tile-properties-panel{min-width:450px;max-width:600px;min-height:200px;height:auto}#tile-properties-panel .floating-panel-body{display:flex;flex-direction:column;gap:10px}.tile-properties-grid{display:flex;flex-direction:column;gap:8px;text-align:left;font-size:13px;margin-bottom:10px}.property-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px}.id-row{grid-template-columns:120px 1fr auto}.property-label{font-weight:700;color:gold;text-align:right}.property-value{color:#e0e0e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-value.code{font-family:Courier New,Courier,monospace;background-color:#1e1e1e;padding:2px 6px;border-radius:3px;border:1px solid #444}.property-separator{border:none;border-top:1px solid #444;margin:0}.copy-button{background:#555;border:1px solid #777;color:#fff;cursor:pointer;border-radius:3px;padding:4px 8px;font-size:14px;line-height:1;transition:background-color .2s,transform .1s}.copy-button:hover{background:#6a6a6a}.copy-button:active{transform:scale(.95)}.copy-button.copied{background:#28a745;color:#fff}.tile-physics-properties-group{display:flex;flex-direction:column;gap:8px;margin-top:0;padding:10px 12px 12px;border:1px solid #666;border-radius:4px;margin-left:0;margin-right:0;background-color:#0000001a;align-items:flex-start}.tile-physics-properties-group .toggle-row,.tile-physics-properties-group .radio-row{width:100%;justify-content:flex-start}.tile-physics-properties-group .radio-row{display:flex;align-items:center;gap:5px;padding-left:5px}.tile-physics-properties-group .radio-row input[type=radio]{margin:0;accent-color:var(--panel-header-bg-color)}.tile-physics-properties-group .radio-row label{margin:0;cursor:pointer;font-size:11px;color:#ccc}.tile-physics-properties-group legend.settings-group-title{font-size:1em;font-weight:700;color:var(--panel-header-bg-color);padding:0 8px;margin-left:10px;border-bottom:none}.properties-table{width:100%;border-collapse:collapse;margin-top:0;font-size:11px}.properties-table th,.properties-table td{border:1px solid #4a4a4a;padding:6px;text-align:center;vertical-align:middle}.properties-table th{background-color:#3a3a3a;color:#ccc}.properties-table td:first-child{text-align:left;font-weight:700;color:#ddd;background-color:#3a3a3a}.properties-table .toggle-switch{margin:0 auto}.sand-sub-options{padding-left:20px;padding-top:8px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:8px;align-items:flex-start}.sand-sub-options.hidden{display:none}.apply-button-row{display:flex;align-items:center;gap:8px;width:100%}.apply-button{padding:3px 5px;background-color:#555;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:var(--panel-button-font-size);min-width:60px;text-align:center;flex-shrink:0;transition:background-color 1s ease-out}.apply-button:hover:not(.activated){background-color:#6c6c6c}.apply-button.activated{background-color:#28a745;transition:background-color .1s ease-in}.apply-button-label{font-size:11px;color:#ccc}#global-tile-properties-panel .slider-item{display:grid;grid-template-columns:35% 50% 15%;align-items:center;width:100%;gap:0}#global-tile-properties-panel .slider-item label{width:100%;text-align:left;padding-right:10px;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#global-tile-properties-panel .slider-item input[type=range]{width:100%;margin:0}#global-tile-properties-panel .slider-item .slider-value-container{display:flex;justify-content:flex-end;align-items:baseline;gap:3px;width:100%;padding-left:10px;box-sizing:border-box}#global-tile-properties-panel .slider-item .slider-value-number{font-weight:700;color:#fff;font-size:12px}#global-tile-properties-panel .slider-item .slider-value-unit{font-size:11px;color:#ddd;font-weight:400;margin-left:2px}#global-tile-properties-panel .settings-option-item.toggle-row{justify-content:flex-start;margin-bottom:10px}#global-tile-properties-panel .sliders-container.disabled{opacity:.5;pointer-events:none}#layer-list-container{display:flex;flex-direction:column;gap:5px;border:1px solid #333;padding:5px;border-radius:3px;background-color:#0003}.layer-entry-wrapper{display:flex;flex-direction:column;width:100%}.layer-item{display:flex;align-items:center;gap:5px;padding:6px 8px;background-color:#3a3a3a;border:1px solid #555;border-radius:3px;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,border-left-color .2s ease;font-size:13px}.layer-item:hover{background-color:#4f4f4f;border-color:#777}.layer-item.active-layer{background-color:#454545;border:1px solid #555;border-left:4px solid #28a745;color:#fff;padding-left:5px}.layer-item.active-layer:hover{background-color:#5a5a5a;border-left-color:#2ebf4f}.layer-item.hidden-layer{opacity:.6;color:#aaa}.layer-item.hidden-layer.active-layer{background-color:#404040;border-color:#444;border-left-color:#206d32;opacity:.8;color:#aaa}.layer-item.active-layer.locked-layer{background-color:#454545;border-left-color:#24823d}.layer-visibility-toggle,.layer-lock-toggle,.layer-delete-button,.layer-move-up-button,.layer-move-down-button,.layer-settings-toggle{padding:1px 2px;font-size:12px;background-color:#555;border:1px solid #777;border-radius:3px;color:#fff;cursor:pointer;min-width:20px;text-align:center;flex-shrink:0}.layer-settings-toggle{font-weight:700}.layer-visibility-toggle:hover,.layer-lock-toggle:hover,.layer-delete-button:not(:disabled):hover,.layer-move-up-button:not(:disabled):hover,.layer-move-down-button:not(:disabled):hover,.layer-settings-toggle:hover{background-color:#6a6a6a}.layer-delete-button{background-color:#a53030}.layer-delete-button:not(:disabled):hover{background-color:#c82333}.layer-delete-button:disabled,.layer-move-up-button:disabled,.layer-move-down-button:disabled{opacity:.5;cursor:not-allowed}.layer-name-display{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:2px 0}.layer-item input.layer-name-edit{flex-grow:1;background-color:#4a4a4a;color:#fff;border:1px solid #777;border-radius:2px;padding:1px 3px;font-size:inherit;outline:none;box-sizing:border-box}.layer-internal-id-display{font-size:.8em;color:#ccc;margin-left:2px;flex-shrink:0}.layer-item.active-layer .layer-internal-id-display{color:#e0e0e0}.layer-settings-area{display:none;width:100%;padding:8px;background-color:#323232b3;border:1px solid #444;border-top:1px solid #666;border-radius:0 0 3px 3px;box-sizing:border-box;margin-top:-1px;color:#ddd;font-size:12px;max-height:200px;overflow-y:auto}.layer-settings-area.visible{display:block}.layer-setting-item{display:flex;align-items:center;justify-content:space-between;padding:4px 0;gap:8px}.layer-setting-item label{flex-shrink:0;margin-right:5px;white-space:nowrap}.layer-setting-item input[type=checkbox]{margin-left:auto;accent-color:#28a745}.layer-collision-group-heading{font-weight:700;margin-top:10px;margin-bottom:5px;display:block;font-size:11.5px;color:#bbb;border-bottom:1px solid #555;padding-bottom:3px}.layer-settings-area hr{border:none;border-top:1px solid #555;margin:8px 0}#tiles-panel>.sub-group-content{overflow-y:auto}#loaded-tile-gfx-list .tile-gfx-entry{padding:0;background-color:transparent;border:none;margin-bottom:8px;display:flex;flex-direction:column;width:100%}.tile-gfx-main-header{display:flex;justify-content:space-between;align-items:center;background-color:#28a745;color:#fff;padding:4px 8px;border-radius:3px;font-weight:700;font-size:12px;width:100%;box-sizing:border-box;margin-bottom:3px}.tile-gfx-main-header:hover{background-color:#218838}.tile-gfx-main-filename{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1;margin-right:10px}.tile-gfx-main-actions{display:flex;gap:5px;flex-shrink:0}.tile-gfx-main-actions button{padding:2px 3px;font-size:11px;background-color:#555;min-width:auto}.tile-gfx-main-actions button:hover{background-color:#6a6a6a}.tile-gfx-main-actions button[data-action=delete-graphic]{background-color:#a53030}.tile-gfx-main-actions button[data-action=delete-graphic]:hover{background-color:#c82333}.entry-points-list-area{display:flex;flex-direction:column;gap:3px;padding:0 5px 5px;background-color:#0000001a;border-radius:0 0 3px 3px}.entry-point-header{display:flex;justify-content:space-between;align-items:center;background-color:orange;color:#222;padding:4px 8px;border-radius:3px;font-weight:700;font-size:12px;cursor:pointer;position:relative;width:100%;box-sizing:border-box}.entry-point-header:hover{background-color:#e69500}.entry-point-header:after{content:"▼";position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:10px;transition:transform .2s ease-in-out}.entry-point-header.collapsed:after{content:"►"}.entry-point-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1;margin-left:15px;margin-right:10px}.entry-point-actions{display:flex;gap:3px;flex-shrink:0}.entry-point-actions button{padding:2px 1px;font-size:11px;background-color:#666;min-width:auto}.entry-point-actions button:hover:not([data-action=delete-entry-point]){background-color:#777}.entry-point-actions button:active:not([data-action=delete-entry-point]){background-color:#555}.entry-point-actions button[data-action=delete-entry-point]{background-color:#a53030}.entry-point-actions button[data-action=delete-entry-point]:hover{background-color:#c82333}.entry-point-actions button[data-action=delete-entry-point]:active{background-color:#bd2130}.entry-point-actions .tile-scale-button{font-weight:700;min-width:auto}.gfx-specific-tiles-container{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0px;padding:5px;background-color:#0003;border:1px solid #333;border-top:none;border-radius:0 0 3px 3px;min-height:32px}.gfx-specific-tiles-container.collapsed{display:none}.gfx-specific-tiles-container .extracted-tile-item{background-color:#444;border:1px solid black;cursor:pointer;image-rendering:pixelated;background-size:contain;background-repeat:no-repeat;background-position:center;margin:0;box-sizing:border-box;flex-shrink:0}.gfx-specific-tiles-container .extracted-tile-item:hover{border-color:#888;box-shadow:0 0 3px #fff}.gfx-specific-tiles-container .extracted-tile-item.selected{border-color:orange!important;box-shadow:0 0 5px orange}#blocks-panel{min-width:250px}#blocks-panel>.sub-group-content{overflow-y:hidden}#blocks-sub-panel-content{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;align-content:flex-start;gap:10px;padding:10px;background-color:#0003;border:1px solid #333;border-radius:3px;min-height:0;overflow-y:auto;overflow-x:hidden;flex:1 1 0}.block-item-container{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px;background-color:#323232b3;border:1px solid #444;border-radius:4px;box-sizing:border-box;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.block-item-container.selected-for-drawing{border-color:gold;box-shadow:0 0 8px gold}.block-name-display{font-size:12px;font-weight:700;color:#eee;text-align:center;cursor:text;padding:2px 4px;background-color:#0000004d;border-radius:2px;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto;margin-bottom:5px}.block-name-display:hover{background-color:#14141480}.block-name-input{font-size:12px;font-weight:700;color:#eee;background-color:#222;border:1px solid #777;border-radius:2px;text-align:center;width:calc(100% - 8px);padding:2px;box-sizing:border-box;margin-bottom:5px}.block-visual-preview{background-color:#222;border:1px solid #111;image-rendering:pixelated;background-size:contain;background-position:center;background-repeat:no-repeat;position:relative;overflow:hidden;pointer-events:none}.block-visual-preview canvas{display:block;width:100%;height:100%}.block-item-container .button-row{justify-content:center;pointer-events:auto;width:100%;margin-bottom:8px}.block-action-btn,.block-scale-btn{padding:2px 4px!important;font-size:11px!important;min-width:40px!important}#scaleAllBlocksUpButton,#scaleAllBlocksDownButton{min-width:25px!important}#animation-previews-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px;padding:10px;background-color:#0003;border:1px solid #333;border-radius:3px;min-height:50px;width:100%;box-sizing:border-box;align-items:flex-start;justify-content:flex-start;overflow:hidden;flex-shrink:0}#animations-list-container{flex-grow:1;overflow-y:visible;border:1px solid #555}.animation-running-preview{border:1px solid #555;background-color:#222;position:relative;cursor:pointer}.animation-running-preview.selected-for-drawing{border:2px solid #FFD700;box-shadow:0 0 8px gold}.animation-running-preview:hover{border-color:#888}.animation-entry{display:flex;flex-direction:column;background-color:#282828d9;border:1px solid #111;border-radius:4px;margin-bottom:10px;transition:box-shadow .2s;overflow:hidden;width:100%;box-sizing:border-box}.animation-entry.dragging{opacity:.5;box-shadow:0 0 10px var(--panel-header-bg-color)}.animation-entry-header{display:flex;align-items:center;padding:6px 10px;cursor:grab;background-image:linear-gradient(0deg,var(--panel-header-bg-color) 0%,#111 100%);color:var(--panel-header-text-color);border-radius:3px 3px 0 0;position:relative;-webkit-user-select:none;user-select:none}.animation-entry-header:hover{background-image:linear-gradient(0deg,var(--panel-header-hover-bg-color) 0%,#111 100%)}.animation-entry-header:before{content:"▼";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:12px;transition:transform .2s ease-in-out}.animation-entry-header.collapsed:before{transform:translateY(-50%) rotate(-90deg)}.animation-name{font-weight:700;font-size:var(--panel-header-font-size);margin-left:20px;flex-grow:1;text-align:center;padding-right:20px}.animation-details-content{display:flex;flex-direction:column;gap:10px;padding:10px;background-color:#2a2a2a;transition:all .3s ease;overflow:hidden}.animation-details-content.collapsed{display:none}.animation-top-row{display:flex;flex-direction:row;gap:15px;align-items:flex-start;width:100%}.animation-preview-area{flex-shrink:0;display:flex;align-items:center;justify-content:center;background-color:#222;border:1px solid #111;border-radius:4px;overflow:hidden;cursor:default}.animation-preview-area:hover{border-color:var(--panel-header-bg-color)}.animation-preview-canvas{object-fit:contain;image-rendering:pixelated}.animation-frames-container{background-color:#222;border:2px dashed #444;border-radius:4px;min-height:60px;padding:5px;display:flex;flex-wrap:wrap;gap:5px;align-items:flex-start;align-content:flex-start;color:#888;font-size:12px;transition:border-color .2s,background-color .2s;flex-grow:1}.animation-frames-container.drag-over{border-color:var(--panel-header-bg-color);background-color:#383838}.animation-frames-container .drop-prompt{width:100%;text-align:center;align-self:center}.animation-controls-area{display:flex;flex-direction:column;gap:12px;min-width:0}.animation-name-controls{display:flex;align-items:center;gap:8px}.animation-name-controls .play-toggle{padding:4px 8px;font-size:var(--panel-button-font-size);background-color:#555;color:#fff;border:none;border-radius:3px;cursor:pointer;flex-shrink:0;transition:background-color .2s ease}.animation-name-controls .play-toggle:hover:not(.active){background-color:#6c6c6c}.animation-name-controls .play-toggle.active{background-color:#28a745}.animation-name-controls .play-toggle.active:hover{background-color:#2ebf4f}.animation-name-input-details,.animation-tileset-select{background-color:#333;color:#eee;border:1px solid #777;border-radius:2px;padding:4px 6px;font-size:var(--panel-button-font-size);font-family:inherit;flex-grow:1}.animation-name-input-details::placeholder{color:#888;font-style:italic}.animation-tileset-controls{display:flex;align-items:center;gap:8px}.animation-tileset-controls label{font-size:var(--panel-button-font-size);color:#ccc;flex-shrink:0}.delete-animation-button{padding:4px 8px;font-size:var(--panel-button-font-size);background-color:#dc3545;color:#fff;border:none;border-radius:3px;cursor:pointer;flex-shrink:0;transition:background-color .2s ease}.delete-animation-button:hover{background-color:#c82333}.animation-playback-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.animation-playback-controls .settings-row.toggle-row label{font-size:var(--panel-button-font-size)}.animation-playback-controls .settings-row.slider-row{display:flex;align-items:center;gap:5px}.animation-playback-controls .settings-row.slider-row label{text-align:right;font-size:11px;color:#ccc}.animation-setting-input{background-color:#333;color:#eee;border:1px solid #777;border-radius:2px;padding:2px 4px;font-size:11px;width:100%;box-sizing:border-box;text-align:right;-moz-appearance:textfield}.animation-setting-input::-webkit-outer-spin-button,.animation-setting-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.animation-frame{width:48px;height:48px;background-color:#3a3a3a;border:1px solid #555;border-radius:3px;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s,transform .2s}.animation-frame:active{cursor:grabbing}.animation-frame .frame-preview-canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.animation-frame .frame-duration{position:absolute;bottom:2px;right:3px;background-color:#000000b3;color:#fff;font-size:10px;padding:1px 3px;border-radius:2px}.animation-drop-indicator-h{height:4px;background-color:var(--panel-header-bg-color, #FFA500);border-radius:2px;margin:2px 0}.context-menu-item .animation-frame-popup-row{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:2px 0}.context-menu-item .animation-frame-popup-row label{font-size:11px;font-weight:700;color:#ccc;flex-shrink:0}.context-menu-item .animation-frame-popup-row input[type=number]{width:50px;padding:2px 4px;background-color:#333;border:1px solid #666;color:#fff;border-radius:2px;text-align:center;-moz-appearance:textfield}.context-menu-item .animation-frame-popup-row input[type=number]::-webkit-outer-spin-button,.context-menu-item .animation-frame-popup-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.context-menu-item .popup-toggle-button{padding:2px 6px;font-size:11px;background-color:#dc3545;color:#fff;border:none;border-radius:3px;cursor:pointer;min-width:40px;transition:background-color .2s ease}.context-menu-item .popup-toggle-button.active{background-color:#28a745}.context-menu-item .popup-toggle-button:hover{filter:brightness(1.2)}#tools-panel .sub-group-content{padding:5px}.tool-button-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:5px}.square-tool-btn{padding:2px;background-color:#555;color:#fff;border:1px solid #333;border-radius:3px;cursor:pointer;font-size:9px;font-weight:700;line-height:1.1;transition:background-color .2s ease,box-shadow .2s ease,border-color .2s ease;width:40px;height:40px;display:flex;align-items:center;justify-content:center;text-align:center;box-shadow:inset 1px 1px 3px #0006,0 1px 1px #ffffff1a;flex-grow:0;flex-shrink:0;min-width:0;overflow-wrap:break-word;white-space:normal}.square-tool-btn:hover:not(.active){background-color:#6c6c6c;border-color:#444;box-shadow:inset 1px 1px 4px #00000080,0 1px 1px #ffffff26}.square-tool-btn:active:not(.active){background-color:#4a4a4a;box-shadow:inset 2px 2px 5px #0009,0 0 #fff0}.square-tool-btn.active{background-color:#28a745;color:#fff;border-color:#1a5325;box-shadow:inset 2px 2px 5px #00000080,0 0 #fff0}#color-selector-container{display:flex;flex-wrap:wrap;gap:0px;padding-top:5px}.color-btn{width:24px;height:24px;border-radius:0;border:1px solid #222;cursor:pointer;padding:0;transition:border-color .1s ease;box-sizing:border-box;flex-grow:0!important}.color-btn:hover{border-color:#888}.color-btn.active{border:1px solid #FFFFFF}#performanceHistoryCanvas{background-color:#1e1e1e;opacity:.8;display:block;width:100%;height:100%;box-sizing:border-box;cursor:grab}#performance-history-panel.draggable-panel{padding:0;z-index:20;border:1px solid #444;overflow:hidden;background-color:transparent}#performance-history-panel #performanceHistoryCanvas{margin-top:0}#performance-graph-toggles{position:absolute;top:5px;left:50%;transform:translate(-50%);z-index:1;display:flex;gap:5px;background-color:#1e1e1eb3;padding:3px;border-radius:4px}.perf-toggle-btn{padding:2px 5px;background-color:#555;color:#fff;border:1px solid #333;border-radius:3px;cursor:pointer;font-size:9px;transition:background-color .2s ease}.perf-toggle-btn:hover{background-color:#6c6c6c}.perf-toggle-btn.active{background-color:var(--panel-header-bg-color);color:var(--panel-header-text-color);font-weight:700}#minimap-container{display:flex;flex-direction:column;gap:3px;width:100%;box-sizing:border-box}#minimap-container>label.control-group-label{font-size:11px!important;color:#bbb!important;font-weight:400!important;margin-bottom:2px!important;margin-top:0!important;display:block}#minimapCanvas{display:block;width:100%;height:100px;border:1px solid #555;background-color:#222;image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;box-sizing:border-box}#error-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000d9;color:#fff;z-index:1000;justify-content:center;align-items:center;text-align:center;padding:20px;box-sizing:border-box}#error-overlay>div{background-color:#502020;padding:30px;border-radius:8px;border:1px solid #ff6060;max-width:80%;font-size:1.2em}#zoom-text-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;z-index:10000;pointer-events:none;visibility:hidden;text-align:center}#zoom-text-content{font-family:Arial,sans-serif;font-weight:700;font-size:48px;color:#ffffffe6;-webkit-text-stroke-width:2px;-webkit-text-stroke-color:rgba(0,0,0,.7);text-stroke-width:2px;text-stroke-color:rgba(0,0,0,.7);paint-order:stroke fill}.cell-info-popup{position:fixed;background-color:#1e1e1ef2;color:#ccc;border:1px solid #555;padding:8px 10px;border-radius:4px;font-size:11px;font-family:Arial,sans-serif;z-index:10001;pointer-events:auto;box-shadow:2px 2px 8px #0009;line-height:1.4;display:flex;flex-direction:column;gap:4px}.cell-info-popup.hidden{display:none}.cell-info-popup strong{color:orange}.cell-info-popup .popup-header-info{margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid #444}.cell-info-popup .popup-header-info span{display:block;margin-bottom:1px}.cell-info-popup .cell-items-list{list-style-type:none;padding-left:0;margin:0}.cell-info-popup .cell-info-item-entry{display:flex;align-items:flex-start;gap:8px;padding:4px 0;border-bottom:1px solid #383838}.cell-info-popup .cell-info-item-entry:last-child{border-bottom:none}.cell-info-popup .item-sub-layer-number{flex-shrink:0;width:24px;text-align:center;font-size:11px;font-weight:700;color:gold;font-family:monospace;padding-top:4px}.cell-info-popup .item-content-wrapper{display:flex;flex-direction:column;flex-grow:1;min-width:0}.cell-info-popup .item-top-row{display:flex;align-items:center;gap:8px;width:100%}.cell-info-popup .item-graphic-preview{width:24px;height:24px;border:1px solid #777;background-color:#444;display:flex;align-items:center;justify-content:center;image-rendering:pixelated;-ms-interpolation-mode:nearest-neighbor;flex-shrink:0}.cell-info-popup .item-graphic-preview canvas{width:100%;height:100%;object-fit:contain}.cell-info-popup .item-details{flex-grow:1;font-size:10px;line-height:1.25;overflow:hidden;display:flex;flex-direction:column;gap:4px}.cell-info-popup .item-details span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell-info-popup .item-details .item-name{font-weight:700;color:#ddd}.cell-info-popup .item-details .item-sub-detail{font-size:9px;color:#aaa}.item-properties-container{margin-top:6px;padding-top:6px;border-top:1px solid #4a4a4a;display:flex;flex-direction:column;gap:6px}.item-properties-title{font-size:10px;font-weight:700;color:gold;margin-bottom:2px}.item-properties-list{list-style:none;padding:0;margin:0;font-size:9px;display:flex;flex-wrap:wrap;gap:2px 8px;align-items:center}.item-properties-list li{display:flex}.prop-on{color:#28a745;font-weight:700}.prop-off{color:#dc3545;font-weight:700}.item-interactions-table{width:100%;border-collapse:collapse;font-size:9px;margin-top:4px}.item-interactions-table th,.item-interactions-table td{border:1px solid #4a4a4a;padding:2px 4px;text-align:center}.item-interactions-table th{background-color:#3a3a3a;font-weight:400;color:#aaa}.item-interactions-table td:first-child{text-align:left;font-weight:700;color:#ccc;background-color:transparent}.cell-info-popup .item-remove-button{padding:2px 5px;font-size:10px;background-color:#a53030;color:#fff;border:none;border-radius:3px;cursor:pointer;transition:background-color .2s ease;flex-shrink:0}.cell-info-popup .item-remove-button:hover{background-color:#c82333}.cell-info-popup .item-remove-button:active{background-color:#bd2130}.cell-info-popup hr{border:none;border-top:1px solid #444;margin:4px 0}.cell-info-popup .empty-cell-message{font-style:italic;color:#888;text-align:center;padding:5px 0}.cell-info-popup .is-empty-slot{opacity:.6;color:#888}.cell-info-popup .item-placeholder-text{font-style:italic;flex-grow:1;padding-left:10px}.context-menu{position:fixed;z-index:10002;background-color:var(--context-menu-bg);border:1px solid var(--context-menu-border-color);border-radius:4px;box-shadow:0 2px 10px #0000004d;padding:4px 0;min-width:150px;pointer-events:auto}.context-menu.hidden{display:none}.context-menu-item{padding:6px 12px;font-size:13px;color:var(--context-menu-text-color);cursor:pointer;white-space:nowrap;display:flex;align-items:center}.context-menu-item:hover:not(.disabled){background-color:var(--context-menu-item-hover-bg);color:var(--context-menu-item-hover-text)}.context-menu-item.active:before{content:"✓";color:var(--context-menu-active-checkmark-color);margin-right:8px;font-weight:700}.context-menu-item.disabled{color:#888;cursor:not-allowed}.context-menu-separator{height:1px;background-color:var(--context-menu-border-color);margin:4px 0}.gamepad-settings-container{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.gamepad-visualizer-container{flex:1;min-width:300px;box-sizing:border-box;display:flex;flex-direction:column;gap:8px}.gp-viz-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;grid-template-rows:auto auto auto;gap:4px 8px;align-items:center;justify-items:center}.gp-viz-grid .gp-viz-cell{background-color:#555;border:1px solid #111;color:#ccc;font-size:11px;font-weight:700;font-family:monospace;display:flex;align-items:center;justify-content:center;border-radius:4px;width:100%;height:25px;transition:background-color .05s ease-out,border-color .05s,box-shadow .05s}.gp-viz-grid .gp-viz-cell.pressed{background-color:#28a745;border-color:#4caf50;box-shadow:0 0 5px #28a745;color:#fff}.gp-viz-shoulders{grid-column:1 / -1;grid-row:1 / 2;display:contents}.gp-viz-shoulders>div:first-child{grid-column:1 / 2}.gp-viz-shoulders>div:last-child{grid-column:5 / 6}.gp-viz-triggers{grid-column:1 / -1;grid-row:1 / 2;display:contents}.gp-viz-triggers>div:first-child{grid-column:2 / 3;background-image:linear-gradient(to top,rgba(255,255,255,.1),transparent)}.gp-viz-triggers>div:last-child{grid-column:4 / 5;background-image:linear-gradient(to top,rgba(255,255,255,.1),transparent)}.gp-viz-center-cluster{grid-column:3 / 4;grid-row:2 / 3;display:flex;gap:4px}.gp-viz-center-cluster .gp-viz-cell{width:48%;height:22px;font-size:10px;border-radius:10px}.gp-viz-stick{grid-row:3 / 4;height:50px!important;width:50px!important;border-radius:50%;background:#333!important;position:relative}.gp-viz-stick-left{grid-column:1 / 2}.gp-viz-stick-right{grid-column:5 / 6}.gp-viz-stick-top{position:absolute;width:25px;height:25px;background:#666;border-radius:50%;top:12.5px;left:12.5px;transition:transform .05s,background-color .05s}.gp-viz-stick-click{position:absolute;width:25px;height:25px;border-radius:50%;opacity:0}.gp-viz-stick .pressed .gp-viz-stick-top{background-color:#28a745}.gp-viz-stick-click.pressed{background-color:orange;opacity:.5}.gp-viz-dpad,.gp-viz-face-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr 1fr;width:60px;height:60px;gap:2px}.gp-viz-dpad{grid-column:2 / 3;grid-row:2 / 4}.gp-viz-face-buttons{grid-column:4 / 5;grid-row:2 / 4}.gp-viz-dpad .gp-viz-cell,.gp-viz-face-buttons .gp-viz-cell{width:100%;height:100%}.gp-viz-face-buttons .gp-viz-cell{border-radius:50%}.gp-viz-info{background-color:#1a1a1a;border:1px solid #444;border-radius:4px;padding:6px 8px;font-size:13px;color:gold;text-align:center;font-family:monospace;height:48px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;word-break:break-all}.gamepad-mapping-container{flex:1;min-width:250px;display:flex;flex-direction:column;gap:10px}.gamepad-mapping-row{display:flex;align-items:center;gap:8px}.gamepad-mapping-row label{width:90px;flex-shrink:0;text-align:right;font-size:13px;color:#ddd}.gamepad-mapping-row select{flex-grow:1;background-color:#555;color:#fff;border:1px solid #777;border-radius:3px;padding:3px;font-size:12px}.gamepad-assign-button{padding:3px 8px;font-size:12px;background-color:#666;color:#fff;border:1px solid #888;border-radius:3px;cursor:pointer;flex-shrink:0;transition:background-color .2s,opacity .2s;min-width:70px}.gamepad-assign-button:hover:not(:disabled){background-color:#7d7d7d}.gamepad-assign-button.listening{background-color:#28a745;color:#fff;border-color:#4caf50;animation:pulse-green 1.5s infinite}.gamepad-assign-button:disabled:not(.listening){opacity:.5;cursor:not-allowed;background-color:#555}.gamepad-reset-button{padding:4px 10px;font-size:13px;background-color:#dc3545;color:#fff;border:1px solid #c82333;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.gamepad-reset-button:hover:not(:disabled){background-color:#c82333}@keyframes pulse-green{0%{box-shadow:0 0 #28a745b3}70%{box-shadow:0 0 0 6px #28a74500}to{box-shadow:0 0 #28a74500}}.shooting-tabs-container{display:flex;border-bottom:1px solid #555;margin-bottom:15px}.shooting-tab-button{padding:8px 12px;background:#444;border:none;border-bottom:2px solid transparent;color:#ccc;cursor:pointer;font-size:14px;transition:background-color .2s,color .2s}.shooting-tab-button:hover{background:#555}.shooting-tab-button.active{background:#2c2c2c;border-bottom-color:var(--panel-header-bg-color, #FFA500);color:#fff}.shooting-tab-content{display:none;min-height:250px;padding:5px 0 10px;text-align:left}.shooting-tab-content.active{display:block}.projectile-settings-container{display:flex;gap:20px;align-items:flex-start}.projectile-settings-col{flex:1;display:flex;flex-direction:column;gap:15px}.settings-fieldset{padding:10px 12px 12px;border:1px solid #444;border-radius:4px;background-color:#0000001a;margin:0;display:flex;flex-direction:column;gap:10px;height:100%}.settings-fieldset legend{font-size:1em;font-weight:700;color:orange;padding:0 5px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px}.settings-row.disabled{opacity:.5;pointer-events:none}.slider-row input[type=range]{flex-grow:1;margin:0 8px;accent-color:var(--panel-header-bg-color, #FFA500)}.slider-row .slider-value{width:50px;text-align:right;font-family:Courier New,Courier,monospace}.direction-grid-5x5{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:4px;width:150px;height:120px;margin:0 auto;background:#333;padding:10px;border-radius:5px}.direction-grid-5x5 .grid-cell{display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}.direction-grid-5x5 .arrow-label{color:orange}.direction-grid-5x5 input[type=checkbox]{margin:0;width:18px;height:18px;cursor:pointer;accent-color:var(--panel-header-bg-color, #FFA500)}.bullet-config-panel{margin-top:5px;padding-top:10px;border-top:1px dashed #555;transition:opacity .3s ease;display:flex;flex-direction:column;gap:10px}.bullet-config-panel.disabled{opacity:.5}.settings-row input[type=number],.settings-row input[type=text],.settings-row input[type=color]{background-color:#555;color:#fff;border:1px solid #777;border-radius:3px;padding:4px;box-sizing:border-box}.settings-row input[type=number]{width:70px;text-align:right}.settings-row input[type=text]{flex-grow:1}.settings-row input[type=color]{padding:0;width:40px;height:25px;border:1px solid #777;background:none}.select-row select{background-color:#555;color:#fff;border:1px solid #777;border-radius:3px;padding:2px 4px;font-size:12px;width:120px}.tile-id-row{display:flex;align-items:center;gap:8px}.tile-id-row label{flex-shrink:0}.tile-id-row input[type=text]{flex-grow:1}.tile-id-preview{width:32px;height:32px;flex-shrink:0;border:1px solid #777;background-color:#222;display:flex;align-items:center;justify-content:center;color:#888;font-size:20px;font-weight:700;image-rendering:pixelated;background-size:contain;background-position:center;background-repeat:no-repeat}.radio-row{justify-content:flex-start;gap:15px;padding-left:5px}.radio-row div{display:flex;align-items:center;gap:5px}.radio-row input[type=radio]{margin:0}.toggle-row{justify-content:flex-start}.toggle-row label{flex-grow:0}.shake-setting-row{justify-content:flex-start;gap:15px}.shake-setting-row label{width:150px;flex-shrink:0}.shake-setting-row select{background-color:#555;color:#fff;border:1px solid #777;border-radius:3px;padding:2px 4px;font-size:12px}#thingies-panel.draggable-panel{max-width:500px}.thingies-main-layout-row{display:flex;flex-direction:row;gap:10px;align-items:flex-start}.thingies-left-column{display:flex;flex-direction:column;gap:8px;flex:1.5}.thingies-main-layout-row>#object-add-controls.control-group{flex:1}.thingies-left-column .control-group,.thingies-main-layout-row>#object-add-controls.control-group{width:100%}.background-list-container{max-height:150px;overflow-y:auto;border:1px solid #444;border-radius:3px;padding:5px;background-color:#0000001a;display:flex;flex-direction:column;gap:3px;width:100%;box-sizing:border-box}.background-list-item{display:flex;align-items:center;gap:5px;padding:4px 6px;background-color:#333;border:1px solid #555;border-radius:3px;font-size:12px;color:#ddd;cursor:pointer;width:100%;box-sizing:border-box}.background-list-item:hover{background-color:#404040;border-color:#666}.background-list-item.selected-for-editing{background-color:#28a745;border-color:#1e7e34;color:#fff}.background-list-item.selected-for-editing:hover{background-color:#2ebf4f}.background-list-item .bg-visibility-toggle,.background-list-item .bg-delete-button{padding:1px 3px;font-size:11px;background-color:#555;border:1px solid #777;border-radius:3px;color:#fff;cursor:pointer;flex-shrink:0}.background-list-item .bg-visibility-toggle:hover,.background-list-item .bg-delete-button:hover{background-color:#6a6a6a}.background-list-item .bg-delete-button{background-color:#a53030}.background-list-item .bg-delete-button:hover{background-color:#c82333}.background-list-item .bg-name{flex-grow:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.background-list-item.hidden-bg .bg-name{opacity:.6;text-decoration:line-through}#parallax-settings-modal-body{display:flex;flex-direction:column;gap:12px}.parallax-layer-row{padding:10px;border:1px solid #4a4a4a;border-radius:4px;background-color:#0003;display:flex;flex-direction:column;gap:10px}.parallax-layer-row.is-reference-layer{border-left:3px solid #28a745}.parallax-layer-row.is-disabled{opacity:.6;background-color:#14141433}.parallax-layer-header{font-weight:700;color:#eee;font-size:14px}.parallax-layer-header .layer-internal-id{font-style:italic;color:#aaa;font-size:.9em;margin-left:5px}.parallax-layer-row>.settings-option-item.toggle-row{padding-bottom:8px;border-bottom:1px solid #444}.parallax-controls-container{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;align-items:flex-start;transition:opacity .3s ease}.parallax-toggle-group{grid-column:1 / 2;display:flex;flex-direction:column;gap:8px;border-right:1px solid #444;padding-right:20px}.parallax-slider-group{grid-column:2 / 3;display:flex;flex-direction:column;gap:8px}.parallax-layer-row .settings-option-item.toggle-row{justify-content:space-between;min-width:180px}.parallax-layer-row .settings-option-item.slider-item{gap:8px}.parallax-layer-row .settings-option-item.slider-item label{width:110px;flex-shrink:0;text-align:right}.parallax-layer-row .settings-option-item.slider-item input[type=range]{flex-grow:1}.parallax-layer-row .settings-option-item.slider-item span{width:40px;text-align:right;font-family:monospace}.effects-modal-content{display:flex;flex-direction:column;width:90vw;max-width:900px;font-size:12px}.effects-settings-layout{display:flex;flex-direction:row;gap:15px;flex-grow:1;min-height:300px;overflow:hidden}.effects-left-column{flex:0 0 160px;display:flex;flex-direction:column;gap:15px;border-right:1px solid #444;padding-right:15px}.effects-layer-selector-container{display:flex;flex-direction:column;gap:5px;flex-shrink:0}.effects-layer-selector-container label{font-weight:700;color:#ccc}.effects-layer-selector-container select{width:100%;padding:4px;font-size:11px;background-color:#555;color:#fff;border-radius:3px;border:1px solid #777}.effects-category-tabs-vertical{display:flex;flex-direction:column;gap:5px;overflow-y:auto;flex-grow:1}.effects-category-tab{width:100%;padding:6px 10px;background-color:#3a3a3a;border:1px solid #555;border-left:3px solid transparent;color:#ddd;text-align:left;font-size:12px;border-radius:3px;cursor:pointer;transition:all .2s}.effects-category-tab:hover{background-color:#4f4f4f;border-left-color:#777}.effects-category-tab.active{background-color:#454545;border-left-color:var(--panel-header-bg-color, #FFA500);color:#fff;font-weight:700}.effects-content-area{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto}.effects-tab-panel{display:none;flex-direction:column;gap:15px;padding-right:5px}.effects-tab-panel.active{display:flex}.effects-tab-panel .settings-row.toggle-row,.effects-tab-panel .settings-row.select-row,.effects-tab-panel .settings-row.radio-group-row{max-width:none}.effects-tab-panel .settings-row label,.radio-group-label{font-size:12px;color:#ddd}.effects-column-grid{display:grid;grid-template-columns:1fr;gap:15px;width:100%}.effects-column{display:flex;flex-direction:column;gap:15px}.effects-tab-panel .slider-item{display:grid;grid-template-columns:120px 1fr 50px;gap:10px;align-items:center;width:100%}.effects-tab-panel .slider-item label{width:100%;text-align:right;justify-self:end}.effects-tab-panel .slider-item input[type=range]{width:100%;flex-grow:0}.effects-tab-panel .slider-item .slider-value{width:100%;text-align:right}#sub-layers-panel .sub-group-content .control-group-label{margin-bottom:2px!important;text-align:left!important}.sublayer-controls-container{display:flex;flex-wrap:wrap;gap:8px;padding:2px}.sublayer-control-item{display:flex;align-items:center;gap:4px}.sublayer-control-item input{margin:0;cursor:pointer;accent-color:var(--panel-header-bg-color)}.sublayer-control-item label{font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}#unit-tests-panel{width:90%;height:70vh;min-width:300px}#unit-tests-results-container{font-family:monospace;font-size:10px;color:#ccc;background-color:#1a1a1a;padding:10px;border-radius:3px;text-align:left}.test-result-section{margin-bottom:15px}.test-result-section-title{font-weight:700;color:gold;margin-bottom:8px;font-size:12px;border-bottom:1px solid #444;padding-bottom:4px}.test-result-line{margin-bottom:4px}.test-result-line.success .test-status-icon{color:#28a745}.test-result-line.failure .test-status-icon{color:#dc3545}.test-status-icon{font-weight:700;margin-right:8px}.test-function-name{color:#e0e0e0}.test-error-details{padding-left:0;margin-top:4px;border-left:none;margin-left:0}.test-error-message{color:#ff8080;font-style:italic}.test-probable-cause{color:#e0d0a0;margin-top:2px}
