@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--accent:#e8a838;--accent-dim:#e8a83826;--accent-glow:#e8a83840;--bg:#0e1117;--bg-raised:#161b22;--border:#262d38;--border-strong:#3d4654;--heading:#eceff4;--input:#1c2129;--label:#8b949e;--muted:#7d8590;--panel:#131820;--panel-soft:#111820;--text:#c9d1d9;--success:#56d364;--error:#f85149;--mono:"JetBrains Mono", "SF Mono", "Cascadia Code", monospace;--sans:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;font-family:var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}*{box-sizing:border-box}::selection{background:var(--accent-dim);color:var(--heading)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.shell{background:var(--bg);height:100svh;color:var(--text);flex-direction:column;display:flex;overflow:hidden}.import-band{border-bottom:1px solid var(--border);background:radial-gradient(ellipse 80% 60% at 10% 50%, #e8a8380a, transparent), var(--panel);flex-shrink:0;align-items:center;gap:160px;padding:8px 16px 10px 10px;display:flex}.import-left{flex-shrink:0;align-items:center;gap:10px;display:flex}.mark{border:1.5px solid var(--accent);width:36px;height:36px;color:var(--accent);font:700 12px/1 var(--mono);background:var(--accent-dim);box-shadow:0 0 10px var(--accent-glow);border-radius:8px;place-items:center;display:grid}.pane-head h2,.pane-head p{margin:0}.pane-head p{color:var(--muted);font-size:12px}.brand-text h1{color:var(--heading);letter-spacing:-.02em;margin:0;font-size:16px;font-weight:700;line-height:1.2}.brand-text p{color:var(--muted);margin:0;font-size:11px}.import-right{flex:1}.import-grid{flex-direction:column;gap:8px;display:flex}.import-row{align-items:center;gap:20px;display:flex}.import-textarea{box-sizing:border-box;resize:none;border:1px solid var(--border);min-width:0;height:66px;min-height:66px;color:var(--heading);background:var(--input);font:11px/1.5 var(--mono);border-radius:8px;flex:1;padding:8px 10px;transition:border-color .15s,box-shadow .15s}.import-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.import-btn{border-color:var(--accent);color:#1a1200;background:var(--accent);flex-shrink:0;height:36px;padding:0 16px;font-size:12px;font-weight:700}.import-btn:hover{background:#f0b84a}.import-status-row{align-items:center;gap:10px;display:flex}.inline-progress{flex:1;max-width:180px}.inline-error{color:var(--error,#e25555);font-size:11px}.field{gap:4px;min-width:0;display:grid}.field span{color:var(--label);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}textarea,input{box-sizing:border-box;border:1px solid var(--border);width:100%;color:var(--heading);background:var(--input);font:14px/1.45 var(--sans);border-radius:8px;transition:border-color .15s,box-shadow .15s}textarea{resize:vertical;min-height:72px;font-family:var(--mono);padding:8px 10px;font-size:12px}input{height:34px;padding:0 10px}textarea:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim);outline:none}.control-stack{align-content:start;gap:8px;display:grid}.button-row{flex-wrap:wrap;gap:6px;display:flex}button{border:1px solid var(--border-strong);color:var(--heading);background:var(--bg-raised);font:600 13px/1 var(--sans);cursor:pointer;border-radius:8px;transition:background .15s,border-color .15s,transform .1s}button:hover{background:var(--border)}button:active{transform:scale(.97)}button:disabled{cursor:not-allowed;opacity:.4}.button-row button{height:34px;padding:0 14px}.button-row .primary{border-color:var(--accent);color:#1a1200;background:var(--accent);font-weight:700}.button-row .primary:hover{background:#f0b84a}.file-input{display:none}.status{border:1px solid var(--border);background:var(--bg-raised);border-radius:8px;gap:4px;padding:6px 10px;transition:border-color .2s,background .2s;display:grid}.status[hidden]{display:none}.status p{color:var(--muted);margin:0;font-size:12px}.status.loading{border-color:var(--accent);background:#e8a8380f}.status.error{border-color:var(--error);background:#f8514914}.status.ready{border-color:var(--success);background:#56d3640f}.progress{background:var(--border);border-radius:999px;height:20px;position:relative;overflow:hidden}.progress div{border-radius:inherit;background:linear-gradient(90deg, #d4920a, var(--accent), #f0b84a);background-size:200% 100%;height:100%;transition:width .25s;animation:1.5s infinite shimmer}.progress small{color:var(--heading);font:700 11px/1 var(--mono);text-shadow:0 1px 2px #00000080;place-items:center;display:grid;position:absolute;inset:0}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.workspace{flex:1;grid-template-columns:minmax(210px,250px) minmax(0,1fr);min-height:0;display:grid}.file-pane{border-right:1px solid var(--border);background:var(--panel-soft);flex-direction:column;min-width:0;min-height:0;display:flex}.pane-head,.detail-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.pane-head h2,.detail-head h2{color:var(--heading);font-size:15px;font-weight:700;line-height:1.25}.pane-import{border:1px solid var(--border-strong);height:30px;color:var(--muted);background:var(--bg-raised);font:500 12px/1 var(--sans);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:0 10px;transition:all .12s;display:flex}.pane-import:hover{color:var(--heading);border-color:var(--accent)}.compact-input{background:var(--input);max-width:220px;height:32px;font-size:12.5px}.file-table{flex:1;min-height:0;padding:6px;overflow:auto}.file-row{border:1px solid #0000;border-radius:6px;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:0;width:100%;height:40px;padding:0 6px 0 0;transition:background .12s,border-color .12s;display:grid}.file-row:nth-child(2n){background:#ffffff05}.file-row:hover{border-color:var(--border);background:#e8a8380f}.file-row.selected{border-color:var(--accent);background:var(--accent-dim)}.file-select{text-align:left;width:100%;height:100%;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 10px;display:grid}.file-select:hover{background:0 0}.file-select:active{transform:none}.file-name{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.file-select span:not(.file-name){text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.file-download{color:#4a5568;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;width:28px;height:28px;padding:0;transition:color .12s,background .12s;display:grid}.file-download:hover{color:var(--accent);background:#e8a8381a}.file-download:active{transform:scale(.92)}.empty,.detail-empty{min-height:220px;color:var(--muted);text-align:center;place-content:center;padding:24px;display:grid}.detail-pane{background:var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex}.detail-head{align-items:center}.meta-strip{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.detail-meta{border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 16px}.meta-strip span,.detail-meta span,.warn{border:1px solid var(--border);color:var(--muted);background:var(--bg-raised);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:500;line-height:1.3}.line-pill{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:12px;font-weight:500}.detail-toolbar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;display:flex}.warn{color:#e8a838;background:#e8a8381a;border-color:#7a5a1a}.filter-chips{gap:6px;display:flex}.chip{border:1px solid var(--border-strong);height:28px;color:var(--muted);background:var(--bg-raised);font:500 12px/1 var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 10px;transition:all .15s;display:flex}.chip:hover{border-color:var(--accent);color:var(--heading)}.chip.active{border-color:var(--accent);color:#1a1200;background:var(--accent);font-weight:700}.chip-count{min-width:18px;height:18px;color:inherit;background:#0003;border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;display:inline-flex}.log-container{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.loading-overlay{z-index:10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080b0ed9;place-items:center;display:grid;position:absolute;inset:0}.loading-box{border:1px solid var(--border);background:var(--bg-raised);border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:28px 36px;display:flex;box-shadow:0 8px 32px #0006}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-box p{color:var(--heading);margin:0;font-size:14px;font-weight:600}.loading-box small{color:var(--muted);font:500 12px/1 var(--mono)}.loading-progress{background:var(--border);border-radius:999px;width:180px;height:6px;overflow:hidden}.loading-progress div{border-radius:inherit;background:var(--accent);height:100%;transition:width .15s}.log-viewer{color:#c8d3cc;min-height:0;font:12.5px/1.7 var(--mono);background:#080b0e;flex:1;margin:0;overflow:auto}.log-viewer code{min-height:22px;color:inherit;white-space:pre-wrap;grid-template-columns:56px minmax(0,1fr);gap:14px;padding:0 16px 0 0;display:grid}.log-viewer code span{color:#4a5568;text-align:right;-webkit-user-select:none;user-select:none;background:#080b0e;border-right:1px solid #1a2030;padding-right:10px;display:inline-block;position:sticky;left:0}.log-viewer code.hit{color:#ffeaa7;background:#e8a83826}.history-table-wrap{background:#080b0e;flex:1;min-height:0;overflow:auto}.history-table{border-collapse:collapse;width:100%;font:11.5px/1.5 var(--mono);color:#c8d3cc}.history-table thead{z-index:2;position:sticky;top:0}.history-table th{text-align:left;white-space:nowrap;color:#7aa2c4;background:#0e1319;border-bottom:1px solid #1a2030;padding:6px 10px;font-size:10.5px;font-weight:600}.history-table td{white-space:nowrap;border-bottom:1px solid #0a0f14;padding:4px 10px}.history-table tbody tr:hover{background:#e8a8380d}.row-alarm-low{background:#e8a8381f!important}.row-alarm-high{background:#f8514926!important}.row-alarm-low:hover{background:#e8a83833!important}.row-alarm-high:hover{background:#f8514940!important}.copy-btn{color:#4a5568;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;place-items:center;width:24px;height:24px;padding:0;display:grid}.copy-btn:hover{color:var(--accent);background:#e8a8381a}.network-list{background:#080b0e;flex:1;min-height:0;padding:8px;overflow:auto}.net-card{background:#0c1117;border:1px solid #1a2030;border-radius:8px;margin-bottom:6px;overflow:hidden}.net-card-head{cursor:pointer;align-items:center;gap:10px;padding:8px 12px;transition:background .12s;display:flex}.net-card-head:hover{background:#e8a8380a}.net-method{font:700 11px/1 var(--mono);flex-shrink:0;min-width:36px}.net-url{text-overflow:ellipsis;white-space:nowrap;color:#a0aeb8;min-width:0;font:12px/1.4 var(--mono);flex:1;overflow:hidden}.net-time{color:#7aa2c4;font:500 11px/1 var(--mono);flex-shrink:0}.net-duration{color:#5b7a8a;font:500 11px/1 var(--mono);flex-shrink:0}.net-expand{color:#4a5568;flex-shrink:0;font-size:12px}.net-card-body{border-top:1px solid #1a2030;padding:10px 12px}.net-section{margin-bottom:10px}.net-section:last-child{margin-bottom:0}.net-section-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.net-label{color:#5b7a8a;font:600 10px/1 var(--sans);text-transform:uppercase;letter-spacing:.04em;margin-bottom:0}.net-json-toggle{border:1px solid var(--border);height:22px;color:var(--muted);font:500 10px/1 var(--sans);cursor:pointer;background:0 0;border-radius:4px;padding:0 8px}.net-json-toggle:hover{color:var(--heading);border-color:var(--accent)}.net-value{color:#b0bec5;font:11.5px/1.55 var(--mono);white-space:pre-wrap;word-break:break-all;background:#060a0e;border-radius:6px;max-height:200px;margin:0;padding:8px 10px;overflow:auto}.net-response{max-height:400px}.time-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;place-items:center;display:grid;position:fixed;inset:0}.time-modal{border:1px solid var(--border);background:var(--bg-raised);border-radius:12px;width:380px;max-width:90vw;padding:28px 32px;box-shadow:0 16px 48px #00000080}.time-modal h3{color:var(--heading);margin:0 0 8px;font-size:16px;font-weight:700}.time-modal p{color:var(--muted);margin:0 0 20px;font-size:13px;line-height:1.5}.time-modal-actions{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.time-modal-actions button{border:1px solid var(--border-strong);height:40px;color:var(--heading);background:var(--input);font:600 13px/1 var(--sans);cursor:pointer;border-radius:8px;padding:0 16px;transition:background .15s,border-color .15s}.time-modal-actions button:hover{background:var(--border);border-color:var(--accent)}.time-modal-actions button:active{transform:scale(.98)}.time-modal-close{width:100%;height:34px;color:var(--muted);font:500 12px/1 var(--sans);cursor:pointer;background:0 0;border:none;border-radius:6px}.time-modal-close:hover{color:var(--heading);background:var(--border)}.detail-empty h2{color:var(--heading);margin:0 0 8px}.detail-empty p{margin:0}@media (width<=940px){.shell{height:auto;overflow:visible}.import-grid{gap:8px}.workspace{grid-template-columns:1fr;min-height:auto}.file-pane{border-right:0;border-bottom:1px solid var(--border)}.file-table,.log-viewer{height:auto;max-height:520px}.detail-head,.pane-head{flex-direction:column}.pane-import{border:1px solid var(--border-strong);height:30px;color:var(--muted);background:var(--bg-raised);font:500 12px/1 var(--sans);cursor:pointer;border-radius:6px;align-items:center;gap:5px;padding:0 10px;transition:all .12s;display:flex}.pane-import:hover{color:var(--heading);border-color:var(--accent)}.compact-input{max-width:none}}
