*{box-sizing:border-box} :root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#1c2638;background:#f5f7fb;font-size:14px;--blue:#245ee8;--line:#e5e9f1;--muted:#778297}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.42;cursor:not-allowed}button{transition:background .15s,border-color .15s}a{color:var(--blue);text-decoration:none}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-.8px;font-weight:650}h2{font-size:16px;font-weight:650}h3{font-size:14px}p{line-height:1.65}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{background:white;border-right:1px solid var(--line);padding:30px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:232px}.brand{display:flex;gap:11px;align-items:center;padding:0 10px 31px}.brand strong{font-size:19px;letter-spacing:-.6px}.brand small{display:block;color:var(--muted);margin-top:4px;font-size:10px;letter-spacing:1.8px}.mark{width:35px;height:35px;border-radius:10px;background:var(--blue);display:flex;align-items:center;justify-content:center;gap:3px}.mark i{width:3px;background:white;border-radius:2px;height:12px}.mark i:nth-child(2){height:23px}.mark i:nth-child(3){height:17px}.switch{display:flex;border-radius:9px;background:#f0f3f8;padding:4px;margin-bottom:29px}.switch button{width:50%;border:0;background:transparent;padding:9px;border-radius:6px;color:#788295;font-weight:600}.switch button.active{background:white;color:var(--blue);box-shadow:0 2px 5px #142d5b10}.nav-caption{font-size:10px;letter-spacing:1.5px;color:#9aa3b3;padding:0 13px 12px}.nav button{width:100%;border:0;background:none;color:#647087;display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:8px;text-align:left;margin-bottom:5px}.nav button:hover{background:#f5f7fb}.nav button.active{background:#edf3ff;color:var(--blue);font-weight:600}.nav svg{width:18px;height:18px}.sidebar-bottom{margin-top:auto;padding:24px 12px 0}.local{display:flex;gap:7px;align-items:center;font-size:12px;color:#6b778c}.dot{width:6px;height:6px;border-radius:50%;background:#20aa7b}.sidebar-bottom p{font-size:11px;color:#99a2b2;margin-top:9px}.main{grid-column:2}.topbar{height:72px;border-bottom:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 40px}.breadcrumb{font-size:12px;color:#8b94a5}.breadcrumb b{font-weight:500;color:#404c60;margin-left:9px}.top-actions{display:flex;gap:15px;align-items:center}.pill{border:1px solid var(--line);border-radius:20px;padding:5px 10px;color:#7a8598;font-size:11px;white-space:nowrap}.avatar{width:30px;height:30px;border-radius:50%;background:#edf2ff;color:#4970c6;display:grid;place-items:center;font-size:11px;font-weight:650}.content{padding:34px 40px 46px;max-width:1600px;margin:auto}.eyebrow{color:var(--blue);font-size:10px;font-weight:700;letter-spacing:1.8px;margin-bottom:9px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px}.sub{color:var(--muted);font-size:13px;margin-top:9px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;gap:7px;align-items:center;justify-content:center;padding:10px 14px;border-radius:7px;border:1px solid #dfe5ee;background:white;color:#46536b;font-size:12px;font-weight:550;white-space:nowrap}.btn:hover{background:#f6f8fc;border-color:#bdcbe3}.btn svg{width:15px;height:15px}.btn.primary{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 3px 7px #245ee81a}.btn.primary:hover{background:#194fce}.btn.danger{color:#d45258;border-color:#f1d2d6}.btn.ghost{background:none;border-color:transparent}.btn.small{padding:7px 10px;font-size:11px}.card{border:1px solid var(--line);border-radius:11px;background:white;margin-bottom:20px;overflow:hidden}.card-head{padding:21px 24px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #edf0f6}.card-head .sub{font-size:11px;margin-top:5px}.card-body{padding:24px}.grid{display:grid;grid-template-columns:1.55fr 1fr;gap:20px}.grid.equal{grid-template-columns:1fr 1fr}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.stat{padding:21px 22px;background:white;border:1px solid var(--line);border-radius:10px}.stat .label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;align-items:center}.stat .label svg{width:16px;height:16px;color:#a9b7cf}.stat strong{display:block;font-size:29px;font-weight:600;letter-spacing:-.9px;margin:14px 0 7px}.stat small{font-size:10px;color:#8b97ab}.good{color:#13966e!important}.bad{color:#cc545e!important}.badge{display:inline-flex;gap:5px;align-items:center;border-radius:5px;padding:5px 8px;font-size:10px;background:#edf2ff;color:#4775c6;white-space:nowrap}.badge.green{background:#e9f7f0;color:#239271}.badge.red{background:#fff0f0;color:#cc545e}.badge.amber{background:#fff6e8;color:#b9872d}.badge.gray{background:#f0f2f6;color:#7f899b}.run-title{display:flex;align-items:center;gap:12px}.run-title h2{font-size:18px}.mono{font-family:Consolas,monospace}.session-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:25px 0}.session-meta small{display:block;font-size:10px;color:#929bac;margin-bottom:8px}.session-meta b{font-size:12px;font-weight:500}.progress-label{display:flex;justify-content:space-between;font-size:11px;color:#7d89a0;margin-bottom:10px}.progress{height:7px;background:#edf1f8;border-radius:20px;overflow:hidden}.progress>div{height:100%;background:var(--blue);transition:width .5s;border-radius:20px}.steps{display:flex;justify-content:space-between;margin-top:22px;gap:8px}.step{display:flex;align-items:center;gap:7px;font-size:10px;color:#9aa4b6}.step i{width:19px;height:19px;border:1px solid #dfe5ef;border-radius:50%;display:grid;place-items:center;font-style:normal}.step.on{color:#3974d4}.step.on i{background:#edf3ff;border-color:#cbdcff}.session-footer{border-top:1px solid var(--line);padding-top:18px;margin-top:25px;display:flex;align-items:center;justify-content:space-between;color:#97a1b2;font-size:10px}.kv{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #f0f2f7;font-size:12px}.kv:last-child{border:0}.kv span{color:#8591a4}.kv b{font-weight:500;overflow-wrap:anywhere}.info{border:1px solid #dce7fd;border-radius:8px;background:#f2f6ff;padding:13px 16px;font-size:12px;color:#5f789f;line-height:1.7;margin-bottom:20px}.info.amber{background:#fffbf1;border-color:#f3e7c8;color:#9b7d3d}.info.red{background:#fff3f4;border-color:#f3d3d8;color:#b44453}.section-label{font-size:11px;color:#8d99ad;margin-bottom:12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;font-weight:500;font-size:10px;color:#8995aa;background:#fafbfe;padding:14px 23px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:17px 23px;border-bottom:1px solid #eff2f7;color:#53617b}tr:last-child td{border-bottom:0}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f9fbff}td strong{font-weight:550;color:#35435a}td small{display:block;color:#9aa4b6;font-size:10px;margin-top:5px}.table-foot{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-top:1px solid var(--line);font-size:10px;color:#95a0b2}.empty{padding:60px 24px;text-align:center;color:#8896ab}.empty h2{margin-bottom:10px;color:#445773}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field.full{grid-column:1/-1}.field>span{font-size:12px;color:#53617a;font-weight:550}.field small{font-size:10px;color:#99a3b5;line-height:1.55}.field input,.field select,.field textarea,.search{width:100%;border:1px solid #dfe5ef;border-radius:6px;padding:10px 12px;background:white;color:#42516c;font-size:12px}.field input:focus,.field select:focus,.field textarea:focus,.search:focus{outline:2px solid #dbe7ff;border-color:#7599ed}.field input:disabled,.field select:disabled{background:#f7f8fa;color:#9aa4b4}.field textarea{resize:vertical;line-height:1.7;min-height:110px}.check{display:flex;align-items:center;gap:10px;font-size:12px;color:#53617a;padding:6px 0}.check input{accent-color:var(--blue);width:16px;height:16px}.divider{height:1px;background:var(--line);margin:25px 0}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--line);padding:0 24px}.tabs button{border:0;background:none;padding:17px 0 14px;font-size:12px;color:#8c97a9;border-bottom:2px solid transparent}.tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.editor{font:12px/1.8 Consolas,monospace;width:100%;min-height:470px;background:#fbfcff;border:1px solid var(--line);border-radius:7px;padding:20px;color:#436494;resize:vertical;tab-size:2}.upload{border:1.5px dashed #cbd7ec;background:#f9fbff;border-radius:9px;text-align:center;padding:30px;margin-bottom:22px}.upload svg{width:27px;height:27px;color:#6689ce;margin-bottom:12px}.upload h3{font-weight:550;color:#486088}.upload p{font-size:11px;color:#95a2b7;margin:8px 0 16px}.files{padding:10px 24px 20px;background:#fbfcff}.file-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f7;padding:11px 0;font-size:11px;color:#71819d}.file-row:last-child{border:0}.connection-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.connection{padding:22px;border:1px solid var(--line);border-radius:10px;background:white}.connection .vendor{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.vendor-mark{width:34px;height:34px;border-radius:9px;background:#edf3ff;color:#5278c1;display:grid;place-items:center;font-weight:700}.connection h3{font-size:14px;margin-bottom:5px}.connection p{font-size:11px;color:#91a0b7;margin-bottom:15px}.connection .bottom{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-top:20px;padding-top:15px;border-top:1px solid var(--line)}.search{max-width:270px;padding:9px 12px}.link{border:0;background:none;color:var(--blue);font-size:12px;padding:0;cursor:pointer}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.note{font-size:11px;color:#95a1b4;line-height:1.7}.footer-note{text-align:center;margin-top:28px;font-size:10px;color:#a0aabb}.wave{display:flex;align-items:center;gap:3px;height:48px}.wave i{width:3px;background:#8caaf0;border-radius:4px}.result-detail{display:grid;gap:16px}.text-sample{border:1px solid var(--line);padding:16px;border-radius:8px;line-height:1.8;font-size:13px}.text-sample small{display:block;color:#98a2b5;font-size:10px;margin-bottom:6px}.text-sample mark{background:#fff0d4;color:#9d7025;border-radius:3px;padding:2px 4px}dialog{border:0;border-radius:13px;padding:0;width:min(650px,92vw);max-height:88vh;box-shadow:0 25px 100px #14295535;color:#34445f}dialog::backdrop{background:#172a4655;backdrop-filter:blur(3px)}.modal-head{padding:23px 26px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modal-body{padding:25px 26px}.modal-foot{padding:17px 26px;display:flex;gap:10px;justify-content:flex-end;border-top:1px solid var(--line)}#toast{position:fixed;bottom:25px;right:28px;background:#243c60;color:white;border-radius:9px;padding:15px 20px;box-shadow:0 10px 35px #1d345330;z-index:9;max-width:450px;font-size:12px;line-height:1.7;transform:translateY(140px);opacity:0;transition:.2s}#toast.show{transform:none;opacity:1}.status-controls{display:flex;gap:7px;align-items:center}.status-controls select{border:1px solid var(--line);padding:6px;border-radius:5px;color:#8390a4;font-size:10px;background:white}.selected-row td{background:#f3f7ff}.inline-code{font-family:Consolas,monospace;font-size:11px;background:#eef2f8;padding:3px 5px;border-radius:4px}audio{width:100%;height:36px}.summary-bars{display:flex;gap:10px;align-items:flex-end;height:88px;padding-top:10px}.summary-bars i{flex:1;background:#a4bdf7;border-radius:3px 3px 0 0}.summary-bars i:last-child{background:var(--blue)}@media(min-width:1550px){.content{padding-top:40px}.stats{gap:20px}.stat{padding:24px}}@media(max-width:1100px){.sidebar{width:196px;padding:25px 13px}.shell{grid-template-columns:196px 1fr}.content{padding:28px 24px}.topbar{padding:0 24px}.grid{grid-template-columns:1fr}.connection-grid{grid-template-columns:1fr 1fr}.stats{gap:10px}.stat{padding:17px}.stat strong{font-size:25px}.page-head{align-items:flex-start}}@media(max-width:720px){.shell{display:block}.sidebar{position:static;width:auto;padding:17px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 0 15px}.switch{margin-bottom:12px}.nav{display:flex;overflow:auto}.nav button{width:auto;white-space:nowrap;padding:10px}.nav-caption,.sidebar-bottom{display:none}.topbar{height:52px;padding:0 17px}.top-actions .pill{display:none}.content{padding:25px 17px}.page-head{display:block}.page-head>.actions{margin-top:18px}h1{font-size:25px}.stats{grid-template-columns:1fr 1fr}.grid.equal,.form-grid,.connection-grid{grid-template-columns:1fr}.card-body{padding:19px}.card-head{padding:19px}.session-meta{grid-template-columns:1fr 1fr}.steps{flex-wrap:wrap}.toolbar{align-items:flex-start;flex-direction:column}.table-foot{padding:15px}.footer-note{line-height:1.8}.status-controls{flex-wrap:wrap}.breadcrumb{font-size:10px}}
/* Theme controls deliberately update the palette without rerendering editors. */
.theme-toggle{width:34px;height:34px;padding:8px;flex:none}
:root[data-theme="dark"]{color-scheme:dark;color:#e0e7f2;background:#101722;--blue:#6392ff;--line:#2b3648;--muted:#a0aec4}
[data-theme="dark"] .sidebar,[data-theme="dark"] .topbar,[data-theme="dark"] .card,[data-theme="dark"] .stat,[data-theme="dark"] .connection{background:#182230}
[data-theme="dark"] .switch{background:#101925}
[data-theme="dark"] .switch button{color:#9caec8}
[data-theme="dark"] .switch button.active{background:#283a56;color:#9bbcff;box-shadow:0 2px 5px #0003}
[data-theme="dark"] .nav button{color:#adbad0}
[data-theme="dark"] .nav button:hover,[data-theme="dark"] tr.clickable:hover td{background:#202e42}
[data-theme="dark"] .nav button.active{background:#253858;color:#a4c2ff}
[data-theme="dark"] .breadcrumb b{color:#cad5e7}
[data-theme="dark"] .breadcrumb,[data-theme="dark"] .pill,[data-theme="dark"] .sidebar-bottom p,[data-theme="dark"] .nav-caption{color:#97a7bf}
[data-theme="dark"] .avatar,[data-theme="dark"] .vendor-mark{background:#273b5b;color:#a4c2ff}
[data-theme="dark"] .btn{background:#202d40;color:#c6d3e8;border-color:#3a4b64}
[data-theme="dark"] .btn:hover{background:#2b3d56;border-color:#557398}
[data-theme="dark"] .btn.primary{background:#3569dc;border-color:#447aee;color:#fff}
[data-theme="dark"] .btn.primary:hover{background:#4379ec}
[data-theme="dark"] .btn.ghost{background:transparent;border-color:transparent}
[data-theme="dark"] .btn.ghost:hover{background:#293a51}
[data-theme="dark"] .btn.danger{color:#ff9ca6;border-color:#6c3b4a}
[data-theme="dark"] .btn.danger.ghost{border-color:transparent}
[data-theme="dark"] .card-head,[data-theme="dark"] .session-footer,[data-theme="dark"] .kv,[data-theme="dark"] .connection .bottom,[data-theme="dark"] .file-row,[data-theme="dark"] td{border-color:#2b3648}
[data-theme="dark"] .card-head .sub,[data-theme="dark"] .stat small,[data-theme="dark"] .session-meta small,[data-theme="dark"] .progress-label,[data-theme="dark"] .session-footer,[data-theme="dark"] .kv span,[data-theme="dark"] .section-label,[data-theme="dark"] .table-foot,[data-theme="dark"] td small,[data-theme="dark"] .field small,[data-theme="dark"] .note,[data-theme="dark"] .connection p,[data-theme="dark"] .footer-note,[data-theme="dark"] .text-sample small{color:#9cacc4}
[data-theme="dark"] .stat .label,[data-theme="dark"] .field>span,[data-theme="dark"] .check,[data-theme="dark"] td{color:#b8c7de}
[data-theme="dark"] td strong{color:#e0e7f2}
[data-theme="dark"] th{background:#141e2c;color:#aabbd4}
[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .field textarea,[data-theme="dark"] .search,[data-theme="dark"] .status-controls select{background:#111c2b;color:#dae4f4;border-color:#3c4e69}
[data-theme="dark"] .field input:disabled,[data-theme="dark"] .field select:disabled{background:#1b2636;color:#9aabc4}
[data-theme="dark"] .field input:focus,[data-theme="dark"] .field select:focus,[data-theme="dark"] .field textarea:focus,[data-theme="dark"] .search:focus{outline-color:#304a75;border-color:#729fff}
[data-theme="dark"] .editor{background:#111b29;color:#b2cbf6;border-color:#3a4c65}
[data-theme="dark"] .info{background:#1b2d48;border-color:#324e74;color:#b1c9ed}
[data-theme="dark"] .info.amber{background:#342d20;border-color:#685336;color:#e2c28a}
[data-theme="dark"] .info.red{background:#3b242e;border-color:#714050;color:#f6b0bb}
[data-theme="dark"] .badge{background:#263e63;color:#b2ccff}
[data-theme="dark"] .badge.green{background:#163e35;color:#89d8bc}
[data-theme="dark"] .badge.red{background:#4b2935;color:#ffb1bb}
[data-theme="dark"] .badge.amber{background:#463920;color:#edcd8d}
[data-theme="dark"] .badge.gray{background:#2c394c;color:#b9c8df}
[data-theme="dark"] .good{color:#81d6b7!important}
[data-theme="dark"] .bad{color:#ffa1ae!important}
[data-theme="dark"] .progress{background:#2b3a51}
[data-theme="dark"] .step{color:#9cacbf}
[data-theme="dark"] .step i{border-color:#4a5a73}
[data-theme="dark"] .step.on{color:#a4c5ff}
[data-theme="dark"] .step.on i{background:#233e65;border-color:#45699b}
[data-theme="dark"] .tabs button{color:#a9b9d0}
[data-theme="dark"] .tabs button.active{color:#9dbfff;border-bottom-color:#7ca6ff}
[data-theme="dark"] .upload,[data-theme="dark"] .files{background:#142031;border-color:#48658c}
[data-theme="dark"] .upload h3{color:#b4ccf2}
[data-theme="dark"] .upload p,[data-theme="dark"] .file-row{color:#a6b9d4}
[data-theme="dark"] .selected-row td{background:#233552}
[data-theme="dark"] .inline-code{background:#2b3c55;color:#c3d7f9}
[data-theme="dark"] .empty{color:#a6b7ce}
[data-theme="dark"] .empty h2{color:#d4e2f5}
[data-theme="dark"] dialog{background:#182434;color:#d9e5f6;box-shadow:0 25px 100px #0008}
[data-theme="dark"] dialog::backdrop{background:#030811a6}
[data-theme="dark"] .text-sample mark{background:#594525;color:#ffe0a3}
[data-theme="dark"] #toast{background:#d5e3fa;color:#142138}
