@font-face{font-family:Plex Sans;src:url(/assets/plexsans-regular-BTB9ndPq.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Plex Sans;src:url(/assets/plexsans-medium-DPg3uh6f.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Plex Sans;src:url(/assets/plexsans-semibold-DzahmYX0.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Plex Mono;src:url(/assets/plexmono-regular-ClCTSiDw.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Plex Mono;src:url(/assets/plexmono-medium-DyRt3UMW.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}html,body,#root{margin:0;padding:0}:root{--bg: #0a0e14;--bg-2: #0e141d;--panel: #111923;--panel-2: #16202c;--panel-3: #1b2733;--line: #1e2b3a;--line-soft: #182330;--text: #e8eef5;--text-dim: #94a3b3;--text-mute: #5c6b7c;--accent: #ffb020;--accent-2: #22d3ee;--accent-dim: rgba(255, 176, 32, .12);--danger: #f25f5c;--ok: #3ddc97;--mono: "Plex Mono", ui-monospace, "Cascadia Mono", "Courier New", monospace;--sans: "Plex Sans", "Segoe UI", system-ui, sans-serif;--radius: 10px;--lvl-trace: #94a3b8;--lvl-debug: #7dd3fc;--lvl-info: #22d3ee;--lvl-warn: #fbbf24;--lvl-error: #f87171;--lvl-fatal: #ef4444}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--sans);color:var(--text);background:radial-gradient(1200px 600px at 15% -10%,rgba(34,211,238,.06),transparent 60%),radial-gradient(1000px 500px at 90% 0%,rgba(255,176,32,.05),transparent 55%),var(--bg);font-size:14px;-webkit-font-smoothing:antialiased}.app{display:flex;flex-direction:column;height:100vh}.panel-toggle{font-size:13px;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line)}.btn{font-family:var(--sans);font-size:13px;font-weight:500;padding:7px 14px;border-radius:8px;border:1px solid var(--line);background:var(--panel-3);color:var(--text);cursor:pointer;transition:all .15s ease;letter-spacing:.2px}.btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:transparent}.btn.small{padding:4px 10px;font-size:12px;border-radius:7px}.btn.mini{padding:3px 9px;font-size:12px;border-radius:7px}.btn.primary{background:linear-gradient(135deg,var(--accent),#ff9d1f);border-color:transparent;color:#14100a;font-weight:600;box-shadow:0 3px 14px #ffb02040}.btn.primary:hover:not(:disabled){color:#14100a;filter:brightness(1.08);transform:translateY(-1px)}.btn.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.icon-btn{background:transparent;border:none;color:var(--text-dim);font-size:15px;cursor:pointer;padding:3px 7px;border-radius:6px}.icon-btn:hover{color:var(--accent);background:var(--accent-dim)}.app-body{flex:1;display:flex;min-height:0}.file-panel{width:300px;min-width:200px;flex-shrink:0;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--bg-2),var(--bg));border-right:1px solid var(--line);padding:12px;gap:10px}.panel-actions{display:flex;gap:8px}.panel-actions .btn{flex:1;justify-content:center}.panel-sep{height:1px;background:var(--line-soft);margin:2px 0}.panel-divider{width:6px;flex-shrink:0;cursor:col-resize;background:transparent;position:relative;z-index:3}.panel-divider:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:var(--line-soft);transition:background .15s}.panel-divider:hover:after,.panel-divider:active:after{background:var(--accent)}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-title{font-weight:600;font-size:13px;letter-spacing:.8px;color:var(--text);text-transform:uppercase}.dir-row{display:flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--line-soft);border-radius:8px;padding:8px 10px;font-size:12px;color:var(--text-dim);white-space:nowrap}.dir-icon{color:var(--accent-2)}.dir-path{overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left}.year-row{display:flex;align-items:center;justify-content:space-between;padding:2px}.year-row label{font-size:12px;color:var(--text-dim)}.year-input{width:84px;background:var(--panel-3);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:5px 8px;font-size:13px;font-family:var(--mono)}.year-input:focus{outline:none;border-color:var(--accent-2)}.file-toolbar{display:flex;gap:8px}.file-toolbar .btn{flex:1}.file-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:3px;padding:2px;min-height:60px}.file-list::-webkit-scrollbar,.result-scroll::-webkit-scrollbar,.dp-body::-webkit-scrollbar{width:9px}.file-list::-webkit-scrollbar-thumb,.result-scroll::-webkit-scrollbar-thumb,.dp-body::-webkit-scrollbar-thumb{background:var(--line);border-radius:6px}.file-list::-webkit-scrollbar-track{background:transparent}.empty-tip{color:var(--text-mute);font-size:12px;text-align:center;padding:20px 0}.file-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:8px;border:1px solid transparent;cursor:pointer;font-size:12.5px;transition:background .12s ease}.file-item:hover{background:var(--panel-3)}.file-item.selected{background:var(--accent-dim);border-color:#ffb0204d}.file-item.loaded .file-name{color:var(--ok)}.check{color:var(--text-mute);width:14px}.file-item.selected .check{color:var(--accent)}.file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-family:var(--mono);font-size:11px;color:var(--text-mute)}.file-loaded{color:var(--ok);font-size:9px}.panel-foot{border-top:1px solid var(--line-soft);padding-top:10px;display:flex;flex-direction:column;gap:8px}.foot-label{font-size:11px;color:var(--text-mute);letter-spacing:1px;text-transform:uppercase}.loaded-list{display:flex;flex-direction:column;gap:4px;max-height:120px;overflow-y:auto}.muted{color:var(--text-mute);font-size:12px}.loaded-chip{display:flex;justify-content:space-between;gap:6px;background:var(--panel);border:1px solid var(--line-soft);border-radius:7px;padding:5px 9px;font-size:12px}.loaded-chip span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-size{font-family:var(--mono);color:var(--text-mute);font-size:11px}.main{flex:1;display:flex;flex-direction:column;min-width:0}.filter-bar{display:flex;align-items:center;gap:12px;background:linear-gradient(180deg,var(--bg-2),rgba(14,20,29,.85));border-bottom:1px solid var(--line);padding:10px 14px;position:relative;z-index:6}.filter-tools{flex:1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.lvl-wrap{display:flex;align-items:center;gap:8px}.lvl-caption{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-mute)}.lvl-select{position:relative;display:flex;align-items:center}.lvl-select select{appearance:none;-webkit-appearance:none;background:var(--panel-3);border:1px solid var(--line);color:var(--text);border-radius:9px;padding:7px 30px 7px 12px;font-size:12.5px;font-weight:500;font-family:var(--sans);cursor:pointer;transition:border-color .15s,background .15s}.lvl-select select:hover{border-color:#ffb02080}.lvl-select select:focus{outline:none;border-color:var(--accent-2)}.lvl-select select option{background:var(--panel-3);color:var(--text)}.lvl-select-arrow{position:absolute;right:10px;pointer-events:none;color:var(--text-mute);font-size:11px}.time-range{display:flex;align-items:center;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:7px 10px;box-shadow:inset 0 1px #ffffff05}.tr-field{display:flex;align-items:center;gap:7px}.tr-caption{font-size:11px;font-weight:600;color:var(--accent-2);letter-spacing:.5px}.time-field{position:relative}.time-display{display:flex;align-items:center;gap:8px;appearance:none;-webkit-appearance:none;background:var(--panel-3);border:1px solid var(--line-soft);color:var(--text);border-radius:8px;padding:6px 9px;font-size:12.5px;font-family:var(--mono);width:180px;cursor:pointer;transition:border-color .15s,box-shadow .15s;color-scheme:dark}.time-display:hover{border-color:var(--line)}.time-display:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #22d3ee1f}.time-display.empty{color:var(--text-mute)}.time-value{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-placeholder{font-family:var(--sans);font-size:12px;white-space:nowrap}.time-caret{color:var(--text-mute);font-size:10px;margin-left:auto;flex-shrink:0}.time-picker{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:240px;background:var(--panel-2);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px #00000080;padding:12px;display:flex;flex-direction:column;gap:10px;color-scheme:dark}.tp-date{width:100%;background:var(--panel-3);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:7px 9px;font-size:12.5px;font-family:var(--mono)}.tp-date:focus{outline:none;border-color:var(--accent-2)}.tp-date::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(.8);opacity:.6}.tp-time{display:flex;align-items:center;gap:5px}.tp-time label{font-size:11px;color:var(--text-mute)}.tp-time select{flex:1;background:var(--panel-3);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:6px;font-size:12.5px;font-family:var(--mono);cursor:pointer}.tp-time select:focus{outline:none;border-color:var(--accent-2)}.tp-time select option{background:var(--panel-3);color:var(--text)}.tp-actions{display:flex;justify-content:flex-end;gap:8px}.tr-arrow{color:var(--text-mute);font-size:12px;padding:0 2px}.fmt-field{display:flex;align-items:center;gap:7px}.fmt-caption{font-size:11px;font-weight:600;color:var(--text-mute);letter-spacing:1px;text-transform:uppercase}.fmt-input{background:var(--panel-3);border:1px dashed var(--line);color:var(--text);border-radius:8px;padding:6px 10px;font-size:12.5px;font-family:var(--mono);width:230px;transition:border-color .15s,box-shadow .15s}.fmt-input:hover{border-color:var(--line)}.fmt-input:focus{outline:none;border-style:solid;border-color:var(--accent-2);box-shadow:0 0 0 3px #22d3ee1f}.fmt-input::placeholder{color:var(--text-mute)}.modal-mask{position:fixed;inset:0;background:#04080d99;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:100}.modal{width:560px;max-width:90vw;background:var(--panel-2);border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 60px #0000008c;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line-soft)}.modal-title{font-size:14px;font-weight:600;letter-spacing:.5px;color:var(--text)}.modal-body{padding:18px;display:flex;flex-direction:column;gap:12px}.modal-desc{font-size:12.5px;color:var(--text-dim);line-height:1.6}.modal-detect{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;background:var(--accent-dim);border:1px dashed rgba(255,176,32,.4);border-radius:8px;padding:9px 12px;font-size:12.5px;color:var(--text-dim)}.modal-detect-label{color:var(--accent);font-weight:600}.modal-detect-fmt{font-family:var(--mono);font-size:12px;color:var(--text);word-break:break-all}.modal-detect-more{color:var(--text-mute)}.modal-input{width:100%;background:var(--panel-3);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:9px 12px;font-size:13px;font-family:var(--mono)}.modal-input:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #22d3ee1f}.modal-tokens{display:flex;flex-wrap:wrap;gap:6px}.token-chip{background:var(--panel-3);border:1px solid var(--line);color:var(--accent-2);border-radius:6px;padding:5px 10px;font-size:12px;font-family:var(--mono);cursor:pointer;transition:all .12s}.token-chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--line-soft)}.modal-wide{width:680px}.modal-textarea{width:100%;min-height:280px;resize:vertical;background:var(--panel-3);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:1.55;font-family:var(--mono);box-sizing:border-box}.modal-textarea:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #22d3ee1f}.modal-textarea::placeholder{color:var(--text-mute)}.modal-field{display:flex;flex-direction:column;gap:8px}.modal-label{font-size:13px;font-weight:600;color:var(--text)}.modal-field+.modal-field{padding-top:4px;border-top:1px solid var(--line-soft)}.date-fmt-select{cursor:pointer}.kw-input-wrap{flex:1;min-width:220px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;background:var(--panel-3);border:1px solid var(--line);border-radius:10px;padding:6px 9px;min-height:38px;transition:border-color .15s,box-shadow .15s}.kw-input-wrap:focus-within{border-color:var(--accent-2);box-shadow:0 0 0 3px #22d3ee1f}.kw-input{border:none;background:transparent;padding:2px;flex:1;min-width:150px;font-size:13px;color:var(--text)}.kw-input:focus{outline:none}.kw-input::placeholder{color:var(--text-mute)}.kw-chip{display:inline-flex;align-items:center;gap:5px;background:var(--accent-dim);border:1px solid rgba(255,176,32,.4);color:var(--accent);border-radius:6px;padding:3px 8px;font-size:12px;font-family:var(--mono)}.kw-x{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;line-height:1;padding:0 2px;opacity:.7}.kw-x:hover{opacity:1}.fb-btn{padding:9px 20px;border-radius:10px;font-weight:600;font-size:13px}.fb-find{background:linear-gradient(135deg,var(--accent),#ff9d1f);border-color:transparent;color:#14100a;box-shadow:0 3px 14px #ffb02040}.fb-find:hover:not(:disabled){color:#14100a;filter:brightness(1.08);transform:translateY(-1px)}.fb-compare{background:#22d3ee26;border-color:#22d3ee73;color:var(--accent-2)}.fb-compare:hover:not(:disabled){color:var(--accent-2);border-color:var(--accent-2);background:#22d3ee47;transform:translateY(-1px)}.fb-compare.on{background:#22d3ee52;border-color:var(--accent-2);box-shadow:0 0 0 3px #22d3ee2e}.fb-export{background:#3ddc9726;border-color:#3ddc9773;color:var(--ok)}.fb-export:hover:not(:disabled){color:var(--ok);border-color:var(--ok);background:#3ddc9747;transform:translateY(-1px)}.fb-actions{display:inline-flex;align-items:center;gap:8px}.result-wrap{flex:1;display:flex;flex-direction:column;min-height:0;position:relative}.result-head{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--line-soft)}.rh-cols{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;margin-left:auto}.rcol-empty{color:var(--text-mute);font-size:12px;font-style:italic}.result-scroll{flex:1;overflow-y:auto;padding:4px 8px;position:relative}.result-empty{color:var(--text-mute);text-align:center;padding:60px 20px;font-size:13px}.rs-spacer{width:1px}.rcol{flex-shrink:0;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:2px 8px;border-radius:5px;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.3px}.rcol:hover{filter:brightness(1.2)}.rcol.hidden{color:var(--text-mute);background:var(--panel-3)!important;border:1px dashed var(--line);filter:none;opacity:.85}.bg-line,.rcol.row-line{background:#94a3b829}.bg-file,.rcol.row-file{background:#22d3ee29}.bg-time,.rcol.row-time{background:#67e8f924}.bg-level,.rcol.row-level{background:#fbbf2429}.bg-thread,.rcol.row-thread{background:#22c55e29}.bg-logger,.rcol.row-logger{background:#a855f729}.bg-msg,.rcol.row-msg{background:#3b82f624}.log-row .dbl{border-radius:5px}.log-row{display:flex;align-items:center;gap:12px;height:var(--row-h, 36px);padding:0 10px;border-radius:7px;border-left:3px solid transparent;cursor:pointer;font-size:12.5px;line-height:1.4;white-space:nowrap;overflow:hidden;transition:background .1s;box-sizing:border-box}.log-row:hover{background:var(--panel-2)}.log-row.active{background:var(--panel-3);border-left-color:var(--accent)}.log-row.hl-range{background:#ffb0201a;border-left-color:var(--accent)}.log-row.hl-range.active{background:#ffb02029}.dbl{cursor:pointer}.dbl:hover{background:#22d3ee14;border-radius:4px}.lvl-row.dbl{display:inline-flex;align-items:center}.ctx-menu{position:absolute;z-index:40;min-width:170px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 34px #00000080;padding:8px;display:flex;flex-direction:column;gap:8px}.ctx-head{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-mute)}.ctx-num{display:flex;align-items:center;gap:8px}.ctx-num span{font-size:12px;color:var(--text-dim)}.ctx-num input{width:72px;background:var(--panel-3);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:5px 8px;font-size:12.5px;font-family:var(--mono)}.ctx-num input:focus{outline:none;border-color:var(--accent-2)}.ctx-section{font-size:10.5px;font-weight:600;letter-spacing:1px;color:var(--accent-2);text-transform:uppercase;margin-top:2px}.ctx-btns{display:flex;flex-direction:column;gap:4px}.ctx-btns button{text-align:left;background:transparent;border:1px solid transparent;color:var(--text);border-radius:7px;padding:7px 10px;font-size:13px;cursor:pointer;transition:all .12s}.ctx-btns button:hover{background:var(--accent-dim);border-color:#ffb02066;color:var(--accent)}.row-line{font-family:var(--mono);color:var(--text-mute);font-size:11px;min-width:46px;text-align:right;-webkit-user-select:none;user-select:none;flex-shrink:0}.row-file{font-family:var(--mono);color:var(--accent-2);font-size:11px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#22d3ee14;border-radius:5px;padding:0 6px;flex-shrink:0}.row-time{font-family:var(--mono);color:var(--text-dim);font-size:11.5px;white-space:nowrap;flex-shrink:0}.row-thread{font-family:var(--mono);color:#9fd8e8;font-size:11px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#22d3ee0f;border-radius:5px;padding:0 7px;flex-shrink:0}.row-logger{font-family:var(--mono);color:#b8c7d6;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-shrink:0}.row-msg{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;display:inline-block;vertical-align:middle}.log-row.plain .plain-msg{white-space:nowrap}.log-row.plain{gap:12px}.lvl{font-family:var(--mono);font-size:10.5px;font-weight:500;padding:2px 7px;border-radius:5px;flex-shrink:0;letter-spacing:.5px}.lvl-trace{background:#94a3b826;color:var(--lvl-trace)}.lvl-debug{background:#7dd3fc1f;color:var(--lvl-debug)}.lvl-info{background:#22d3ee1f;color:var(--lvl-info)}.lvl-warn{background:#fbbf2424;color:var(--lvl-warn)}.lvl-error{background:#f8717126;color:var(--lvl-error)}.lvl-fatal{background:#ef444433;color:var(--lvl-fatal)}.lvl-none{background:#94a3b81a;color:var(--text-mute)}.hl{background:#ffb02052;color:#ffe6b0;border-radius:3px;padding:0 1px}.sentinel{text-align:center;color:var(--text-mute);font-size:12px;padding:14px}.detail-divider{height:6px;flex-shrink:0;cursor:row-resize;background:transparent;position:relative;z-index:3}.detail-divider:after{content:"";position:absolute;left:0;right:0;top:2px;height:2px;background:var(--line-soft);transition:background .15s}.detail-divider:hover:after,.detail-divider:active:after{background:var(--accent)}.detail-restore{align-self:center;width:30px;height:30px;margin:6px;display:grid;place-items:center;background:var(--panel-3);border:1px solid var(--line);border-radius:7px;color:var(--text-dim);font-size:14px;cursor:pointer;flex-shrink:0;transition:all .15s}.detail-restore:hover{border-color:var(--accent);color:var(--accent)}.detail-pane{border-top:1px solid var(--line);background:var(--bg-2);display:flex;flex-direction:column;flex-shrink:0}.detail-pane.placeholder{align-items:center;justify-content:center}.dp-placeholder-inner{text-align:center;color:var(--text-mute)}.dp-mark{font-size:34px;color:var(--line);margin-bottom:8px}.dp-placeholder-inner p{font-size:13px}.dp-hint{font-size:12px;color:var(--text-mute);margin-top:4px}.dp-head{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line-soft)}.dp-head-right{display:flex;align-items:center;gap:10px}.dp-title{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-dim)}.dp-line{font-family:var(--mono);font-size:12px;color:var(--accent-2)}.dp-meta{display:flex;flex-wrap:wrap;gap:6px 18px;padding:8px 14px;border-bottom:1px solid var(--line-soft)}.dp-meta-item{display:flex;gap:6px;font-size:12px}.dp-meta-item span{color:var(--text-mute)}.dp-meta-item code{font-family:var(--mono);color:var(--text-dim)}.dp-body{flex:1;overflow:auto;padding:12px 14px;font-family:var(--mono);font-size:12px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-all}.status-bar{display:flex;align-items:center;gap:10px;padding:6px 16px;background:var(--bg-2);border-top:1px solid var(--line);font-size:12px;color:var(--text-dim)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}.status-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-item b{color:var(--accent-2);font-family:var(--mono)}.status-links{display:flex;gap:16px;flex-shrink:0}.status-links a{color:var(--text-mute);font-size:11px;text-decoration:none;white-space:nowrap}.status-links a:hover{color:var(--accent)}.cmp-head-actions .btn.on{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.log-row.cmp-in{border-left-color:var(--accent);background:#ffb02014}.log-row.cmp-left{border-left-color:var(--accent-2);background:#22d3ee1f}.log-row.cmp-right{border-left-color:var(--ok);background:#3ddc971f}.ctx-sep{height:1px;background:var(--line-soft);margin:2px 0}.cmp-queue{flex-shrink:0;display:flex;flex-direction:column;background:var(--bg-2);border-bottom:1px solid var(--line)}.cmp-queue-head{display:flex;align-items:center;gap:8px;padding:8px 14px}.cmp-queue-title{font-size:13px;font-weight:700;color:var(--text);flex:1;display:flex;align-items:center}.cmp-panel-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--accent-dim);color:var(--accent);font-size:11.5px;margin-left:6px}.cmp-queue-actions{display:flex;gap:6px;align-items:center}.cmp-queue-actions .icon-btn.on{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.cmp-queue-hint{padding:0 14px 7px;font-size:11.5px;color:var(--text-mute);line-height:1.5}.cmp-queue-list{flex-shrink:0;height:170px;overflow-y:auto;padding:2px 10px 10px;display:flex;flex-direction:column;gap:6px}.cmp-panel-empty{color:var(--text-mute);text-align:center;padding:18px 14px;font-size:12.5px;line-height:1.7}.cmp-queue-item{display:flex;align-items:center;gap:8px;padding:7px 9px;border:1px solid var(--line);border-left:3px solid var(--line);border-radius:8px;background:var(--panel-2);cursor:default;-webkit-user-select:none;user-select:none}.cmp-queue-item:hover{background:var(--panel-3)}.cmp-queue-item.side-left{border-left-color:var(--accent-2);background:#22d3ee1a}.cmp-queue-item.side-right{border-left-color:var(--ok);background:#3ddc971a}.cmp-panel-side{flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;border-radius:6px;background:var(--panel-3);border:1px solid var(--line);color:var(--text-mute);font-size:12px;font-weight:600}.cmp-panel-side.side-left{color:var(--accent-2);border-color:#22d3ee80}.cmp-panel-side.side-right{color:var(--ok);border-color:#3ddc9780}.cmp-panel-item-body{flex:1;min-width:0}.cmp-panel-item-line{display:flex;gap:8px;align-items:baseline}.cmp-panel-lno{font-family:var(--mono);font-size:11.5px;color:var(--accent-2)}.cmp-panel-file{font-family:var(--mono);font-size:10.5px;color:var(--text-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-panel-item-meta{display:flex;gap:8px;align-items:center;margin-top:3px;font-size:11px;color:var(--text-dim);overflow:hidden;white-space:nowrap}.cmp-panel-time{font-family:var(--mono);color:var(--text-dim)}.cmp-panel-logger{overflow:hidden;text-overflow:ellipsis;font-family:var(--mono);color:var(--text-mute)}.cmp-panel-x{flex-shrink:0;width:22px;height:22px;display:grid;place-items:center;border:none;border-radius:6px;background:transparent;color:var(--text-mute);font-size:14px;cursor:pointer}.cmp-panel-x:hover{color:var(--danger);background:#f25f5c1f}.cmp-panel-menu{min-width:150px}.cmp-panel-menu .ctx-btns .danger{color:var(--danger)}.cmp-vdrag{flex-shrink:0;height:7px;cursor:row-resize;background:var(--bg-2);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center}.cmp-vdrag:after{content:"";width:46px;height:3px;border-radius:2px;background:var(--line)}.cmp-vdrag:hover:after{background:var(--accent-2)}.cmp-compare-head{display:flex;align-items:center;gap:12px;padding:7px 14px;border-bottom:1px solid var(--line-soft);background:var(--bg)}.cmp-compare-stats{flex:1;font-family:var(--mono);font-size:12px;color:var(--text-mute)}.cmp-pane.cmp-placeholder{align-items:center;justify-content:center;color:var(--text-mute);font-size:13px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.012) 0 12px,transparent 12px 24px)}.cmp-pane-empty-tip{font-size:12px;color:var(--text-mute)}.cmp-root{position:fixed;inset:0;z-index:300;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 15% -10%,rgba(34,211,238,.06),transparent 60%),var(--bg)}.cmp-head{display:flex;align-items:center;gap:14px;padding:10px 18px;background:var(--bg-2);border-bottom:1px solid var(--line)}.cmp-title{font-size:14px;font-weight:700;letter-spacing:1px;color:var(--text)}.cmp-head-stats{flex:1;font-family:var(--mono);font-size:12px;color:var(--text-mute)}.cmp-head-actions{display:flex;gap:8px}.cmp-body{flex:1;display:flex;min-height:0}.cmp-pane{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.cmp-pane.active .cmp-pane-head{border-color:var(--accent-2);background:#22d3ee12}.cmp-pane-head{display:flex;align-items:center;gap:8px;padding:7px 12px;border-bottom:1px solid var(--line-soft);cursor:pointer}.cmp-pane-label{flex:1;font-family:var(--mono);font-size:11.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmp-pane-actions{display:flex;gap:6px;flex-shrink:0}.cmp-text{flex:1;min-height:0;resize:none;border:none;outline:none;background:transparent;color:var(--text);font-family:var(--mono);font-size:12.5px;line-height:1.6;padding:12px 14px;white-space:pre;overflow:auto}.cmp-root.wrap .cmp-text{white-space:pre-wrap;word-break:break-all}.cmp-vdiv{width:2px;background:var(--line);flex-shrink:0}.cmp-diff{flex:1;min-height:0;overflow:auto;font-family:var(--mono);font-size:12px;line-height:1.6}.cmp-dline{display:flex}.cmp-dline.same{color:var(--text-dim)}.cmp-dline.del{background:#f25f5c29;color:#fda4a4}.cmp-dline.add{background:#3ddc9724;color:#86efac}.cmp-dline.mod{color:var(--text);background:#fbbf240f}.cmp-part.del{background:#f25f5c73;color:#fecaca;border-radius:3px}.cmp-part.ins{background:#3ddc9766;color:#a7f3d0;border-radius:3px}.cmp-dnum{flex-shrink:0;width:44px;padding:0 8px;text-align:right;color:var(--text-mute);-webkit-user-select:none;user-select:none;border-right:1px solid var(--line-soft)}.cmp-dtxt{flex:1;padding:0 10px;white-space:pre;overflow:hidden;text-overflow:ellipsis}.cmp-root.wrap .cmp-dtxt{white-space:pre-wrap;word-break:break-all;overflow:visible;text-overflow:clip}.cmp-diff .cmp-dline:hover .cmp-dtxt,.cmp-root.wrap .cmp-diff .cmp-dline:hover .cmp-dtxt{overflow:visible}.cmp-rebar{position:absolute;left:50%;bottom:26px;transform:translate(-50%);z-index:310;display:flex;align-items:center;gap:8px;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 34px #0000008c;padding:10px 12px;width:min(860px,calc(100% - 40px));flex-wrap:wrap}.cmp-re-title{font-size:12px;font-weight:600;color:var(--accent-2);white-space:nowrap}.cmp-re-in{flex:1;min-width:150px;background:var(--panel-3);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:6px 9px;font-size:12.5px;font-family:var(--mono)}.cmp-re-in:focus{outline:none;border-color:var(--accent-2)}.cmp-re-opt{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-dim);white-space:nowrap}.cmp-re-opt input{accent-color:var(--accent-2)}.cmp-msg{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:320;background:#22d3ee1f;border:1px solid rgba(34,211,238,.4);color:var(--accent-2);padding:6px 14px;border-radius:8px;font-size:12.5px}.cmp-err{background:#f25f5c1f;border-bottom:1px solid rgba(242,95,92,.4);color:#fca5a5;padding:8px 18px;font-size:12.5px}
