.layout{display:flex;flex-direction:column;height:100vh;width:100vw;background-color:#0d0d0d;color:#e0e0e0;overflow:hidden;font-family:Courier New,Courier,monospace}.topBar{display:flex;align-items:center;gap:10px;padding:10px;border-bottom:1px solid #333;background:#050505}.levelTypeSelect{background-color:#1a1a1a;color:#4ade80;border:1px solid #333;padding:6px 12px;font-family:Courier New,Courier,monospace;font-size:14px;cursor:pointer}.levelTypeSelect:hover{border-color:#4ade80}.notImplementedBanner{background:#332200;color:#fa0;padding:8px 16px;text-align:center;font-size:14px;border-bottom:1px solid #553300}.mainRow{display:flex;flex-direction:row;flex:1;min-height:0}.commandInput{flex:1;min-width:200px;max-width:420px}.validationWrapper{padding:0 10px}.layout ::-webkit-scrollbar{width:8px;height:8px}.layout ::-webkit-scrollbar-track{background:#1a1a1a}.layout ::-webkit-scrollbar-thumb{background:#444}.layout ::-webkit-scrollbar-thumb:hover{background:#666}.sidebar{width:250px;background-color:#050505;border-right:1px solid #333;display:flex;flex-direction:column;padding:10px;overflow-y:auto}.mainArea{flex:1;position:relative;overflow:hidden;background-color:#000;display:flex;align-items:center;justify-content:center;background-image:linear-gradient(rgba(50,255,50,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(50,255,50,.1) 1px,transparent 1px);background-size:50px 50px}.properties{width:320px;background-color:#050505;border-left:1px solid #333;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.header{font-size:1.2rem;text-transform:uppercase;border-bottom:2px solid #333;padding-bottom:.5rem;margin-bottom:1rem;font-weight:700;color:#4ade80;text-shadow:0 0 5px rgba(74,222,128,.5);letter-spacing:1px}.toolList{display:flex;flex-direction:column;gap:6px}.toolButton{padding:10px;background-color:#333;color:#fff;border:1px solid #222;cursor:pointer;text-align:left;border-radius:6px}.toolButtonActive{background-color:#4ade80;color:#000;border-color:#4ade80}.toolHint{opacity:.8;font-size:12px}.uiMessage{margin-top:10px;padding:8px;border:1px solid #444;border-radius:6px;background:rgba(255,255,255,.04);color:#eee;font-size:12px}.gridContainer{display:grid;grid-template-columns:repeat(16,44px);grid-template-rows:repeat(16,44px);gap:2px;padding:10px;border:1px solid #333;background:rgba(0,0,0,.6)}.gridCell{width:44px;height:44px;border:1px solid #333;display:flex;justify-content:center;align-items:center;position:relative;-webkit-user-select:none;user-select:none;cursor:pointer;border-radius:4px}.cell-neutral{background-color:#555}.cell-player{background-color:#ff0;color:#000}.cell-enemy{background-color:red}.cell-coords{position:absolute;font-size:9px;color:#ffffff80;bottom:2px;right:3px}.cell-altar{position:absolute;font-size:18px;line-height:1;color:#fff;text-shadow:0 0 6px rgba(255,255,255,.4)}.portal-bracket,.portal-brace,.portal-paren{position:absolute;font-size:20px;line-height:1;color:#000}.cell-enemy .portal-bracket,.cell-enemy .portal-brace,.cell-enemy .portal-paren,.cell-neutral .portal-bracket,.cell-neutral .portal-brace,.cell-neutral .portal-paren{color:#fff}.hud{position:absolute;bottom:10px;right:10px;background-color:#000000b3;padding:6px 8px;border-radius:6px;font-size:12px;border:1px solid #333}.fieldGroup{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.fieldLabel{display:grid;gap:6px;font-size:12px}.textInput,.textArea{width:100%;background-color:#333;color:#fff;border:1px solid #555;padding:6px 8px;border-radius:6px}.textArea{resize:vertical}.actionGroup{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:10px}.actionButton{padding:8px;cursor:pointer;background-color:#333;color:#fff;border:1px solid #555;border-radius:6px}.waveSection{padding:10px;border-top:1px solid #333}.waveList{display:flex;flex-direction:column;gap:10px}.waveCard{background-color:#1a1a1a;padding:10px;border-radius:6px;border:1px solid #444}.waveHeaderRow{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.waveTitle{font-weight:700;color:#4ade80}.linkButtonDanger{color:#ef4444;background:transparent;border:none;cursor:pointer}.waveRow{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:8px}.spawnCard{border:1px dashed #444;padding:8px;border-radius:6px;margin:8px 0}.spawnHeaderRow{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.spawnGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:12px}.selectInput{width:100%;background-color:#222;color:#fff;border:1px solid #555;padding:6px 8px;border-radius:6px}.miniButton{padding:6px 8px;cursor:pointer;background-color:#333;color:#fff;border:1px solid #555;border-radius:6px}.fullWidth{width:100%}.coordRow{display:grid;grid-template-columns:1fr 1fr 100px;gap:10px;align-items:center;border:1px solid #2a2a2a;border-radius:6px;padding:8px}.coordMeta{color:#bbb;font-size:12px}.debris-strings-editor{padding:.75rem;border-top:1px solid var(--editor-border, #333)}.debris-strings-editor__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.debris-strings-editor__title{margin:0;font-size:.95rem;font-weight:600;color:var(--editor-text, #e0e0e0)}.debris-strings-editor__count{font-size:.8rem;color:var(--editor-muted, #888)}.debris-strings-editor__help{margin:0 0 .75rem;font-size:.8rem;color:var(--editor-muted, #888);line-height:1.3}.debris-strings-editor__add{display:flex;gap:.5rem;margin-bottom:.75rem}.debris-strings-editor__input{flex:1;padding:.4rem .6rem;background:var(--editor-input-bg, #1a1a2e);border:1px solid var(--editor-border, #333);border-radius:4px;color:var(--editor-text, #e0e0e0);font-size:.9rem}.debris-strings-editor__input:focus{outline:none;border-color:var(--editor-focus, #4a9eff)}.debris-strings-editor__btn{padding:.4rem .6rem;background:var(--editor-btn-bg, #0f3460);border:1px solid var(--editor-border, #333);border-radius:4px;color:var(--editor-btn-text, #e0e0e0);font-size:.85rem;cursor:pointer;transition:background .15s}.debris-strings-editor__btn:hover:not(:disabled){background:var(--editor-btn-hover, #1a4a7a)}.debris-strings-editor__btn:disabled{opacity:.5;cursor:not-allowed}.debris-strings-editor__btn--add{min-width:50px}.debris-strings-editor__btn--icon{padding:.25rem .4rem;font-size:.8rem;min-width:28px}.debris-strings-editor__btn--remove{padding:.25rem .4rem;background:var(--editor-danger-bg, #5c1a1a);font-size:.8rem}.debris-strings-editor__btn--remove:hover:not(:disabled){background:var(--editor-danger-hover, #7a2a2a)}.debris-strings-editor__empty{padding:1rem;text-align:center;color:var(--editor-muted, #888);font-size:.85rem;font-style:italic}.debris-strings-editor__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.debris-strings-editor__item{display:flex;align-items:center;gap:.5rem;padding:.4rem;background:var(--editor-item-bg, #16213e);border-radius:4px}.debris-strings-editor__index{min-width:24px;font-size:.8rem;color:var(--editor-muted, #888);text-align:right}.debris-strings-editor__item-input{flex:1;padding:.3rem .5rem;background:var(--editor-input-bg, #1a1a2e);border:1px solid var(--editor-border, #333);border-radius:3px;color:var(--editor-text, #e0e0e0);font-size:.85rem}.debris-strings-editor__item-input:focus{outline:none;border-color:var(--editor-focus, #4a9eff)}.debris-strings-editor__item-actions{display:flex;gap:.25rem}.fileIOModalBackdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:1000}.fileIOModal{background:#1e1e2e;border:1px solid #45475a;border-radius:8px;min-width:400px;max-width:500px;box-shadow:0 8px 32px #00000080}.fileIOModalHeader{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #45475a}.fileIOModalTitle{font-size:18px;font-weight:600;color:#cdd6f4;display:flex;align-items:center;gap:12px}.fileIOModalBadge{font-size:12px;padding:2px 8px;background:#89b4fa;color:#1e1e2e;border-radius:4px;font-weight:500}.fileIOModalCloseButton{background:none;border:none;color:#a6adc8;font-size:24px;cursor:pointer;padding:0 4px;line-height:1}.fileIOModalCloseButton:hover{color:#f38ba8}.fileIOModalBody{padding:20px}.fileIOModalSection{margin-bottom:16px}.fileIOModalDescription{color:#a6adc8;font-size:14px;line-height:1.5;margin:0 0 12px}.fileIOModalLevelInfo{background:#313244;padding:12px;border-radius:4px;color:#cdd6f4;font-size:14px}.fileIOModalFilename{background:#313244;padding:12px;border-radius:4px;color:#a6e3a1;font-size:14px}.fileIOModalError{background:rgba(243,139,168,.15);color:#f38ba8;padding:12px;border-radius:4px;font-size:13px;margin-bottom:16px;white-space:pre-wrap}.fileIOModalActions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid #45475a;margin-top:16px}.fileIOModalButton{padding:10px 20px;border-radius:4px;border:1px solid #45475a;background:#313244;color:#cdd6f4;cursor:pointer;font-size:14px;font-weight:500;transition:all .15s ease}.fileIOModalButton:hover{background:#45475a}.fileIOModalButtonPrimary{background:#89b4fa;color:#1e1e2e;border-color:#89b4fa}.fileIOModalButtonPrimary:hover{background:#b4befe;border-color:#b4befe}.fileIOModalHiddenInput{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.validationPanel{margin-top:12px;border:1px solid #333;border-radius:8px;padding:12px;background:#0f0f0f;color:#eee}.validationPanelHeader{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.validationPanelTitle{font-weight:700}.validationList{display:grid;gap:6px}.validationItem{padding:8px;border-radius:6px;border:1px solid #2a2a2a;font-size:13px}.validationItemError{border-color:#ff505099;background:rgba(255,80,80,.06)}.validationItemWarning{border-color:#ffc85099;background:rgba(255,200,80,.06)}.legacy-wave-panel{padding:.75rem;border-top:1px solid var(--editor-border, #333)}.legacy-wave-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.legacy-wave-panel__title{margin:0;font-size:.95rem;font-weight:600;color:var(--editor-text, #e0e0e0)}.legacy-wave-panel__add-btn{padding:.3rem .6rem;background:var(--editor-btn-bg, #0f3460);border:1px solid var(--editor-border, #333);border-radius:4px;color:var(--editor-btn-text, #e0e0e0);font-size:.8rem;cursor:pointer}.legacy-wave-panel__add-btn:hover{background:var(--editor-btn-hover, #1a4a7a)}.legacy-wave-panel__help{margin:0 0 .75rem;font-size:.8rem;color:var(--editor-muted, #888);line-height:1.3}.legacy-wave-panel__empty{padding:1rem;text-align:center;color:var(--editor-muted, #888);font-size:.85rem;font-style:italic}.legacy-wave-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.legacy-wave-panel__item{background:var(--editor-item-bg, #16213e);border-radius:4px;padding:.5rem}.legacy-wave-panel__item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.legacy-wave-panel__item-index{font-weight:600;font-size:.9rem;color:var(--editor-text, #e0e0e0)}.legacy-wave-panel__item-id{font-size:.75rem;color:var(--editor-muted, #888);font-family:monospace}.legacy-wave-panel__item-refs{font-size:.75rem;color:var(--editor-link, #4a9eff);margin-left:auto}.legacy-wave-panel__item-body{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.4rem}.legacy-wave-panel__field{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--editor-text, #e0e0e0)}.legacy-wave-panel__input{width:80px;padding:.25rem .4rem;background:var(--editor-input-bg, #1a1a2e);border:1px solid var(--editor-border, #333);border-radius:3px;color:var(--editor-text, #e0e0e0);font-size:.85rem}.legacy-wave-panel__input:focus{outline:none;border-color:var(--editor-focus, #4a9eff)}.legacy-wave-panel__spawns{font-size:.8rem;color:var(--editor-muted, #888)}.legacy-wave-panel__spawns-count{font-style:italic}.legacy-wave-panel__item-actions{display:flex;gap:.25rem;justify-content:flex-end}.legacy-wave-panel__btn{padding:.25rem .4rem;background:var(--editor-btn-bg, #0f3460);border:1px solid var(--editor-border, #333);border-radius:3px;color:var(--editor-btn-text, #e0e0e0);font-size:.75rem;cursor:pointer;min-width:24px}.legacy-wave-panel__btn:hover:not(:disabled){background:var(--editor-btn-hover, #1a4a7a)}.legacy-wave-panel__btn:disabled{opacity:.5;cursor:not-allowed}.legacy-wave-panel__btn--remove{background:var(--editor-danger-bg, #5c1a1a)}.legacy-wave-panel__btn--remove:hover:not(:disabled){background:var(--editor-danger-hover, #7a2a2a)}.legacy-wave-panel__wave-wrapper{background:var(--editor-item-bg, #16213e);border-radius:6px;padding:.5rem;margin-bottom:.5rem}.legacy-wave-panel__wave-id-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:.4rem;border-bottom:1px solid var(--editor-border, #333)}.legacy-wave-panel__wave-id-label{font-size:.75rem;color:var(--editor-muted, #888)}.legacy-wave-panel__wave-id-value{font-size:.8rem;font-family:monospace;background:var(--editor-code-bg, #0d0d1a);padding:.15rem .4rem;border-radius:3px;color:var(--editor-highlight, #4a9eff);cursor:pointer;-webkit-user-select:all;user-select:all}.legacy-wave-panel__wave-id-value:hover{background:var(--editor-code-hover, #1a1a2e)}.legacy-wave-panel__wave-refs{margin-left:auto;font-size:.75rem;color:var(--editor-link, #4a9eff)}.legacy-upgrades-panel{padding:.75rem;border-top:1px solid var(--editor-border, #333)}.legacy-upgrades-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.legacy-upgrades-panel__title{margin:0;font-size:.95rem;font-weight:600;color:var(--editor-text, #e0e0e0)}.legacy-upgrades-panel__add-btn{padding:.3rem .6rem;background:var(--editor-btn-bg, #0f3460);border:1px solid var(--editor-border, #333);border-radius:4px;color:var(--editor-btn-text, #e0e0e0);font-size:.8rem;cursor:pointer}.legacy-upgrades-panel__add-btn:hover{background:var(--editor-btn-hover, #1a4a7a)}.legacy-upgrades-panel__help{margin:0 0 .75rem;font-size:.8rem;color:var(--editor-muted, #888);line-height:1.3}.legacy-upgrades-panel__empty{padding:1rem;text-align:center;color:var(--editor-muted, #888);font-size:.85rem;font-style:italic}.legacy-upgrades-panel__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.legacy-upgrades-panel__item{background:var(--editor-item-bg, #16213e);border-radius:4px;padding:.5rem;border:1px solid transparent}.legacy-upgrades-panel__item--invalid{border-color:var(--editor-danger, #e74c3c);background:var(--editor-danger-bg, #2a1515)}.legacy-upgrades-panel__item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.legacy-upgrades-panel__item-pos{font-weight:600;font-size:.9rem;color:var(--editor-text, #e0e0e0);font-family:monospace}.legacy-upgrades-panel__item-type{font-size:.8rem;color:var(--editor-muted, #888)}.legacy-upgrades-panel__item-error{font-size:.75rem;color:var(--editor-danger, #e74c3c);margin-left:auto}.legacy-upgrades-panel__item-body{display:flex;flex-wrap:wrap;gap:.5rem}.legacy-upgrades-panel__field{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--editor-text, #e0e0e0)}.legacy-upgrades-panel__field input,.legacy-upgrades-panel__field select{padding:.2rem .4rem;background:var(--editor-input-bg, #1a1a2e);border:1px solid var(--editor-border, #333);border-radius:3px;color:var(--editor-text, #e0e0e0);font-size:.8rem}.legacy-upgrades-panel__field input:focus,.legacy-upgrades-panel__field select:focus{outline:none;border-color:var(--editor-focus, #4a9eff)}.legacy-upgrades-panel__field input[type=number]{width:70px}.legacy-upgrades-panel__input--error{border-color:var(--editor-danger, #e74c3c)!important}.legacy-upgrades-panel__btn{padding:.25rem .4rem;background:var(--editor-btn-bg, #0f3460);border:1px solid var(--editor-border, #333);border-radius:3px;color:var(--editor-btn-text, #e0e0e0);font-size:.75rem;cursor:pointer;min-width:24px}.legacy-upgrades-panel__btn:hover:not(:disabled){background:var(--editor-btn-hover, #1a4a7a)}.legacy-upgrades-panel__btn--remove{background:var(--editor-danger-bg, #5c1a1a);margin-left:auto}.legacy-upgrades-panel__btn--remove:hover:not(:disabled){background:var(--editor-danger-hover, #7a2a2a)}.legacy-upgrades-panel__add-form{background:var(--editor-form-bg, #1e1e3f);border:1px solid var(--editor-border, #333);border-radius:4px;padding:.75rem;margin-bottom:.75rem}.legacy-upgrades-panel__form-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:.5rem}.legacy-upgrades-panel__form-row label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--editor-text, #e0e0e0)}.legacy-upgrades-panel__form-row input,.legacy-upgrades-panel__form-row select{padding:.3rem .5rem;background:var(--editor-input-bg, #1a1a2e);border:1px solid var(--editor-border, #333);border-radius:3px;color:var(--editor-text, #e0e0e0);font-size:.8rem}.legacy-upgrades-panel__form-row input[type=number]{width:60px}.legacy-upgrades-panel__form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}.legacy-upgrades-panel__form-actions button{padding:.4rem .8rem;background:var(--editor-btn-bg, #0f3460);border:1px solid var(--editor-border, #333);border-radius:4px;color:var(--editor-btn-text, #e0e0e0);font-size:.85rem;cursor:pointer}.legacy-upgrades-panel__form-actions button:hover:not(:disabled){background:var(--editor-btn-hover, #1a4a7a)}.legacy-upgrades-panel__form-actions button:disabled{opacity:.5;cursor:not-allowed}.legacy-upgrades-panel__form-actions button[type=submit]{background:var(--editor-success-bg, #1a5c3a)}.legacy-upgrades-panel__form-actions button[type=submit]:hover:not(:disabled){background:var(--editor-success-hover, #2a7a4a)}.legacy-upgrades-panel__item--picking{border-color:var(--editor-highlight, #4a9eff);background:var(--editor-highlight-bg, #1a3a5e);box-shadow:0 0 8px var(--editor-highlight, #4a9eff)}.legacy-upgrades-panel__btn--pick{font-size:.7rem;padding:.15rem .35rem}.legacy-upgrades-panel__btn--active{background:var(--editor-highlight, #4a9eff);color:#000;animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.legacy-editor{display:flex;flex-direction:column;height:100%;background:var(--editor-bg, #1a1a2e);color:var(--editor-text, #e0e0e0)}.legacy-editor--empty{display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:var(--editor-muted, #888)}.legacy-editor__header{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--editor-header-bg, #16213e);border-bottom:1px solid var(--editor-border, #333)}.legacy-editor__title{margin:0;font-size:1.25rem;font-weight:600}.legacy-editor__dirty-indicator{color:var(--editor-warning, #ffa500);margin-left:.25rem}.legacy-editor__mode-badge{display:flex;align-items:center;gap:.5rem;padding:.3rem .6rem;background:var(--editor-highlight, #2a5a8a);border-radius:4px;font-size:.85rem;animation:mode-pulse 1.5s infinite}.legacy-editor__cancel-pick{padding:.15rem .4rem;background:var(--editor-danger-bg, #5c1a1a);border:1px solid var(--editor-border, #333);border-radius:3px;color:var(--editor-btn-text, #e0e0e0);font-size:.75rem;cursor:pointer}.legacy-editor__cancel-pick:hover{background:var(--editor-danger-hover, #7a2a2a)}@keyframes mode-pulse{0%,to{opacity:1}50%{opacity:.7}}.legacy-editor__validate-btn{margin-left:auto;padding:.4rem .8rem;background:var(--editor-btn-bg, #0f3460);color:var(--editor-btn-text, #e0e0e0);border:1px solid var(--editor-border, #333);border-radius:4px;cursor:pointer;font-size:.9rem}.legacy-editor__validate-btn:hover{background:var(--editor-btn-hover, #1a4a7a)}.legacy-editor__validation{padding:.5rem 1rem;background:var(--editor-validation-bg, #1e1e3f);border-bottom:1px solid var(--editor-border, #333)}.legacy-editor__main{display:flex;flex:1;overflow:hidden}.legacy-editor__sidebar{width:180px;flex-shrink:0;border-right:1px solid var(--editor-border, #333);overflow-y:auto}.legacy-editor__grid-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;overflow:auto;background:var(--editor-grid-bg, #0d0d1a)}.legacy-editor__properties{width:320px;flex-shrink:0;border-left:1px solid var(--editor-border, #333);overflow-y:auto}.legacy-grid-view{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;height:100%}.legacy-grid-view__grid{display:grid;grid-template-columns:repeat(20,minmax(24px,1fr));grid-template-rows:repeat(10,minmax(24px,1fr));background:var(--grid-bg, #0a0a15);border:2px solid var(--editor-border, #444);border-radius:4px;gap:1px;width:100%;max-width:900px;aspect-ratio:2 / 1;-webkit-user-select:none;user-select:none}.legacy-grid-view__grid[data-cols="10"]{grid-template-columns:repeat(10,minmax(32px,1fr))}.legacy-grid-view__grid[data-cols="15"]{grid-template-columns:repeat(15,minmax(28px,1fr))}.legacy-grid-view__grid[data-cols="20"]{grid-template-columns:repeat(20,minmax(24px,1fr))}.legacy-grid-view__grid[data-cols="25"]{grid-template-columns:repeat(25,minmax(20px,1fr))}.legacy-grid-view__grid[data-cols="30"]{grid-template-columns:repeat(30,minmax(18px,1fr))}.legacy-grid-view__grid[data-rows="5"]{grid-template-rows:repeat(5,minmax(40px,1fr))}.legacy-grid-view__grid[data-rows="10"]{grid-template-rows:repeat(10,minmax(24px,1fr))}.legacy-grid-view__grid[data-rows="15"]{grid-template-rows:repeat(15,minmax(20px,1fr))}.legacy-grid-view__grid[data-rows="20"]{grid-template-rows:repeat(20,minmax(18px,1fr))}.legacy-grid-view__info{font-size:.8rem;color:var(--editor-muted, #888)}.legacy-grid-cell{display:flex;align-items:center;justify-content:center;background:var(--cell-empty, #1a1a2e);border:1px solid var(--cell-border, #222);cursor:pointer;transition:background .1s ease,transform .1s ease;font-size:.7rem;min-height:20px}.legacy-grid-cell:hover{outline:2px solid var(--cell-hover, #4a9eff);outline-offset:-1px;z-index:1}.legacy-grid-cell--empty{background:var(--cell-empty, #1a1a2e)}.legacy-grid-cell--player{background:var(--cell-player, #2ecc71)}.legacy-grid-cell--portal-bracket{background:var(--cell-portal-bracket, #9b59b6)}.legacy-grid-cell--portal-brace{background:var(--cell-portal-brace, #e74c3c)}.legacy-grid-cell--portal-paren{background:var(--cell-portal-paren, #f39c12)}.legacy-grid-cell--slow{background:var(--cell-slow, #7f8c8d);background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.2) 4px,rgba(0,0,0,.2) 8px)}.legacy-grid-cell--slow-damage{background:var(--cell-slow-damage, #c0392b);background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,0,0,.3) 4px,rgba(0,0,0,.3) 8px)}.legacy-grid-cell--start{box-shadow:inset 0 0 0 3px gold}.legacy-grid-cell--upgrade{box-shadow:inset 0 0 0 2px #0ff}.legacy-grid-cell--upgrade-moving{box-shadow:inset 0 0 0 3px #4a9eff;animation:blink .5s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.legacy-grid-cell--placement-mode{cursor:crosshair}.legacy-grid-cell--placement-mode:hover{background:rgba(0,255,255,.3);outline-color:#0ff}.legacy-grid-cell__marker{font-size:.65rem;line-height:1}.legacy-grid-cell__symbol{font-size:1rem;font-weight:700;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.8)}@media (max-width: 1200px){.legacy-editor__sidebar{width:160px}.legacy-editor__properties{width:280px}}@media (max-width: 900px){.legacy-editor__main{flex-direction:column}.legacy-editor__sidebar,.legacy-editor__properties{width:100%;border:none;border-bottom:1px solid var(--editor-border, #333)}.legacy-editor__grid-container{min-height:300px}}.hud-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto 1fr;padding:20px;box-sizing:border-box;font-family:Courier New,Courier,monospace;color:#fff;text-shadow:1px 1px 2px black;z-index:1000;background:transparent}.hud-top-left{grid-column:1;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.hud-top-left--insert{transform:scale(1.2);transform-origin:top left;border:2px solid #ff3333;border-radius:8px;padding:10px;background:rgba(0,0,0,.35);box-shadow:0 0 12px #ff333373}.hud-top-center{grid-column:2;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:10px}.hud-mode{display:flex;align-items:center;gap:10px;padding:6px 10px;border:1px solid rgba(255,255,255,.35);border-radius:8px;background:rgba(0,0,0,.35)}.hud-mode-label{font-weight:700;color:#ffffffd9}.hud-mode-value{font-weight:700;color:#fff}.hud-boss-status{font-weight:700;color:#fc0}.hud-top-right{grid-column:3;display:flex;flex-direction:column;gap:10px;align-items:flex-end}.hud-top-right-row,.status-bar{display:flex;align-items:center;gap:10px}.bar-label{font-weight:700;width:20px}.bar-container{width:150px;height:10px;background-color:#333;border:1px solid #666}.bar-fill{height:100%;transition:width .1s ease-out,background-color .1s ease-out;width:0%}.bar-fill--p0{width:0%}.bar-fill--p1{width:5%}.bar-fill--p2{width:10%}.bar-fill--p3{width:15%}.bar-fill--p4{width:20%}.bar-fill--p5{width:25%}.bar-fill--p6{width:30%}.bar-fill--p7{width:35%}.bar-fill--p8{width:40%}.bar-fill--p9{width:45%}.bar-fill--p10{width:50%}.bar-fill--p11{width:55%}.bar-fill--p12{width:60%}.bar-fill--p13{width:65%}.bar-fill--p14{width:70%}.bar-fill--p15{width:75%}.bar-fill--p16{width:80%}.bar-fill--p17{width:85%}.bar-fill--p18{width:90%}.bar-fill--p19{width:95%}.bar-fill--p20{width:100%}.bar-fill--shield.bar-fill--low,.bar-fill--charge.bar-fill--low{background-color:red}.bar-fill--shield.bar-fill--mid,.bar-fill--charge.bar-fill--mid{background-color:orange}.bar-fill--shield.bar-fill--high,.bar-fill--charge.bar-fill--high{background-color:#ff0}.power-stack{display:flex;flex-direction:column-reverse;gap:2px}.power-line{width:20px;height:4px;background-color:#333;border:1px solid #555}.power-line.active{background-color:#ff0;box-shadow:0 0 5px #ff0}.lives-display{display:flex;gap:5px}.life-icon{width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:16px solid #00ff00}.score-display{font-size:24px;font-weight:700}.secondary-weapon{display:flex;align-items:center;gap:10px}.ammo-icon{width:16px;height:16px;border-radius:50%;background-color:red;border:2px solid white}.ammo-count{font-size:20px}.hint-display{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%) scale(1.35);background:rgba(0,0,0,.8);padding:15px 25px;border-radius:8px;border:2px solid #ffcc00;font-size:28px;text-align:center;max-width:80%;z-index:1100;animation:hintSettle .7s ease 1s forwards}@keyframes hintSettle{to{top:calc(100% - 90px);transform:translate(-50%,-100%) scale(1);font-size:18px}}.hint-label{color:#fc0;font-weight:700}.boss-gun-hp-container{display:flex;flex-direction:row;gap:12px;margin-top:10px;padding:8px 12px;background:rgba(0,0,0,.6);border-radius:4px;border:1px solid rgba(255,50,50,.5)}.boss-gun-hp-bar{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}.boss-gun-hp-bar--dead{opacity:.4}.boss-gun-hp-bar__label{font-size:10px;color:#f66;font-weight:700;text-transform:uppercase;letter-spacing:1px}.boss-gun-hp-bar__track{width:100%;height:8px;background:rgba(100,0,0,.5);border-radius:4px;overflow:hidden;border:1px solid rgba(255,100,100,.3)}.boss-gun-hp-bar__fill{height:100%;background:linear-gradient(90deg,#ff3333,#ff6666);transition:width .2s ease-out;border-radius:3px}.boss-gun-hp-bar__fill--p0{width:0%}.boss-gun-hp-bar__fill--p5{width:5%}.boss-gun-hp-bar__fill--p10{width:10%}.boss-gun-hp-bar__fill--p15{width:15%}.boss-gun-hp-bar__fill--p20{width:20%}.boss-gun-hp-bar__fill--p25{width:25%}.boss-gun-hp-bar__fill--p30{width:30%}.boss-gun-hp-bar__fill--p35{width:35%}.boss-gun-hp-bar__fill--p40{width:40%}.boss-gun-hp-bar__fill--p45{width:45%}.boss-gun-hp-bar__fill--p50{width:50%}.boss-gun-hp-bar__fill--p55{width:55%}.boss-gun-hp-bar__fill--p60{width:60%}.boss-gun-hp-bar__fill--p65{width:65%}.boss-gun-hp-bar__fill--p70{width:70%}.boss-gun-hp-bar__fill--p75{width:75%}.boss-gun-hp-bar__fill--p80{width:80%}.boss-gun-hp-bar__fill--p85{width:85%}.boss-gun-hp-bar__fill--p90{width:90%}.boss-gun-hp-bar__fill--p95{width:95%}.boss-gun-hp-bar__fill--p100{width:100%}.boss-gun-hp-bar__value{font-size:10px;color:#faa;font-family:Courier New,monospace}.input-viz-container{background-color:#000000b3;border:1px solid #00ffff;padding:5px 10px;border-radius:4px;font-family:Courier New,Courier,monospace;color:#0ff;display:flex;flex-direction:column;align-items:center;min-width:60px}.input-viz-label{font-size:10px;color:#aaa;text-transform:uppercase;margin-bottom:2px}.input-viz-prefix{font-size:24px;font-weight:700;text-shadow:0 0 5px #00ffff}.debris-target-display{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:24px;font-family:Courier New,Courier,monospace;background:rgba(0,0,0,.8);padding:20px;border:2px solid #00ff00;border-radius:5px;pointer-events:none;text-shadow:0 0 5px #00ff00;display:flex;flex-direction:column;align-items:center;gap:5px}.debris-target-display .active-line{font-size:32px;font-weight:700;margin-bottom:10px}.debris-target-display .queue-line{color:#888;font-size:18px}.debris-target-display .completed{color:#ff0}.debris-target-display .remaining{color:#fff;opacity:.7}.vim-commander-insert-viz{position:absolute;bottom:20px;left:50%;transform:translate(-50%);color:#0f0;font-family:monospace;font-size:24px;font-weight:700;text-shadow:0 0 10px #00ff00;pointer-events:none}.vim-commander-command-line{position:absolute;bottom:0;left:0;width:100%;background-color:#000c;color:#fff;font-family:monospace;font-size:16px;padding:5px;box-sizing:border-box;border-top:1px solid #333}.vim-commander-tutorial{position:absolute;top:80px;right:0;width:20%;height:calc(100% - 80px);background:rgba(0,0,0,.9);border-left:2px solid #0f0;border-top:2px solid #0f0;padding:20px;color:#0f0;font-family:monospace;z-index:1000;pointer-events:auto;box-sizing:border-box;overflow-y:auto;margin:0}.vim-commander-tutorial h2{margin-top:0}.vim-commander-tutorial ul{list-style:none;padding:0;text-align:left}.vim-commander-tutorial button{background-color:#0f0;color:#000;border:none;padding:10px 20px;font-family:monospace;cursor:pointer;font-weight:700}.vim-commander-tutorial button:hover{background-color:#fff}.hud-container--visual:before,.hud-container--visual-line:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 20%,rgba(255,170,0,.14),rgba(0,0,0,0) 55%),radial-gradient(circle at 50% 80%,rgba(255,0,255,.1),rgba(0,0,0,0) 55%),linear-gradient(to bottom,rgba(0,0,0,.06),rgba(0,0,0,.02))}.hud-container--visual>*,.hud-container--visual-line>*{position:relative;z-index:1}.hud-container--visual .hud-mode,.hud-container--visual-line .hud-mode{border-color:#ffaa00b3;box-shadow:0 0 14px #ffaa0059}.hud-container--visual .hud-mode-value,.hud-container--visual-line .hud-mode-value{color:#fa0}.hud-container--visual .hud-mode:after{content:"SELECT";margin-left:10px;font-weight:700;color:#ff00ffd9}.hud-container--visual-line .hud-mode:after{content:"LINE";margin-left:10px;font-weight:700;color:#ff00ffd9}.pause-menu{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:50}.pause-menu__panel{pointer-events:none;min-width:420px;max-width:720px;padding:18px 20px;border:1px solid rgba(0,255,0,.55);background:rgba(0,0,0,.65);color:#0f0;font-family:monospace}.pause-menu__title{letter-spacing:2px;font-size:18px;margin-bottom:10px}.pause-menu__subtitle{font-size:14px;margin-bottom:8px}.pause-menu__items{display:grid;gap:8px}.pause-menu__item{font-size:14px;line-height:1.2}.pause-menu__key{display:inline-block;min-width:64px;color:#fff}.pause-menu__muted{color:#00ff00b3}.pause-menu__help-text{font-size:13px;color:#00ff00e6;line-height:1.35}.pause-menu__hint{margin-top:12px;font-size:12px;color:#00ff00b3}.start-screen{position:absolute;top:0;left:0;width:100%;height:100%;display:block;background-color:#111;color:#0f0;font-family:monospace;z-index:100;pointer-events:auto}.start-screen-background{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1}.start-screen-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;pointer-events:none;width:100vw;height:100vh}.start-screen-overlay .menu-options,.start-screen-overlay .menu-item,.start-screen-overlay .key,.start-screen-overlay button{pointer-events:auto}.splash-animation{position:relative;width:100%;height:100%;overflow:hidden}.splash-animation__canvas{position:absolute;top:0;right:0;bottom:0;left:0}.splash-animation__scanlines{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(rgba(18,16,16,0) 50%,rgba(0,0,0,.2) 50%),linear-gradient(90deg,rgba(255,0,0,.05),rgba(0,255,0,.02),rgba(0,0,255,.05));background-size:100% 3px,3px 100%;pointer-events:none;z-index:2}.splash-animation__vignette{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle,rgba(0,0,0,0) 60%,rgba(0,0,0,.7) 100%);pointer-events:none;z-index:3}.menu-options{display:flex;flex-direction:column;gap:1rem}.menu-options .menu-item{background:transparent;border:2px solid #0f0;color:#0f0;padding:1rem 2rem;font-size:1.5rem;font-family:monospace;transition:all .2s;text-align:center}.menu-options .menu-item .key{font-weight:700;text-decoration:underline}.menu-options .menu-item.disabled{opacity:.5;border-color:#040;color:#040}.audio-unlock-prompt{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:9999;background:rgba(0,0,0,.85);border:1px solid #0f0;border-radius:6px;padding:12px 24px;cursor:pointer;font-family:Courier New,monospace;font-size:14px;color:#0f0;text-shadow:0 0 4px #0f0;box-shadow:0 0 10px #00ff004d;animation:prompt-pulse 1.5s ease-in-out infinite}.audio-unlock-prompt:hover{background:rgba(0,40,0,.9);border-color:#0f0;box-shadow:0 0 15px #00ff0080}.audio-unlock-prompt:active{transform:translate(-50%) scale(.98)}@keyframes prompt-pulse{0%,to{opacity:1}50%{opacity:.7}}.audio-unlock-prompt--hidden{display:none}.settings-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;font-family:Courier New,Courier,monospace;color:#dfffd6}.settings-panel__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.settings-panel__window{position:relative;width:min(720px,90vw);max-height:85vh;overflow-y:auto;border:1px solid rgba(0,255,0,.55);background:rgba(0,0,0,.9);padding:20px 24px;box-shadow:0 0 30px #0f03;z-index:1;pointer-events:auto}.settings-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.settings-panel__title{font-size:18px;letter-spacing:2px;text-transform:uppercase;color:#00ff9d}.settings-panel__close{border:1px solid rgba(0,255,0,.55);background:rgba(0,0,0,.4);color:#dfffd6;padding:6px 12px;cursor:pointer;text-transform:uppercase;font-size:12px}.settings-panel__close:hover{background:rgba(0,255,0,.1)}.settings-panel__section{border-top:1px solid rgba(0,255,0,.2);padding-top:14px;margin-top:12px;display:grid;gap:12px}.settings-panel__section-title{font-size:14px;color:#9fffc0;text-transform:uppercase;letter-spacing:1px}.settings-panel__field{display:grid;grid-template-columns:180px 1fr auto;gap:12px;align-items:center}.settings-panel__label{font-size:13px;color:#dfffd6}.settings-panel__value{font-size:12px;color:#9fffc0;min-width:44px;text-align:right}.settings-panel__range{width:100%}.settings-panel__select{width:100%;background:rgba(0,0,0,.7);color:#dfffd6;border:1px solid rgba(0,255,0,.4);padding:6px 8px}.settings-panel__checkbox{grid-template-columns:auto 1fr}.settings-panel__checkbox input{width:16px;height:16px;margin:0}.settings-panel__footer{margin-top:16px;display:flex;justify-content:flex-end}.settings-panel__hint{font-size:12px;color:#9fffc0cc}@media (max-width: 600px){.settings-panel__field{grid-template-columns:1fr;align-items:start}.settings-panel__value{text-align:left}}
