@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600&family=IBM+Plex+Sans:wght@300;400;500&display=swap";html,body,#root{width:100%;height:100%;margin:0;padding:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#e8e4dc;background:#0a0a0a;min-height:100vh;font-family:IBM Plex Sans,sans-serif;overflow-x:hidden}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{z-index:100;background:#0a0a0a;border-bottom:1px solid #1e1e1e;justify-content:space-between;align-items:center;height:56px;padding:0 32px;display:flex;position:sticky;top:0}.logo{letter-spacing:.12em;color:#e8e4dc;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;display:flex}.logo-dot{background:#ff4d1c;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.header-actions{align-items:center;gap:12px;display:flex}.btn{letter-spacing:.08em;color:#888;cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #2a2a2a;padding:7px 16px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;transition:all .15s}.btn:hover{color:#e8e4dc;border-color:#444}.btn-primary{color:#ff4d1c;border-color:#ff4d1c}.btn-primary:hover{color:#0a0a0a;background:#ff4d1c}.upload-zone{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:80px 32px;transition:all .2s;display:flex}.drop-target{text-align:center;cursor:pointer;border:1px dashed #2a2a2a;width:100%;max-width:560px;padding:64px 48px;transition:all .2s;position:relative;overflow:hidden}.drop-target:before{content:"";opacity:0;background:linear-gradient(135deg,#ff4d1c08 0%,#0000 60%);transition:opacity .2s;position:absolute;inset:0}.drop-target:hover,.drop-target.drag-over{border-style:solid;border-color:#ff4d1c}.drop-target:hover:before,.drop-target.drag-over:before{opacity:1}.upload-icon{margin-bottom:24px;font-size:48px;line-height:1}.upload-title{color:#e8e4dc;letter-spacing:.04em;margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:500}.upload-sub{color:#555;font-size:13px;line-height:1.6}.upload-meta{justify-content:center;gap:24px;margin-top:32px;display:flex}.meta-item{color:#444;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:6px;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.meta-item:before{content:"—";color:#ff4d1c}.loading-bar{z-index:999;background:linear-gradient(90deg,#ff4d1c,#ff8c00);height:2px;transition:width .3s;position:fixed;top:0;left:0}.loading-overlay{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;display:flex}.loading-text{letter-spacing:.15em;text-transform:uppercase;color:#555;font-family:IBM Plex Mono,monospace;font-size:12px}.loading-pct{color:#e8e4dc;letter-spacing:-.02em;font-family:IBM Plex Mono,monospace;font-size:48px;font-weight:300}.split-layout{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid;overflow:hidden}.panel{border-right:1px solid #1a1a1a;flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel:last-child{border-right:none}.panel-header{background:#0d0d0d;border-bottom:1px solid #1a1a1a;flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 20px;display:flex}.panel-title{letter-spacing:.15em;text-transform:uppercase;color:#555;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500;display:flex}.panel-title-accent{color:#ff4d1c}.tab-group{gap:0;display:flex}.tab{letter-spacing:.08em;text-transform:uppercase;color:#444;cursor:pointer;background:0 0;border:1px solid #1e1e1e;margin-left:-1px;padding:5px 12px;font-family:IBM Plex Mono,monospace;font-size:10px;transition:all .15s}.tab.active{color:#0a0a0a;background:#ff4d1c;border-color:#ff4d1c}.panel-body{scrollbar-width:thin;scrollbar-color:#222 transparent;flex:1;overflow:auto}.panel-body::-webkit-scrollbar{width:4px}.panel-body::-webkit-scrollbar-track{background:0 0}.panel-body::-webkit-scrollbar-thumb{background:#222;border-radius:2px}.pdf-embed{background:#111;border:none;width:100%;height:100%;display:block}.md-preview{color:#c8c4bc;max-width:680px;margin:0 auto;padding:40px 36px;font-size:14px;line-height:1.75}.md-preview h1{color:#e8e4dc;letter-spacing:-.01em;border-bottom:1px solid #1e1e1e;margin:0 0 24px;padding-bottom:12px;font-family:IBM Plex Mono,monospace;font-size:22px;font-weight:500}.md-preview h2{color:#e8e4dc;letter-spacing:.02em;margin:32px 0 12px;font-family:IBM Plex Mono,monospace;font-size:16px;font-weight:500}.md-preview h3{color:#bbb;text-transform:uppercase;letter-spacing:.08em;margin:24px 0 8px;font-size:14px;font-weight:500}.md-preview p{margin:0 0 16px}.md-preview ul{margin:0 0 16px;padding-left:20px}.md-preview li{color:#aaa;margin-bottom:6px}.md-preview strong{color:#e8e4dc;font-weight:500}.md-preview em{color:#ff8c6b;font-style:italic}.md-preview code{color:#ff8c6b;background:#141414;border:1px solid #1e1e1e;padding:1px 6px;font-family:IBM Plex Mono,monospace;font-size:12px}.md-preview hr{border:none;border-top:1px solid #1e1e1e;margin:32px 0}.md-raw{color:#666;white-space:pre-wrap;word-break:break-word;padding:24px;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.8}.file-badge{color:#444;letter-spacing:.06em;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-family:IBM Plex Mono,monospace;font-size:10px;overflow:hidden}.stats-strip{background:#0d0d0d;border-top:1px solid #1a1a1a;flex-shrink:0;gap:24px;padding:8px 20px;display:flex}.stat{color:#444;letter-spacing:.08em;gap:8px;font-family:IBM Plex Mono,monospace;font-size:10px;display:flex}.stat-val{color:#666}.meta-strip{background:#0d0d0d;border-top:1px solid #1a1a1a;flex-shrink:0}.meta-toggle{cursor:pointer;letter-spacing:.1em;text-transform:uppercase;color:#555;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:8px 20px;font-family:IBM Plex Mono,monospace;font-size:10px;transition:color .15s;display:flex}.meta-toggle:hover{color:#888}.meta-toggle-label{color:#555;align-items:center;gap:6px;display:flex}.meta-toggle-fields{text-align:left;color:#444;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.meta-caret{color:#333;font-size:8px}.meta-body{scrollbar-width:thin;scrollbar-color:#222 transparent;border-top:1px solid #161616;flex-direction:column;gap:6px;max-height:220px;padding:12px 20px 16px;display:flex;overflow-y:auto}.meta-row{grid-template-columns:90px 1fr;gap:12px;font-size:11px;display:grid}.meta-key{color:#444;letter-spacing:.06em;text-transform:uppercase;padding-top:1px;font-family:IBM Plex Mono,monospace;font-size:10px}.meta-val{color:#888;word-break:break-all;font-family:IBM Plex Mono,monospace;font-size:11px;line-height:1.5}.meta-xml{color:#444;margin-top:8px;font-family:IBM Plex Mono,monospace;font-size:10px}.meta-xml summary{cursor:pointer;letter-spacing:.08em;text-transform:uppercase;color:#444;margin-bottom:8px}.meta-xml pre{color:#555;white-space:pre-wrap;word-break:break-all;border-left:2px solid #1e1e1e;padding-left:12px;font-size:10px;line-height:1.6}.extract-bar{align-items:center;gap:6px;display:flex}.extract-input{color:#e8e4dc;letter-spacing:.04em;background:#111;border:1px solid #2a2a2a;outline:none;width:130px;padding:5px 10px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:border-color .15s}.extract-input::placeholder{color:#333}.extract-input:focus{border-color:#ff4d1c}.extract-input:disabled{opacity:.3}.extract-btn{padding:5px 12px!important;font-size:10px!important}.extract-btn:not(:disabled):hover{color:#ff4d1c!important;border-color:#ff4d1c!important}.extract-error{letter-spacing:.06em;color:#ff4d1c;background:#120a08;border-bottom:1px solid #2a1208;padding:6px 20px;font-family:IBM Plex Mono,monospace;font-size:10px}.modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#0f0f0f;border:1px solid #222;flex-direction:column;width:520px;max-width:calc(100vw - 40px);max-height:calc(100vh - 80px);display:flex;overflow:hidden}.modal-header{border-bottom:1px solid #1a1a1a;flex-shrink:0;justify-content:space-between;align-items:center;height:48px;padding:0 20px;display:flex}.modal-title{letter-spacing:.12em;text-transform:uppercase;color:#888;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;display:flex}.modal-close{color:#444;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:12px;transition:color .15s}.modal-close:hover{color:#e8e4dc}.merge-drop{text-align:center;cursor:pointer;border:1px dashed #222;flex-shrink:0;margin:20px;padding:36px 24px;transition:all .15s}.merge-drop:hover,.merge-drop.dragging{background:#ff4d1c08;border-style:solid;border-color:#ff4d1c}.merge-drop-icon{color:#333;margin-bottom:10px;font-size:28px;line-height:1}.merge-drop-text{color:#666;letter-spacing:.04em;margin-bottom:4px;font-family:IBM Plex Mono,monospace;font-size:12px}.merge-drop-sub{color:#333;font-size:11px}.merge-list{scrollbar-width:thin;scrollbar-color:#222 transparent;border:1px solid #1a1a1a;flex:1;margin:0 20px;overflow-y:auto}.merge-item{border-bottom:1px solid #141414;grid-template-columns:28px 1fr auto auto;align-items:center;gap:10px;padding:9px 14px;transition:background .1s;display:grid}.merge-item:last-child{border-bottom:none}.merge-item:hover{background:#111}.merge-index{color:#ff4d1c;letter-spacing:.08em;font-family:IBM Plex Mono,monospace;font-size:10px}.merge-name{color:#888;text-overflow:ellipsis;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:11px;overflow:hidden}.merge-size{color:#333;font-family:IBM Plex Mono,monospace;font-size:10px}.merge-remove{color:#333;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:10px;transition:color .15s}.merge-remove:hover{color:#ff4d1c}.modal-footer{border-top:1px solid #1a1a1a;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.merge-count{color:#444;letter-spacing:.06em;font-family:IBM Plex Mono,monospace;font-size:10px}@media (width<=768px){.split-layout{grid-template-columns:1fr}.panel:first-child{border-bottom:1px solid #1a1a1a;border-right:none;min-height:50vh}}
