:root{--teal:#0f766e;--teal-dark:#115e59;--ink:#172033;--muted:#64748b;--line:#dce5e4;--bg:#f3f8f6;--white:#fff;--amber:#fff8e6}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font:16px/1.55 system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}.topbar{height:68px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand,.judge{display:flex;align-items:center;gap:12px}.brand div,.judge div{display:flex;flex-direction:column}.brand small,.judge small{font-size:12px;color:var(--muted)}.logo{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--teal);color:#fff;font-weight:800}.icon-btn{border:0;background:transparent;font-size:20px;color:var(--muted);cursor:pointer}.wrap{max-width:1120px;margin:auto;padding:38px 26px}.intro{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:26px}.badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:#d9eee8;color:var(--teal-dark);font-size:13px;font-weight:700}.intro h1{font-size:36px;line-height:1.2;margin:12px 0 6px}.muted{color:var(--muted)}.progress-card{width:275px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:15px 18px}.progress-copy{display:flex;justify-content:space-between;font-size:14px}.progress{height:8px;margin-top:12px;background:#e6f2ef;border-radius:99px;overflow:hidden}.progress i{display:block;width:67%;height:100%;background:var(--teal)}.project-list{display:grid;gap:14px}.project{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:20px 22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 22px #0f172a0a;cursor:pointer;transition:.18s}.project:hover{transform:translateY(-2px);border-color:#72c5b8;box-shadow:0 14px 30px #0f766e12}.project h2{margin:8px 0 0;font-size:21px}.meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:13px}.pill{padding:2px 8px;border-radius:99px;background:#f1f5f9;color:#475569}.status{background:#fef3c7;color:#92400e}.status.done{background:#dbeafe;color:#1e40af}.action{color:var(--teal);font-weight:700}.workspace{height:calc(100vh - 68px);display:grid;grid-template-columns:minmax(0,1.65fr) minmax(390px,.9fr)}.materials,.scoring{min-height:0;overflow:auto}.materials{background:#fff;border-right:1px solid var(--line);padding:25px 34px}.materials-inner{max-width:850px;margin:auto}.back{border:0;background:transparent;color:#475569;padding:7px 0;cursor:pointer;font-size:15px}.title-block h1{font-size:32px;margin:16px 0 2px}.card{border:1px solid var(--line);border-radius:16px;background:#f8fafc;padding:18px;margin-top:22px}.card h3{margin:0 0 8px;font-size:14px;color:var(--muted);letter-spacing:.08em}.tabs{display:flex;gap:6px;margin-top:22px;padding:5px;background:#f1f5f9;border-radius:12px;overflow:auto}.tabs button{border:0;border-radius:9px;background:transparent;padding:9px 13px;white-space:nowrap;cursor:pointer}.tabs .active{background:#fff;box-shadow:0 1px 4px #0001}.preview{min-height:185px;display:grid;place-items:center;text-align:center;background:linear-gradient(135deg,#f8fafc,#edf8f5)}.preview .file-icon{font-size:32px}.open{border:1px solid #cbd5e1;background:#fff;border-radius:9px;padding:8px 13px;color:var(--teal);font-weight:700}.ai{background:var(--amber);border-color:#f1d899}.scoring{background:#f7faf9;display:flex;flex-direction:column}.score-head,.score-foot{background:#fff;padding:17px 22px;border-bottom:1px solid var(--line)}.score-head{position:sticky;top:0;z-index:2}.score-head h2{margin:2px 0 12px}.phase-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f5f9;padding:4px;border-radius:11px}.phase-tabs button{border:0;padding:8px;border-radius:8px;background:transparent;cursor:pointer}.phase-tabs .active{background:#fff;box-shadow:0 1px 4px #0001;font-weight:700}.score-body{padding:20px 22px;flex:1}.score-section{margin-bottom:23px}.score-section h3{font-size:15px}.score-row{display:grid;grid-template-columns:1fr 70px;gap:12px;align-items:center;padding:11px;margin-bottom:8px;background:#fff;border:1px solid var(--line);border-radius:12px}.score-code{font:12px ui-monospace,monospace;background:#f1f5f9;padding:3px 6px;border-radius:5px}.score-row small{display:block;color:#94a3b8}.score-row input{width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:8px;text-align:center;font-weight:800;font-size:16px}.field{display:block;font-size:14px;font-weight:700;margin:12px 0}.field textarea{width:100%;margin-top:6px;min-height:90px;resize:vertical;border:1px solid #cbd5e1;border-radius:10px;padding:10px;font:inherit}.score-foot{position:sticky;bottom:0;border-top:1px solid var(--line);border-bottom:0}.total{display:flex;justify-content:space-between;align-items:end;margin-bottom:11px}.total strong{font-size:30px}.buttons{display:grid;grid-template-columns:auto 1fr;gap:8px}.buttons button{border-radius:9px;padding:10px 14px;border:1px solid #cbd5e1;background:#fff;font-weight:700;cursor:pointer}.buttons .primary{background:var(--teal);border-color:var(--teal);color:#fff}.connection{position:fixed;right:14px;bottom:14px;padding:7px 11px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:12px;color:var(--muted);box-shadow:0 5px 15px #0001}.connection.ok{color:#047857}.connection.bad{color:#b45309}@media(max-width:850px){.intro{align-items:stretch;flex-direction:column}.progress-card{width:100%}.workspace{height:auto;display:block}.materials,.scoring{overflow:visible}.materials{padding:20px}.scoring{border-top:8px solid var(--bg)}.judge div{display:none}.topbar{padding:0 16px}.intro h1{font-size:29px}.score-head,.score-foot{position:static}.project{align-items:flex-start;gap:20px}.action{white-space:nowrap}}
