html,body{width:100%;height:100%}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;height:100%}.box-tree-container{display:flex;flex-direction:column;height:100%;background:#1e1e1e;color:#d4d4d4;overflow:hidden}.box-tree-header{padding:16px;border-bottom:1px solid #3c3c3c;display:flex;justify-content:space-between;align-items:center}.box-tree-header h3{margin:0;font-size:16px;font-weight:600}.tree-controls{display:flex;gap:8px}.tree-controls button{padding:6px 12px;font-size:12px;background:#3c3c3c;color:#d4d4d4;border:1px solid #5c5c5c;border-radius:4px;cursor:pointer;transition:background .2s}.tree-controls button:disabled{background:#2d2d2d;color:gray;border-color:#404040;cursor:not-allowed}.tree-controls button:hover{background:#5c5c5c}.tree-content{flex:1;overflow-y:auto;padding:8px 0}.tree-node{display:flex;align-items:center;padding:6px 8px;border:none;background:transparent;color:#d4d4d4;text-align:left;width:100%;cursor:pointer;gap:6px;border-radius:4px;margin:2px 0}.tree-node:hover{background:#2d2d2d}.tree-node.selected{background:#264f78}.tree-node .toggle-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:10px;padding:0;border:none;background:transparent;color:#d4d4d4;cursor:pointer;border-radius:2px;flex-shrink:0}.tree-node .toggle-icon:hover{background:#3c3c3c}.tree-node .toggle-icon.no-children{cursor:default}.box-type{padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-weight:600;font-size:13px;color:#1e1e1e;flex-shrink:0}.box-size{font-size:12px;color:gray;margin-left:4px}.box-offset{font-size:12px;color:gray;font-family:Courier New,monospace;margin-left:auto}.empty-state{padding:32px 16px;text-align:center;color:gray;font-size:14px}.children{animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hex-viewer-container{display:flex;flex-direction:column;height:100%;background:#1e1e1e;color:#d4d4d4;font-family:Courier New,monospace;font-size:13px;overflow:hidden}.hex-viewer-dark{--background: #1e1e1e;--text: #d4d4d4;--border: #3c3c3c;--highlight: #264f78;--byte-hover: #2d2d2d}.hex-viewer-light{--background: #ffffff;--text: #1e1e1e;--border: #e0e0e0;--highlight: #e8f4fd;--byte-hover: #f5f5f5}.hex-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--background);border-bottom:1px solid var(--border);flex-shrink:0}.hex-viewer-info{display:flex;gap:20px;font-size:12px;color:gray}.hex-viewer-info span{display:inline-flex;align-items:center;gap:8px}.hex-viewer-info span:before{content:"";display:inline-block;width:1px;height:12px;background:#5c5c5c}.hex-viewer-info span:first-child:before{display:none}.hex-column-headers{display:grid;grid-template-columns:100px 1fr auto;gap:8px;padding:8px 16px;background:#252526;border-bottom:1px solid #3c3c3c;font-size:11px;color:gray;flex-shrink:0}.hex-offset-header{text-align:right;padding-right:12px}.hex-bytes-header{display:flex;gap:4px;justify-content:center}.byte-header{width:24px;text-align:center;font-size:11px}.hex-ascii-header{padding-left:16px;min-width:160px}.hex-list{flex:1;overflow-y:auto}.hex-row{display:grid;grid-template-columns:100px 1fr auto;gap:8px;padding:2px 16px;align-items:center;border-bottom:1px solid #2d2d2d;font-size:13px}.hex-row:hover{background:#252526}.hex-offset{text-align:right;padding-right:12px;color:gray;font-size:12px}.hex-bytes{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.hex-byte-wrapper{display:inline-flex;align-items:center;justify-content:center;width:24px;height:20px;padding:0;border:none;background:transparent;color:var(--text);cursor:pointer;border-radius:2px;transition:background .1s}.hex-byte-wrapper:hover{background:var(--byte-hover)}.hex-byte-wrapper.selected{background:var(--highlight);color:#fff}.hex-byte-wrapper.empty{cursor:default}.hex-byte{font-size:13px;-webkit-user-select:none;user-select:none}.hex-ascii{display:flex;gap:0;padding-left:16px;min-width:160px;letter-spacing:2px;color:#d4d4d4}.ascii-char{display:inline-block;width:8px;text-align:center}.box-details-container{display:flex;flex-direction:column;height:100%;background:#1e1e1e;color:#d4d4d4;overflow:hidden;border-left:1px solid #3c3c3c}.box-details-header{padding:16px;border-bottom:1px solid #3c3c3c;flex-shrink:0}.box-details-header h3{margin:0 0 12px;font-size:16px;font-weight:600}.box-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.box-type-badge{padding:4px 12px;border-radius:4px;font-family:Courier New,monospace;font-weight:600;font-size:13px;color:#1e1e1e}.box-size{font-size:12px;color:gray}.box-offset{font-size:12px;color:gray;font-family:Courier New,monospace}.properties-list{flex:1;overflow-y:auto;padding:8px 0}.property-row{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:8px 16px;border-bottom:1px solid #2d2d2d}.property-row:hover{background:#252526}.property-name{display:flex;align-items:center;min-height:24px;color:#9cdcfe}.property-name code{font-size:13px;font-family:Courier New,monospace;word-break:break-word}.property-value{display:flex;align-items:center;min-height:24px;border:none;background:transparent;color:#d4d4d4;text-align:left;width:100%;cursor:default;transition:background .1s;border-radius:2px;padding:4px}.property-value.clickable{cursor:pointer;color:#9cdcfe}.property-value.clickable:hover{background:#2d2d2d}.property-value code{font-size:13px;font-family:Courier New,monospace;word-break:break-word;white-space:pre-wrap;overflow-x:auto}.empty-state{display:flex;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:gray;font-size:14px}.empty-state p{margin:0}.main-layout{display:grid;grid-template-columns:350px 1fr;grid-template-rows:1fr;height:calc(100vh - 60px);gap:1px;background:#3c3c3c;overflow:hidden}.left-panel{display:flex;flex-direction:column;overflow:hidden;background:#1e1e1e}.tree-section{flex:1;overflow:hidden;display:flex;flex-direction:column;border-bottom:1px solid #3c3c3c}.details-section{height:500px;overflow:hidden;display:flex;flex-direction:column}.hex-section{overflow:hidden;background:#1e1e1e}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1e1e1e;color:#d4d4d4}#root{width:100vw;height:100vh;overflow:hidden}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.app-logo{height:48px;width:48px}.app-logo-container{display:flex;align-items:center;gap:6px}.app-logo-container h1{font-family:monospace;color:#d4d4d4}.app-header{display:flex;justify-content:space-between;align-items:center;padding:0 24px;height:60px;background:#252526;border-bottom:1px solid #3c3c3c;flex-shrink:0}.header-left{display:flex;align-items:center;gap:20px}.header-left h1{font-size:20px;font-weight:600;color:#d4d4d4}.file-info{display:flex;align-items:center;gap:12px;padding:6px 12px;background:#3c3c3c;border-radius:4px;font-size:13px}.file-name{color:#9cdcfe;font-weight:500}.file-size{color:gray}.header-right{display:flex;align-items:center;gap:12px}.file-input-label{display:inline-flex;align-items:center;padding:8px 16px;background:#0e639c;color:#fff;border-radius:4px;cursor:pointer;transition:background .2s;font-size:13px;font-weight:500}.file-input-label:hover{background:#17b}.file-input-label input{display:none}.file-input-label input:disabled+span{opacity:.6;cursor:not-allowed}.reset-button{padding:8px 16px;background:#3c3c3c;color:#d4d4d4;border:none;border-radius:4px;cursor:pointer;transition:background .2s;font-size:13px}.reset-button:hover{background:#5c5c5c}.app-main{flex:1;overflow:hidden;position:relative}.loading-overlay{position:absolute;inset:0;background:#1e1e1ee6;display:flex;align-items:center;justify-content:center;z-index:1000}.loading-content{display:flex;flex-direction:column;align-items:center;gap:16px}.spinner{width:48px;height:48px;border:4px solid #3c3c3c;border-top-color:#0e639c;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-content p{font-size:14px;color:#d4d4d4}.error-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#5a1d1d;border:1px solid #f48771;border-radius:8px;padding:24px;text-align:center}.error-message p{margin-bottom:16px;color:#f48771}.error-message button{padding:8px 16px;background:#f48771;color:#1e1e1e;border:none;border-radius:4px;cursor:pointer;font-weight:500}.welcome-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;padding:40px}.welcome-screen h2{font-size:32px;font-weight:600;margin-bottom:16px;color:#d4d4d4}.welcome-screen>p{font-size:16px;color:gray;margin-bottom:40px;max-width:500px}.features-list{display:flex;gap:32px;justify-content:center;flex-wrap:wrap}.feature-item{background:#252526;border:1px solid #3c3c3c;border-radius:8px;padding:24px;width:200px;text-align:center}.feature-item h3{font-size:18px;margin-bottom:8px;color:#d4d4d4}.feature-item p{font-size:14px;color:gray;line-height:1.5}
