:root,[data-theme=dark]{--text:#a0a8b8;--text-h:#e8eaf0;--bg:#1b1b1d;--bg2:#242526;--border:#32343f;--code-bg:#1a1b1a;--accent:#3cad6e;--accent-bg:#3cad6e21;--accent-border:#3cad6e73;--shadow:#0006 0 4px 12px;--green-bg:#4ade8017;--green-border:#4ade8059;--green-text:#4ade80;--green-text-dim:#4ade80e6;--log-info:#a0a8b8;--log-warn:#fbbf24;--log-error:#f87171;--log-debug:#6b7280;--log-fatal:#ef4444;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "Cascadia Code", Consolas, monospace;--dim-opacity:.3;--surface-subtle:#ffffff0a;--surface-hover:#ffffff0f;--surface-active:#ffffff1a;--surface-border-hover:#ffffff2e;font:1rem/1.5 var(--sans);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}[data-theme=light]{--text:#4b5563;--text-h:#111827;--bg:#fdfdfd;--bg2:#fdfdfd;--border:#d1d5db;--code-bg:#fff;--accent:#3cad6e;--accent-bg:#3cad6e21;--accent-border:#3cad6e73;--shadow:#0000001a 0 4px 12px;--green-bg:#16a34a14;--green-border:#16a34a59;--green-text:#16a34a;--green-text-dim:#16a34ae6;--log-info:#374151;--log-warn:#b45309;--log-error:#b91c1c;--log-debug:#6b7280;--log-fatal:#991b1b;--dim-opacity:.35;--surface-subtle:#0000000a;--surface-hover:#0000000f;--surface-active:#00000017;--surface-border-hover:#0000002e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark-hc]{--text:#c8d0e0;--text-h:#fff;--bg:#0a0a0f;--bg2:#111118;--border:#32343f;--code-bg:#0d0d14;--accent:#3cad6e;--accent-bg:#3cad6e21;--accent-border:#3cad6e73;--shadow:#0009 0 4px 12px;--green-bg:#4ade8026;--green-border:#4ade808c;--green-text:#86efac;--green-text-dim:#86eface6;--log-info:#c8d0e0;--log-warn:#fcd34d;--log-error:#fca5a5;--log-debug:#9ca3af;--log-fatal:#f87171;--dim-opacity:.5;--surface-subtle:#ffffff0a;--surface-hover:#ffffff12;--surface-active:#ffffff1f;--surface-border-hover:#ffffff38;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light-hc]{--text:#1f2937;--text-h:#000;--bg:#fff;--bg2:#ebebeb;--border:#9ca3af;--code-bg:#f8f8f8;--accent:#2a754b;--accent-bg:#2a754b21;--accent-border:#2a754b73;--shadow:#00000026 0 4px 12px;--green-bg:#15803d1a;--green-border:#15803d80;--green-text:#14532d;--green-text-dim:#14532de6;--log-info:#111827;--log-warn:#92400e;--log-error:#991b1b;--log-debug:#6b7280;--log-fatal:#7f1d1d;--dim-opacity:.4;--surface-subtle:#0000000d;--surface-hover:#00000014;--surface-active:#0000001f;--surface-border-hover:#00000038;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}body{margin:0;overflow:hidden}#root{flex-direction:column;width:100vw;height:100dvh;display:flex}button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;padding:0}a{color:var(--accent);text-decoration:none}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-body{background:var(--bg);flex:1;gap:1rem;min-height:0;padding:1rem;display:flex}.header{background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0;grid-template-columns:auto 1fr auto;align-items:center;min-height:54px;font-size:14px;display:grid;position:relative}.header-brand{align-items:center;gap:10px;padding:0 14px;display:flex}.header-title{color:var(--text-h);white-space:nowrap;font-size:15px;font-weight:600}.header-meta{flex-wrap:wrap;justify-content:center;align-self:stretch;align-items:center;gap:6px;min-width:0;padding:6px 4px;display:flex;position:relative}.header-actions{flex-direction:row;flex-shrink:0;align-items:center;gap:8px;padding:0 14px;display:flex}.header-actions--column{flex-direction:column;align-items:stretch;gap:4px;padding:6px 14px}.badge{font-size:13px;font-family:var(--mono);background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);white-space:nowrap;border-radius:99px;align-items:center;gap:4px;padding:3px 9px;display:inline-flex}.badge-label{opacity:.85;font-family:var(--sans)}.badge-green{background:var(--green-bg);color:var(--green-text);border-color:var(--green-border)}.upload-btn{background:var(--accent-bg);height:34px;color:var(--accent);border:1px solid var(--accent-border);white-space:nowrap;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:500;transition:background .15s;display:flex}.upload-btn:hover{background:#3cad6e33}.upload-btn--close:hover{background:var(--surface-hover)}.sidebar{background:var(--bg2);border:1px solid var(--border);border-radius:8px;flex-direction:column;flex-shrink:0;width:280px;display:flex;overflow:hidden auto}.tree-section{border-bottom:1px solid var(--border)}.tree-section-header{letter-spacing:.07em;text-transform:uppercase;color:var(--text-h);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:6px;width:100%;padding:10px 14px;font-size:12px;font-weight:700;transition:color .1s;display:flex}.tree-section-header:hover{color:var(--text-h)}.tree-chevron{opacity:.5;font-size:9px;transition:transform .15s;display:inline-block}.tree-chevron.open{transform:rotate(90deg)}.tree-items{padding:2px 0 6px}.tree-item{cursor:pointer;color:var(--text);text-align:left;white-space:nowrap;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:6px;width:100%;padding:5px 12px 5px 24px;font-size:13px;transition:background .1s,color .1s;display:flex;overflow:hidden}.tree-item:hover{background:var(--surface-hover);color:var(--text-h)}.tree-item.active{background:var(--accent-bg);color:var(--accent);border-left-color:var(--accent)}.tree-item-name{text-overflow:ellipsis;flex:1;overflow:hidden}.tree-item-icon{opacity:.55;flex-shrink:0;font-size:12px}.diff-badge,.parse-error-badge{font-size:11px;font-family:var(--mono);background:var(--green-bg);color:var(--green-text);border:1px solid var(--green-border);border-radius:99px;flex-shrink:0;align-items:center;padding:1px 5px;display:inline-flex}.sidebar-overlay{z-index:199;cursor:pointer;background:#0006;display:none;position:fixed;inset:0}.burger-btn{border:1px solid var(--border);width:32px;height:32px;color:var(--text);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:background .15s;display:none}.burger-btn:hover{background:var(--surface-hover)}@media (width<=768px){.sidebar{z-index:200;border-radius:0;width:280px;height:100dvh;transition:transform .25s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-overlay{display:block}.burger-btn{display:flex}}.badge-content{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge-content.badge-content-hidden{visibility:hidden;pointer-events:none;width:100%;position:absolute;top:0;left:0}.badge-collapse-btn{cursor:pointer;font-family:var(--sans);background:var(--surface-subtle);color:var(--text);border-color:var(--border)}.badge-collapse-btn:hover{background:var(--surface-hover);color:var(--text-h)}.badge-dropdown{z-index:300;background:var(--bg2);border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;flex-direction:column;gap:8px;width:min(600px,100vw - 32px);padding:10px 16px;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}.badge-section{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.badge-section-hr{border:none;border-top:1px solid var(--border);width:100%;margin:0}.viewer-area{border:1px solid var(--border);background:var(--bg2);border-radius:8px;flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.dropzone{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;height:100%;padding:48px;display:flex}.dropzone.drag-over .dropzone-box{border-color:var(--accent);background:var(--accent-bg)}.dropzone-box{border:2px dashed var(--border);cursor:pointer;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;max-width:480px;padding:48px 32px;transition:border-color .2s,background .2s;display:flex}.dropzone-box:hover{border-color:var(--accent);background:var(--accent-bg)}.dropzone-icon{font-size:48px;line-height:1}.dropzone-title{color:var(--text-h);margin:0;font-size:16px;font-weight:600}.dropzone-sub{color:var(--text);margin:0;font-size:13px}.dropzone-error{color:#f87171;font-size:13px}.file-viewer-header{background:var(--bg2);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;min-height:46px;padding:8px 16px;display:flex}.file-viewer-title{color:var(--text-h);font-size:13.5px;font-weight:500;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-viewer-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.icon-btn{width:28px;height:28px;color:var(--text);background:var(--surface-subtle);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:15px;transition:background .1s,color .1s;display:flex}.icon-btn:hover{background:var(--surface-hover);color:var(--text-h)}.tab-group{border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.tab-btn{color:var(--text);border:none;border-right:1px solid var(--border);cursor:pointer;background:0 0;padding:5px 14px;font-size:12.5px;transition:background .1s,color .1s}.tab-btn:last-child{border-right:none}.tab-btn:hover{background:var(--surface-hover);color:var(--text-h)}.tab-btn.active{background:var(--accent-bg);color:var(--accent)}.file-viewer-body{flex:1;overflow:auto}.code-wrap pre{tab-size:2;min-height:100%;border-radius:0!important;margin:0!important;padding:12px 20px!important;font-size:12.5px!important;line-height:1.6!important}.line-default{opacity:var(--dim-opacity,.3);width:100%;display:block}.line-diff-added{background:#4ade801f;border-left:2px solid #4ade8080;width:100%;margin-left:-2px;padding-left:2px;display:block}.line-diff-removed{background:#f871711f;border-left:2px solid #f8717166;width:100%;margin-left:-2px;padding-left:2px;display:block}.line-diff-hunk{opacity:.85;background:#60a5fa14;width:100%;display:block}.line-diff-meta{opacity:.45;width:100%;display:block}.line-changed{background:#4ade8012;border-left:2px solid #4ade8066;width:100%;margin-left:-2px;padding-left:2px;display:block}.diff-legend{border-bottom:1px solid var(--border);background:var(--bg2);gap:16px;padding:5px 14px;font-size:12px;display:flex}.legend-item{align-items:center;gap:5px;display:flex}.legend-dot{border-radius:2px;flex-shrink:0;width:10px;height:10px}.legend-dot.changed{background:#4ade8059;border:1px solid #4ade8080}.legend-dot.default{background:var(--surface-subtle);border:1px solid var(--border);opacity:.5}.log-container{flex-direction:column;flex:1;min-height:0;display:flex}.log-toolbar{background:var(--bg2);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:6px 20px;display:flex}.log-toolbar-label{color:var(--text);margin-right:2px;font-size:12px}.log-filter-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:99px;padding:3px 11px;font-size:12px;transition:all .1s}.log-filter-btn:hover{background:var(--surface-hover)}.log-filter-btn.active-info{background:color-mix(in srgb, var(--log-info) 12%, transparent);color:var(--log-info);border-color:color-mix(in srgb, var(--log-info) 30%, transparent)}.log-filter-btn.active-warn{background:color-mix(in srgb, var(--log-warn) 10%, transparent);color:var(--log-warn);border-color:color-mix(in srgb, var(--log-warn) 30%, transparent)}.log-filter-btn.active-error{background:color-mix(in srgb, var(--log-error) 10%, transparent);color:var(--log-error);border-color:color-mix(in srgb, var(--log-error) 30%, transparent)}.log-filter-btn.active-fatal{background:color-mix(in srgb, var(--log-fatal) 10%, transparent);color:var(--log-fatal);border-color:color-mix(in srgb, var(--log-fatal) 30%, transparent)}.log-filter-btn.active-debug{background:color-mix(in srgb, var(--log-debug) 12%, transparent);color:var(--log-debug);border-color:color-mix(in srgb, var(--log-debug) 30%, transparent)}.log-lines{flex:1;padding:4px 0;overflow:auto}.log-line{font-family:var(--mono);border-left:2px solid #0000;gap:0;font-size:12.5px;line-height:1.55;display:flex}.log-line:hover{background:var(--surface-subtle)}.log-line.INFO{color:var(--log-info)}.log-line.WARN{color:var(--log-warn);border-left-color:color-mix(in srgb, var(--log-warn) 40%, transparent);background:color-mix(in srgb, var(--log-warn) 6%, transparent)}.log-line.ERROR{color:var(--log-error);border-left-color:color-mix(in srgb, var(--log-error) 50%, transparent);background:color-mix(in srgb, var(--log-error) 6%, transparent)}.log-line.FATAL{color:var(--log-fatal);border-left-color:color-mix(in srgb, var(--log-fatal) 70%, transparent);background:color-mix(in srgb, var(--log-fatal) 8%, transparent)}.log-line.DEBUG{color:var(--log-debug)}.log-line.UNKNOWN{color:var(--text)}.log-lineno{color:var(--log-debug);-webkit-user-select:none;user-select:none;text-align:right;flex-shrink:0;min-width:48px;margin-right:12px;font-size:11px;line-height:1.55}.log-text{white-space:pre-wrap;word-break:break-all;flex:1}.crash-header{border-bottom:1px solid var(--border);background:#f8717129;flex-shrink:0;padding:16px 18px}.crash-title{color:#f87171;margin:0 0 6px;font-size:14px;font-weight:600}.crash-desc{color:var(--text);margin:0 0 8px;font-size:13px}.crash-exception{font-family:var(--mono);color:#f87171;word-break:break-word;white-space:pre-wrap;background:#f871712e;border:1px solid #f8717133;border-radius:6px;margin:0;padding:8px 12px;font-size:12.5px}.crash-body pre{font-family:var(--mono);color:var(--text);white-space:pre-wrap;word-break:break-all;margin:0;padding:12px 16px;font-size:12.5px;line-height:1.55}.binary-viewer{height:100%;color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.binary-icon{font-size:40px;line-height:1}.binary-name{font-family:var(--mono);color:var(--text-h);font-size:16px}.binary-size{font-size:13px}.binary-note{text-align:center;opacity:.6;max-width:320px;font-size:13px}.empty-state{height:100%;color:var(--text);opacity:.45;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty-state-icon{font-size:32px}.empty-state-text{font-size:13px}.action-btn{border:1px solid var(--border);background:var(--surface-subtle);color:var(--text-h);cursor:pointer;white-space:nowrap;border-radius:5px;align-items:center;gap:5px;padding:4px 12px;font-size:12.5px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.action-btn:hover{background:var(--surface-active);border-color:var(--surface-border-hover)}.action-btn-primary{background:var(--accent-bg);color:var(--accent);border-color:var(--accent-border)}.action-btn-primary:hover{background:#3cad6e33}[data-theme=dark-hc] .code-wrap pre,[data-theme=dark-hc] .code-wrap code{color:#d8d8e8!important;background:#0a0a0f!important}[data-theme=light-hc] .code-wrap pre,[data-theme=light-hc] .code-wrap code{color:#111!important;background:#fff!important}[data-theme=dark-hc] .hljs-comment,[data-theme=dark-hc] .hljs-quote{font-style:italic;color:#7a9abf!important}[data-theme=dark-hc] .hljs-attr,[data-theme=dark-hc] .hljs-selector-attr{color:#e2b8ff!important}[data-theme=dark-hc] .hljs-string{color:#7affd4!important}[data-theme=dark-hc] .hljs-number,[data-theme=dark-hc] .hljs-literal{color:#fd7!important}[data-theme=dark-hc] .hljs-keyword,[data-theme=dark-hc] .hljs-built_in{color:#ff8fab!important}[data-theme=light-hc] .hljs-comment,[data-theme=light-hc] .hljs-quote{font-style:italic;color:#3d5a80!important}[data-theme=light-hc] .hljs-attr,[data-theme=light-hc] .hljs-selector-attr{font-weight:600;color:#5b21b6!important}[data-theme=light-hc] .hljs-string{color:#065f46!important}[data-theme=light-hc] .hljs-number,[data-theme=light-hc] .hljs-literal{font-weight:600;color:#92400e!important}[data-theme=light-hc] .hljs-keyword,[data-theme=light-hc] .hljs-built_in{color:#991b1b!important}[data-theme=dark-hc] .parse-error-badge{color:#fca5a5!important;background:#fca5a51f!important;border-color:#fca5a580!important}[data-theme=light-hc] .parse-error-badge{color:#991b1b!important;background:#991b1b14!important;border-color:#991b1b66!important}.viewer-area .hljs,.viewer-area pre,.viewer-area .log-line,.viewer-area .crash-body pre{font-size:var(--viewer-font-size,13px)!important}.font-size-ctrl{border:1px solid var(--border);border-radius:5px;align-items:center;gap:0;height:28px;display:flex;overflow:hidden}.font-size-btn{width:26px;height:100%;color:var(--text-h);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;font-weight:500;line-height:1;transition:background .1s;display:flex}.font-size-btn:hover{background:var(--surface-hover)}.font-size-val{font-size:11px;font-family:var(--mono);color:var(--text);border-left:1px solid var(--border);border-right:1px solid var(--border);white-space:nowrap;padding:0 6px;line-height:26px}.modpack-dropdown{z-index:300;background:var(--bg2);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;min-width:140px;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden}.modpack-dropdown-item{color:var(--text-h);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;width:100%;padding:9px 14px;font-size:14px;transition:background .1s;display:flex}.modpack-dropdown-item:hover{background:var(--surface-hover)}.modpack-dropdown-item:not(:last-child){border-bottom:1px solid var(--border)}.line-error{background:#f8717126;border-left:3px solid #f87171b3;width:100%;margin-left:-3px;padding-left:3px;display:block}.crash-exception-toggle{cursor:pointer;color:#f87171;opacity:.85;background:0 0;border:none;margin:4px 0;padding:0;font-size:12px;display:block}.crash-exception-toggle:hover{opacity:1}
