:root{color-scheme:dark;--bg:#0d131b;--panel:#161f2a;--line:#293544;--muted:#91a1b4;--fg:#ecf2f8;--green:#82e9b6;--blue:#7eaeff;--orange:#f1c47c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:#1c2938;color:var(--fg);padding:9px 15px;transition:background .15s}button:hover{background:#283b50}button:disabled{cursor:wait;opacity:.55}.primary{background:var(--green);border-color:var(--green);color:#11261e;font-weight:650}.primary:hover{background:#a4f2cf}.muted,.sub,.hint{color:var(--muted)}.hidden{display:none!important}.brandmark{display:grid;place-items:center;background:var(--green);color:#132b22;width:54px;height:54px;border-radius:14px;font-weight:900;font-size:31px;transform:skew(-5deg)}.brandmark.small{width:37px;height:37px;font-size:23px;border-radius:10px}.brand{display:flex;gap:13px;align-items:center}.brand strong{font-size:17px}.sub{display:block;font-size:12px}header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:21px 5vw;border-bottom:1px solid var(--line);background:#111a24}.header-right{display:flex;align-items:center;gap:9px}.badge{border:1px solid #38614e;color:var(--green);padding:3px 10px;border-radius:20px;font-size:12px}.badge.readonly{color:var(--blue);border-color:#3c5276}.online-dot{width:6px;height:6px;border-radius:50%;background:var(--green);margin-left:8px}main{max-width:1360px;margin:auto;padding:30px 5vw}.intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:var(--green);margin:0 0 8px}h1{font-size:29px;line-height:1.4;margin:0;font-weight:650;letter-spacing:-.5px}h2{font-size:17px;margin:0;font-weight:600}p{margin:5px 0}.actions{display:flex;gap:9px;flex-wrap:wrap}.notice{border:1px solid #3b4b3e;color:#c7d7c8;background:#1a2823;padding:11px 15px;border-radius:10px;margin-bottom:23px;font-size:12px}.notice.readonly{color:#bed0ee;border-color:#334c70;background:#162235}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:30px}.stats article{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:17px 20px}.stats article>span{color:var(--muted);font-size:12px}.stats strong{font-size:29px;font-weight:600;display:block;margin:7px 0 3px;font-variant-numeric:tabular-nums}.stats small{font-size:14px;font-weight:400}.stats p{font-size:11px;color:var(--muted)}.text-button{padding:0 4px;border:0;background:transparent;color:var(--green);font-size:12px}.text-button:hover{background:transparent;color:white}.section-title{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px}.section-title p{font-size:12px;color:var(--muted);margin-top:3px}#task-count{color:var(--muted);font-weight:400;margin-left:8px}.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.task{background:var(--panel);border:1px solid var(--line);border-radius:13px;overflow:hidden}.task-head{padding:18px 18px 13px;border-bottom:1px solid var(--line)}.task-name{font-size:15px;margin:0;overflow-wrap:anywhere}.task-hash{font-size:11px;color:var(--muted);overflow-wrap:anywhere;min-height:18px;margin-top:3px}.task-label{font-size:10px;padding:2px 7px;color:var(--blue);background:#24344d;border-radius:4px;display:inline-block;margin-bottom:8px}.task-body{padding:17px 18px}.cap-label{color:var(--muted);font-size:11px}.cap{color:var(--green);font-size:31px;font-weight:650;margin:2px 0 10px;font-variant-numeric:tabular-nums}.sources{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:17px}.source{background:#101923;border-radius:7px;padding:8px 10px;font-size:11px;color:var(--muted)}.source b{display:block;color:#d9e4f1;font-size:14px;font-weight:500}.source.invalid b{color:#b89775}.source time{display:block;font-size:9px;line-height:1.6;margin-top:3px}.source .source-status{display:block;font-size:9px}.quote-row{display:flex;justify-content:space-between;gap:12px;margin:6px 0;color:var(--muted);font-size:12px}.quote-row b{font-weight:500;color:var(--fg)}.reason{min-height:48px;background:#111b25;border-radius:6px;padding:8px 10px;font-size:11px;color:#bbcadb;margin-top:13px;overflow-wrap:anywhere}.task-footer{padding:12px 18px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:8px}.task-footer button{font-size:11px;padding:6px 10px}.task.disabled{opacity:.7}.empty{grid-column:1/-1;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:12px;padding:40px}.bottom-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:19px;margin-top:27px}.panel{background:var(--panel);border:1px solid var(--line);padding:20px;border-radius:13px}.events{max-height:288px;overflow:auto}.event{display:grid;grid-template-columns:58px 1fr;gap:10px;font-size:11px;padding:9px 0;border-bottom:1px solid #23303e}.event time{font-variant-numeric:tabular-nums;color:var(--muted)}.event span{color:#ced9e6}.rule{display:flex;gap:12px;align-items:flex-start;margin:14px 0;font-size:12px;color:#b3c2d3}.rule>span{color:var(--green);font-size:10px;border:1px solid #345546;border-radius:5px;padding:0 5px;margin-top:5px}.scenario-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.scenario-buttons button{font-size:10px;padding:6px 9px}.api-status{margin-top:13px;color:var(--muted);font-size:11px;line-height:1.8}footer{font-size:10px;color:#6d8196;text-align:center;padding:27px 0 9px}.login{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{max-width:420px;width:100%;background:var(--panel);border:1px solid var(--line);padding:32px;border-radius:19px}.login .eyebrow{margin-top:25px}.login h1{font-size:27px}.login .muted{font-size:13px;margin:10px 0 22px}.login button{width:100%;margin-top:15px}.footnote{font-size:10px;color:var(--muted);margin-top:22px}label{font-size:12px;display:block;margin:13px 0;color:#bdcadd}input{display:block;width:100%;border:1px solid #354459;border-radius:8px;padding:10px 12px;margin-top:6px;background:#0f1823;color:var(--fg);min-width:0}input:focus{outline:1px solid var(--green);border-color:var(--green)}dialog{color:var(--fg);background:var(--panel);border:1px solid var(--line);border-radius:16px;width:min(530px,calc(100% - 30px));padding:24px;max-height:90vh;overflow-y:auto}dialog::backdrop{background:#0009}.dialog-title{display:flex;align-items:center;justify-content:space-between}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.hint{font-size:10px}.wide{width:100%;margin-top:14px}.error{font-size:12px;color:#f1ad9c;min-height:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:10;background:#273c32;border:1px solid #598f75;color:#e5f6ec;padding:12px 20px;border-radius:10px;max-width:90vw;box-shadow:0 8px 30px #0005;font-size:12px}.stale{color:var(--orange)!important}@media(min-width:1500px){main{padding-left:35px;padding-right:35px}}@media(max-width:1050px){.task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:10px}.stats article{padding:15px}.stats strong{font-size:25px}h1{font-size:25px}}@media(max-width:650px){header{padding:15px 18px;gap:10px}.brand strong{font-size:15px}.header-right>.muted,.online-dot,.sub{display:none}main{padding:24px 16px}.intro{display:block}.intro h1{font-size:23px}.intro .actions{margin-top:18px}.intro .actions button{flex:1}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stats article{padding:13px 14px}.stats strong{font-size:25px}.stats p{font-size:10px}.task-grid{grid-template-columns:1fr}.section-title{flex-wrap:wrap}.workspace>.section-title{gap:12px}.workspace>.section-title .actions{width:100%}.workspace>.section-title .actions button{flex:1}.bottom-grid{grid-template-columns:1fr}.panel{padding:17px}.task-body{padding:17px 20px}.task-head{padding-left:20px}.cap{font-size:33px}.task-footer{padding-left:20px}.task-footer button{flex:1;font-size:12px}.login-card{padding:25px}.notice{font-size:11px}.form-grid{gap:0 10px}input{font-size:16px}.source time{font-size:10px}.source{font-size:12px}.source b{font-size:15px}}
