*{box-sizing:border-box}body{margin:0;background:#f4f6f5;color:#243c38;font:16px/1.65 'Segoe UI',sans-serif}header{background:#fff;border-bottom:1px solid #dce5e0;padding:20px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:14px;align-items:center;color:#126856;text-decoration:none;font-size:28px;font-weight:700}.brand span{font-size:20px}.brand .sub{display:block;font-size:12px;font-weight:400;color:#667b74}.local{font-size:13px;color:#497367}main{max-width:1240px;margin:auto;padding:42px 28px}.intro{margin-bottom:32px}.intro p{color:#64766f;margin:8px 0}.eyebrow{font-size:12px;letter-spacing:2px}h1{font-size:40px;line-height:1.2;margin:10px 0;font-weight:650}h2{font-size:20px;margin:6px 0 18px;line-height:1.4}h3{font-size:17px}.layout{display:grid;grid-template-columns:270px 1fr;gap:30px}aside{background:#e8efeb;padding:24px;border-radius:14px;align-self:start;position:sticky;top:20px}label{display:block;font-size:13px;font-weight:600;margin:20px 0 6px}input,select,button{width:100%;font:inherit;border:1px solid #bacbc3;border-radius:7px;padding:10px;background:#fff;color:#243c38}button{cursor:pointer;margin-top:20px}.secondary{background:transparent}.note,.source{font-size:12px;color:#6b7d75}.note{margin-top:24px}#count{margin:0 0 16px;color:#64766f;font-size:14px}.card{background:white;border:1px solid #dfe7e2;border-radius:14px;padding:28px 32px;margin-bottom:20px}.meta{display:flex;align-items:center;gap:14px;font-size:12px;color:#6f8179;flex-wrap:wrap}.badge{background:#e8f1ec;color:#16644f;padding:4px 10px;border-radius:5px;font-weight:650}.author{color:#a17033}.topic{font-size:12px;color:#5d786c;margin:22px 0 3px}.statement{font-size:18px}.tags{font-size:12px;color:#7b8b84}.diagram{display:block;width:260px;max-width:100%;margin:20px auto}.formula{color:#16644f}.source{border-top:1px solid #edf0ed;padding-top:14px;margin-bottom:0}details{border-top:1px solid #edf0ed;margin-top:18px;padding-top:14px}summary{color:#126856;cursor:pointer;font-weight:600}li{padding:4px 0}.answer{font-weight:600}.assessment{background:#f0f5f2;padding:12px;font-size:14px;border-radius:6px}.katex-display{overflow:auto;padding:8px}.empty{padding:40px;background:white;border-radius:12px}footer{text-align:center;color:#77887e;font-size:12px;padding:30px}input:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #60b49a;outline-offset:3px}@media(max-width:760px){.layout{grid-template-columns:1fr}aside{position:static}.card{padding:22px}header{align-items:flex-start}.local{max-width:110px}main{padding:28px 16px}h1{font-size:32px}}

.catalog-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.catalog-nav a{color:#126856;font-size:14px;font-weight:600}[hidden]{display:none!important}

/* Scanned conditions need the full card width to keep formulas legible. */
img.diagram[alt^="Полное условие задания"]{width:100%;max-height:none;object-fit:contain}

.catalog-overview{background:white;border:1px solid #dce5e0;border-radius:12px;padding:24px;margin-bottom:28px}#catalog-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}#catalog-groups details{margin:0;padding:14px;border:1px solid #dce5e0;border-radius:8px}#catalog-groups a{color:#126856;display:inline-block;margin:8px 0;overflow-wrap:anywhere}.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px}.catalog-pagination button{width:auto;margin:0}.catalog-pagination button:disabled{opacity:.5;cursor:default}#catalog-results{scroll-margin-top:20px}@media(max-width:500px){.catalog-pagination{gap:8px;font-size:13px}.catalog-overview{padding:16px}}

.cart-entry{border-top:1px solid #dce5e0;padding:12px 0;overflow-wrap:anywhere}.cart-entry p{margin:5px 0}.cart-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cart-actions button,#cart-clear{width:auto;margin:4px 0}.cart-warning{background:#fff1d4;color:#734812;padding:10px;border-radius:6px}#cart-message:empty{display:none}#cart-message{color:#923625}#cart-items{max-height:460px;overflow:auto;padding-left:28px}

#saved-owner>button,#saved-list button{width:auto;margin:10px 10px 10px 0}#saved-detail{margin-top:24px}#saved-name{max-width:600px}#saved-detail .card{margin:16px 0;border:1px solid #dce5e0}

.cart-save{margin-top:20px;padding-top:18px;border-top:1px solid #dce5e0}.cart-save input{max-width:600px}.cart-save button{width:auto;min-width:220px;margin:12px 0}#saved-login{padding:12px;border:1px solid #dce5e0;border-radius:8px}

.card label[for^="quantity-"]{display:inline-block;margin:12px 10px 12px 0}.card input[id^="quantity-"]{display:inline-block;width:96px;margin:12px 12px 12px 0}.card input[id^="quantity-"]+button{display:inline-block;width:auto;margin:12px 0}

[hidden]{display:none!important}.workspace-nav{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px;border-bottom:1px solid #dce5e0;padding-bottom:14px}.workspace-nav a{padding:9px 18px;border:1px solid #bacbc3;border-radius:8px;text-decoration:none;color:#126856;background:#fff}.workspace-nav a[aria-current="page"]{background:#176e59;color:#fff;border-color:#176e59}#nav-cart-count{display:inline-block;min-width:24px;text-align:center;border-radius:12px;background:#e7efeb;color:#176e59;margin-left:6px}#tests-password{max-width:500px}#tests-login{width:auto}#catalog-view .layout{margin-top:24px}

/* Compact catalogue only; editor, attempts and saved compositions keep their layout. */
#catalog-view .card{padding:14px 18px;margin-bottom:12px;border-radius:10px;line-height:1.4}
#catalog-view .card .meta{gap:8px;font-size:11px}
#catalog-view .card .badge{padding:2px 7px}
#catalog-view .card .topic{margin:7px 0 2px}
#catalog-view .card h2{font-size:17px;line-height:1.3;margin:2px 0 5px}
#catalog-view .card .note{margin:4px 0;font-size:11px}
#catalog-view .card .statement{font-size:16px;margin:9px 0;line-height:1.45}
#catalog-view .card .katex-display{margin:5px 0;padding:3px}
#catalog-view .card .diagram{width:auto;max-width:100%;height:auto;max-height:110px;margin:7px auto;object-fit:contain}
/* A scanned statement contains text: never shrink it to diagram-thumbnail size. */
#catalog-view .card img.diagram[alt^="Полное условие задания"]{width:100%;max-height:none}
#catalog-view .card .tags{font-size:11px;margin:5px 0}
#catalog-view .card>button{float:right;width:auto;margin:2px 0 6px 12px;padding:6px 14px;font-size:14px}
#catalog-view .card>details{border:0;margin:0;padding:8px 0 0;font-size:14px;min-height:38px}
#catalog-view .card>details[open]{clear:both}
#catalog-view .card>.source{clear:both;font-size:11px;line-height:1.4;margin:6px 0 0;padding-top:6px;overflow-wrap:anywhere}
@media(max-width:500px){#catalog-view .card{padding:12px}#catalog-view .card>button{padding:6px 10px}#catalog-view .card>details{font-size:13px}}

/* Text and figures share a row; scans retain their readable full width. */
#catalog-view .task-body{display:flex;align-items:flex-start;gap:18px;margin:5px 0 8px;min-width:0}
#catalog-view .task-text{flex:1;min-width:0}
#catalog-view .task-figures{flex:0 0 180px;max-width:35%;display:flex;flex-direction:column;gap:6px}
#catalog-view .task-figures .diagram{max-height:130px;margin:0 auto;max-width:100%}
#catalog-view .task-text .katex-display{overflow-x:auto;overflow-y:hidden}
#catalog-view .task-body-scan{display:block}
#catalog-view .task-body-scan .task-figures{max-width:100%;width:100%}
#catalog-view .task-body-scan img.diagram[alt^="Полное условие задания"]{max-height:none;width:100%}
#catalog-view .card details .source{margin-top:8px;padding-top:6px;overflow-wrap:anywhere}
@media(max-width:600px){#catalog-view .task-body{display:block}#catalog-view .task-figures{max-width:100%;width:100%;margin:8px 0}#catalog-view .task-figures .diagram{max-width:100%}}

/* Public navigation lives in the header; filters leave more space to tasks. */
.site-header{flex-wrap:wrap;padding:12px max(20px,calc((100% - 1184px)/2));gap:14px 24px}
.site-header .brand{font-size:24px;flex-shrink:0}
.site-header .workspace-nav{margin:0 0 0 auto;padding:0;border:0;gap:8px}
.site-header .workspace-nav a{padding:7px 13px;font-size:14px;white-space:nowrap}
.site-header .local{font-size:11px}
#catalog-view .layout{grid-template-columns:210px minmax(0,1fr);gap:20px;margin-top:18px}
#catalog-view aside{padding:15px 12px;min-width:0}
#catalog-view aside h2{font-size:17px;margin:0 0 12px}
#catalog-view aside label{margin:12px 0 4px;font-size:12px}
#catalog-view aside input,#catalog-view aside select,#catalog-view aside button{font-size:13px;padding:8px;min-width:0}
#catalog-view aside button{margin-top:14px}
#catalog-view aside .note{margin:12px 0 0;font-size:11px}
@media(max-width:760px){#catalog-view .layout{grid-template-columns:minmax(0,1fr)}.site-header .workspace-nav{margin-left:0;order:3;flex-basis:100%}.site-header .local{margin-left:auto}.site-header .workspace-nav a{flex:1;text-align:center}.site-header .brand .sub{font-size:11px}}

.auto-picker{margin:18px 0;padding:12px;border:1px solid #dce5e0;border-radius:8px}.auto-picker fieldset{border:1px solid #dce5e0;margin:12px 0;max-height:240px;overflow:auto}.auto-picker fieldset label{display:flex;gap:8px;align-items:center;margin:6px 0;font-weight:400}.auto-picker input[type="checkbox"]{width:auto}.auto-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.auto-picker>button{width:auto;margin-top:12px}.auto-picker .note{margin-top:10px}@media(max-width:600px){.auto-settings{grid-template-columns:1fr}}

.pdf-download{display:inline-block;margin:10px 16px 6px 0;padding:7px 12px;border:1px solid #bacbc3;border-radius:7px;color:#126856;text-decoration:none}

#trainer-editor-workspace fieldset{max-height:250px;overflow:auto;margin:14px 0;border:1px solid #bacbc3}#trainer-editor-workspace fieldset label{display:flex;align-items:center;gap:8px;margin:6px;font-weight:400}#trainer-editor-workspace input[type="checkbox"]{width:auto}#trainer-editor-list button{width:auto;margin:4px 8px 4px 0}#training-actions{display:flex;flex-wrap:wrap;gap:10px}#training-actions button{width:auto}#training-link,#attempt-link{font-size:12px}

/* Full statement scans contain text and must stay readable outside the catalog. */
#saved-detail img.diagram[alt^="Полное условие задания"],
#attempt-questions img.diagram[alt^="Полное условие задания"],
#training-task img.diagram[alt^="Полное условие задания"]{width:100%;max-width:100%;max-height:none;height:auto;margin:12px auto}

/* Compact manual cart and per-number selection */
#cart-items .cart-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:6px 0} .cart-preview{min-width:0}.cart-preview summary{display:flex;justify-content:space-between;gap:12px;cursor:pointer;padding:8px 0;list-style:none}.cart-preview summary::-webkit-details-marker{display:none}.cart-preview[open] .cart-arrow{transform:rotate(180deg)}.cart-preview-body{padding:8px 0}.cart-preview-body img.diagram[alt^="Полное условие задания"]{width:100%;max-width:100%;max-height:none;height:auto}.cart-compact .cart-actions{align-self:start;gap:4px}.cart-compact .cart-actions button{padding:6px 10px}.number-builder{margin:14px 0;padding:12px;border:1px solid #dce5e0;border-radius:8px}#number-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:6px 20px}.number-count-row{display:grid;grid-template-columns:minmax(0,1fr) 32px 64px 32px;gap:4px;align-items:center}.number-count-row button,.number-count-row input{width:100%;margin:0;padding:6px;text-align:center}.number-count-row input{box-sizing:border-box}#number-build{width:auto}#saved-start{margin-top:8px}@media(max-width:480px){#cart-items .cart-compact{gap:4px}.cart-preview summary{font-size:14px}.cart-compact .cart-actions button{font-size:12px;padding:6px}}

.study-badge{background:#edf4ff;color:#244f87;border-radius:5px;padding:3px 7px;font-size:12px}#history-list .cart-entry p{margin:5px 0}

#catalog-view .card .meta .topic{margin:0}
img.diagram.answer-diagram,#catalog-view .card img.diagram.answer-diagram{width:auto;max-width:100%;max-height:none;height:auto}

/* Compact public test workflow. */
.number-builder{border:0;padding:0;margin:12px 0 18px}.number-count-row{grid-template-columns:minmax(0,1fr) 28px 42px 28px;gap:3px;min-height:32px}.number-count-row button{width:28px;height:28px;border-radius:50%;padding:0;line-height:1;display:grid;place-items:center}.number-count-row input{border:0;background:transparent;padding:2px 0;appearance:textfield;-moz-appearance:textfield;text-align:center}.number-count-row input::-webkit-inner-spin-button,.number-count-row input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#number-counts{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:4px 16px}.cart-compact .cart-actions{align-self:start;height:36px;align-items:center}.cart-compact .cart-actions button{margin:0;height:30px;padding:2px 10px}.cart-preview summary{min-height:36px;padding:4px 0;align-items:center}.guest-test-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0}.guest-test-row .test-open{font-weight:600;text-decoration:none;margin-right:auto}.guest-test-row button,.compact-action,#attempt-again,#shared-start{width:auto;margin:4px 0;padding:8px 14px}.guest-test-row p{flex-basis:100%;margin:0}.guest-test-row p:empty{display:none}.result-banner{padding:18px 22px;background:#e7f2ed;border:1px solid #bed6c9;border-radius:12px;margin:14px 0}.result-banner h2{margin:0;font-size:28px}.result-banner p{margin:5px 0 0}#attempt-questions .card{position:relative}#attempt-questions .card>h2{padding-right:140px}.score-badge{position:absolute;top:24px;right:24px;padding:4px 12px;border-radius:18px;font-weight:700;font-size:16px}.score-good{background:#e4f3e8;color:#176237}.score-bad{background:#fde7e7;color:#a52828}.score-partial{background:#fff0cf;color:#805900}.score-pending{background:#edf0f1;color:#53616a}#attempt-next{display:flex;gap:10px;align-items:center;flex-wrap:wrap}#attempt-next p{flex-basis:100%}#attempt-next .pdf-download{margin:4px 0}#attempt-results[hidden],#attempt-next[hidden]{display:none}@media(max-width:480px){.score-badge{right:14px;top:22px;font-size:14px}#attempt-questions .card>h2{padding-right:100px}}

.guest-test-row .test-open{border:1px solid #bacbc3;border-radius:7px;padding:8px 14px;display:inline-block}

.cart-preview{margin:0;padding:0;border:0}#cart-items{padding-left:0;list-style:none}

.diagram-link{display:block;max-width:100%;text-align:center;color:#126856;text-decoration:none;cursor:zoom-in}.diagram-link:focus-visible{outline:2px solid #126856;outline-offset:3px;border-radius:4px}.diagram-caption{display:block;font-size:11px;line-height:1.4;text-decoration:underline}.diagram-link:hover .diagram-caption{text-decoration:none}
.math-text{white-space:pre-line}.math-text>span{white-space:normal}

/* Keep each exam part in its own vertical column, ordered by task number. */
#number-counts{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;align-items:start}
#number-counts .number-part-1{grid-column:1}
#number-counts .number-part-2{grid-column:2}
@media(max-width:560px){#number-counts{grid-template-columns:minmax(0,1fr)}#number-counts .number-part-2{grid-column:1}}

.source-picker{border:0;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px}.source-picker legend{font-size:12px;font-weight:600;margin-bottom:6px}.source-picker .source-chip{width:auto;margin:0;padding:6px 9px;font-size:12px;border:1px solid #bacbc3;border-radius:16px;background:#fff;color:#63766e;cursor:pointer}.source-picker .source-chip.is-active{background:#dceee5;border-color:#43846b;color:#12543e;font-weight:600}

/* KaTeX defaults to 1.21em: increase formulas by 15%, without enlarging prose. */
.card .katex,.math-text .katex,.formula .katex{font-size:1.3915em}
.math-expression{display:inline-block;max-width:100%;vertical-align:baseline}
.math-expression>.katex{white-space:nowrap}
.math-expression.math-line{display:block;max-width:100%;overflow-x:auto;overflow-y:hidden;margin:8px 0;padding:4px 0}
/* Keep drawings compact, but use more of the space beside the condition. */
#catalog-view .task-figures{flex-basis:210px}
#catalog-view .task-figures .diagram{max-height:165px}
@media(max-width:600px){#catalog-view .task-figures .diagram{max-height:180px}}

/* Scale the actual diagram, including images smaller than their available box. */
#catalog-view .task-figures{flex-basis:260px;max-width:40%}
#catalog-view .task-figures .diagram{width:100%;height:200px;max-height:200px;object-fit:contain}
#catalog-view .task-figures .diagram-link{display:block;width:100%}
#catalog-view .task-body-scan .task-figures .diagram{height:auto}
@media(max-width:600px){#catalog-view .task-figures{max-width:100%}#catalog-view .task-figures .diagram{height:210px;max-height:210px}#catalog-view .task-body-scan .task-figures .diagram{height:auto}}

.solution-figure{margin:1rem 0;max-width:100%}.solution-figure img.solution-diagram,#catalog-view .card .solution-figure img.solution-diagram{display:block;width:min(100%,1000px);max-width:100%;height:auto;max-height:none;object-fit:contain;margin:0 auto}

/* Phone layout: readable controls, contained maths and a compact filter panel. */
.mobile-filter-toggle{display:none}
@media(max-width:760px){
 body{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 main{padding:18px 12px;min-width:0}
 main>section,.layout>section,.card,.task-text,details,li{min-width:0}
 .site-header{padding:12px;gap:10px;align-items:center}
 .site-header .brand{font-size:22px}
 .site-header .local{display:none}
 .site-header .workspace-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%}
 .site-header .workspace-nav a{margin:0;padding:10px 3px;font-size:13px;min-height:44px}
 .site-header .workspace-nav a[hidden]{display:none}
 h1{font-size:27px;margin:6px 0 14px}
 #catalog-view .layout{gap:14px;margin-top:10px}
 #catalog-view aside{padding:10px 12px;position:static}
 #catalog-view aside h2{display:none}
 #catalog-view aside .mobile-filter-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;margin:0;background:transparent;border:0;padding:6px 0;font-size:16px;min-height:44px;text-align:left}
 #catalog-view aside[data-mobile-collapsed="true"]>:not(.mobile-filter-toggle){display:none}
 #catalog-view aside select,#catalog-view aside input,#catalog-view aside button:not(.mobile-filter-toggle){font-size:16px;min-height:44px}
 #catalog-view aside label{font-size:14px}
 .source-picker .source-chip{font-size:14px;min-height:44px}
 #catalog-view .card{padding:14px;line-height:1.55}
 #catalog-view .card .meta{font-size:12px;gap:6px}
 #catalog-view .card .statement{font-size:16px;line-height:1.6;overflow-wrap:break-word}
 #catalog-view .card>details{font-size:15px;padding-top:10px}
 #catalog-view .card>details summary{min-height:44px;display:list-item;padding:8px 0}
 #catalog-view .card>button{min-height:44px;font-size:15px;padding:8px 14px}
 #catalog-view .task-body{display:block}
 #catalog-view .task-figures{max-width:100%;width:100%;align-items:center;margin:10px 0}
 #catalog-view .task-figures .diagram-link{max-width:320px}
 #catalog-view .task-figures .diagram{height:220px;max-height:220px}
 #catalog-view .task-body-scan .task-figures .diagram-link{max-width:100%}
 #catalog-view .task-body-scan .task-figures .diagram{height:auto;max-height:none}
 .math-text{overflow-wrap:break-word}
 .math-text table{display:block;max-width:100%;overflow-x:auto}
 .math-expression{overflow-x:auto;overflow-y:hidden;vertical-align:middle}
 .card ol{padding-left:23px}
 .card li{padding-left:2px}
 .catalog-pagination{gap:8px;flex-wrap:wrap;font-size:13px}
 .catalog-pagination button{min-height:44px}
 .catalog-overview{padding:14px}
 #cart-view input:not([type="checkbox"]),#tests-view input:not([type="checkbox"]),#attempt-questions input,#attempt-questions select{font-size:16px}
 .number-count-row{grid-template-columns:minmax(0,1fr) 44px 42px 44px;gap:3px;min-height:48px}
 .number-count-row button{width:44px;height:44px}
 .number-count-row input{font-size:16px}
 #number-counts{grid-template-columns:minmax(0,1fr)}
 #number-counts .number-part-2{grid-column:1}
 .cart-compact .cart-actions{height:44px}
 .cart-compact .cart-actions button{height:44px;min-width:64px;font-size:14px}
 .cart-preview summary{min-height:44px}
 .guest-test-row button,.guest-test-row .test-open,.compact-action,.pdf-download{min-height:44px}
}
/* Compact FIPI N14 unit circles: keep other solution illustrations unchanged. */
.solution-figure img.solution-diagram[alt^="Отбор корней на одной окружности"],#catalog-view .card .solution-figure img.solution-diagram[alt^="Отбор корней на одной окружности"]{width:min(100%,420px)}

/* FIPI 15 prose paragraphs */
ol:has(img[alt^="Чертёж к решению FIPI27-V6-15-"]){list-style:none;padding-left:0}
ol:has(img[alt^="Чертёж к решению FIPI27-V6-15-"])>li{margin:1rem 0}

/* Generated transparent monochrome drawings; preserve existing site styles. */
[data-theme="dark"] img.generated-drawing{filter:invert(1)}
@media print{img.generated-drawing{filter:none!important}}
