:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#1f2026;color:#e7e7ec;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{margin:0;min-width:320px;background:linear-gradient(180deg,#30313a 0,#24252c 190px,#1d1e23),#1d1e23}button{font:inherit}.app{display:grid;grid-template-rows:1fr;height:100%;overflow:hidden}.tool-button,.segmented button,.icon-button{min-height:34px;border:1px solid #4a4d57;background:#32333b;color:#f1f1f4;cursor:pointer}.tool-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:0 8px}.tool-button:hover,.segmented button:hover,.icon-button:hover{border-color:#ff8a19}.tool-button svg{color:#69d2c8}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:0;padding:0 6px}.icon-button:disabled,.tool-button:disabled{cursor:not-allowed;opacity:.45}.icon-button:disabled:hover,.tool-button:disabled:hover{border-color:#4a4d57}.segmented{width:100%;display:inline-grid;grid-template-columns:repeat(2,minmax(68px,1fr));border:1px solid #4a4d57;background:#24252c}.segmented button{border:0;border-left:1px solid #4a4d57;background:transparent}.segmented button:first-child{border-left:0}.segmented button.active{background:#ff8a19;color:#17181c;font-weight:700}.workspace{display:grid;grid-template-columns:clamp(184px,16vw,190px) minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.sidebar{display:flex;flex-direction:column;gap:10px;min-height:0;padding:10px;overflow-x:hidden;overflow-y:auto;border-right:1px solid #3a3c44;background:#22232a}.sidebar-section{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid #34363e}.sidebar-section:last-child{border-bottom:0}.sidebar-section-toggle{display:flex;align-items:center;width:100%;min-height:20px;gap:4px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.sidebar-section-toggle:hover .section-title{color:#f1f1f4}.sidebar-section-chevron{flex:0 0 auto;color:#69d2c8;transition:transform .12s ease}.sidebar-section-chevron.collapsed{transform:rotate(-90deg)}.sidebar-section-content{display:flex;flex-direction:column;gap:8px}.sidebar-section-content[hidden]{display:none}.section-title{color:#d7d8df;font-size:12px;font-weight:800;text-transform:uppercase}.option-row{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:6px;min-height:24px}.option-row>span{overflow:hidden;color:#b9bbc5;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.segmented.compact{grid-template-columns:repeat(2,minmax(36px,1fr))}.segmented.compact button{min-height:22px;height:22px;font-size:12px;font-weight:700}.content-panel{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.file-summary{display:flex;flex-direction:column;gap:6px}.compare-nav{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:6px}.compare-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.compare-nav .icon-button{min-height:24px;height:24px;padding:0}.field-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:26px;padding:0 6px;border:1px solid #3c3e47;background:#2b2c34;color:#b9bbc5;font-size:13px}.field-row strong{min-width:0;overflow:hidden;color:#f1f1f4;font-family:Cascadia Mono,Consolas,SFMono-Regular,monospace;font-size:12px;font-weight:650;text-align:right;text-overflow:ellipsis;white-space:nowrap}.editable-offset-row,.editable-value-row{justify-content:flex-start;gap:0;width:100%;min-height:22px;padding:0;border:0;background:transparent;cursor:text}.editable-offset-row>span,.editable-value-row>span{display:inline-flex;align-items:center;align-self:stretch;flex:1 1 auto;width:auto;min-width:0;padding:0 6px;border:1px solid #3c3e47;background:#2b2c34}.editable-offset-row input,.editable-value-row input{flex:0 0 auto;min-width:0;overflow:hidden;height:22px;margin-left:-1px;padding:0 8px;border:1px solid #4a4d57;outline:0;background:#1b1c21;color:#f1f1f4;caret-color:transparent;font-family:Cascadia Mono,Consolas,SFMono-Regular,monospace;font-size:12px;font-weight:650;text-align:right;text-overflow:ellipsis}.editable-offset-row input{width:calc(10ch + 18px)}.editable-value-row input{width:calc(var(--value-width, 10ch) + 18px)}.editable-offset-row input:focus,.editable-value-row input:focus{border-color:#ff8a19;caret-color:#ff8a19}.editable-offset-row:focus-within,.editable-value-row:focus-within{border-color:transparent}.editable-offset-row.invalid,.editable-value-row.invalid{border-color:transparent}.editable-offset-row.invalid input,.editable-value-row.invalid input{border-color:#df5b57;color:#ffb0a8;caret-color:#ffb0a8}.editable-value-row.disabled{cursor:default}.editable-value-row input:disabled{cursor:not-allowed;opacity:.58}.field-group{display:flex;flex-direction:column;gap:6px;margin-top:8px}.field-title{color:#ffb45c;font-size:12px;font-weight:800;text-transform:uppercase}.empty-meta,.error-line{color:#b9bbc5;font-size:14px}.error-line{padding:10px 14px;border-bottom:1px solid #5a3232;background:#3a2427;color:#ffb0a8}.empty-inspector{display:flex;align-items:center;gap:8px;min-height:48px;padding:10px;border:1px dashed #4a4d57;color:#b9bbc5;font-size:13px}.empty-inspector svg{color:#69d2c8}.inspector{display:flex;flex-direction:column;gap:6px}.viewer-shell{--hex-column-width: 337px;--column-separator: #424550;--file-separator: #6b707d;--hex-cell-gap: 2px;--hex-cell-width: 18px;--ascii-column-width: 160px;--ascii-cell-width: 9px;--hex-word-gap: 5px;--group-divider-gap: 7px;--group-divider-left: -5px;display:grid;grid-template-rows:38px 36px 26px 1fr;flex:1;min-height:0;padding:0}.viewer-shell.no-search{grid-template-rows:36px 26px 1fr}.viewer-shell.hex16{--hex-column-width: 283px}.compare-viewer{min-width:0;padding-right:0;padding-left:0}.search-bar{display:grid;grid-template-columns:minmax(220px,420px) 64px repeat(2,30px);align-items:center;gap:6px;overflow:hidden;padding:4px 6px;border:1px solid #474952;border-bottom:0;background:#282932}.search-field{display:flex;align-items:center;min-width:0;height:28px;gap:6px;padding:0 8px;border:1px solid #4a4d57;background:#1b1c21;color:#69d2c8}.search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#f1f1f4;font:inherit;font-size:13px}.search-field input::placeholder{color:#7f838f}.search-status{overflow:hidden;color:#b9bbc5;font-size:12px;font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.search-status.error{color:#ffb0a8}.search-icon-button{min-height:24px;height:24px}.sidebar-search-section .search-bar{grid-template-columns:minmax(0,1fr) 30px 30px;gap:6px;padding:0;border:0;background:transparent}.sidebar-search-section .search-field{grid-column:1 / -1;height:30px}.sidebar-search-section .search-status{text-align:left}.sidebar-search-section .search-icon-button{width:30px;min-height:24px;height:24px;padding:0}.file-tab-row{display:grid;grid-template-columns:82px var(--hex-column-width) var(--ascii-column-width) minmax(34px,1fr);overflow:hidden;border:1px solid #474952;border-bottom:0;background:#282932;color:#d7d8df;font-size:12px}.file-tab-offset{display:flex;align-items:flex-end;justify-content:center;min-width:0;height:100%;padding:4px 4px 0}.file-tab-cell{display:flex;align-items:flex-end;min-width:0;height:100%;padding:4px 0 0;border-left:2px solid var(--column-separator)}.file-tab-primary{grid-column:2 / 4}.file-tab-compare{grid-column:4}.single-file-tab-row .file-tab-compare{border-left:4px solid var(--file-separator)}.compare-file-tab-row{grid-template-columns:68px var(--hex-column-width) var(--ascii-column-width) var(--hex-column-width) var(--ascii-column-width);width:100%}.compare-file-tab-row .file-tab-primary{grid-column:2 / 4}.compare-file-tab-row .file-tab-compare{grid-column:4 / 6;border-left:4px solid var(--file-separator)}.file-tabs{display:flex;align-items:flex-end;min-width:0;width:100%;gap:0}.file-tab-strip{display:flex;align-items:flex-end;flex:1 1 auto;min-width:0;gap:0;overflow:hidden}.file-tab{display:flex;align-items:center;flex:0 1 auto;min-width:52px;max-width:148px;height:28px;overflow:hidden;border:1px solid #3f424c;border-bottom-color:#474952;background:#25262d}.file-tab+.file-tab{margin-left:-1px}.file-tab.active{border-color:#4a4d57;border-bottom:2px solid #ff8a19;background:#30313a}.file-tab-name,.file-tab-close{border:0;background:transparent;color:inherit;cursor:pointer;font:inherit}.file-tab-name{flex:0 1 auto;min-width:0;height:100%;overflow:hidden;padding:0 5px 0 7px;color:#f1f1f4;font-weight:700;text-align:left;text-overflow:ellipsis;white-space:nowrap}.file-tab-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:21px;height:100%;color:#b9bbc5}.file-tab-close:hover,.file-tab-name:hover{color:#ffb45c}.file-tab-nav-group{display:flex;align-items:center;flex:0 0 auto;gap:3px;padding-bottom:4px}.file-tab-nav{flex:0 0 auto;width:22px;height:24px;min-height:24px;padding:0}.file-tab-nav svg,.file-tab-close svg{color:currentColor}.file-tab-empty{overflow:hidden;color:#7f838f;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.file-action-row{display:grid;grid-template-columns:82px var(--hex-column-width) var(--ascii-column-width) minmax(34px,1fr);overflow:hidden;border:1px solid #474952;border-bottom:0;background:#282932;color:#d7d8df;font-size:12px}.file-action-offset{display:flex;align-items:center;justify-content:center;min-width:0;height:100%;padding:0 4px}.file-action-cell{display:flex;align-items:center;min-width:0;height:100%;gap:8px;padding:0 6px;border-left:2px solid var(--column-separator)}.file-action-primary{grid-column:2}.file-action-compare{grid-column:4}.single-file-action-row .file-action-compare{border-left:4px solid var(--file-separator)}.file-action-button{width:24px;height:24px;min-height:24px;padding:0}.file-action-button svg{color:#69d2c8}.file-info-cell{display:flex;align-items:center;min-width:0;height:100%;margin-left:6px}.file-action-offset .file-info-cell{justify-content:center;width:100%;margin-left:0}.file-tab-offset .file-info-cell{justify-content:center;width:100%;height:28px;margin-left:0}.file-info-label{flex:0 0 auto;color:#ffb45c;font-weight:800}.file-info-name{min-width:0;overflow:hidden;color:#f1f1f4;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.file-info-size{flex:0 0 auto;min-width:0;overflow:hidden;color:#b9bbc5;font-family:Cascadia Mono,Consolas,SFMono-Regular,monospace;font-size:12px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.grid-header,.byte-row{display:grid;grid-template-columns:82px var(--hex-column-width) var(--ascii-column-width);justify-content:start;align-items:center}.grid-header{position:relative;overflow:hidden;border:1px solid #474952;border-bottom:0;background:#30313a;color:#cacbd4;font-size:12px;font-weight:700;text-transform:uppercase}.grid-header div{display:flex;align-items:center;height:100%;min-width:0;padding:0 6px}.grid-header div:nth-child(2),.grid-header div:nth-child(3){border-left:2px solid var(--column-separator)}.compare-viewer .grid-header,.compare-byte-row,.compare-file-action-row{grid-template-columns:68px var(--hex-column-width) var(--ascii-column-width) var(--hex-column-width) var(--ascii-column-width);width:100%}.compare-file-action-row .file-action-compare{grid-column:4;border-left:4px solid var(--file-separator)}.compare-viewer .grid-header div:nth-child(n+2){border-left:2px solid var(--column-separator)}.compare-viewer .grid-header div:nth-child(4),.compare-byte-row>.hex-cells:nth-child(4){border-left:4px solid var(--file-separator)}.viewer-shell:not(.compare-viewer) .grid-header:after,.viewer-shell:not(.compare-viewer) .grid-viewport:after{content:"";position:absolute;top:0;bottom:0;left:calc(82px + var(--hex-column-width) + var(--ascii-column-width));z-index:3;width:4px;background:var(--file-separator);pointer-events:none}.grid-scroll-area{display:grid;grid-template-columns:minmax(0,1fr) 14px;min-height:0;border:1px solid #474952;background:#1b1c21;font-family:Cascadia Mono,Consolas,SFMono-Regular,monospace;font-size:13px;line-height:1;-webkit-user-select:none;user-select:none}.grid-viewport{position:relative;min-height:0;overflow:hidden}.custom-scrollbar{position:relative;min-height:0;border-left:1px solid #343742;background:#24252c;cursor:default}.custom-scrollbar.disabled{opacity:.45}.custom-scrollbar-markers{position:absolute;inset:0;overflow:hidden;pointer-events:none}.custom-scrollbar-marker{position:absolute;right:1px;left:1px;min-height:2px;opacity:1;pointer-events:none}.custom-scrollbar-marker.dirty{z-index:1;background:#ff8a19}.custom-scrollbar-marker.difference{z-index:2;background:#df5b57}.custom-scrollbar-thumb{position:absolute;top:0;right:2px;left:2px;z-index:3;min-height:28px;border:1px solid rgb(157 165 190 / 88%);background:#4a4e5b75;box-shadow:0 0 0 1px #1b1c218c}.custom-scrollbar-thumb:hover,.custom-scrollbar:active .custom-scrollbar-thumb{border-color:#69d2c8;background:#5962728a}.custom-scrollbar-thumb:after{position:absolute;right:1px;left:1px;top:50%;height:1px;background:#69d2c8b8;content:"";transform:translateY(-50%);pointer-events:none}.virtual-grid{position:relative;min-width:100%}.byte-row{position:absolute;top:0;left:0;right:0;height:21px;border-bottom:1px solid #2d2f36;color:#e7e7ec;will-change:transform}.byte-row:hover{background:#24262d}.offset-cell{height:100%;padding:0 6px;color:#9ca0ad;display:flex;align-items:center}.hex-cells,.ascii-cells{display:flex;align-items:center;min-width:0;height:100%;padding:0 6px;white-space:nowrap}.hex-cells{border-left:2px solid var(--column-separator);gap:var(--hex-cell-gap);overflow:hidden}.hex-cells.hex16{gap:var(--hex-word-gap)}.hex-cells.hex16 .hex-byte{width:auto;border-right-width:0;border-left-width:0}.ascii-cells{border-left:2px solid var(--column-separator);color:#d8e0cd;overflow:hidden}.scroll-text-row{pointer-events:none}.hex-cell,.hex-byte,.ascii-cell{position:relative;flex:0 0 auto;min-width:0;padding:0;border:1px solid transparent;background:transparent;cursor:pointer;font:inherit;line-height:1}.hex-cell{display:inline-flex;align-items:center;justify-content:center;width:var(--hex-cell-width);height:17px;color:#9ca0ad}.hex-word{display:inline-flex;align-items:center;gap:0}.hex-byte{display:inline-flex;align-items:center;justify-content:center;width:var(--hex-cell-width);height:17px;color:#9ca0ad}.hex-add-cell{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:17px;height:17px;border:1px solid #4a4d57;background:#25262d;color:#69d2c8;cursor:pointer;font:inherit;font-weight:800;line-height:1}.hex-add-cell:hover{border-color:#ff8a19;background:#ff8a193d;color:#ffb45c}.hex-byte-placeholder{color:#6d707b;cursor:default}.ascii-cell{display:inline-flex;align-items:center;justify-content:center;width:var(--ascii-cell-width);height:17px;color:#d8e0cd}.hex-cell:hover,.hex-byte:hover,.ascii-cell:hover,.hex-cell.hover-linked,.hex-byte.hover-linked,.ascii-cell.hover-linked{border-color:transparent;background:#ff8a193d}.hex-cell.dirty,.hex-byte.dirty,.ascii-cell.dirty{border-color:transparent;background:transparent;color:#ff8a19}.hex-cell.dirty.hover-linked,.hex-byte.dirty.hover-linked,.ascii-cell.dirty.hover-linked{border-color:transparent;background:#ff8a193d}.hex-cell.search-match,.hex-byte.search-match,.ascii-cell.search-match{border-color:transparent;background:#303646}.hex-cell.search-active,.hex-byte.search-active,.ascii-cell.search-active{border-color:transparent;background:#244b52}.hex-cell.difference,.hex-byte.difference,.ascii-cell.difference,.hex-cell.difference-active,.hex-byte.difference-active,.ascii-cell.difference-active{border-color:transparent;background:#3a252d;color:#ffcfca}.hex-cell.dirty.search-match,.hex-byte.dirty.search-match,.ascii-cell.dirty.search-match{color:#ff8a19}.hex-cell.group-divider,.hex-byte.group-divider{position:relative;margin-left:var(--group-divider-gap)}.hex-cell.group-divider:before,.hex-byte.group-divider:before{position:absolute;top:3px;bottom:3px;left:var(--group-divider-left);width:1px;background:#4c4f59;content:""}.hex-cell.editing,.hex-byte.editing{border-color:transparent;background:#20353d;color:#69d2c8;font-weight:800}.hex-cell.selected,.hex-byte.selected,.ascii-cell.selected{border-color:transparent;background:#ff8a19;color:#17181c;font-weight:800}.hex-cell.selected:after,.hex-byte.selected:after,.ascii-cell.selected:after{position:absolute;right:2px;bottom:1px;left:2px;height:1px;background:currentColor;content:"";animation:edit-caret-blink 1s step-end infinite;pointer-events:none}.hex-cell.range-selected,.hex-byte.range-selected,.ascii-cell.range-selected{border-color:transparent;background:#ff8a193d;font-weight:800}.hex-cell.range-selected,.hex-byte.range-selected{color:#9ca0ad}.ascii-cell.range-selected{color:#d8e0cd}.hex-cell.selected.search-active,.hex-byte.selected.search-active,.ascii-cell.selected.search-active{border-color:transparent;background:#244b52;color:#f1f1f4}.hex-cell.difference.difference-active,.hex-byte.difference.difference-active,.ascii-cell.difference.difference-active{border-color:transparent;background:#3a252d;color:#ffcfca}.hex-cell.difference:hover,.hex-byte.difference:hover,.ascii-cell.difference:hover,.hex-cell.difference.hover-linked,.hex-byte.difference.hover-linked,.ascii-cell.difference.hover-linked{border-color:transparent;background:linear-gradient(#ff8a193d,#ff8a193d),#3a252d;color:#ffe4ce}.hex-cell.difference.range-selected,.hex-byte.difference.range-selected,.ascii-cell.difference.range-selected{border-color:transparent;background:linear-gradient(#ff8a1957,#ff8a1957),#3a252d;color:#ffe4ce}.hex-cell.difference.selected,.hex-byte.difference.selected,.ascii-cell.difference.selected,.hex-cell.difference.selected.difference-active,.hex-byte.difference.selected.difference-active,.ascii-cell.difference.selected.difference-active{border-color:transparent;background:#ff8a19;color:#17181c}@keyframes edit-caret-blink{0%,49.999%{opacity:1}50%,to{opacity:0}}.hex-cell:focus-visible,.hex-byte:focus-visible,.ascii-cell:focus-visible,.tool-button:focus-visible,.icon-button:focus-visible,.empty-open-button:focus-visible,.segmented button:focus-visible{outline:2px solid #69d2c8;outline-offset:2px}.empty-view{display:grid;grid-template-rows:auto auto;align-content:center;justify-items:center;flex:1;gap:14px;min-height:0;overflow:hidden;color:#343741;font-family:Cascadia Mono,Consolas,monospace;font-size:clamp(64px,13vw,168px);font-weight:800}.empty-open-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;padding:0 14px;border:1px solid #4a4d57;background:#32333b;color:#f1f1f4;cursor:pointer;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:700}.empty-open-button:hover{border-color:#ff8a19}.empty-open-button svg{color:#69d2c8}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
