:root{--bg: #1b1d23;--bg-elev: #22252d;--bg-elev-2: #2a2e38;--bg-input: #15171c;--border: #343844;--border-strong: #444a59;--text: #d7dae0;--text-dim: #9298a6;--text-faint: #6b7280;--accent: #6ea8fe;--accent-strong: #4d8bf5;--accent-soft: rgba(110, 168, 254, .15);--green: #7bd88f;--yellow: #e6c07b;--red: #f07178;--orange: #e5986a;--purple: #c39ac9;--dirty: #e6c07b;--mono: "SF Mono", "JetBrains Mono", "Cascadia Code", "Consolas", "Roboto Mono", monospace;--pixel: "Pixel Operator", "Silkscreen", "Press Start 2P", "Minecraft", "VT323", "Cascadia Mono", "Consolas", monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius: 7px;--radius-sm: 4px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);font-size:13px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow:hidden}button{font-family:inherit;font-size:inherit;color:var(--text);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 10px;cursor:pointer;transition:background .12s,border-color .12s}button{display:inline-flex;align-items:center;gap:6px;justify-content:center}button:hover:not(:disabled){background:#333845;border-color:var(--border-strong)}button:active:not(:disabled){background:#2a2e38}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}button.primary:hover:not(:disabled){background:var(--accent)}button.danger{color:var(--red);border-color:#f0717859;background:#f0717814}button.danger:hover:not(:disabled){background:#f0717826;border-color:#f071788c}button.compact{padding:1px 7px;font-size:11px}input,select{font-family:var(--sans);font-size:inherit;color:var(--text);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px 8px;outline:none}input:focus,select:focus{border-color:var(--accent-strong)}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#3a3f4b;border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:#4a5060;background-clip:padding-box}::-webkit-scrollbar-corner{background:transparent}.app{display:flex;flex-direction:column;height:100%}.titlebar{height:38px;flex:0 0 38px;display:flex;align-items:center;gap:12px;padding:0 12px;background:linear-gradient(#272a32,#21242b);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none}.titlebar .brand{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-weight:600;letter-spacing:.2px}.titlebar .brand-name,.dropzone h1{font-family:var(--pixel);font-weight:700;letter-spacing:.7px;text-transform:none;-webkit-font-smoothing:none;font-smooth:never}.titlebar .brand small{color:var(--text-faint);font-weight:400;margin-left:6px}.titlebar .file{color:var(--text-dim);font-family:var(--mono);font-size:12px}.titlebar .dirty{display:inline-flex;align-items:center;gap:4px;color:var(--dirty);font-family:var(--mono);font-size:12px}.titlebar .spacer{flex:1}.titlebar .actions{display:flex;gap:8px}.file-tabs{min-width:0;display:flex;align-items:center;gap:4px;overflow:hidden}.file-tab{min-width:80px;max-width:190px;height:26px;padding:3px 5px 3px 9px;gap:5px;background:#ffffff08;color:var(--text-dim)}.file-tab.active{background:var(--accent-soft);border-color:#6ea8fe59;color:var(--text)}.file-tab-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:11.5px}.file-tab-close{display:inline-flex;align-items:center;justify-content:center;color:var(--text-faint);width:18px;height:18px;border-radius:3px}.file-tab-close:hover{background:#f071781f;color:var(--red)}.file-tab-close .pixel-icon{width:15px;height:15px}.open-file{flex:0 0 auto;height:26px;padding:3px 9px}.body{flex:1;display:flex;min-height:0}.sidebar{font-family:var(--pixel);position:relative;min-width:170px;max-width:360px;flex:0 0 auto;background:var(--bg-elev);border-right:1px solid var(--border);padding:8px;overflow-y:auto;-webkit-user-select:none;user-select:none}.sidebar.resizing{cursor:col-resize}.sidebar-resizer{position:absolute;top:0;right:-3px;width:6px;height:100%;cursor:col-resize}.sidebar-resizer:hover,.sidebar.resizing .sidebar-resizer{background:#6ea8fe2e}.sidebar .group-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.8px;color:var(--text-faint);padding:12px 8px 4px;-webkit-font-smoothing:none;font-smooth:never}.sidebar .tab{display:flex;align-items:center;gap:9px;padding:6px 9px;border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;border:1px solid transparent;font-size:12px;letter-spacing:.2px;-webkit-font-smoothing:none;font-smooth:never}.sidebar .tab:hover{background:var(--bg-elev-2);color:var(--text)}.sidebar .tab.active{background:var(--accent-soft);color:var(--text);border-color:#6ea8fe4d}.sidebar .tab .ico{width:16px;text-align:center;font-size:13px}.sidebar .tab .count{margin-left:auto;font-size:11px;color:var(--text-faint);font-family:var(--pixel)}.tools-label{margin-top:10px;border-top:1px solid var(--border)}.tool-children{margin:2px 0 6px 25px;border-left:1px solid var(--border)}.tool-child,.tool-empty{min-width:0;padding:5px 8px;color:var(--text-faint);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-child{cursor:pointer}.tool-child:hover{color:var(--text);background:var(--bg-elev-2)}.tool-child.active{color:var(--accent)}.main{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.statusbar{height:24px;flex:0 0 24px;display:flex;align-items:center;gap:16px;padding:0 12px;background:var(--bg-elev);border-top:1px solid var(--border);font-family:var(--pixel);font-size:11.5px;color:var(--text-dim);-webkit-user-select:none;user-select:none;letter-spacing:.2px;-webkit-font-smoothing:none;font-smooth:never}.statusbar .seg{display:flex;gap:6px;align-items:center}.statusbar .seg b{color:var(--text);font-weight:500}.statusbar .spacer{flex:1}.statusbar .badge{color:var(--accent)}.view{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.view-header{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}.view-header h2{margin:0;font-size:14px;font-weight:600}.view-header .sub{color:var(--text-dim);font-size:12px}.view-header .spacer{flex:1}.view-body{flex:1;min-height:0;overflow:auto;padding:14px 16px}.toolbar{display:flex;align-items:center;gap:8px}.empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;color:var(--text-faint)}.pixel-icon{display:inline-block;width:16px;height:16px;flex:0 0 auto;fill:currentColor;color:var(--accent);shape-rendering:crispEdges}.pixel-sm{width:13px;height:13px}.pixel-lg{width:42px;height:42px}.tab .pixel-icon,.card .pixel-icon{color:var(--accent)}.twisty .pixel-icon{color:var(--text-faint)}.titlebar .dirty .pixel-icon{color:var(--dirty)}.statusbar .pixel-clean{color:var(--green)}.statusbar .pixel-modified{color:var(--dirty)}button.danger .pixel-icon,button.danger.pixel-icon{color:var(--red)}table.grid{width:100%;border-collapse:collapse;font-size:12.5px}table.grid th{text-align:left;font-weight:600;color:var(--text-dim);padding:6px 10px;border-bottom:1px solid var(--border);background:var(--bg)}table.grid td{padding:5px 10px;border-bottom:1px solid #262a33;vertical-align:top}table.grid tr:hover td{background:var(--bg-elev)}table.grid td.mono,table.grid th.mono{font-family:var(--mono)}.clickable{cursor:pointer;color:var(--accent)}.clickable:hover{text-decoration:underline}.tag{display:inline-block;padding:1px 7px;border-radius:10px;font-size:11px;font-family:var(--mono);background:var(--bg-elev-2);color:var(--text-dim);border:1px solid var(--border)}.tag.green{color:var(--green);border-color:#7bd88f4d}.tag.red{color:var(--red);border-color:#f071784d}.tag.exec{color:var(--orange);border-color:#e5986a4d}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.mono{font-family:var(--mono)}.hex{flex:1;min-height:0;overflow:auto;font-family:var(--mono);font-size:12.5px;line-height:1.55;padding:8px 0;-webkit-user-select:none;user-select:none}.hex .row{display:flex;white-space:pre;padding:0 16px}.hex .row:hover{background:#ffffff05}.hex .offset{color:var(--text-faint);padding-right:18px;flex:0 0 auto}.hex .bytes{flex:0 0 auto}.hex .ascii{padding-left:18px;color:var(--text-dim);flex:0 0 auto}.hex .b{padding:0 3px;border-radius:2px;cursor:pointer}.hex .b.zero{color:var(--text-faint)}.hex .b:hover{background:var(--accent-soft)}.hex .b.sel{background:var(--accent-strong);color:#fff}.hex .b.dirty{color:var(--dirty);font-weight:600}.hex .b.gap{padding:0 3px}.hex .ascii .c.sel{background:var(--accent-strong);color:#fff}.hex .ascii .c.dirty{color:var(--dirty)}.hex-edit{display:flex;align-items:center;gap:10px;padding:8px 16px;border-top:1px solid var(--border);background:var(--bg-elev);font-family:var(--mono);font-size:12px}.hex-edit label{color:var(--text-dim)}.hex-edit input{width:120px}.asm{flex:1;min-height:0;overflow:auto;font-family:var(--mono);font-size:12.5px;padding:6px 0}.asm .insn{display:flex;align-items:center;gap:12px;padding:2px 16px;white-space:pre}.asm .insn:hover{background:var(--bg-elev)}.asm .insn.entry{background:#7bd88f14}.asm .insn.branch{box-shadow:inset 2px 0 #6ea8fe73}.asm .addr{color:var(--text-faint);flex:0 0 190px;display:flex;flex-direction:column;line-height:1.25}.asm .addr b{color:var(--text-dim);font-weight:500}.asm .addr small{font-size:10px;color:var(--text-faint)}.asm .raw{color:var(--text-faint);flex:0 0 190px;overflow:hidden;text-overflow:ellipsis}.asm .mnem{color:var(--accent);flex:0 0 72px}.asm .ops{color:var(--text);flex:1 1 auto;min-width:160px;overflow:hidden;text-overflow:ellipsis}.asm .ops .reg{color:var(--purple)}.asm .ops .imm{color:var(--green)}.asm .flow{flex:0 0 38px;color:var(--text-faint);font-size:10px;text-transform:uppercase}.asm .insn-actions{flex:0 0 auto;display:flex;gap:5px}.asm .insn-actions button{font-size:10.5px;padding:1px 6px}.tree{font-family:var(--mono);font-size:12.5px}.tree .node{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:var(--radius-sm);cursor:default}.tree .node.leaf{cursor:pointer}.tree .node.leaf:hover{background:var(--bg-elev)}.tree .node.active{background:var(--accent-soft)}.tree .twisty{width:12px;color:var(--text-faint);cursor:pointer}.tree .label{color:var(--text)}.tree .meta{color:var(--text-faint);margin-left:8px}.overview-dashboard{padding:16px}.overview-section+.overview-section{margin-top:18px}.section-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.section-heading h3{margin:0;font-size:13px;color:var(--accent);font-weight:600}.file-map{display:flex;height:46px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--bg-elev)}.file-map>div{min-width:18px;border-right:1px solid var(--bg);cursor:pointer;font-size:10px;color:var(--text);padding:4px 5px;overflow:hidden}.file-map>div:hover{filter:brightness(1.25)}.file-map span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.quick-actions{display:flex;flex-wrap:wrap;gap:8px}.quick-action{height:34px;padding:0 12px;background:var(--bg-elev)}.entropy-map{display:flex;height:64px;gap:1px;align-items:flex-end;padding:6px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev)}.entropy-map>div{flex:1;min-width:2px;cursor:pointer;border-radius:1px}.entropy-map>div:hover{filter:brightness(1.25)}.entropy-table tr{cursor:pointer}.entropy-high{color:var(--yellow)}.sections-detail{padding:16px;transition:margin-right .18s ease}.sections-detail.with-drawer{margin-right:380px}.sections-detail tr.row-active td{background:var(--accent-soft)}.section-drawer{position:absolute;top:0;right:0;bottom:0;width:380px;background:var(--bg-elev);border-left:1px solid var(--border);box-shadow:-10px 0 26px #00000052;z-index:20;display:flex;flex-direction:column;transform:translate(100%);transition:transform .18s ease}.section-drawer.open{transform:translate(0)}.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);background:linear-gradient(var(--bg-elev-2),var(--bg-elev))}.drawer-title h3{margin:0 0 2px;font-size:13px;color:var(--accent);font-weight:600}.drawer-close{background:transparent;border:none;color:var(--text-dim);font-size:15px;line-height:1;padding:4px 6px;cursor:pointer;border-radius:var(--radius-sm)}.drawer-close:hover{background:var(--bg-elev-2);color:var(--text)}.drawer-body{flex:1;min-height:0;overflow-y:auto;padding:14px}.editor-grid{display:flex;flex-direction:column;gap:14px}.editor-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.editor-label{width:110px;flex:0 0 110px;color:var(--text-dim);font-size:12px}.drawer-body .editor-row{flex-wrap:wrap;align-items:center;gap:8px}.drawer-body .editor-label{flex:0 0 100%;width:100%;margin-bottom:-2px;text-transform:uppercase;letter-spacing:.4px;font-size:10.5px;color:var(--text-faint)}.check{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.check input{accent-color:var(--accent-strong);cursor:pointer}.cave-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.detections{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.detection{border:1px solid var(--border);border-left-width:3px;background:var(--bg-elev);padding:9px 12px}.detection.conf-high{border-left-color:var(--red)}.detection.conf-medium{border-left-color:var(--yellow)}.detection.conf-low{border-left-color:var(--text-faint)}.detection-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}.detection-name{font-weight:600}.tag.conf.high{color:var(--red);border-color:#f071784d}.tag.conf.medium{color:var(--yellow);border-color:#e6c07b4d}.tag.conf.low{color:var(--text-faint)}.overlay-box{border:1px solid rgba(229,152,106,.4);background:#e5986a14;border-radius:var(--radius);padding:12px 14px}.cards-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.cards-row .card .k{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint)}.cards-row .card .v{margin-top:3px;font-size:14px;font-family:var(--mono)}.cards-row .card .d{margin-top:4px;font-size:11px;color:var(--text-dim)}.flag-toggles{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input)}.scan-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fileinfo{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);overflow:hidden}.fileinfo-row{display:flex;align-items:baseline;gap:14px;padding:7px 14px;border-bottom:1px solid #262a33}.fileinfo-row:last-child{border-bottom:none}.fileinfo-label{flex:0 0 130px;color:var(--text-dim);font-size:12px}.fileinfo-value{flex:1;min-width:0;word-break:break-all;font-size:12.5px}.fileinfo-value code{font-family:var(--mono);color:var(--text);-webkit-user-select:all;user-select:all}.resources-layout{display:grid;grid-template-columns:minmax(260px,36%) minmax(0,1fr);gap:14px}.resource-tree{min-height:0;overflow:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);padding:8px}.resource-preview{min-width:0;min-height:360px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-elev);padding:12px;overflow:auto}.resource-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid var(--border)}.resource-preview-head .k{font-size:11px;text-transform:uppercase;color:var(--text-faint);letter-spacing:.5px}.resource-preview-head .v{margin-top:3px;font-family:var(--mono);color:var(--text)}.image-preview{min-height:260px;display:flex;align-items:center;justify-content:center;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.image-preview img{max-width:100%;max-height:520px;image-rendering:auto}.resource-text{margin:0;white-space:pre-wrap;color:var(--text);font-family:var(--mono);font-size:12px;line-height:1.45}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.card .k{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint)}.card .v{margin-top:4px;font-size:15px;font-family:var(--mono)}.card .d{margin-top:5px;font-size:11.5px;color:var(--text-dim)}.card.clickable-card{cursor:pointer}.card.clickable-card:hover{border-color:var(--border-strong);background:var(--bg-elev-2)}.warnings{margin-bottom:14px;border:1px solid rgba(230,192,123,.35);background:#e6c07b14;border-radius:var(--radius);padding:10px 14px;color:var(--yellow);font-size:12px}.warnings ul{margin:6px 0 0;padding-left:18px}.dropzone{height:100%;display:flex;align-items:center;justify-content:center}.dropzone .panel{width:460px;max-width:80%;border:2px dashed var(--border-strong);border-radius:14px;padding:48px 32px;text-align:center;background:var(--bg-elev);transition:border-color .15s,background .15s}.dropzone.over .panel{border-color:var(--accent);background:var(--accent-soft)}.dropzone .logo{font-size:40px;margin-bottom:14px}.dropzone h1{margin:0 0 6px;font-size:22px;letter-spacing:.3px}.dropzone p{color:var(--text-dim);margin:4px 0}.dropzone .formats{margin-top:18px;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.section-detail{color:var(--text-dim);font-size:11px;margin-top:2px}
