.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;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;display:grid;grid-template-columns:minmax(170px,1fr) minmax(250px,1.05fr) minmax(340px,1fr);grid-template-rows:auto 1fr;gap:12px;padding:clamp(8px,1.6vw,18px);box-sizing:border-box;font-family:Courier New,Courier,monospace;color:#dffefa;text-shadow:0 0 6px rgba(118,255,239,.75),1px 1px 2px #000;z-index:1000;background:transparent;overflow:hidden}.hud-container:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:.32;background:linear-gradient(rgba(255,255,255,.04) 50%,rgba(0,0,0,.08) 50%),radial-gradient(circle at 50% 58%,rgba(0,0,0,0) 42%,rgba(0,0,0,.42) 100%);background-size:100% 3px,100% 100%}.hud-container>*{z-index:2}.hud-top-left,.hud-mode-panel,.score-display,.hud-weapon-panel{position:relative;box-sizing:border-box;border:1px solid rgba(109,255,235,.62);border-radius:8px;background:linear-gradient(180deg,rgba(10,43,44,.72),rgba(2,13,16,.68)),repeating-linear-gradient(90deg,rgba(120,255,235,.07) 0 1px,transparent 1px 12px);box-shadow:0 0 18px #54ffed52,inset 0 0 18px #54ffed29,inset 0 0 0 1px #ddfff91c;overflow:hidden}.hud-top-left:before,.hud-mode-panel:before,.score-display:before,.hud-weapon-panel:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:1px solid rgba(118,255,239,.18);border-radius:6px;pointer-events:none}.hud-top-left{grid-column:1;justify-self:start;align-self:start;display:flex;flex-direction:column;gap:7px;min-width:clamp(160px,16vw,215px);padding:8px 10px 9px}.hud-top-left--insert{border-color:#ff4a4adb;box-shadow:0 0 18px #ff4a4a66,inset 0 0 18px #ff4a4a2e}.hud-shield-row{display:flex;align-items:center;gap:8px;min-width:0}.hud-shield-value{color:#d9fff4;font-size:13px;line-height:1;min-width:34px}.hud-top-center{grid-column:2;justify-self:center;align-self:start;display:flex;flex-direction:column;align-items:center;gap:10px}.hud-mode-panel{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:clamp(235px,24vw,310px);padding:11px 18px 9px;background:radial-gradient(ellipse at 50% -18%,rgba(128,255,239,.3),transparent 55%),linear-gradient(180deg,rgba(14,32,42,.76),rgba(5,12,17,.72)),repeating-linear-gradient(135deg,rgba(116,255,234,.08) 0 1px,transparent 1px 11px)}.hud-mode{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;min-height:24px;font-weight:700;font-size:clamp(16px,1.65vw,21px);line-height:1.1;text-align:center}.hud-mode-label{color:#ff87ef;text-shadow:0 0 9px rgba(255,100,230,.95)}.hud-mode-value{color:#a8ff7f;text-shadow:0 0 9px rgba(113,255,92,.9)}.hud-boss-status{color:#ffd266;font-size:13px;font-weight:700;text-shadow:0 0 8px rgba(255,190,74,.8)}.hud-top-right{grid-column:3;justify-self:end;align-self:start;display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;min-width:0}.hud-top-right-row{display:flex;align-items:center;gap:8px}.hud-weapon-panel{display:flex;flex-direction:column;gap:5px;width:clamp(176px,18vw,196px);padding:8px 9px 7px}.hud-weapon-panel .bar-container{width:clamp(68px,7.5vw,78px)}.hud-weapon-panel .power-stack{gap:3px}.hud-weapon-panel .power-line{width:9px}.status-bar{display:flex;align-items:center;gap:6px;min-width:0}.bar-label{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:1px solid rgba(129,255,235,.7);border-radius:5px;color:#e6fff8;background:rgba(10,42,43,.74);box-shadow:inset 0 0 9px #62ffe22e;font-weight:700;font-size:14px;line-height:1}.bar-container{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;width:clamp(94px,12vw,132px);height:16px;padding:2px;box-sizing:border-box;border:1px solid rgba(129,255,235,.42);border-radius:7px;background:rgba(5,12,13,.76);box-shadow:inset 0 0 10px #000000bf}.bar-segment{min-width:0;border-radius:3px;border:1px solid rgba(190,255,205,.08);background:rgba(90,95,65,.48)}.status-bar--shield.bar-fill--low .bar-segment--active,.status-bar--charge.bar-fill--low .bar-segment--active{background:linear-gradient(180deg,#ff816d,#f23d34);box-shadow:0 0 8px #ff5348e6}.status-bar--shield.bar-fill--mid .bar-segment--active,.status-bar--charge.bar-fill--mid .bar-segment--active{background:linear-gradient(180deg,#ffe778,#ffb13b);box-shadow:0 0 8px #ffcf3fe6}.status-bar--shield.bar-fill--high .bar-segment--active,.status-bar--charge.bar-fill--high .bar-segment--active{background:linear-gradient(180deg,#caff7d,#62ec58);box-shadow:0 0 8px #74ff65e6}.power-stack{display:flex;flex-direction:row;align-items:center;gap:4px;min-height:28px}.power-line{width:12px;height:24px;border:1px solid rgba(190,255,205,.12);border-radius:3px;background:rgba(90,95,65,.42);box-shadow:inset 0 0 6px #000000b8}.power-line.active{background:linear-gradient(180deg,#8dff8a,#2ceb63);border-color:#c2ffcb8f;box-shadow:0 0 9px #61ff6de0,inset 0 0 6px #f5ffdf6b}.lives-display{display:flex;gap:5px;align-items:center;min-height:16px;padding-left:2px}.life-icon{width:15px;height:15px;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(180deg,#d7ff8a,#86ff5a);filter:drop-shadow(0 0 4px rgba(132,255,89,.9))}.score-display{display:flex;align-items:center;justify-content:center;gap:10px;min-width:clamp(150px,17vw,196px);padding:10px 14px;font-size:clamp(18px,2vw,25px);font-weight:700;line-height:1;color:#cffff9;white-space:nowrap}.score-display__label{color:#9dfff0;text-shadow:0 0 8px rgba(119,255,239,.9)}.score-display__value{color:#e7fff9;text-shadow:0 0 8px rgba(210,255,248,.86)}.secondary-weapon{display:flex;justify-content:flex-end;align-items:center;gap:4px;color:#dffefa;font-size:11px;line-height:1}.yank-inventory{position:absolute;left:clamp(8px,1.6vw,18px);bottom:clamp(8px,1.8vh,16px);display:flex;flex-direction:row;align-items:center;gap:10px;max-width:min(820px,calc(100vw - 300px));min-width:0;padding:6px 12px;border:1px solid rgba(255,93,238,.3);border-radius:8px;background:rgba(5,11,15,.74);box-shadow:inset 0 0 12px #00000080,0 0 16px #ff4ae41f;z-index:3}.yank-inventory__title{margin:0;flex:0 0 auto;color:#e1fff9b8;font-size:9px;font-weight:700;line-height:1.15;letter-spacing:.09em;white-space:nowrap}.yank-inventory__slots{display:flex;flex-direction:row;align-items:stretch;gap:6px;min-width:0}.yank-inventory__slot{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;min-height:27px;padding:3px 6px 3px 4px;box-sizing:border-box;border:1px solid rgba(181,211,207,.2);border-radius:4px;background:rgba(5,13,16,.58);color:#d8e2e094;font-size:9px;line-height:1.15;box-shadow:inset 0 0 7px #00000075}.yank-inventory__slot--paste{border-color:#ffd25c42;color:#ffebab9e}.yank-inventory__slot--register{align-items:center;max-width:190px}.yank-inventory__slot--ready{border-color:#ff62e87a;background:rgba(39,7,38,.4);color:#ff9cf3;text-shadow:0 0 7px rgba(255,74,228,.9)}.yank-inventory__slot--paste.yank-inventory__slot--ready{border-color:#ffd25c9e;background:rgba(48,35,4,.42);color:#ffe47e;text-shadow:0 0 7px rgba(255,204,70,.86)}.yank-inventory__key{display:grid;place-items:center;width:26px;height:19px;box-sizing:border-box;border:1px solid currentColor;border-radius:3px;font-weight:700;line-height:1;text-shadow:inherit}.yank-inventory__slot-name,.yank-inventory__empty{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yank-inventory__count,.yank-inventory__item-count{font-weight:700;white-space:nowrap}.yank-inventory__contents{display:flex;flex-wrap:wrap;gap:2px 6px;min-width:0;margin:1px 0 0;padding:0;list-style:none}.yank-inventory__item{display:inline-flex;gap:2px;min-width:0;white-space:nowrap}.yank-inventory__feedback{position:absolute;left:12px;bottom:calc(100% + 4px);max-width:min(70vw,520px);min-height:0;overflow:hidden;color:#ffe48c;font-size:10px;line-height:1.15;text-shadow:0 0 8px rgba(0,0,0,.8);text-overflow:ellipsis;white-space:nowrap}.yank-inventory__feedback--success{color:#a8ff93}.yank-inventory__feedback--warning{color:#ffe48c}.ammo-label{color:#d6fff7}.ammo-count{min-width:1.4ch;color:#fff2a8;font-weight:700;text-align:right;text-shadow:0 0 7px rgba(255,215,92,.78)}.hint-display{position:absolute;left:50%;bottom:clamp(70px,11vh,104px);transform:translate(-50%);box-sizing:border-box;max-width:min(610px,72vw);padding:9px 15px;border:1px solid rgba(255,213,116,.78);border-radius:6px;background:rgba(4,6,8,.84);color:#f5f2df;font-size:clamp(12px,1.25vw,15px);line-height:1.35;text-align:center;box-shadow:0 0 14px #ffc95929,inset 0 0 12px #ffd15c14;z-index:1100;animation:hintGlow 2.2s ease-in-out infinite alternate}.hint-label{color:#ffd86c;font-weight:700}@keyframes hintGlow{0%{box-shadow:0 0 10px #ffc9591f,inset 0 0 10px #ffd15c0f}to{box-shadow:0 0 18px #ffc9593d,inset 0 0 14px #ffd15c1f}}.boss-gun-hp-container{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:4px;padding:8px 10px;background:rgba(5,8,10,.72);border-radius:6px;border:1px solid rgba(255,88,88,.56);box-shadow:0 0 14px #ff3f3f2e}.boss-gun-hp-bar{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}.boss-gun-hp-bar--dead{opacity:.42}.boss-gun-hp-bar__label{font-size:10px;color:#ff8b8b;font-weight:700;text-transform:uppercase}.boss-gun-hp-bar__track{width:100%;height:8px;overflow:hidden;border:1px solid rgba(255,104,104,.38);border-radius:4px;background:rgba(80,6,6,.58)}.boss-gun-hp-bar__fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#ff3333,#ff7777);transition:width .2s ease-out;box-shadow:0 0 8px #ff4b4bc7}.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:#ffc2c2;font-family:Courier New,Courier,monospace}@media (max-width: 980px){.hud-container{grid-template-columns:minmax(132px,1fr) minmax(200px,1fr) minmax(250px,1fr);gap:8px}.hud-top-right{gap:8px}.score-display{min-width:142px;padding-inline:10px}.hud-weapon-panel{min-width:130px}.bar-container{width:84px}.power-line{width:10px}.yank-inventory__slot{grid-template-columns:25px minmax(0,1fr) auto;gap:4px;padding-inline:3px 5px}.yank-inventory__key{width:25px}}@media (max-width: 760px){.hud-container{grid-template-columns:1fr 1fr;grid-template-rows:auto auto 1fr}.hud-top-center{grid-column:1 / -1;grid-row:2;justify-self:center}.hud-top-right{grid-column:2;flex-direction:column;align-items:flex-end}.score-display{min-width:130px}.hint-display{max-width:calc(100vw - 28px)}}.input-viz-container{position:relative;min-width:116px;min-height:31px;box-sizing:border-box;background:linear-gradient(180deg,rgba(24,79,83,.74),rgba(6,21,26,.8));border:1px solid rgba(107,255,237,.72);padding:6px 14px;border-radius:7px;font-family:Courier New,Courier,monospace;color:#adfff6;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 11px #49ffef61,inset 0 0 10px #5cffeb1f;text-shadow:0 0 7px rgba(115,255,244,.88)}.input-viz-label{color:#b7fff7;font-size:15px;font-weight:700;line-height:1;text-transform:uppercase}.input-viz-prefix{margin-top:3px;min-height:18px;color:#fff;font-size:18px;font-weight:700;line-height:1;text-shadow:0 0 8px rgba(229,255,255,.92)}.input-viz-prefix:empty{display:none}.input-viz-container--active .input-viz-label{color:#81fff1;font-size:10px}.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:clamp(112px,15vh,140px);right:clamp(8px,1.6vw,18px);bottom:clamp(8px,1.6vw,18px);width:clamp(205px,20vw,250px);height:auto;background:linear-gradient(rgba(94,255,207,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(94,255,207,.09) 1px,transparent 1px),linear-gradient(180deg,rgba(11,54,42,.84),rgba(4,14,17,.9));background-size:12px 12px,12px 12px,100% 100%;border:1px solid rgba(105,255,221,.72);border-radius:8px;padding:12px 10px;color:#bdfbd2;font-family:monospace;z-index:1001;pointer-events:none;box-sizing:border-box;overflow:hidden;margin:0;box-shadow:0 0 18px #5dffdc6b,inset 0 0 22px #5dffdc29,inset 0 0 0 4px #73ffe114;text-shadow:0 0 7px rgba(124,255,151,.72)}.vim-commander-tutorial:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px solid rgba(119,255,227,.26);border-radius:6px;pointer-events:none}.vim-commander-tutorial__content{position:relative;z-index:1;display:flex;flex-direction:column;height:100%}.vim-commander-tutorial h2{margin:0 0 7px;color:#7dff82;font-size:clamp(17px,1.8vw,21px);line-height:1.1;text-align:center;font-weight:700}.vim-commander-tutorial p{margin:0 0 8px;color:#e3ffe5;font-size:clamp(12px,1.1vw,14px);line-height:1.2}.vim-commander-tutorial ul{list-style:none;padding:0;margin:0;text-align:left}.vim-commander-tutorial li{display:grid;grid-template-columns:minmax(46px,auto) 1fr;align-items:center;gap:7px;min-height:28px;box-sizing:border-box;margin-bottom:6px;padding:5px 6px;border:1px solid rgba(117,255,210,.28);border-radius:4px;background:rgba(12,50,38,.58);box-shadow:inset 0 0 8px #51ffb914}.vim-commander-tutorial li.vim-commander-tutorial__control--wide{grid-template-columns:1fr;gap:4px}.vim-commander-tutorial__keys{display:flex;align-items:center;flex-wrap:wrap;gap:3px;min-width:0}.vim-commander-tutorial__key{display:inline-grid;place-items:center;min-width:16px;min-height:19px;padding:0 3px;border:1px solid rgba(209,255,218,.38);border-radius:3px;background:rgba(3,17,14,.78);color:#eaffea;font-size:12px;line-height:1;font-weight:700;text-shadow:0 0 6px rgba(209,255,218,.8)}.vim-commander-tutorial__slash{color:#e1ffdfa8;font-size:12px}.vim-commander-tutorial__action{min-width:0;color:#baf2c8;font-size:clamp(11px,1vw,13px);line-height:1.2;overflow-wrap:anywhere}.vim-commander-tutorial__scope{position:relative;flex:1;min-height:68px;margin-top:6px;border-top:1px solid rgba(117,255,210,.2);background:linear-gradient(rgba(94,255,207,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(94,255,207,.1) 1px,transparent 1px);background-size:14px 14px}.vim-commander-tutorial__scope:after{content:"";position:absolute;right:14px;bottom:18px;width:34px;height:34px;background:linear-gradient(45deg,transparent 35%,rgba(231,255,246,.86) 36% 64%,transparent 65%),linear-gradient(-45deg,transparent 35%,rgba(231,255,246,.86) 36% 64%,transparent 65%);filter:drop-shadow(0 0 8px rgba(231,255,246,.78));opacity:.82}@media (max-width: 980px){.vim-commander-tutorial{top:118px;width:190px}.vim-commander-tutorial li{grid-template-columns:1fr;gap:3px;min-height:0}}@media (max-width: 760px){.vim-commander-tutorial{display:none}}@media (max-height: 720px) and (min-width: 761px){.vim-commander-tutorial{top:96px;padding:8px}.vim-commander-tutorial h2{margin-bottom:4px;font-size:16px}.vim-commander-tutorial p{margin-bottom:4px}.vim-commander-tutorial li,.vim-commander-tutorial li.vim-commander-tutorial__control--wide{grid-template-columns:minmax(42px,auto) 1fr;gap:4px;min-height:22px;margin-bottom:3px;padding:2px 4px}.vim-commander-tutorial__key{min-height:16px;font-size:11px}.vim-commander-tutorial__action{font-size:11px}.vim-commander-tutorial__scope{display:none}}.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}.longscan-warning{position:absolute;top:clamp(86px,13vh,136px);left:50%;z-index:1600;pointer-events:none;transform:translate(-50%);width:min(560px,calc(100vw - 28px));box-sizing:border-box;padding:12px 16px 11px;border:2px solid rgba(255,66,66,.9);border-radius:6px;background:linear-gradient(180deg,rgba(45,2,6,.9),rgba(7,0,0,.88)),repeating-linear-gradient(90deg,rgba(255,70,70,.13) 0 1px,transparent 1px 12px);color:#ffd8d8;font-family:Courier New,Courier,monospace;text-align:center;text-shadow:0 0 10px rgba(255,36,36,.95);box-shadow:0 0 24px #ff22227a,inset 0 0 18px #ff22222e;animation:longscanWarningBlink .85s steps(2,start) infinite}.longscan-warning__title{font-size:clamp(18px,2.8vw,30px);font-weight:700;line-height:1.05}.longscan-warning__meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-top:7px;color:#fff1a8;font-size:clamp(12px,1.5vw,15px);font-weight:700}.longscan-warning__timer{color:#fff}.longscan-warning__meter{height:6px;margin-top:9px;overflow:hidden;border-radius:3px;background:rgba(30,0,0,.88);box-shadow:inset 0 0 7px #000000e6}.longscan-warning__meter-fill{width:100%;height:100%;transform-origin:left center;background:linear-gradient(90deg,#ff3030,#ffd54f);box-shadow:0 0 10px #ff4a4ad9}.longscan-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1600;pointer-events:none;display:grid;place-items:center;padding:clamp(16px,4vw,46px);box-sizing:border-box;color:#e8fff8;text-shadow:0 0 7px rgba(130,255,231,.72);background:linear-gradient(rgba(210,255,246,.035) 50%,rgba(0,0,0,.09) 50%),radial-gradient(ellipse at center,rgba(2,18,20,.18),rgba(0,0,0,.58) 72%);background-size:100% 4px,100% 100%}.longscan-frame{position:relative;box-sizing:border-box;width:min(920px,calc(100vw - 32px));min-height:min(540px,calc(100vh - 40px));max-height:calc(100vh - 40px);overflow:hidden;display:flex;flex-direction:column;gap:clamp(12px,2vh,18px);padding:clamp(18px,3vw,34px);border:1px solid rgba(134,255,232,.68);border-radius:8px;background:linear-gradient(180deg,rgba(7,27,33,.92),rgba(1,8,12,.94)),repeating-linear-gradient(90deg,rgba(127,255,231,.055) 0 1px,transparent 1px 18px);box-shadow:0 0 32px #5dffe757,inset 0 0 28px #5dffe721,inset 0 0 0 1px #e8fffa21}.longscan-frame:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(255,117,234,.18);border-radius:6px;pointer-events:none}.longscan-frame__corner{position:absolute;width:34px;height:34px;border-color:#ff7be8;filter:drop-shadow(0 0 8px rgba(255,104,226,.8))}.longscan-frame__corner--tl{top:10px;left:10px;border-top:2px solid;border-left:2px solid}.longscan-frame__corner--tr{top:10px;right:10px;border-top:2px solid;border-right:2px solid}.longscan-frame__corner--bl{bottom:10px;left:10px;border-bottom:2px solid;border-left:2px solid}.longscan-frame__corner--br{right:10px;bottom:10px;border-right:2px solid;border-bottom:2px solid}.longscan-header{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.longscan-kicker{color:#ffbd63;font-size:clamp(12px,1.4vw,16px);font-weight:700;letter-spacing:0}.longscan-title{margin:2px 0 0;color:#a8ff78;font-size:clamp(34px,6vw,68px);line-height:.92;letter-spacing:0;text-shadow:0 0 14px rgba(134,255,104,.82)}.longscan-timer{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:98px}.longscan-timer__label,.longscan-readout__label{color:#99fff0;font-size:12px;font-weight:700}.longscan-timer__value{color:#fff2a6;font-size:clamp(24px,4vw,42px);font-weight:700;line-height:1;text-shadow:0 0 12px rgba(255,216,104,.75)}.longscan-meter{position:relative;z-index:1;height:12px;overflow:hidden;border:1px solid rgba(255,218,115,.42);border-radius:6px;background:rgba(30,10,5,.62);box-shadow:inset 0 0 10px #000000b8}.longscan-meter__fill{width:100%;height:100%;transform-origin:left center;background:linear-gradient(90deg,#ff564e,#ffd766,#88ff74);box-shadow:0 0 12px #ffd6589e}.longscan-carrier{position:relative;z-index:1;flex:1 1 auto;min-height:120px;padding:clamp(14px,2vw,20px);border:1px solid rgba(120,255,229,.35);border-radius:6px;background:rgba(1,10,13,.84);color:#d8fff8;font-size:clamp(20px,3vw,34px);line-height:1.42;word-break:break-word;overflow-wrap:anywhere;overflow-y:auto;box-shadow:inset 0 0 18px #000000bd}.longscan-carrier__target{display:inline;color:#071013;background:#ffe06d;border-radius:4px;padding:0 .18em;box-shadow:0 0 12px #ffde68bd}.longscan-grid{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:10px}.longscan-readout{display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 10px;border:1px solid rgba(141,255,234,.42);border-radius:6px;background:rgba(4,18,22,.82)}.longscan-readout__value{color:#f7fff8;font-size:18px;font-weight:700}.longscan-feedback{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;min-height:34px;color:#9dfff0}.longscan-feedback__title{font-size:clamp(17px,2.4vw,25px);font-weight:700}.longscan-feedback__detail{color:#dffefa;font-size:clamp(12px,1.6vw,15px)}.longscan-feedback--success .longscan-feedback__title{color:#9dff70}.longscan-feedback--invalid-regex .longscan-feedback__title,.longscan-feedback--partial-lock .longscan-feedback__title,.longscan-feedback--bad-lock .longscan-feedback__title,.longscan-feedback--timeout .longscan-feedback__title,.longscan-feedback--abort .longscan-feedback__title{color:#ff8979;text-shadow:0 0 11px rgba(255,90,76,.8)}.longscan-input{position:relative;z-index:1;display:flex;align-items:center;min-height:48px;padding:8px 12px;border:1px solid rgba(168,255,120,.46);border-radius:6px;background:rgba(3,8,6,.9);color:#dcfff5;font-size:clamp(20px,3.2vw,36px);line-height:1.15;overflow:hidden}.longscan-input--active{border-color:#a8ff78db;box-shadow:0 0 18px #80ff5c38,inset 0 0 14px #80ff5c14}.longscan-input__prefix{flex:0 0 auto;color:#ff7be8;font-weight:700;margin-right:6px}.longscan-input__value{min-width:0;overflow-wrap:anywhere}.longscan-input__cursor{flex:0 0 10px;width:10px;height:1.08em;margin-left:4px;background:#a8ff78;box-shadow:0 0 10px #a8ff78cc;animation:longscanCursor .8s steps(1) infinite}.longscan-intel{position:relative;z-index:1;display:flex;gap:9px;align-items:baseline;padding-top:2px;color:#dffefa;font-size:clamp(12px,1.7vw,15px);line-height:1.35}.longscan-intel__label{color:#ffbd63;font-weight:700}@keyframes longscanCursor{50%{opacity:0}}@keyframes longscanWarningBlink{50%{border-color:#ffc850f2;box-shadow:0 0 30px #ff2222ad,inset 0 0 18px #ff222238}}@media (max-width: 760px){.longscan-warning{top:74px;width:calc(100vw - 24px);padding:10px 12px}.longscan-overlay{align-items:stretch;padding:12px}.longscan-frame{width:100%;min-height:0;max-height:calc(100vh - 24px);padding:18px 14px;gap:11px}.longscan-header{align-items:flex-start}.longscan-title{font-size:38px}.longscan-carrier{min-height:118px;font-size:21px}.longscan-input{min-height:42px;font-size:22px}}.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;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,.start-screen-overlay .feedback-dialog{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{position:absolute;top:clamp(18px,5vh,54px);left:50%;transform:translate(-50%);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:clamp(.55rem,1.4vw,1rem);width:min(1040px,calc(100vw - 28px));z-index:4}.menu-options .menu-item{box-sizing:border-box;background:transparent;border:2px solid #0f0;color:#0f0;padding:.75rem clamp(.8rem,1.8vw,1.45rem);font-size:clamp(.95rem,1.55vw,1.35rem);font-family:monospace;transition:all .2s;text-align:center;line-height:1.1;min-width:clamp(118px,14vw,170px);white-space:nowrap}.menu-options button.menu-item{width:auto;cursor:pointer}.menu-options button.menu-item:hover,.menu-options button.menu-item:focus-visible{background:rgba(0,255,157,.12);border-color:#6ee7ff;color:#6ee7ff;outline:none}.menu-options .menu-item .key{font-weight:700;text-decoration:underline}.menu-options .menu-item.disabled{opacity:.5;border-color:#040;color:#040}@media (max-width: 960px){.menu-options{top:12px;flex-wrap:wrap;gap:.45rem}.menu-options .menu-item{min-width:calc(33.333% - .45rem);padding:.6rem .7rem;font-size:.95rem}}@media (max-width: 600px){.menu-options .menu-item{min-width:calc(50% - .35rem)}}.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}.feedback-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:18px;pointer-events:auto;font-family:Courier New,Courier,monospace}.feedback-dialog__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:rgba(0,0,0,.76);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default}.feedback-dialog__panel{position:relative;z-index:1;width:min(540px,100%);max-height:min(680px,92vh);overflow-y:auto;display:grid;gap:14px;padding:20px;border:1px solid rgba(0,255,157,.62);background:rgba(3,8,10,.94);box-shadow:0 0 28px #00ff9d38,inset 0 0 24px #6ee7ff0f;color:#dfffd6;pointer-events:auto}.feedback-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedback-dialog__title{margin:0;color:#6ee7ff;font-size:20px;font-weight:700;letter-spacing:0;text-transform:uppercase}.feedback-dialog__close,.feedback-dialog__submit{border:1px solid rgba(0,255,157,.62);background:rgba(0,0,0,.38);color:#dfffd6;font-family:inherit;cursor:pointer}.feedback-dialog__close{padding:6px 10px;font-size:12px;text-transform:uppercase}.feedback-dialog__submit{min-height:40px;padding:8px 14px;color:#000;background:#f4fff8;font-size:13px;font-weight:700;text-shadow:none}.feedback-dialog__close:hover,.feedback-dialog__close:focus-visible{background:rgba(110,231,255,.12);outline:none}.feedback-dialog__submit:hover,.feedback-dialog__submit:focus-visible{background:#6ee7ff;outline:none}.feedback-dialog__submit:disabled{cursor:wait;opacity:.66}.feedback-dialog__field{display:grid;gap:6px}.feedback-dialog__label{color:#9fffc0;font-size:13px;text-transform:uppercase}.feedback-dialog__input,.feedback-dialog__textarea{width:100%;box-sizing:border-box;border:1px solid rgba(0,255,157,.42);background:rgba(0,0,0,.58);color:#f3fff0;font:inherit}.feedback-dialog__input{min-height:40px;padding:8px 10px}.feedback-dialog__textarea{min-height:180px;resize:vertical;padding:10px;line-height:1.45}.feedback-dialog__input:focus,.feedback-dialog__textarea:focus{border-color:#6ee7ff;outline:2px solid rgba(110,231,255,.22)}.feedback-dialog__honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.feedback-dialog__footer{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.feedback-dialog__status{min-height:20px;color:#dfffd6d1;font-size:13px}.feedback-dialog__status--success{color:#9fffc0}.feedback-dialog__status--error{color:#ff9f7a}.feedback-dialog__confirmation{min-height:140px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(159,255,192,.34);background:rgba(0,255,157,.08);color:#f4fff8;font-size:18px;font-weight:700;text-align:center}@media (max-width: 560px){.feedback-dialog{align-items:stretch;padding:12px}.feedback-dialog__panel{align-self:center;padding:16px}.feedback-dialog__footer{grid-template-columns:1fr}}.leaderboard-dialog{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:grid;place-items:center;padding:20px;pointer-events:auto;font-family:Courier New,Courier,monospace}.leaderboard-dialog__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:rgba(0,4,8,.82);cursor:pointer}.leaderboard-dialog__panel{position:relative;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;box-sizing:border-box;padding:24px;border:2px solid #63ffe9;border-radius:8px;background:repeating-linear-gradient(0deg,rgba(117,255,234,.035) 0 1px,transparent 1px 4px),rgba(2,16,20,.97);color:#dffff9;box-shadow:0 0 34px #4effe761,inset 0 0 28px #44ffe814}.leaderboard-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.leaderboard-dialog__title{margin:0;color:#bafff5;font-size:clamp(24px,5vw,38px);letter-spacing:.12em;text-shadow:0 0 12px rgba(80,255,229,.9)}.leaderboard-dialog__eyebrow{margin-bottom:5px;color:#ff79e9;font-weight:700;letter-spacing:.2em;text-shadow:0 0 10px rgba(255,64,224,.9)}.leaderboard-dialog__close,.leaderboard-dialog__secondary,.leaderboard-dialog__submit{border:1px solid currentColor;border-radius:4px;padding:8px 12px;background:rgba(0,22,25,.92);color:#8effef;font:inherit;cursor:pointer}.leaderboard-dialog__close:hover,.leaderboard-dialog__close:focus-visible,.leaderboard-dialog__secondary:hover,.leaderboard-dialog__secondary:focus-visible,.leaderboard-dialog__submit:hover,.leaderboard-dialog__submit:focus-visible{color:#ff8bea;outline:none;box-shadow:0 0 12px #ff57e261}.leaderboard-dialog__submit:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.leaderboard-dialog__entry{display:grid;gap:16px}.leaderboard-dialog__score{color:#fff1a8;font-size:clamp(32px,8vw,58px);font-weight:700;text-align:center;text-shadow:0 0 14px rgba(255,219,84,.72)}.leaderboard-dialog__field{display:grid;gap:7px;color:#8effef;font-size:12px;letter-spacing:.14em}.leaderboard-dialog__input{width:100%;box-sizing:border-box;border:1px solid #ff6ce7;border-radius:4px;padding:10px 12px;background:#02090b;color:#ff9cee;font:700 30px/1 Courier New,Courier,monospace;letter-spacing:.42em;text-align:center;text-transform:uppercase;outline:none}.leaderboard-dialog__input:focus{box-shadow:0 0 16px #ff41dd85}.leaderboard-dialog__entry-actions{display:flex;justify-content:flex-end;gap:10px}.leaderboard-dialog__error{min-height:1.2em;color:#ff8d8d;font-size:12px}.leaderboard-dialog__board table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.leaderboard-dialog__board th,.leaderboard-dialog__board td{padding:9px 12px;border-bottom:1px solid rgba(92,255,232,.2);text-align:left}.leaderboard-dialog__board th:last-child,.leaderboard-dialog__board td:last-child{text-align:right}.leaderboard-dialog__board th{color:#70e8dc;font-size:11px;letter-spacing:.12em}.leaderboard-dialog__board td:nth-child(2){color:#ff94ed;font-weight:700;letter-spacing:.18em}.leaderboard-dialog__row--new{background:rgba(255,74,222,.13);animation:leaderboard-new-score .8s ease-in-out infinite alternate}.leaderboard-dialog__empty{padding:42px 16px;color:#c6fff794;text-align:center;letter-spacing:.12em}.leaderboard-dialog__notice{margin-bottom:12px;padding:8px 12px;border:1px solid rgba(255,196,84,.5);border-radius:4px;background:rgba(255,196,84,.08);color:#ffd28a;text-align:center;font-size:12px;letter-spacing:.1em}@keyframes leaderboard-new-score{to{background:rgba(255,74,222,.27)}}@media (max-width: 520px){.leaderboard-dialog__panel{padding:17px}.leaderboard-dialog__board th,.leaderboard-dialog__board td{padding:8px 6px}}.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}}
