@charset "UTF-8";
:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#21332c;background:#f4f5ef;font-size:15px;line-height:1.6;--green:#195c42;--line:#dce3d8;--muted:#627268}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:10px;padding:10px 16px;background:#fff;color:inherit}button:hover{border-color:#195c42;background:#eff5ef}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#134c35;color:#fff}a{color:var(--green)}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #cad6cb;border-radius:9px;background:#fff;color:#21332c}textarea{min-height:125px;resize:vertical}label{display:block;margin:14px 0 6px;font-weight:600}h1{font-size:30px;line-height:1.3;letter-spacing:-.8px}h2{font-size:22px}h3{font-size:17px;margin:0 0 8px}p{margin:8px 0}.muted,small{color:var(--muted)}small{display:block}main{min-width:0;padding:32px 40px;max-width:1440px;width:100%}.shell{display:flex;min-height:100vh}.sidebar{width:235px;flex-shrink:0;background:#142b23;color:#e1ebdd;padding:28px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:8px}.brand{font-size:23px;font-weight:800;letter-spacing:.5px}.brand span{color:#f3c15b}.sidebar small{color:#b2c2b6;margin-bottom:28px}.sidebar button{background:transparent;color:#d8e5d9;border:0;text-align:left}.sidebar button.active,.sidebar button:hover{background:#2c493a;color:#ffdb8d}.sidebar .account{margin-top:auto;overflow-wrap:anywhere;font-size:12px;color:#b2c2b6}.top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}.eyebrow{color:#527c5e;font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.hero{border-radius:20px;background:#e9edda;padding:28px;margin:20px 0;display:flex;gap:24px;justify-content:space-between;align-items:center}.hero h2{margin:0 0 10px;font-size:26px}.hero .seal{font-size:36px;color:#20513d;background:#fff9dc;padding:16px;border-radius:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;margin-bottom:16px;box-shadow:0 3px 14px #153e2505}.grid .card{margin-bottom:0}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.spread{justify-content:space-between}.badge{display:inline-block;font-size:12px;padding:3px 10px;border-radius:20px;background:#edf3eb;color:#33563c}.badge.bad{background:#fff0e5;color:#9c441c}.notice{padding:12px 16px;margin:14px 0;border:1px solid #c6dbc8;background:#f1f8ee;border-radius:10px}.notice.error{background:#fff2ed;border-color:#e9bba8;color:#9b341b}.result{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:14px;background:#f7f9f4;border-radius:10px;padding:16px;max-height:650px;overflow:auto}.tasktitle{overflow-wrap:anywhere;max-height:100px;overflow:auto}.split{display:grid;grid-template-columns:minmax(290px,1fr) minmax(260px,.7fr);gap:24px}.auth{max-width:1020px;margin:8vh auto;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.auth h1{font-size:44px}.auth .brand{color:#195c42}.auth .card{padding:30px}.auth .tabs{display:flex;gap:10px;margin-bottom:18px}.auth .tabs button{flex:1}.filelist{overflow-wrap:anywhere}.filechoice{display:flex;align-items:center;gap:8px;font-weight:400}.filechoice input{width:auto}.loading{padding:40px}.stack>*+*{margin-top:12px}.metric{font-size:26px;font-weight:700;color:#195c42}.dialog{width:min(760px,95vw);border:1px solid #ccd6c8;border-radius:16px;max-height:90vh;padding:24px}.dialog::backdrop{background:#142b2366}.dialog h2{margin-top:0}:focus-visible{outline:3px solid #d09c2b;outline-offset:3px}@media(max-width:850px){main{padding:22px}.sidebar{width:185px}.split{grid-template-columns:1fr}.auth{gap:24px}.auth h1{font-size:32px}}@media(max-width:600px){.shell{display:block}.sidebar{position:relative;width:100%;height:auto;padding:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.sidebar .brand,.sidebar small,.sidebar .account{grid-column:1/-1}.sidebar small{margin:0 0 8px}.sidebar button{text-align:center;padding:9px 5px;font-size:13px}.sidebar .account{display:none}main{padding:20px 15px}.top{align-items:flex-start}h1{font-size:25px}.hero{padding:20px}.hero .seal{display:none}.auth{display:block;margin:20px auto}.auth>section{margin-bottom:25px}.auth h1{font-size:29px}.grid{grid-template-columns:1fr}}
