:root{--ink:#123b30;--muted:#75847d;--lime:#96e25e;--line:#dce4dc;--paper:#f4f6f1;--red:#bd3030}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 "Microsoft YaHei UI",system-ui,sans-serif}button,input,textarea,select{font:inherit}button{border:0;border-radius:10px;background:#edf1ec;color:var(--ink);padding:10px 18px;cursor:pointer;transition:background .16s,transform .16s}button:hover:not(:disabled){background:#dce8d6;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--lime)}.primary:hover:not(:disabled){background:#85d94c}.subtle{background:transparent;border:1px solid var(--line);padding:8px 14px}input,textarea,select{border:1px solid #ced8cd;border-radius:14px;background:#f7f9f5;color:var(--ink);padding:10px 14px;outline:none;min-width:0}input:focus,textarea:focus,select:focus{border-color:#518b37;box-shadow:0 0 0 3px #96e25e24}textarea{resize:vertical;min-height:46px;height:46px}label{display:block}label input{display:block;width:100%;margin:7px 0 18px}header{display:flex;align-items:center;justify-content:space-between;padding:22px max(30px,calc((100vw - 1240px)/2));background:#fff;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:800;color:var(--ink);text-decoration:none;letter-spacing:-1px}.brand span{font-size:12px;font-weight:400;letter-spacing:1px;margin-left:17px;border-left:1px solid #cbd5cc;padding-left:17px}.header-right{display:flex;align-items:center;gap:20px}.online{font-size:12px;color:#64835a}.online:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#77c84b;margin-right:7px}main{max-width:1240px;margin:auto;padding:45px 24px 20px}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}h1{font-size:32px;line-height:1.35;letter-spacing:-1px;margin:12px 0}p{margin:8px 0;color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#6b8071}.project-select label{font-size:12px;color:var(--muted);margin-bottom:6px}.project-select select{min-width:240px;background:white}.statusbar{display:flex;justify-content:space-between;gap:15px;border-block:1px solid var(--line);padding:14px 0;margin-bottom:32px;font-size:12px}#queueStatus{color:var(--muted)}.group{padding:22px;background:#e9ede5;border:1px solid var(--line);border-radius:24px;margin-bottom:26px}.group-title{display:flex;align-items:center;justify-content:space-between;margin:0 3px 18px}.group-title>div{display:flex;align-items:center;gap:15px}.section-no{font-size:10px;color:#7c8a7f;letter-spacing:1px}h2{font-size:20px;margin:0;letter-spacing:-.5px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.card{position:relative;background:#fff;border-radius:18px;padding:20px 22px 44px;min-height:195px;overflow-wrap:anywhere}.card-title{display:flex;align-items:center;gap:13px;padding-right:18px;margin-bottom:21px}.badge{display:grid;place-items:center;background:#eef1ec;border-radius:11px;min-width:37px;height:31px;font-weight:700}.card h3{font-size:17px;margin:0}.help{position:absolute;right:15px;top:17px;color:#738378;cursor:help;width:20px;text-align:center}.help .tip{display:none;position:absolute;right:0;top:22px;width:235px;padding:12px;background:#173c30;color:#fff;font-size:12px;border-radius:10px;z-index:5;text-align:left;box-shadow:0 7px 20px #163b3020}.help:hover .tip,.help:focus .tip{display:block}.row{display:flex;gap:12px;align-items:center}.row input,.row textarea{flex:1;width:0;border-color:#172b22}.row button{flex:none}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.actions:last-child{margin-bottom:0}.hint{font-size:12px;color:var(--muted);margin:12px 0 0;white-space:pre-wrap;user-select:text}.error{color:var(--red)!important}.message{font-size:12px;white-space:pre-wrap;user-select:text;max-height:155px;overflow:auto}.state-circle{position:absolute;right:16px;bottom:15px;width:24px;height:24px;border:2px solid #72c943;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:17px;color:#52a42e;font-weight:bold}.state-circle.running{background:conic-gradient(var(--lime) 0deg 315deg,#fff 315deg 360deg)}.counter{font-size:11px;color:var(--muted);margin-left:auto;white-space:nowrap}.filebar{display:flex;gap:10px;flex-wrap:wrap}.activity{padding:20px 2px}.activity>div:first-child{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.activity span{font-size:12px;color:var(--muted)}.job{padding:14px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:100px 1fr;gap:16px;font-size:12px}.job pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0;font:inherit;color:#6d7f72;max-height:130px;overflow:auto}.job .failed{color:var(--red)}.job .done{color:#52972e}.muted{color:var(--muted)}footer{font-size:11px;color:#849184;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.login{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.login-card{padding:12vh max(40px,calc((50vw - 420px)/2));min-width:0}.login h1{font-size:42px;margin-top:35px}.login p{margin-bottom:26px}.login form{max-width:355px;margin-top:38px}.login form button{width:100%}.login small{display:block;margin-top:48px;color:#7b8a7e;font-size:11px}.login-art{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#dcebcb;overflow:hidden}.orb{width:340px;height:340px;border-radius:50%;background:var(--lime);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:80px;font-weight:800;letter-spacing:-7px;box-shadow:50px 30px 0 #c0dd9e,-30px -40px 0 #e6f1d9}.orb span{font-size:15px;letter-spacing:4px;line-height:1.8;font-weight:400}.login-art>p{margin-top:90px;color:#66805a;font-size:12px}#toast{position:fixed;right:24px;bottom:24px;background:#fff;border:1px solid #8dc966;border-radius:14px;box-shadow:0 10px 40px #193a3020;max-width:420px;padding:18px 45px 18px 20px;z-index:10}#closeToast{position:absolute;right:6px;top:4px;background:transparent;padding:2px 8px;font-size:20px}[hidden]{display:none!important}@media(max-width:800px){main{padding:25px 14px}.cards{grid-template-columns:1fr}.page-heading{align-items:start;gap:15px;flex-direction:column}.group{padding:12px}.section-no{display:none}.header-right{gap:10px}.online{display:none}header{padding:15px}.login{grid-template-columns:1fr}.login-art{display:none}.login-card{padding:40px 25px}.activity>div:first-child{display:block}.statusbar,footer{flex-direction:column}.project-select select{width:100%}.card{min-height:180px}.row button{padding:10px 12px}}
