.assignment-lead{color:var(--pm-muted);font-size:16px;margin:16px 0 0;line-height:1.8}
.assignment-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:56px;margin-top:32px}
.assignment-guide h2{font-size:19px;margin:0 0 12px}.assignment-guide h2:not(:first-child){margin-top:30px}.assignment-guide p,.assignment-guide li{font-size:14px;line-height:1.95}.assignment-guide ol{padding-left:22px}.assignment-guide li+li{margin-top:9px}
.assignment-panel{min-width:0;background:var(--pm-surface);border:1px solid var(--pm-line);border-radius:10px;padding:30px}
.assignment-panel-heading{margin-bottom:26px}.assignment-step{display:inline-block;font-size:11px;font-weight:600;letter-spacing:1px;color:var(--pm-accent);margin-bottom:10px}.assignment-panel h2{font-size:23px;line-height:1.4;margin:0 0 10px}.assignment-panel-heading>p{color:var(--pm-muted);font-size:14px;margin:0}
#submission-fields{border:0;padding:0;margin:0;min-width:0}.assignment-identity{display:grid;grid-template-columns:1fr 1fr;gap:18px}.assignment-field{margin:0 0 22px;min-width:0}.assignment-field label{display:block;font-size:14px;font-weight:600;margin:0 0 10px}.assignment-field label span{color:var(--pm-accent)}
.assignment-field input[type=text]{display:block;box-sizing:border-box;width:100%;min-width:0;background:var(--pm-bg);color:var(--pm-text);border:1px solid var(--pm-line);border-radius:5px;padding:12px;font:inherit;font-size:14px;min-height:46px}.assignment-field input::placeholder{color:var(--pm-muted);opacity:.85}.assignment-field small{display:block;color:var(--pm-muted);font-size:11px;line-height:1.7;margin-top:7px}.assignment-field input:focus-visible,.assignment-submit:focus-visible{outline:2px solid var(--pm-accent);outline-offset:3px}
.assignment-file-box{text-align:center;background:var(--pm-bg);border:1px dashed var(--pm-line);border-radius:7px;padding:23px 14px;min-width:0}.assignment-file-box svg{color:var(--pm-accent);margin:0 auto 12px}.assignment-file-box p{font-size:13px;line-height:1.8;margin:0 0 14px}.assignment-file-box input{font:inherit;font-size:12px;max-width:100%;color:var(--pm-muted)}.assignment-file-box input::file-selector-button{background:var(--pm-surface);color:var(--pm-text);border:1px solid var(--pm-line);border-radius:4px;padding:7px 10px;margin-right:10px;cursor:pointer}.assignment-file-box .assignment-selected{font-size:12px;margin:12px 0 0;color:var(--pm-muted);overflow-wrap:anywhere}
.assignment-filename{font-size:12px;line-height:1.8;color:var(--pm-muted);margin:0 0 18px;overflow-wrap:anywhere}.assignment-filename strong{color:var(--pm-text);font-weight:500}.assignment-submit{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;border:0;border-radius:5px;padding:13px 20px;min-height:48px;font:inherit;font-weight:600;font-size:15px;background:var(--pm-accent);color:var(--pm-bg);cursor:pointer}.assignment-submit:hover{filter:brightness(.95)}#submission-fields:disabled{opacity:.65}.assignment-submit:disabled{cursor:wait}
.assignment-note{font-size:12px;line-height:1.85;color:var(--pm-muted);margin:18px 0 0}.assignment-result{border:1px solid var(--pm-accent);background:var(--pm-bg);padding:20px;margin-top:22px;border-radius:6px;overflow-wrap:anywhere}.assignment-result[hidden]{display:none}.assignment-result h3{font-size:17px;margin:0 0 8px;color:var(--pm-text)}.assignment-result p{font-size:13px;line-height:1.85;margin:0}.assignment-result[data-state=error]{border-color:#bc586b}.assignment-result dl{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px 12px;margin:14px 0 0;font-size:12px;line-height:1.7}.assignment-result dt{color:var(--pm-muted)}.assignment-result dd{margin:0;color:var(--pm-text)}
.software-intro-actions{margin:-8px 0 26px}.software-assignment-entry{display:inline-flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:var(--pm-accent);text-decoration:none}.software-assignment-entry:hover{text-decoration:underline}
@media(max-width:900px){.assignment-layout{gap:30px;grid-template-columns:1fr}.assignment-panel{max-width:680px;width:100%;box-sizing:border-box}.assignment-guide{max-width:680px}}
@media(max-width:500px){.assignment-layout{margin-top:24px;gap:24px}.assignment-panel{padding:22px 18px}.assignment-identity{grid-template-columns:1fr;gap:0}.assignment-panel h2{font-size:21px}}
