:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#dfe7e7;background:#0c1014;font-size:13px;--bg:#0c1014;--panel:#12181d;--raised:#171f25;--border:#263038;--text:#dfe7e7;--muted:#7c8b94;--accent:#a0ecc1;--soft:#1d342d}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,select,input,textarea{color:var(--text);background:var(--raised);border:1px solid var(--border);border-radius:6px}button,select{cursor:pointer}button{padding:8px 12px;transition:background .15s,border .15s}button:hover{border-color:#6b9381;background:#22352e}button:disabled{opacity:.4;cursor:not-allowed}input,select{padding:9px 11px;min-width:0}input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px;margin:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent)}.rail{position:fixed;inset:0 auto 0 0;width:68px;border-right:1px solid var(--border);display:flex;align-items:center;flex-direction:column;gap:20px;background:#10161b;z-index:3}.brand-mark{margin-top:22px;width:34px;height:34px;background:var(--accent);color:#11271e;display:grid;place-items:center;font-size:25px;font-weight:850;text-decoration:none;border-radius:9px}.rail-line{width:24px;border-top:1px solid var(--border);margin:9px 0}.rail button{font-size:21px;width:38px;height:38px;padding:0;background:transparent;border-color:transparent;color:var(--muted)}.rail button.rail-active{color:var(--accent);background:var(--soft);border-color:#355446}.rail-bottom{margin-top:auto;margin-bottom:24px;writing-mode:vertical-rl;letter-spacing:5px;color:#485861;font-size:10px}.shell{margin-left:68px}header{height:74px;border-bottom:1px solid var(--border);padding:0 38px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:11px;letter-spacing:1px;color:var(--muted)}.breadcrumb span{margin:0 15px;color:#46555e}.header-actions{display:flex;align-items:center;gap:16px}.private-dot{font-size:11px;color:var(--muted)}.private-dot:before{content:'●';color:var(--accent);font-size:8px;margin-right:8px}.version{font:10px ui-monospace,monospace;letter-spacing:1px;border:1px solid var(--border);border-radius:4px;padding:4px 6px;color:var(--muted)}.icon{padding:5px 9px;font-size:18px;background:transparent}.header-actions .icon{border:0}main{max-width:1570px;margin:auto;padding:35px 38px 0}.page-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font:9px ui-monospace,monospace;letter-spacing:2px;color:var(--accent);margin-bottom:12px}h1{font-size:28px;font-weight:630;letter-spacing:-.8px;margin:0}h1 span{font-size:14px;font-weight:400;letter-spacing:1px;color:var(--muted);border-left:1px solid #354149;padding-left:16px;margin-left:18px}.page-title p{color:var(--muted);margin:12px 0 0;font-size:12px}.local-badge{display:flex;align-items:center;gap:12px;font-size:11px;color:#b5c7be}.local-badge>span{font-size:27px;color:var(--accent)}.local-badge small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:9px}.panel-heading{display:flex;justify-content:space-between;align-items:center;min-height:62px;padding:0 22px;border-bottom:1px solid var(--border)}.panel-heading>div{display:flex;align-items:center;gap:12px}h2{font-size:13px;font-weight:600;margin:0}.section-number{color:var(--accent);font:10px ui-monospace,monospace;border:1px solid #365348;background:#192b25;border-radius:4px;padding:3px 5px}.muted{color:var(--muted);font:9px ui-monospace,monospace;letter-spacing:1.5px}.text-button{color:var(--accent);border:none;background:none;padding:6px 0;font-size:11px}.input-grid{display:grid;grid-template-columns:1fr 255px;gap:26px;padding:20px 22px}.mode-tabs{display:flex;gap:16px;margin-bottom:12px}.mode-tabs button{padding:0 0 8px;border:0;border-radius:0;background:none;color:var(--muted);font-size:11px}.mode-tabs button.active{color:var(--accent);border-bottom:2px solid var(--accent)}textarea{resize:vertical;min-height:132px;max-height:420px;width:100%;padding:15px 16px;background:var(--bg);font:12px/1.9 ui-monospace,SFMono-Regular,monospace}textarea::placeholder,input::placeholder{color:#5e6d77}.input-foot{display:flex;justify-content:space-between;color:#647681;font-size:10px;margin-top:10px}.input-foot b{font-weight:400;color:#a3b7bf}.import-options{border-left:1px solid var(--border);padding-left:25px}.import-options>label{display:block;font-size:11px;margin-bottom:9px}.import-options>label span{color:#596d78;font-size:8px;margin-left:8px}.import-options select,.import-options>input{width:100%;margin-bottom:12px}.check-label{display:flex!important;align-items:center;gap:7px;font-size:10px;color:var(--muted);white-space:nowrap}.option-note{font-size:10px;color:#5e727d;line-height:1.7;margin:0 0 14px}.parse-actions{display:flex;gap:8px}.primary{background:var(--accent);color:#11271e;border-color:var(--accent);flex:1;font-weight:650}.primary:hover{background:#b6f5d0}.primary span{float:right}.progress-text{font-size:10px;color:var(--muted);margin-top:10px;white-space:normal}.progress-text:before{content:'●';font-size:6px;margin-right:6px;color:var(--accent)}progress{height:3px;width:100%;accent-color:var(--accent);margin-top:8px}.sources:empty{display:none}.sources{border-top:1px solid var(--border);padding:10px 22px;display:flex;gap:8px;flex-wrap:wrap}.source-chip{border:1px solid var(--border);padding:6px 8px;border-radius:4px;font-size:10px;color:var(--muted)}.source-chip.error{color:#ee9a99}.per-url{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.per-url label{font-size:10px;color:var(--muted)}.per-url select{padding:3px;margin-left:5px;max-width:180px;font-size:10px}.stats{display:grid;grid-template-columns:repeat(7,1fr);gap:12px;margin:20px 0 26px}.stat{border:1px solid var(--border);border-radius:7px;padding:15px 17px;background:linear-gradient(135deg,var(--panel),var(--bg))}.stat-label{font-size:10px;color:var(--muted)}.stat-value{font:27px ui-monospace,SFMono-Regular,monospace;color:var(--text);letter-spacing:-1px;margin-top:12px}.stat small{font-size:9px;color:#4d636e;margin-left:6px}.stat.green .stat-value{color:var(--accent)}.stat.red .stat-value{color:#edaaa5}.stat-index{float:right;color:#40525b;font:9px ui-monospace,monospace}.count{background:#232f35;padding:2px 6px;font:10px ui-monospace,monospace;border-radius:4px;color:#a3b7bf}.live-label{color:#647e73;font-size:8px}.result-tabs{display:flex;padding:0 22px;gap:26px;border-bottom:1px solid var(--border);min-height:53px;align-items:stretch}.result-tabs>button{border:0;border-radius:0;padding:0 0 0;background:transparent;color:var(--muted);font-size:11px;border-bottom:2px solid transparent}.result-tabs>button.active{color:var(--accent);border-color:var(--accent)}.result-tabs>button span{font:9px ui-monospace,monospace;margin-left:7px;color:#698177}.tab-end{margin-left:auto;display:flex;align-items:center}.filters{display:flex;gap:8px;padding:16px 22px}.filters select{font-size:10px;max-width:130px}.search-wrap{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;background:var(--raised);flex:1;min-width:180px}.search-wrap span{font-size:19px;color:var(--muted);margin-left:10px}.search-wrap input{background:none;border:0;width:100%;font-size:11px}.batch-bar{margin:0 22px 15px;display:flex;align-items:center;gap:13px;flex-wrap:wrap}.batch-bar>span{font-size:9px;color:var(--muted);padding-left:12px;border-left:1px solid var(--border)}.batch-actions{margin-left:auto;display:flex;gap:5px;flex-wrap:wrap}.batch-actions button,.batch-actions select{padding:6px 8px;font-size:10px}.accent-button{color:var(--accent);border-color:#456652;background:#1c3027}.table-scroll{overflow:auto;min-height:280px}table{border-collapse:collapse;width:100%;white-space:nowrap;text-align:left;font-size:11px}th{background:#161e24;padding:12px 12px;color:#81949f;font-weight:400;border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:10px}th:first-child,td:first-child{padding-left:22px;width:45px}td{padding:14px 12px;border-bottom:1px solid #202b31;color:#aebec5}tr:hover td{background:#18221f}td .host{font:11px ui-monospace,monospace;color:var(--text);max-width:240px;overflow:hidden;text-overflow:ellipsis;display:block}td small{font-size:9px;color:var(--muted);display:block;margin-top:5px;max-width:200px;overflow:hidden;text-overflow:ellipsis}.protocol-tag{font:9px ui-monospace,monospace;border:1px solid #32434b;background:#1a272f;color:#9bb5c4;border-radius:3px;padding:3px 5px;margin-right:3px}.status{font-size:10px;color:var(--muted)}.status.connected{color:var(--accent)}.status.timeout,.status.refused,.status.error{color:#e4aa8e}.status.blocked{color:#dcb8df}.status:before{content:'●';font-size:6px;margin-right:6px}.row-actions{display:flex;gap:4px}.row-actions button{font-size:10px;padding:4px 7px;background:transparent;color:var(--muted)}.empty{text-align:center;padding:42px 20px 38px}.empty-symbol{font-size:33px;border:1px solid #31463b;background:linear-gradient(130deg,#203a2d,#141e1c);border-radius:15px;display:inline-grid;place-items:center;width:62px;height:62px;color:#92ba9f;margin-bottom:13px}.empty h3{font-size:14px;font-weight:500;margin:8px 0;color:#adbfba}.empty p{font-size:11px;color:var(--muted);margin:10px 0 22px}.empty>div:last-child{font:9px ui-monospace,monospace;letter-spacing:.5px;color:#526b60}.empty>div:last-child span{padding:0 8px;color:#3b4a46}.table-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 22px;border-top:1px solid var(--border);color:var(--muted);font-size:10px}.table-footer>div{display:flex;align-items:center;gap:12px}.table-footer button,.table-footer select{padding:4px 7px;font-size:10px}.footnotes{display:flex;justify-content:space-between;color:#5e737e;font-size:10px;gap:15px;line-height:1.8;margin:15px 0 30px}.footnotes p{margin:0}.footnotes p span{color:#88a89b;margin-right:6px}.page-footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:20px 0;color:#536570;font-size:9px;letter-spacing:1px}.page-footer b{color:#8da79c;margin-right:10px}.green-dot{color:var(--accent);margin-left:8px;font-size:7px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}dialog{color:var(--text);background:var(--panel);border:1px solid #42594d;border-radius:10px;width:min(650px,95vw);max-height:85vh;padding:24px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.dialog-header h2{font-size:16px}.dialog-header button{font-size:20px;padding:0 8px}#dialog-body{font-size:12px;line-height:1.9;overflow-wrap:anywhere}#dialog-body pre{white-space:pre-wrap;max-height:50vh;overflow:auto;background:var(--bg);padding:14px;border-radius:6px;font-size:11px}#dialog-body label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}#dialog-body input[type=number]{width:100px}#dialog-body select{max-width:260px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#22392e;border:1px solid #567461;padding:12px 24px;border-radius:8px;z-index:10;max-width:90vw;color:#cbecda;font-size:12px;box-shadow:0 8px 40px #0006}.light{--bg:#eef2ef;--panel:#f9fbfa;--raised:#f0f4f1;--border:#d1ddd5;--text:#243b2e;--muted:#667b70;--accent:#26754f;--soft:#d2e7d7}.light .rail{background:#e4ece7}.light th{background:#e8efeb}.light tr:hover td{background:#e7efea}.light .primary{color:#fff}.light .section-number{background:#dceee2;color:#327651}.light .count{background:#dae8df;color:#436655}.light .protocol-tag{background:#e4ede7;border-color:#b0c8ba;color:#446653}.light .accent-button{background:#e3efe7}.light .status.connected{color:#26754f}.light .host{color:#263e30}.light .brand-mark{color:white}.light .empty-symbol{background:#e2efe6}.light .stat.red .stat-value{color:#b4514f}[hidden]{display:none!important}
@media(min-width:1600px){main{padding-top:45px}.input-grid{grid-template-columns:1fr 280px}textarea{min-height:150px}}
@media(max-width:1100px){main{padding:26px 24px 0}header{padding:0 24px}.local-badge{display:none}.stats{gap:7px}.stat{padding:13px 10px}.stat-value{font-size:24px}.batch-actions{margin-left:0}.filters{flex-wrap:wrap}.filters select{flex:1}.footnotes{display:block}.footnotes p{margin-top:5px}h1{font-size:25px}}
@media(max-width:700px){.rail{display:none}.shell{margin:0}header{height:58px;padding:0 16px}.breadcrumb{font-size:9px}.header-actions{gap:8px}.private-dot{display:none}main{padding:24px 14px 0}.page-title{margin-bottom:22px}h1{font-size:22px}h1 span{display:block;margin:8px 0 0;padding:0;border:0;font-size:12px}.eyebrow{font-size:8px}.input-grid{grid-template-columns:1fr;padding:16px;gap:18px}.import-options{border-left:0;border-top:1px solid var(--border);padding:18px 0 0}.input-foot{font-size:9px}.option-note{font-size:10px}.panel-heading{padding:0 16px;min-height:55px}.stats{grid-template-columns:repeat(4,1fr);margin:14px 0 20px}.stat{padding:12px 10px}.stat-value{font-size:23px}.stat-label{font-size:9px}.stat small{display:none}.stat-index{display:none}.result-tabs{padding:0 16px;gap:18px}.result-tabs>button{font-size:10px}.tab-end .check-label{font-size:9px}.filters{padding:14px 16px;gap:6px}.search-wrap{min-width:100%;}.filters select{max-width:calc(50% - 3px);min-width:30%;font-size:10px}.batch-bar{margin:0 16px 14px;gap:10px}.batch-actions{width:100%}.batch-actions button,.batch-actions select{font-size:10px}.live-label{display:none}.footnotes{font-size:9px;margin-bottom:20px}.page-footer{font-size:8px;letter-spacing:0;gap:15px}.page-footer>span:last-child{max-width:145px;line-height:1.8}.empty{padding:35px 15px}.empty p{line-height:1.8}.table-footer{padding:12px 16px}.input-panel textarea{min-height:145px}}

.auth-hidden body{visibility:hidden}.session-loading{display:grid;place-items:center;min-height:90vh;color:var(--muted);font-size:13px}.login-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 40%,#1b30254d,transparent 60%),var(--bg)}.login-top{height:80px;padding:0 42px}.login-wordmark{font-size:21px;font-weight:750;text-decoration:none;letter-spacing:1px}.login-wordmark span{font-size:9px;color:var(--muted);margin-left:12px;letter-spacing:1.6px}.login-main{padding:55px 22px 30px;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;width:100%;max-width:none}.login-card{width:100%;max-width:440px;padding:36px;box-shadow:0 24px 100px #0003}.login-emblem{width:48px;height:48px;display:grid;place-items:center;color:#10271d;background:var(--accent);border-radius:12px;font-size:30px;font-weight:800;margin-bottom:28px}.login-card h1{font-size:27px;letter-spacing:1px}.login-intro{font-size:12px;color:var(--muted);line-height:1.9;margin:12px 0 30px}.login-card form label{display:block;font-size:11px;margin-bottom:10px}.login-card form label span{font-size:8px;color:var(--muted);letter-spacing:1px;margin-left:10px}.login-card input{display:block;width:100%;padding:13px 14px;background:var(--bg);margin-bottom:18px}.login-card .primary{width:100%;padding:13px 14px}.login-card #login-status{font-size:11px;color:var(--muted);min-height:40px;line-height:1.9;margin-top:14px}.login-card #login-status.login-error{color:#efaaa0}.login-note{font-size:10px;color:var(--muted);border-top:1px solid var(--border);padding-top:20px;margin-top:22px}.login-bottom{font-size:10px;color:var(--muted);letter-spacing:2px;margin-top:24px}.login-footer{font-size:9px;color:var(--muted);border-top:1px solid var(--border);padding:23px 42px;letter-spacing:1px;display:flex;justify-content:space-between}.light .login-emblem{color:#fff}.light .login-card #login-status.login-error{color:#a93936}@media(max-width:600px){.login-top{padding:0 20px;height:65px}.login-wordmark span{font-size:7px;margin-left:7px;letter-spacing:.7px}.login-main{padding:35px 18px}.login-card{padding:28px 24px}.login-footer{padding:20px;font-size:8px;letter-spacing:0;gap:15px}.login-footer span{max-width:130px;line-height:1.8}.login-card h1{font-size:25px}.header-actions #logout{font-size:10px;padding:4px;white-space:nowrap}}
body{color:var(--text)}.light button:hover{background:#dcebe2;border-color:#8eaf9b}.light .login-card h1,.light .login-card form label{color:var(--text)}
