*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{color:#cdd6f4;background:#1e1e2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;overflow:hidden}.app{width:100%;height:100%;display:flex;position:relative}.dropzone{cursor:pointer;background:#1e1e2e;justify-content:center;align-items:center;width:100%;height:100%;transition:background .2s;display:flex}.dropzone.dragging{background:#181825}.dropzone-content{border:2px dashed #45475a;border-radius:16px;flex-direction:column;align-items:center;gap:12px;padding:48px;transition:border-color .2s;display:flex}.dragging .dropzone-content{border-color:#89b4fa}.dropzone-icon{font-size:48px;line-height:1}.dropzone-title{color:#cdd6f4;font-size:20px;font-weight:600}.dropzone-subtitle{color:#a6adc8;font-size:14px}.dropzone-hint{color:#585b70;font-size:13px}.dropzone-spinner{color:#89b4fa;font-size:16px}.dropzone-error{color:#f38ba8;font-size:15px;font-weight:500}.sidebar{background:#181825;border-right:1px solid #313244;flex-direction:column;width:260px;min-width:260px;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid #313244;flex-shrink:0;align-items:center;gap:10px;padding:12px 16px;font-size:13px;display:flex}.sidebar-header strong{color:#89b4fa;font-size:14px}.sidebar-header span{color:#a6adc8}.func-list{flex-direction:column;flex:1;display:flex;overflow:hidden}.func-search{color:#cdd6f4;background:#11111b;border:none;border-bottom:1px solid #313244;outline:none;flex-shrink:0;width:100%;padding:8px 12px;font-size:13px}.func-search::placeholder{color:#585b70}.func-search:focus{background:#181825}.func-items{flex:1;overflow-y:auto}.func-item{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;padding:6px 12px;font-family:SF Mono,Fira Code,Cascadia Code,JetBrains Mono,Menlo,Consolas,monospace;font-size:12px;transition:background .1s;display:flex;overflow:hidden}.func-item:hover{background:#1e1e2e}.func-item.selected{background:#313244}.func-addr{color:#585b70;flex-shrink:0}.func-name{color:#cdd6f4;text-overflow:ellipsis;overflow:hidden}.func-empty{color:#585b70;text-align:center;padding:16px;font-size:13px}.panels{flex:1;min-width:0;display:flex}.panel{flex-direction:column;flex:1;min-width:0;display:flex}.left-panel{border-right:1px solid #313244}.panel-tabs{background:#181825;border-bottom:1px solid #313244;flex-shrink:0;align-items:center;gap:2px;height:36px;padding:0 4px;display:flex}.panel-tabs button{color:#a6adc8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 14px;font-size:13px;transition:background .15s,color .15s}.panel-tabs button:hover{color:#cdd6f4;background:#313244}.panel-tabs button.active{color:#cdd6f4;background:#313244;font-weight:500}.tab-label{color:#a6adc8;-webkit-user-select:none;user-select:none;padding:6px 14px;font-size:13px}.panel-content{flex:1;position:relative;overflow:hidden}.code-view,.asm-view{height:100%}.cm-editor{height:100%!important}.cm-editor .cm-scroller{font-family:SF Mono,Fira Code,Cascadia Code,JetBrains Mono,Menlo,Consolas,monospace;font-size:13px}.hex-view{background:#1e1e2e;height:100%;font-family:SF Mono,Fira Code,Cascadia Code,JetBrains Mono,Menlo,Consolas,monospace;font-size:13px;line-height:20px;overflow-y:auto}.hex-spacer{width:100%;position:relative}.hex-row{white-space:pre;align-items:center;gap:16px;padding:0 12px;display:flex}.hex-row.highlight{background:#45475a}.hex-offset{color:#585b70;flex-shrink:0}.hex-bytes{color:#cdd6f4;letter-spacing:.5px;flex-shrink:0}.hex-ascii{color:#a6adc8;flex-shrink:0}.hex-empty{color:#585b70;text-align:center;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#45475a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#585b70}::selection{color:#cdd6f4;background:#45475a}.cm-func-link{cursor:pointer;color:#89b4fa;text-decoration:underline}.cm-func-link:hover{color:#b4befe}.back-btn{color:#a6adc8;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px}.back-btn:hover{color:#cdd6f4}.back-btn:disabled{opacity:.3;cursor:default}.strings-view{flex-direction:column;height:100%;display:flex;overflow:hidden}.strings-items{flex:1;font-family:monospace;font-size:12px;overflow-y:auto}.string-item{white-space:nowrap;gap:12px;padding:4px 12px;display:flex;overflow:hidden}.string-item:hover{background:#1e1e2e}.string-addr{color:#585b70;flex-shrink:0}.string-value{color:#a6e3a1;text-overflow:ellipsis;overflow:hidden}.dialog-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:#1e1e2e;border:1px solid #45475a;border-radius:8px;min-width:300px;padding:20px}.dialog h3{color:#cdd6f4;margin-bottom:12px;font-size:14px}.dialog input{color:#cdd6f4;background:#11111b;border:1px solid #45475a;border-radius:4px;outline:none;width:100%;padding:8px;font-family:monospace;font-size:13px}.dialog input:focus{border-color:#89b4fa}.dialog-buttons{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.dialog-buttons button{cursor:pointer;border:none;border-radius:4px;padding:6px 16px;font-size:13px}.dialog-btn-ok{color:#1e1e2e;background:#89b4fa}.dialog-btn-cancel{color:#cdd6f4;background:#45475a}.decompile-choice-dialog{min-width:400px}.decompile-choice-dialog .choice-info{color:#a6adc8;margin-bottom:16px;font-size:13px;line-height:1.5}.decompile-choice-dialog .choice-info strong{color:#cdd6f4}.choice-buttons{gap:10px;display:flex}.choice-btn{cursor:pointer;border:1px solid #45475a;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:14px 12px;font-size:14px;font-weight:500;transition:border-color .15s,background .15s;display:flex}.choice-btn:hover{border-color:#89b4fa}.choice-btn-sub{opacity:.7;font-size:11px;font-weight:400}.choice-btn-local{color:#cdd6f4;background:#313244}.choice-btn-cloud{color:#89b4fa;background:#1e3a5f;border-color:#89b4fa44}.choice-btn-cloud:hover{background:#264b7a}.cfg-view{background:#1e1e2e;height:100%;overflow:hidden}.cfg-svg{width:100%;height:100%}.cfg-block-bg{fill:#313244;rx:4;ry:4;stroke:#45475a;stroke-width:1px}.cfg-block-entry{stroke:#89b4fa;stroke-width:2px}.cfg-block-text{color:#cdd6f4;white-space:pre;margin:0;padding:8px;font-family:monospace;font-size:11px;line-height:16px}.cfg-edge{stroke:#585b70;stroke-width:1.5px;fill:none;marker-end:url(#arrowhead)}.cfg-edge-back{stroke:#f38ba8;stroke-dasharray:4 2}.app-main-col{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}.app-main-row{flex:1;min-height:0;display:flex;overflow:hidden}.bottom-panel{background:#181825;border-top:1px solid #313244;flex-direction:column;display:flex}.bottom-panel.open{height:280px;min-height:120px}.bottom-panel.closed{height:32px}.bottom-panel-tabs{border-bottom:1px solid #313244;flex-shrink:0;align-items:center;gap:2px;height:32px;padding:0 4px;display:flex}.bottom-panel-tabs button{color:#a6adc8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:13px}.bottom-panel-tabs button:hover,.bottom-panel-tabs button.active{color:#cdd6f4;background:#313244}.bottom-panel-toggle{color:#585b70;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px 8px;font-size:14px}.bottom-panel-toggle:hover{color:#cdd6f4}.bottom-panel-content{flex:1;overflow:hidden}.script-console{flex-direction:column;height:100%;display:flex}.console-output{flex:1;padding:8px 12px;font-family:monospace;font-size:13px;overflow-y:auto}.console-hint{color:#585b70;font-size:12px;line-height:1.6}.console-hint code{color:#89b4fa;background:#313244;border-radius:2px;padding:1px 4px}.console-entry{margin:2px 0}.console-entry pre{white-space:pre-wrap;word-break:break-all;margin:0;font-family:monospace;font-size:13px;line-height:1.4}.console-log pre{color:#cdd6f4}.console-warn pre{color:#f9e2af}.console-error pre{color:#f38ba8}.console-result pre{color:#a6e3a1}.console-input-row{border-top:1px solid #313244;align-items:flex-start;gap:4px;padding:4px 8px;display:flex}.console-prompt{color:#89b4fa;flex-shrink:0;font-family:monospace;font-size:13px;line-height:24px}.console-input{flex:1}.console-input .cm-editor{background:0 0!important}.console-input .cm-scroller{font-family:monospace;font-size:13px}.console-input .cm-gutters{display:none!important}.console-input .cm-activeLine{background:0 0!important}.console-input .cm-line{padding-left:0}.script-editor{height:100%;display:flex}.script-sidebar{border-right:1px solid #313244;flex-direction:column;width:160px;min-width:160px;display:flex}.script-sidebar-header{color:#a6adc8;border-bottom:1px solid #313244;justify-content:space-between;align-items:center;padding:6px 8px;font-size:12px;display:flex}.script-add-btn{color:#89b4fa;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px}.script-add-btn:hover{color:#b4befe}.script-list{flex:1;overflow-y:auto}.script-item{cursor:pointer;color:#cdd6f4;justify-content:space-between;align-items:center;padding:4px 8px;font-size:12px;display:flex}.script-item:hover{background:#1e1e2e}.script-item.active{background:#313244}.script-item-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.script-item-del{color:#585b70;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;display:none}.script-item:hover .script-item-del{display:block}.script-item-del:hover{color:#f38ba8}.script-main{flex-direction:column;flex:1;min-width:0;display:flex}.script-toolbar{border-bottom:1px solid #313244;flex-shrink:0;align-items:center;gap:6px;padding:4px 8px;display:flex}.script-run-btn{color:#1e1e2e;cursor:pointer;background:#a6e3a1;border:none;border-radius:4px;padding:3px 12px;font-size:12px;font-weight:500}.script-run-btn:hover{background:#94e2d5}.script-run-btn:disabled{opacity:.5;cursor:default}.script-stop-btn{color:#1e1e2e;cursor:pointer;background:#f38ba8;border:none;border-radius:4px;padding:3px 12px;font-size:12px;font-weight:500}.script-stop-btn:hover{background:#eba0ac}.console-stop-btn{color:#1e1e2e;cursor:pointer;background:#f38ba8;border:none;border-radius:4px;flex-shrink:0;align-self:center;padding:3px 8px;font-size:11px;font-weight:500}.console-stop-btn:hover{background:#eba0ac}.script-save-btn{color:#cdd6f4;cursor:pointer;background:#45475a;border:none;border-radius:4px;padding:3px 12px;font-size:12px}.script-save-btn:hover{background:#585b70}.script-hint{color:#585b70;margin-left:auto;font-size:11px}.script-code-editor{flex:1;overflow:hidden}.script-code-editor .cm-editor{height:100%!important}.script-output{border-top:1px solid #313244;max-height:120px;padding:4px 8px;font-family:monospace;font-size:12px;overflow-y:auto}.loading-overlay{z-index:50;background:#1e1e2ed9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-content{flex-direction:column;align-items:center;gap:12px;display:flex}.loading-spinner{border:3px solid #45475a;border-top-color:#89b4fa;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:#a6adc8;font-size:14px}.loading-bar{background:#313244;border-radius:2px;width:200px;height:4px;overflow:hidden}.loading-bar-fill{background:#89b4fa;border-radius:2px;height:100%;transition:width .2s}.top-progress{background:#181825;border-bottom:1px solid #313244;flex-shrink:0;align-items:center;gap:8px;padding:4px 12px;display:flex}.top-progress-bar{background:#313244;border-radius:2px;flex:1;max-width:300px;height:3px;overflow:hidden}.top-progress-fill{background:#89b4fa;border-radius:2px;height:100%;transition:width .3s}.top-progress-text{color:#a6adc8;white-space:nowrap;font-size:12px}.bottom-progress{flex:1;align-items:center;gap:8px;min-width:0;margin-left:8px;display:flex}.bottom-progress-bar{background:#313244;border-radius:2px;flex-shrink:0;width:120px;height:3px;overflow:hidden}.bottom-progress-fill{background:#89b4fa;border-radius:2px;height:100%;transition:width .3s}.bottom-progress-text{color:#585b70;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.bottom-progress-cancel{color:#585b70;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:16px;line-height:1}.bottom-progress-cancel:hover{color:#f38ba8}
