.sgn-page{max-width:1160px;margin:auto;padding:48px 28px 80px}.hero-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.hero-row h1{font-size:clamp(32px,4.5vw,52px);line-height:1.12;letter-spacing:-1.8px;margin:14px 0 20px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--accent-deep)}.lead{font-size:17px;line-height:1.6;color:var(--muted)}.seal{width:210px;height:210px;object-fit:contain;flex-shrink:0}.notice{padding:12px 16px;border-left:3px solid var(--accent);background:var(--accent-soft);font-size:13px;line-height:1.5;margin:26px 0}.picker{display:grid;grid-template-columns:1fr 1.3fr .5fr;gap:20px;padding:24px;background:var(--surface);border:1px solid var(--line-soft);border-radius:16px}.picker label{display:grid;gap:9px;font-size:12px;color:var(--muted)}.picker select{width:100%;font:15px inherit;color:var(--ink);padding:12px 14px;background:var(--surface);border:1.5px solid var(--line);border-radius:12px}.work-layout{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:28px;margin-top:32px}.help{font-size:13px;color:var(--muted);line-height:1.6}.task{border:1px solid var(--line-soft);border-radius:14px;background:var(--surface);margin:16px 0;overflow:hidden}.task summary{padding:20px;cursor:pointer;font-weight:600;display:flex;gap:12px;align-items:center;list-style:none}.task summary::after{content:'+';margin-left:auto;font-size:22px;color:var(--muted)}.task[open] summary::after{content:'−'}.task-number{background:var(--surface-2);width:30px;height:30px;display:grid;place-items:center;border-radius:9px;flex-shrink:0}.task[data-correct=true]{border-color:var(--good)}.task[data-correct=true] .task-number{background:var(--good-bg);color:var(--good)}.task-body{padding:0 20px 20px}.sgn-condition{white-space:pre-wrap;font:14px/1.65 Consolas,monospace;background:var(--surface-2);border-radius:9px;padding:16px;overflow-wrap:anywhere}.sgn-answer-fields{display:flex;gap:20px;flex-wrap:wrap;margin:20px 0}.sgn-answer{display:flex;flex-direction:column;gap:8px;max-width:100%;font-size:13px}.matrix{display:grid;gap:5px;border-left:2px solid var(--line);border-right:2px solid var(--line);padding:5px 7px}.sgn-answer input{width:64px;min-width:0;padding:9px 3px;text-align:center;border:1px solid var(--line);border-radius:5px;background:var(--surface);color:var(--ink);font:14px Consolas,monospace}.sgn-answer select{max-width:240px;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}.result{font-size:13px;line-height:1.6;margin:10px 0 0}.result[data-ok=true]{color:var(--good)}.result[data-ok=false]{color:var(--bad)}.summary{background:var(--surface);border:1px solid var(--line-soft);border-radius:14px;padding:24px;margin-top:16px;position:sticky;top:20px}.count{color:var(--muted);font-size:14px}.count strong{font-size:56px;letter-spacing:-3px;color:var(--ink);margin-right:12px}.summary progress{width:100%;height:7px;accent-color:var(--accent)}.summary p,.privacy p{font-size:13px;line-height:1.65;color:var(--muted)}.summary button.primary{width:100%;margin-top:10px}.text-button{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:12px;padding:0;cursor:pointer}.privacy{padding:22px 10px}.privacy h3{font-size:14px}.upload{margin-top:30px;border:1px solid var(--line);border-radius:16px;background:var(--surface);padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:30px}.upload h2{margin:10px 0}.upload p{font-size:14px;line-height:1.6}.upload fieldset{border:1px dashed var(--line);border-radius:10px;padding:20px;min-width:0}.upload fieldset:disabled{opacity:.55}.upload input{max-width:100%}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:800px){.work-layout{grid-template-columns:minmax(0,1fr)}.summary{position:static}.work-layout aside{grid-row:1}.privacy{display:none}.seal{width:135px;height:135px;font-size:36px}.upload{grid-template-columns:1fr}}@media(max-width:520px){.sgn-page{padding:28px 16px}.picker{grid-template-columns:1fr;padding:18px;gap:15px}.seal,.lead br{display:none}.task-body{padding:0 12px 16px}.task summary{padding:16px 12px}.sgn-condition{font-size:12px;padding:12px}.sgn-answer input{width:51px}.sgn-answer-fields{gap:18px}.hero-row h1{letter-spacing:-1px}.upload{padding:20px}}

.sgn-condition{display:block;max-height:none}
.picker{grid-template-columns:repeat(6,minmax(0,1fr))}.picker label:nth-child(1),.picker label:nth-child(2){grid-column:span 3}.picker label:nth-child(n+3){grid-column:span 2}.picker input{width:100%;min-width:0;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit}.sgn-condition{font:inherit;white-space:normal}.sgn-condition p{font-size:14px;line-height:1.6;margin:0 0 12px}.sgn-formula{overflow-x:auto;max-width:100%;font-size:1rem}.sgn-formula .katex-display{margin:12px 0;text-align:left}.sgn-formula .katex-display>.katex{text-align:left}.sgn-param-general{flex-basis:100%;padding:14px;background:var(--surface-2);border-radius:10px}.sgn-param-fraction{display:flex;gap:12px;align-items:center}.sgn-fraction-stack>div{display:flex;align-items:center;justify-content:center;gap:8px;padding:7px}.sgn-fraction-stack>div:first-child{border-bottom:1px solid var(--ink)}.sgn-param-fraction input{width:70px;padding:9px;text-align:center;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:6px}.sgn-param-general .help{margin-top:0}@media(max-width:520px){.picker{grid-template-columns:1fr}.picker label:nth-child(n){grid-column:auto}.sgn-formula{font-size:.85rem}}
/* Keep the editable fraction at the same scale as the answer fields. */
.sgn-param-general{padding:12px}
.sgn-param-fraction{font-size:15px;line-height:1.35;gap:8px}
.sgn-param-fraction .katex{font-size:1.05em}
.sgn-param-fraction input{width:56px;height:34px;padding:5px 6px;font:14px/1.35 Consolas,monospace}
.sgn-fraction-stack>div{gap:6px;padding:4px 6px}
.sgn-param-general .help{font-size:12px;margin-bottom:10px}
/* Форма работ с сервера (work-form.js): подпись, формула и поле в строку. */
.work-table,.work-list{display:grid;gap:12px;margin:20px 0}.work-table{grid-template-columns:repeat(auto-fill,minmax(120px,150px))}.work-table .work-field{flex-direction:column;align-items:stretch;gap:6px}.work-table .work-label{text-align:center}.work-field{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}.work-label{flex-shrink:0;min-width:1.6em}.work-list:has(.with-formula){grid-template-columns:1.6em max-content minmax(110px,240px);align-items:center}.work-field.with-formula{display:grid;grid-template-columns:subgrid;grid-column:1/-1}.with-formula .work-input{max-width:none}.work-formula{overflow-x:auto;overflow-y:hidden;max-width:100%;padding:4px 0;font-size:1.05rem}.work-input{flex:1 1 150px;min-width:0;max-width:260px;padding:9px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:14px Consolas,monospace}.work-table .work-input{max-width:none;flex:none;text-align:center}.work-input[data-ok=true]{border-color:var(--good);background:var(--good-bg)}.work-input[data-ok=false]{border-color:var(--bad)}.work-input[data-ok=unknown]{border-style:dashed;border-color:var(--muted)}.result[data-ok=unknown]{color:var(--muted)}.work-breaks{margin:20px 0;display:grid;gap:8px}.work-break-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 70px;gap:8px;align-items:center}.work-break-row .work-input{max-width:none;width:100%}.work-break-head{font-size:13px;color:var(--muted)}.work-add{justify-self:start;background:none;border:1px dashed var(--line);border-radius:6px;padding:8px 12px;color:var(--ink);cursor:pointer}.work-add:disabled,.work-break-row .text-button:disabled{opacity:.4;cursor:default}@media(max-width:520px){.work-list:has(.with-formula){grid-template-columns:1fr}.work-field.with-formula{grid-column:auto;display:flex}.work-break-row{grid-template-columns:repeat(3,minmax(0,1fr))}.work-break-row .text-button{grid-column:1/-1;justify-self:end}.work-break-head>span:last-child{display:none}}
.sgn-condition .katex-display{overflow-x:auto;overflow-y:hidden;padding:2px 0}.work-matrix{align-items:center}.work-matrix .work-input{flex:none;width:64px;max-width:none;padding:9px 3px;text-align:center}@media(max-width:520px){.work-matrix .work-input{width:51px}}
/* Квитанция о сдаче. Ради неё студент и возвращается на страницу — «дошло
   ли», — поэтому она крупная, отдельная и не гаснет вместе с полем загрузки. */
.receipt:empty{display:none}.receipt{grid-column:1/-1;margin:0;padding:16px 18px;border-radius:12px;background:var(--good-bg);border:1px solid var(--good);color:var(--good)}.receipt strong{display:block;font-size:18px;line-height:1.35}.receipt-sub{display:block;margin-top:6px;font-size:13px;line-height:1.55;opacity:.85}
