/* Popov Academy — content-factory/phystech-2026-27-math-round-2-v1 (Phystech 2026/27 math, qualifying round 2): student labs (loaded only on these pages); copied from the
   accepted Phystech 2025/26 final package (visuals/lab.css there, unchanged above the «Additions of the Phystech 2024/25 math qualifying package» line).
   Base styles shared by all labs; each lab may add visuals/labs/<kind>.css, which assets.mjs appends to this file.
   Colours are local variables. Dark values follow the site's own theme switch (html[data-design=v2] with
   data-theme=dark, or the system dark mode unless data-theme=light) and reuse the site tokens from
   redesign.css, as in the 2025 package; the global theme itself is not changed. */
.arch-lab{min-width:0;--arch-surface:#fff;--arch-ink:#1f2937;--arch-label:#203c58;--arch-muted:#5b6b82;--arch-field-line:#aebed1;--arch-soft-line:#d7e1ed;--arch-primary-bg:#244974;--arch-primary-ink:#fff;--arch-link:#244974;--arch-pressed-bg:#e6eefb;--arch-pressed-line:#244974;--arch-good:#047857;--arch-bad:#b91c1c;--arch-focus:#f59e0b;--arch-fig-line:#1f2937;--arch-grid:#c7d2e0;--arch-fill:#dbeafe;--arch-piece-a:#bfdbfe;--arch-piece-b:#fde68a;--arch-piece-c:#fecaca;--arch-piece-d:#bbf7d0;--arch-accent:#c2410c;--arch-water:#e0f2fe;--arch-ok-bg:#dcfce7;--arch-bad-bg:#fee2e2;--arch-knight:#1d4ed8;--arch-liar:#9f1239;--arch-clear:#e2e8f0}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--arch-surface:var(--play-stage);--arch-ink:var(--ink);--arch-label:var(--ink);--arch-muted:var(--ink-2);--arch-field-line:var(--ink-3);--arch-soft-line:var(--play-line);--arch-primary-bg:var(--accent);--arch-primary-ink:var(--on-ink);--arch-link:var(--accent-ink);--arch-pressed-bg:var(--accent-soft);--arch-pressed-line:var(--accent);--arch-good:var(--ok);--arch-bad:var(--bad);--arch-fig-line:#dbe4f0;--arch-grid:#4a5568;--arch-fill:#1e3a5f;--arch-piece-a:#1e40af;--arch-piece-b:#854d0e;--arch-piece-c:#9f1239;--arch-piece-d:#166534;--arch-accent:#fb923c;--arch-water:#0c2a3f;--arch-ok-bg:#14341f;--arch-bad-bg:#431818;--arch-knight:#93c5fd;--arch-liar:#fda4af;--arch-clear:#3f4654}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--arch-surface:var(--play-stage);--arch-ink:var(--ink);--arch-label:var(--ink);--arch-muted:var(--ink-2);--arch-field-line:var(--ink-3);--arch-soft-line:var(--play-line);--arch-primary-bg:var(--accent);--arch-primary-ink:var(--on-ink);--arch-link:var(--accent-ink);--arch-pressed-bg:var(--accent-soft);--arch-pressed-line:var(--accent);--arch-good:var(--ok);--arch-bad:var(--bad);--arch-fig-line:#dbe4f0;--arch-grid:#4a5568;--arch-fill:#1e3a5f;--arch-piece-a:#1e40af;--arch-piece-b:#854d0e;--arch-piece-c:#9f1239;--arch-piece-d:#166534;--arch-accent:#fb923c;--arch-water:#0c2a3f;--arch-ok-bg:#14341f;--arch-bad-bg:#431818;--arch-knight:#93c5fd;--arch-liar:#fda4af;--arch-clear:#3f4654}
.arch-try{margin:18px 0}
.arch-lab [data-arch-lab-body]{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}
.arch-lab .arch-lab-fallback{color:var(--arch-muted);font-size:15px}
.arch-lab label,.arch-lab .arch-label{font-weight:600;color:var(--arch-label)}
.arch-lab .arch-help{font-size:14px;color:var(--arch-muted);margin:0}
.arch-lab .arch-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}
.arch-lab input[type=text],.arch-lab input[type=number],.arch-lab select{font:inherit;font-size:18px;min-height:44px;padding:8px 12px;border:1px solid var(--arch-field-line);border-radius:12px;background:var(--arch-surface);color:var(--arch-ink);min-width:0}
.arch-lab input[type=number]{width:88px}
.arch-lab input[type=range]{flex:1 1 180px;min-width:0;min-height:44px;accent-color:var(--arch-primary-bg)}
.arch-lab button{font:inherit;font-size:16px;min-height:44px;min-width:44px;padding:10px 16px;border-radius:999px;line-height:1.4;max-width:100%;white-space:normal;cursor:pointer}
.arch-lab .arch-primary{background:var(--arch-primary-bg);color:var(--arch-primary-ink);border:1px solid var(--arch-primary-bg)}
.arch-lab .arch-secondary{background:var(--arch-surface);color:var(--arch-link);border:1px solid var(--arch-field-line)}
.arch-lab button[aria-disabled=true]{opacity:.45;cursor:default}
.arch-lab button:focus-visible,.arch-lab input:focus-visible,.arch-lab select:focus-visible,.arch-lab [tabindex]:focus-visible{outline:3px solid var(--arch-focus);outline-offset:2px}
.arch-lab .arch-actions{display:flex;flex-wrap:wrap;gap:8px}
.arch-lab .arch-toggle{display:flex;flex-wrap:wrap;gap:6px}
.arch-lab .arch-toggle button{background:var(--arch-surface);color:var(--arch-link);border:1px solid var(--arch-field-line)}
.arch-lab .arch-toggle button[aria-pressed=true]{background:var(--arch-pressed-bg);border-color:var(--arch-pressed-line);font-weight:600}
.arch-lab .arch-result{background:var(--arch-surface);color:var(--arch-ink);border:1px solid var(--arch-soft-line);border-radius:14px;padding:14px 16px;line-height:1.55;min-width:0;overflow-wrap:anywhere}
.arch-lab .arch-result:empty{display:none}
.arch-lab :is(button,input,select){scroll-margin-block:120px}
.arch-lab .arch-result p{margin:6px 0}
.arch-lab .arch-checks{list-style:none;padding:0;margin:6px 0;display:grid;gap:6px}
.arch-lab .arch-checks li{display:flex;gap:8px;align-items:flex-start}
.arch-lab .arch-pass::before{content:'✓';color:var(--arch-good);font-weight:700;flex-shrink:0;width:1.2em}
.arch-lab .arch-fail::before{content:'✗';color:var(--arch-bad);font-weight:700;flex-shrink:0;width:1.2em}
.arch-lab .arch-good{color:var(--arch-good);font-weight:600}
.arch-lab .arch-bad{color:var(--arch-bad);font-weight:600}
.arch-lab .arch-sub{display:grid;gap:8px;border-top:1px solid var(--arch-soft-line);padding-top:12px}
.arch-lab .arch-stage{background:var(--arch-surface);border:1px solid var(--arch-soft-line);border-radius:8px;padding:8px;min-width:0}
.arch-lab .arch-stage svg{display:block;width:100%;height:auto;max-height:70vh;touch-action:manipulation}
.arch-lab svg text{fill:var(--arch-ink);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.arch-lab .arch-readouts{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;font-variant-numeric:tabular-nums}
.arch-lab .arch-readouts div{display:flex;gap:6px;align-items:baseline}
.arch-lab .arch-readouts dt{color:var(--arch-muted);font-size:14px}
.arch-lab .arch-readouts dd{margin:0;font-weight:600;color:var(--arch-ink);white-space:nowrap;overflow-wrap:normal}
.arch-lab .arch-table-wrap{overflow-x:auto;max-width:100%}
.arch-lab table.arch-table{border-collapse:collapse;font-variant-numeric:tabular-nums}
.arch-lab table.arch-table th,.arch-lab table.arch-table td{border:1px solid var(--arch-soft-line);padding:4px 8px;text-align:center;color:var(--arch-ink)}
.arch-lab table.arch-table th{color:var(--arch-label);font-weight:600}
.arch-lab .arch-chip{display:inline-flex;align-items:center;justify-content:center;min-width:2.2em;padding:2px 8px;border-radius:999px;border:1px solid var(--arch-soft-line);font-weight:600}
@media(max-width:480px){.arch-lab .arch-row .arch-primary{flex:1 1 100%}.arch-lab button{padding:8px 10px}}
/* shared: play button keeps its width next to a time slider, also on phones */
.arch-lab .arch-timeline{flex-wrap:nowrap}
.arch-lab .arch-timeline .arch-play{flex:0 0 auto;min-width:96px}
/* Inside the «Исследовать» disclosure the lab already has a frame: on phones drop the second one so models keep their width. */
@media (max-width:560px){.lesson-disclosure .arch-lab{padding:0;border:0;background:none;box-shadow:none}.lesson-disclosure .arch-lab .arch-stage{padding:4px}}
/* Phones: «Крупные клетки» (ui.mjs zoomable). Cells keep at least 44 px and the board scrolls sideways in its frame;
   the board geometry is unchanged, only its scale. */
.arch-lab .arch-zoom{min-width:0}
.arch-lab .arch-zoom-tools{margin-bottom:8px}
.arch-lab .arch-zoom-hint{margin:0 0 8px;font-weight:600;color:var(--arch-label)}
.arch-lab .arch-zoom-probe{height:0}
.arch-lab .arch-zoom-scroll{overflow-x:auto;overscroll-behavior-x:contain;padding:4px;min-width:0}
/* shared extras for this package: cell boards built from buttons, a status line that is never hidden under the
   sticky header after a programmatic scroll, and a compact step list */
.arch-lab .arch-board{display:grid;gap:0;justify-content:center;margin:auto}
.arch-lab .arch-cell{aspect-ratio:1;min-width:0;min-height:0;width:100%;padding:0;border-radius:0;background:var(--arch-surface);color:var(--arch-ink);border:1px solid var(--arch-grid);outline-offset:-3px;font-variant-numeric:tabular-nums}
.arch-lab .arch-result{scroll-margin-top:96px;scroll-margin-bottom:96px}
.arch-lab .arch-log{margin:0;padding-left:1.4em;display:grid;gap:4px;font-variant-numeric:tabular-nums}
.arch-lab .arch-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none;font-size:14px;color:var(--arch-ink)}
.arch-lab .arch-legend li{display:flex;align-items:center;gap:6px}

/* Same page presentation as the final 2023–2024 edition on main (GPT polish of 18.10.2026): the shared research
   renderer follows the current site on these pages only. Diagrams keep their light paper; controls and readouts
   follow the selected theme. */
[data-problem-id^="phystech-2026-2027-math-"] .cf-figure figcaption,
[data-problem-id^="phystech-2026-2027-math-"] .lesson-source{color:var(--ink-2)}
[data-problem-id^="phystech-2026-2027-math-"] .lesson-source summary{color:var(--ink)}
[data-problem-id^="phystech-2026-2027-math-"] :is(button[data-cf-zoom],button[data-cf-scene-zoom]){color:var(--ink);background:var(--play-stage);border-color:var(--ink-3);border-radius:999px;min-height:44px;padding:10px 16px;margin-top:12px;max-width:100%;line-height:1.4}
[data-problem-id^="phystech-2026-2027-math-"] .interactive-actions button{color:var(--ink);background:var(--play-stage);border-color:var(--ink-3);font-size:16px}
[data-problem-id^="phystech-2026-2027-math-"] .interactive-actions button[data-action=play]{color:var(--on-ink);background:var(--ink);border-color:var(--ink)}
[data-problem-id^="phystech-2026-2027-math-"] .interactive-range-row{grid-template-columns:minmax(60px,1fr) 88px}
[data-problem-id^="phystech-2026-2027-math-"] .cf-number{background:var(--play-stage);color:var(--ink);border-color:var(--ink-3);border-radius:12px;min-height:44px;height:auto;padding:8px 6px;font-size:18px;font-variant-numeric:tabular-nums}
[data-problem-id^="phystech-2026-2027-math-"] .interactive-range-row input[type=range]{min-height:44px;accent-color:var(--accent)}
[data-problem-id^="phystech-2026-2027-math-"] .interactive-results>div{background:var(--play-stage);border-color:var(--play-line);border-radius:14px;padding:14px 16px;font-size:16px}
[data-problem-id^="phystech-2026-2027-math-"] .interactive-results :is(div,span,strong){color:var(--ink)}
[data-problem-id^="phystech-2026-2027-math-"] .learning-interactive :is(button,input){scroll-margin-block:120px}
/* Keep diagrams readable as diagrams, without the inherited white text outline. */
[data-problem-id^="phystech-2026-2027-math-"] :is(.cf-figure-svg,.cf-zoom-content) svg text{stroke:none;paint-order:normal}
[data-problem-id^="phystech-2026-2027-math-"] .cf-figure figcaption button[data-cf-zoom]{display:block;margin:14px auto 0}
[data-problem-id^="phystech-2026-2027-math-"] .arch-model-entry{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:20px 24px;margin:24px 0;border:1px solid var(--play-line);border-radius:var(--r-lg);background:var(--play-bg);color:var(--ink)}
[data-problem-id^="phystech-2026-2027-math-"] .arch-model-entry>div{flex:1 1 240px;min-width:0}
[data-problem-id^="phystech-2026-2027-math-"] .arch-model-entry strong{font-size:17px}
[data-problem-id^="phystech-2026-2027-math-"] .arch-model-entry p{margin:5px 0 0;color:var(--ink-2);font-size:16px;line-height:1.5}
[data-problem-id^="phystech-2026-2027-math-"] .arch-model-entry a{display:inline-flex;gap:12px;align-items:center;min-height:44px;padding:10px 16px;border:1px solid var(--ink-3);border-radius:999px;background:var(--play-stage);color:var(--ink);font:600 16px/1.4 var(--font);text-decoration:none}
[data-problem-id^="phystech-2026-2027-math-"] .arch-model-entry a:hover{border-color:var(--accent);color:var(--accent)}
[data-problem-id^="phystech-2026-2027-math-"] .arch-model-entry a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:480px){[data-problem-id^="phystech-2026-2027-math-"] .arch-model-entry{padding:16px}[data-problem-id^="phystech-2026-2027-math-"] .arch-model-entry a{width:100%;justify-content:space-between}}

/* ===== Physics controls of this package (visuals/phys.mjs): slider + exact input + large «−»/«+» ===== */
.arch-lab .phx-controls{display:grid;gap:12px;min-width:0}
.arch-lab .phx-params{display:grid;gap:12px;min-width:0}
.arch-lab .phx-param{display:grid;gap:2px;min-width:0;padding:6px 10px;border:1px solid var(--arch-soft-line);border-radius:14px;background:var(--arch-surface)}
.arch-lab .phx-param-label{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.arch-lab .phx-param-name{font-weight:600;color:var(--arch-label)}
.arch-lab .phx-param-bounds{font-weight:400;font-size:13px;color:var(--arch-muted)}
.arch-lab .phx-param .arch-help{font-size:13px}
.arch-lab .phx-param-row{display:grid;grid-template-columns:48px minmax(0,1fr) 48px var(--phx-num-w,84px);gap:8px;align-items:center;min-width:0}
.arch-lab .phx-param-row input[type=range]{width:100%;margin:0}
.arch-lab .phx-step{min-width:48px;min-height:48px;padding:0;font-size:24px;font-weight:600;line-height:1;border-radius:12px}
.arch-lab input.phx-num{width:100%;font-size:18px;min-height:48px;padding:8px 10px;text-align:right;font-variant-numeric:tabular-nums}
.arch-lab .phx-param-msg{margin:0;font-size:14px;color:var(--arch-bad);min-height:0}
.arch-lab .phx-param-msg:empty{display:none}
@media (max-width:420px){
 .arch-lab .phx-param-row{grid-template-columns:48px minmax(0,1fr) 48px;grid-template-areas:"range range range" "minus num plus"}
 .arch-lab .phx-param-row input[type=range]{grid-area:range}
 .arch-lab .phx-param-row .phx-step:first-child{grid-area:minus}
 .arch-lab .phx-param-row .phx-step:nth-child(3){grid-area:plus}
 .arch-lab .phx-param-row input.phx-num{grid-area:num}
}
.arch-lab .phx-presets{display:grid;gap:6px}
.arch-lab .phx-presets-title{margin:0;font-weight:600;color:var(--arch-label)}
.arch-lab .phx-preset[aria-pressed=true]{background:var(--arch-pressed-bg);border-color:var(--arch-pressed-line);font-weight:600}
.arch-lab .phx-preset-state{margin:0;font-size:14px;color:var(--arch-muted)}
.arch-lab .phx-readouts dd.phx-secret{color:var(--arch-muted)}
.arch-lab .phx-time{font-variant-numeric:tabular-nums;font-weight:600;min-width:9em;color:var(--arch-ink)}
.arch-lab .phx-clock{display:grid;gap:6px}
.arch-lab .phx-clock input[type=range]{flex:1 1 160px}
.arch-lab .phx-svg{display:block;width:100%;height:auto}
.arch-lab .phx-stage{padding:4px}
.arch-lab .phx-stage-pair{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}
@media (min-width:900px){.arch-lab .phx-stage-pair.phx-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.arch-lab .phx-choice{display:flex;flex-wrap:wrap;gap:8px}
.arch-lab .phx-note{margin:0;font-size:14px;color:var(--arch-muted)}
/* SVG: theme-aware strokes and fills */
.arch-lab .phx-svg{--phx-a:#1d4ed8;--phx-b:#c2410c;--phx-c:#047857;--phx-d:#7c3aed;--phx-water:#dbeafe;--phx-body:#e2e8f0;--phx-paper:#ffffff}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg{--phx-a:#93c5fd;--phx-b:#fdba74;--phx-c:#6ee7b7;--phx-d:#c4b5fd;--phx-water:#0c2a3f;--phx-body:#334155;--phx-paper:transparent}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg{--phx-a:#93c5fd;--phx-b:#fdba74;--phx-c:#6ee7b7;--phx-d:#c4b5fd;--phx-water:#0c2a3f;--phx-body:#334155;--phx-paper:transparent}
.arch-lab .phx-svg .phx-line{stroke:var(--arch-fig-line);stroke-width:2;fill:none}
.arch-lab .phx-svg .phx-thin{stroke:var(--arch-fig-line);stroke-width:1;fill:none}
.arch-lab .phx-svg .phx-dash{stroke:var(--arch-muted);stroke-width:1.5;fill:none;stroke-dasharray:5 4}
.arch-lab .phx-svg .phx-body{fill:var(--phx-body);stroke:var(--arch-fig-line);stroke-width:2}
.arch-lab .phx-svg .phx-body-a{fill:var(--phx-a);stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .phx-body-b{fill:var(--phx-b);stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .phx-water{fill:var(--phx-water);stroke:none}
.arch-lab .phx-svg .phx-ground{stroke:var(--arch-fig-line);stroke-width:2.5}
.arch-lab .phx-svg .phx-hatch{stroke:var(--arch-fig-line);stroke-width:1.2}
.arch-lab .phx-svg .phx-grid{stroke:var(--arch-grid);stroke-width:1}
.arch-lab .phx-svg .phx-axis{stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .phx-tick{font-size:12px;fill:var(--arch-muted)}
.arch-lab .phx-svg .phx-axis-label{font-size:13px;font-weight:600}
.arch-lab .phx-svg .phx-text{font-size:15px}
.arch-lab .phx-svg .phx-small{font-size:12.5px}
.arch-lab .phx-svg .phx-big{font-size:18px;font-weight:600}
.arch-lab .phx-svg .phx-curve{fill:none;stroke:var(--phx-a);stroke-width:2.5}
.arch-lab .phx-svg .phx-curve-b{fill:none;stroke:var(--phx-b);stroke-width:2.5}
.arch-lab .phx-svg .phx-curve-c{fill:none;stroke:var(--phx-c);stroke-width:2.5}
.arch-lab .phx-svg .phx-curve-d{fill:none;stroke:var(--phx-d);stroke-width:2.5}
.arch-lab .phx-svg .phx-ghost{fill:none;stroke:var(--arch-muted);stroke-width:1.5;stroke-dasharray:3 4}
.arch-lab .phx-svg .phx-arrow .phx-arrow-shaft{stroke:var(--arch-accent);stroke-width:2.5}
.arch-lab .phx-svg .phx-arrow .phx-arrow-head{fill:var(--arch-accent);stroke:none}
.arch-lab .phx-svg .phx-arrow-a .phx-arrow-shaft{stroke:var(--phx-a);stroke-width:2.5}
.arch-lab .phx-svg .phx-arrow-a .phx-arrow-head{fill:var(--phx-a);stroke:none}
.arch-lab .phx-svg .phx-arrow-b .phx-arrow-shaft{stroke:var(--phx-b);stroke-width:2.5}
.arch-lab .phx-svg .phx-arrow-b .phx-arrow-head{fill:var(--phx-b);stroke:none}
.arch-lab .phx-svg .phx-arrow-c .phx-arrow-shaft{stroke:var(--phx-c);stroke-width:2.5}
.arch-lab .phx-svg .phx-arrow-c .phx-arrow-head{fill:var(--phx-c);stroke:none}
.arch-lab .phx-svg .phx-arrow-ink .phx-arrow-shaft{stroke:var(--arch-fig-line);stroke-width:1.6}
.arch-lab .phx-svg .phx-arrow-ink .phx-arrow-head{fill:var(--arch-fig-line);stroke:none}
.arch-lab .phx-svg .phx-dot{fill:var(--arch-fig-line);stroke:none}
.arch-lab .phx-svg .phx-dot-a{fill:var(--phx-a);stroke:var(--arch-surface);stroke-width:1.5}
.arch-lab .phx-svg .phx-dot-b{fill:var(--phx-b);stroke:var(--arch-surface);stroke-width:1.5}
.arch-lab .phx-svg .phx-dot-c{fill:var(--phx-c);stroke:var(--arch-surface);stroke-width:1.5}
.arch-lab .phx-svg .phx-fill-a{fill:var(--phx-a);fill-opacity:.18;stroke:var(--phx-a);stroke-width:1.5}
.arch-lab .phx-svg .phx-fill-b{fill:var(--phx-b);fill-opacity:.18;stroke:var(--phx-b);stroke-width:1.5}
.arch-lab .phx-svg .phx-fill-c{fill:var(--phx-c);fill-opacity:.18;stroke:var(--phx-c);stroke-width:1.5}
.arch-lab .phx-svg .phx-fill-d{fill:var(--phx-d);fill-opacity:.18;stroke:var(--phx-d);stroke-width:1.5}
.arch-lab .phx-svg .phx-wire{stroke:var(--arch-fig-line);stroke-width:2.5;fill:none;stroke-linecap:round}
.arch-lab .phx-svg .phx-hot{stroke:var(--phx-b);stroke-width:4;fill:none;stroke-linecap:round}
.arch-lab .phx-svg .phx-cold{stroke:var(--phx-a);stroke-width:4;fill:none;stroke-linecap:round}
.arch-lab .phx-svg .phx-text-a{fill:var(--phx-a);font-weight:600}
.arch-lab .phx-svg .phx-text-b{fill:var(--phx-b);font-weight:600}
.arch-lab .phx-svg .phx-text-c{fill:var(--phx-c);font-weight:600}
.arch-lab .phx-svg text{paint-order:stroke;stroke:var(--arch-surface);stroke-width:3px;stroke-linejoin:round}
.arch-lab .phx-svg .phx-tick,.arch-lab .phx-svg .phx-nohalo{stroke:none}
.arch-lab .phx-drag{cursor:grab;touch-action:none}
.arch-lab .phx-handle{fill:var(--phx-b);fill-opacity:.25;stroke:var(--phx-b);stroke-width:2}
.arch-lab .phx-handle:focus-visible{outline:none;stroke:var(--arch-focus);stroke-width:4}
/* Readouts as a two-column table: long values wrap instead of running off a phone screen. */
.arch-lab .phx-readouts{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:6px 12px;align-items:baseline}
.arch-lab .phx-readouts>div{display:contents}
.arch-lab .phx-readouts dd{white-space:normal;overflow-wrap:anywhere}
.arch-lab .phx-svg .phx-rod{stroke:var(--arch-fig-line);stroke-width:7;stroke-linecap:round;fill:none}
.arch-lab .phx-svg .phx-arrow-g .phx-arrow-shaft{stroke:var(--arch-fig-line);stroke-width:3}
.arch-lab .phx-svg .phx-arrow-g .phx-arrow-head{fill:var(--arch-fig-line);stroke:none}
/* ===== Additions of the final package ===== */
/* Check boxes: a large box and a whole-label touch target of at least 44 px. */
.arch-lab label.arch-row{min-height:44px;cursor:pointer;flex-wrap:nowrap}
.arch-lab label.arch-row>span{flex:1 1 auto;min-width:0}
.arch-lab input[type=checkbox]{width:24px;height:24px;margin:0;flex:0 0 auto;accent-color:var(--arch-primary-bg)}

/* Phone controls remain in document flow: a sticky scene hid parameter names,
   sliders and playback buttons while scrolling. Never trade readable controls for a floating scene. */
.learning-interactive.arch-lab{overflow:clip}
@media (max-width:600px) and (min-height:500px){
 .arch-lab .phx-stage{position:relative;top:auto;z-index:auto;background:var(--arch-surface);max-height:40vh}
 .arch-lab .phx-stage .phx-svg{max-height:calc(40vh - 10px)}
 /* z-index:auto too: in a grid or flex lab body a static item with a z-index still stacks and would scroll over the sticky scene */
 .arch-lab .phx-stage ~ .phx-stage,.arch-lab .phx-stage-pair .phx-stage{position:static;z-index:auto;max-height:none}
 .arch-lab .phx-stage-pair .phx-svg{max-height:none}
}
/* Narrow screens: readout names and values in two equal columns, long names may break */
@media (max-width:360px){
 .arch-lab .phx-readouts{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
 .arch-lab .phx-readouts dt{overflow-wrap:anywhere}
}

/* ===== Additions of the Phystech 2024/25 math qualifying package (copied with it; reused by the labs of this package) ===== */
/* Official versions: ID chips, the statement of the chosen version, «свои значения» status with a way back. */
.arch-lab .p25-versions{display:grid;gap:8px;min-width:0;padding:12px 14px;border:1px solid var(--arch-soft-line);border-radius:14px;background:var(--arch-surface)}
.arch-lab .p25-versions-head,.arch-lab .p25-data-head{margin:0;font-weight:700;color:var(--arch-label)}
.arch-lab .p25-chip-group{display:grid;gap:4px}
.arch-lab .p25-chip-title{margin:0;font-size:14px;color:var(--arch-muted)}
.arch-lab .p25-chips{gap:8px}
.arch-lab .p25-chip{font-variant-numeric:tabular-nums}
.arch-lab .p25-chip[aria-pressed=true]{background:var(--arch-pressed-bg);border-color:var(--arch-pressed-line);font-weight:700;box-shadow:inset 0 0 0 1px var(--arch-pressed-line)}
.arch-lab .p25-version{display:grid;gap:4px;padding:10px 12px;border-radius:10px;background:var(--p25-paper);border-left:4px solid var(--arch-pressed-line)}
.arch-lab .p25-version p{margin:0}
.arch-lab .p25-version-title{font-size:14px;font-weight:600;color:var(--arch-muted)}
.arch-lab .p25-version-text{font-size:16px;line-height:1.55;color:var(--arch-ink);overflow-wrap:anywhere}
.arch-lab .p25-version-diff{font-size:14px;color:var(--arch-label);font-weight:600}
.arch-lab .p25-status-row{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.arch-lab .p25-status{margin:0;font-size:14px;color:var(--arch-muted);flex:1 1 220px}
.arch-lab .p25-data{display:grid;gap:8px;min-width:0}
/* the hidden result: nothing of it is in the page before the press */
.arch-lab .p25-secret{display:grid;gap:8px}
.arch-lab .p25-reveal{justify-self:start}
.arch-lab .p25-secret-body{display:grid;gap:6px;padding:12px 14px;border-radius:12px;border:2px solid var(--arch-good);background:var(--arch-surface);color:var(--arch-ink);line-height:1.55}
.arch-lab .p25-secret-body p{margin:0}
.arch-lab .p25-secret-body:focus{outline:3px solid var(--arch-focus);outline-offset:2px}
.arch-lab .p25-secret-body strong{color:var(--arch-good)}
.arch-lab .p25-facts dd.phx-secret{font-weight:700}
/* own actions of a lab: cards, cells, tokens as real buttons with a 44 px target */
.arch-lab .p25-tiles{display:flex;flex-wrap:wrap;gap:6px}
.arch-lab .p25-tile{min-width:44px;min-height:44px;padding:6px 10px;border-radius:10px;border:1px solid var(--arch-field-line);background:var(--arch-surface);color:var(--arch-ink);font-weight:600;font-variant-numeric:tabular-nums}
.arch-lab .p25-tile[aria-pressed=true]{background:var(--arch-pressed-bg);border-color:var(--arch-pressed-line);box-shadow:inset 0 0 0 1px var(--arch-pressed-line)}
.arch-lab .p25-warn{margin:0;padding:10px 12px;border-radius:10px;background:var(--arch-bad-bg);color:var(--arch-ink);border:1px solid var(--arch-bad)}
.arch-lab .p25-ok{margin:0;padding:10px 12px;border-radius:10px;background:var(--arch-ok-bg);color:var(--arch-ink);border:1px solid var(--arch-good)}
.arch-lab .p25-math{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
/* drawn objects (draw.mjs): illustration colours with an outline that follows the theme */
.arch-lab{--p25-paper:#f6f8fc;--p25-skin:#f6d2b4;--p25-hair-a:#7c4a25;--p25-hair-b:#2b2b33;--p25-hair-c:#d9a441;--p25-shirt-a:#3b82f6;--p25-shirt-b:#ef6c3a;--p25-shirt-c:#22a06b;--p25-shirt-d:#8b5cf6;--p25-pants:#334155;--p25-card:#fffdf7;--p25-card-edge:#c9b98f;--p25-board:#24543f;--p25-board-ink:#f4f1e6;--p25-wood:#b07a43;--p25-candy-a:#ef4444;--p25-candy-b:#f59e0b;--p25-candy-c:#7c4a25;--p25-paper2:#ffffff;--p25-grass:#86c06c;--p25-grass2:#5f9d4b;--p25-soil:#c9a26b;--p25-water:#bfe1f6;--p25-metal:#94a3b8;--p25-glass:#cfe8ff;--p25-track:#d97757}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--p25-paper:#1b2333;--p25-track:#a3523b;--p25-skin:#e8bf9c;--p25-card:#f3efe2;--p25-card-edge:#8f8466;--p25-board:#1f4a37;--p25-paper2:#e9edf5;--p25-water:#1e4a66;--p25-glass:#8db8de}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--p25-paper:#1b2333;--p25-track:#a3523b;--p25-skin:#e8bf9c;--p25-card:#f3efe2;--p25-card-edge:#8f8466;--p25-board:#1f4a37;--p25-paper2:#e9edf5;--p25-water:#1e4a66;--p25-glass:#8db8de}
.arch-lab .phx-svg .p25-o{stroke:var(--arch-fig-line);stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.arch-lab .phx-svg .p25-o-thin{stroke:var(--arch-fig-line);stroke-width:1;stroke-linejoin:round}
.arch-lab .phx-svg .p25-card-text{fill:#1f2937;font-weight:700;stroke:none}
.arch-lab .phx-svg .p25-board-text{fill:var(--p25-board-ink);stroke:none;font-family:"Comic Sans MS","Chalkboard SE","Segoe Print",system-ui,sans-serif}
.arch-lab .phx-svg .p25-shadow{fill:#0f172a;fill-opacity:.12;stroke:none}

.arch-lab .phx-svg .p25-track{fill:var(--p25-track);stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .phx-svg .p25-grass{fill:var(--p25-grass);stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .phx-svg .p25-lane{fill:none;stroke:#ffffff;stroke-width:1.5;stroke-dasharray:7 7;opacity:.85}
.arch-lab .p25-swap{gap:6px}
.arch-lab .p25-swap .p25-tile{min-width:44px;font-size:20px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--p25-card);color:#1f2937;border-color:var(--p25-card-edge)}
.arch-lab .p25-swap .p25-tile.p25-bad{border:2px solid var(--arch-bad);background:var(--arch-bad-bg);color:var(--arch-ink)}
.arch-lab .p25-swap .p25-tile.p25-r0{box-shadow:inset 0 -5px 0 #3b82f6}
.arch-lab .p25-swap .p25-tile.p25-r1{box-shadow:inset 0 -5px 0 #ef6c3a}
.arch-lab .p25-swap .p25-tile.p25-r2{box-shadow:inset 0 -5px 0 #22a06b}
.arch-lab .p25-swap .p25-tile[aria-pressed=true]{outline:3px solid var(--arch-focus);outline-offset:2px}
.arch-lab .p25-swap-note{margin:4px 0 0;min-height:1.4em}
.arch-lab .p25-picks .p25-tile{font-variant-numeric:tabular-nums;background:var(--p25-card);color:#1f2937;border-color:var(--p25-card-edge)}
.arch-lab .p25-picks .p25-tile[aria-pressed=true]{background:#fde68a;border-color:#b45309;box-shadow:inset 0 0 0 2px #b45309}
.arch-lab .p25-picks .p25-tile.p25-r0{box-shadow:inset 0 -5px 0 #3b82f6}
.arch-lab .p25-picks .p25-tile.p25-r1{box-shadow:inset 0 -5px 0 #ef6c3a}
.arch-lab .p25-picks .p25-tile.p25-r2{box-shadow:inset 0 -5px 0 #22a06b}
.arch-lab .p25-picks .p25-tile.p25-r0[aria-pressed=true],.arch-lab .p25-picks .p25-tile.p25-r1[aria-pressed=true],.arch-lab .p25-picks .p25-tile.p25-r2[aria-pressed=true]{background:#fde68a}
.arch-lab .phx-svg .p25-wood-beam{fill:var(--p25-wood);stroke:var(--arch-fig-line);stroke-width:1.2}
.arch-lab .phx-svg .p25-scale-text{fill:var(--arch-ink);stroke:none;font-weight:600}
.arch-lab .phx-svg .p25-badge{fill:var(--p25-card);stroke:var(--p25-card-edge);stroke-width:1.5}
.arch-lab .phx-svg .p25-badge-text{fill:#1f2937;font-weight:700;stroke:none}
.arch-lab .phx-svg .p25-bubble{fill:#ffffff;stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .phx-svg .p25-bubble-text{fill:#1f2937;font-size:11px;font-weight:600;stroke:none}
/* 9-II: a small table inside a lab, the laptop (dimmed screen, sun, battery, power pie), digit tiles, stone boards */
.arch-lab .p25-table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.arch-lab .p25-table caption{text-align:left;font-weight:600;padding:0 0 4px}
.arch-lab .p25-table th,.arch-lab .p25-table td{border:1px solid var(--arch-soft-line);padding:6px 8px;text-align:left}
@media (max-width:420px){.arch-lab .p25-table{font-size:14px}.arch-lab .p25-table th,.arch-lab .p25-table td{padding:5px 4px}}
.arch-lab .p25-table td.phx-secret{text-align:center}
.arch-lab .phx-svg .p25-dim{fill:#0b1220;stroke:none}
.arch-lab .phx-svg .p25-sun{fill:#facc15;stroke:#b45309;stroke-width:1}
.arch-lab .phx-svg .p25-sun-ray{stroke:#f59e0b;stroke-width:2;stroke-linecap:round}
.arch-lab .phx-svg .p25-battery{fill:var(--arch-surface);stroke:var(--arch-fig-line);stroke-width:2.5}
.arch-lab .phx-svg .p25-charge{fill:#22c55e;stroke:none}
.arch-lab .phx-svg .p25-charge-low{fill:#ef4444;stroke:none}
.arch-lab .phx-svg .p25-pie-empty{fill:none;stroke:var(--arch-fig-line);stroke-width:1.5;stroke-dasharray:4 3}
.arch-lab .phx-svg .p25-pie-rest{fill:var(--p25-shirt-a);stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .phx-svg .p25-pie-screen{fill:#facc15;stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .p25-digits .p25-tile{font-size:22px;min-width:44px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--p25-card);color:#1f2937;border-color:var(--p25-card-edge)}
.arch-lab .p25-digits .p25-tile.p25-r1{box-shadow:inset 0 -5px 0 #ef6c3a}
.arch-lab .p25-digits .p25-tile[aria-pressed=true]{outline:3px solid var(--arch-focus);outline-offset:2px;background:#fde68a}
.arch-lab .p25-digits{gap:4px}
.arch-lab .p25-pad{margin-top:4px}
.arch-lab .p25-tile-sm{font-size:18px}
.arch-lab .p25-tile[aria-disabled=true]{opacity:.45}
.arch-lab .p25-tile-wide{min-width:64px}
.arch-lab .p25-subsets{font-variant-numeric:tabular-nums;columns:2 220px;column-gap:24px}
.arch-lab .phx-svg .p25-cell-a{fill:#efe6d2;stroke:var(--p25-card-edge);stroke-width:1}
.arch-lab .phx-svg .p25-cell-b{fill:#e2d3b3;stroke:var(--p25-card-edge);stroke-width:1}
.arch-lab .phx-svg .p25-cell-sel{fill:#fde68a;stroke:#b45309;stroke-width:3}
.arch-lab .phx-svg .p25-cell-cur{fill:none;stroke:var(--arch-focus);stroke-width:3;stroke-dasharray:6 4}
.arch-lab .phx-svg .p25-g0{fill:#e5e7eb}
.arch-lab .phx-svg .p25-g1{fill:#fde68a}
.arch-lab .phx-svg .p25-g2{fill:#86efac}
/* 10-I №7: numbers in rows of five (a column = a remainder mod 5) */
.arch-lab .p25-grid5{display:grid;grid-template-columns:repeat(5,minmax(44px,1fr));gap:6px;max-width:420px}
.arch-lab .p25-tile.p25-good{border:2px solid var(--arch-good);background:var(--arch-ok-bg)}
.arch-lab .p25-tile.p25-out{border-style:dashed;opacity:.7}
.arch-lab .p25-tile.p25-now{box-shadow:0 0 0 3px var(--arch-pressed-line)}
/* 10-II: Oleg's squared notebook (the page stays paper-light in both themes, so the ink colours are fixed) */
.arch-lab .phx-svg .p25-page{fill:var(--p25-paper2);stroke:var(--p25-card-edge);stroke-width:1.2}
.arch-lab .phx-svg .p25-grid-line{stroke:#c7d7ee;stroke-width:.8}
.arch-lab .phx-svg .p25-margin-line{stroke:#ef9a9a;stroke-width:1.2}
.arch-lab .phx-svg .p25-hand{fill:#1e3a8a;stroke:none;font-size:17px;font-weight:600;font-family:"Segoe Print","Comic Sans MS","Chalkboard SE",system-ui,sans-serif}
.arch-lab .phx-svg .p25-hand-mid{fill:#047857}
.arch-lab .phx-svg .p25-mid-box{fill:none;stroke:#047857;stroke-width:2}
.arch-lab .phx-svg .p25-pair-arc{fill:none;stroke:#b45309;stroke-width:1.6}
.arch-lab .phx-svg .p25-page-note{fill:#475569;stroke:none;font-size:13px}
/* 10-II: the last digits that must be replaced, a ray from the origin, lists of checks */
.arch-lab .p25-digits .p25-tile.p25-tail{border-bottom:3px dashed #ef6c3a}
.arch-lab .phx-svg .p25-ray{stroke:var(--p25-shirt-b);stroke-width:2.2}
.arch-lab .p25-checks{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
/* 10-II: snow under the bird feeders, the magician's spectators */
.arch-lab{--p25-snow:#eef4fb}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--p25-snow:#26324a}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--p25-snow:#26324a}
.arch-lab .phx-svg .p25-snow{fill:var(--p25-snow);stroke:none}
.arch-lab .p25-picks .p25-tile.p25-bad-tile{border:2px dashed var(--arch-bad)}
.arch-lab .phx-svg .p25-sel-glow{fill:#fde68a;fill-opacity:.55;stroke:#b45309;stroke-width:1.5}
.arch-lab .phx-svg .p25-sig-bad{fill:var(--arch-bad);stroke:none;font-size:13px;font-weight:700}
.arch-lab .phx-svg .p25-bubble-num{fill:var(--arch-good);stroke:none;font-size:15px;font-weight:700}
.arch-lab .p25-daychip[aria-pressed=true]{background:var(--arch-pressed-bg);border-color:var(--arch-pressed-line);font-weight:700;box-shadow:inset 0 0 0 1px var(--arch-pressed-line)}
/* Phystech 2024/25 math 11, round I */
.arch-lab .p25-tile.p25-no{border:2px dashed var(--arch-bad)}
.arch-lab .p25-tile.p25-tile-black{background:#1f2937;color:#fff;border-color:#111827}
.arch-lab .phx-svg .p25-strip{fill:var(--arch-clear);stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .p25-strip-q{fill:var(--arch-piece-b);stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .p25-strip-cut{stroke:var(--arch-fig-line);stroke-width:1.2}
.arch-lab .phx-svg .p25-strip-left{fill:var(--arch-bad);opacity:.85}
.arch-lab .phx-svg .p25-eaten{fill:var(--p25-candy-c);stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .phx-svg .p25-eaten-target{fill:var(--p25-candy-b);stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .p25-plate{stroke:var(--p25-metal);stroke-width:5;stroke-linecap:round}
.arch-lab .phx-svg .p25-gift{fill:#fde7ef;stroke:#be185d;stroke-width:2}
.arch-lab .phx-svg .p25-ribbon{fill:#ef4444;opacity:.5}
.arch-lab .phx-svg .p25-share-a{fill:var(--p25-candy-a)}
.arch-lab .phx-svg .p25-share-b{fill:var(--p25-candy-b)}
.arch-lab .phx-svg .p25-share-c{fill:var(--p25-candy-c)}
.arch-lab .phx-svg .p25-bar-frame{fill:none;stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .p25-road{fill:var(--p25-soil)}
.arch-lab .phx-svg .p25-grass-soft{fill:var(--p25-grass);opacity:.35}
.arch-lab .phx-svg .p25-roof{fill:#b45309;stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .phx-svg .p25-house-a{fill:#fde68a;stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .phx-svg .p25-house-b{fill:#fed7aa;stroke:var(--arch-fig-line);stroke-width:1;stroke-dasharray:3 2}
.arch-lab .phx-svg .p25-door,.arch-lab .phx-svg .p25-trunk{fill:#7c4a25}
.arch-lab .phx-svg .p25-crown-a{fill:#22a06b;stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .phx-svg .p25-crown-b{fill:#86c06c;stroke:var(--arch-fig-line);stroke-width:1;stroke-dasharray:3 2}
.arch-lab .phx-svg .p25-hollow{fill:#3b2414}
.arch-lab .phx-svg .p25-base{fill:var(--arch-clear);stroke:none;opacity:.85}
.arch-lab .phx-svg .p25-proj-a{stroke:var(--phx-b);stroke-width:3.5;stroke-linecap:round}
.arch-lab .phx-svg .p25-proj-b{stroke:var(--phx-c);stroke-width:3.5;stroke-linecap:round}
.arch-lab .phx-svg .p25-cell{fill:var(--arch-surface);stroke:var(--arch-soft-line);stroke-width:1}
.arch-lab .phx-svg .p25-cell-ok{fill:var(--arch-ok-bg);stroke:var(--arch-good);stroke-width:2}
.arch-lab .phx-svg .p25-cell-out{fill:var(--arch-clear);stroke:var(--arch-soft-line);stroke-dasharray:3 3}
.arch-lab .phx-svg .p25-cell-frame{fill:none;stroke:var(--arch-focus);stroke-width:3}
.arch-lab .phx-svg .p25-cell-num-sel{font-weight:700}
.arch-lab .phx-svg .p25-lens{fill:var(--arch-surface);stroke:var(--arch-fig-line);stroke-width:1.2}
.arch-lab .phx-svg .p25-lens-line{fill:none;stroke:var(--arch-muted);stroke-width:1;stroke-dasharray:4 4}
.arch-lab .phx-svg .p25-lens-mark{fill:var(--arch-accent);opacity:.2}
/* Phystech 2024/25 math 11, round II */
.arch-lab .phx-svg .p25-card-ok{fill:var(--arch-ok-bg);stroke:var(--arch-good);stroke-width:1.5}
.arch-lab .phx-svg .p25-card-no{fill:var(--arch-bad-bg);stroke:var(--arch-bad);stroke-width:1.2;stroke-dasharray:4 3}
.arch-lab .phx-svg .p25-bead{fill:#f59e0b;stroke:#92400e;stroke-width:1.2}
.arch-lab .phx-svg .p25-bead-v{fill:#60a5fa;stroke:#1e3a8a;stroke-width:1.2}
.arch-lab .phx-svg .p25-bead-text{fill:#1f2937;stroke:none;font-size:11px;font-weight:700}
.arch-lab .phx-svg .p25-string{stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .p25-cut{stroke:var(--arch-bad);stroke-width:3;stroke-linecap:round}
.arch-lab .phx-svg .p25-gap{fill:transparent;stroke:none;cursor:pointer}
.arch-lab .p25-table td.p25-yes{color:var(--arch-good);font-weight:700}
.arch-lab .p25-table td.p25-nope{color:var(--arch-bad)}
.arch-lab .p25-table tr.p25-row-now td{background:var(--arch-pressed-bg)}
.arch-lab .p25-scroll{overflow-x:auto;max-width:100%}
.arch-lab .p25-steppers{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,204px),1fr));gap:8px;min-width:0}
.arch-lab .p25-stepper{display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid var(--arch-soft-line);border-radius:10px;background:var(--arch-surface)}
.arch-lab .p25-stepper-P{border:2px solid var(--p25-shirt-b)}
.arch-lab .p25-step-label{min-width:24px;font-weight:700;font-variant-numeric:tabular-nums}
.arch-lab input.p25-step-num{width:52px;min-width:52px;flex:0 0 52px;text-align:center;padding:8px 4px}
.arch-lab .p25-stepper .phx-step{flex:0 0 auto}
.arch-lab .phx-svg .p25-cell-add{fill:var(--p25-shirt-b);fill-opacity:.55;stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .phx-svg .p25-sq-a{fill:var(--phx-a);fill-opacity:.16;stroke:var(--phx-a);stroke-width:2}
.arch-lab .phx-svg .p25-sq-b{fill:var(--phx-b);fill-opacity:.16;stroke:var(--phx-b);stroke-width:2}
.arch-lab .phx-svg .p25-common{fill:var(--phx-c);fill-opacity:.45;stroke:var(--phx-c);stroke-width:2}
.arch-lab .phx-svg .p25-bar-a{fill:var(--phx-a);fill-opacity:.7;stroke:none}
.arch-lab .phx-svg .p25-bar-b{fill:var(--phx-b);fill-opacity:.7;stroke:none}
.arch-lab .phx-svg .p25-old-border{fill:none;stroke:var(--arch-fig-line);stroke-width:1.5;stroke-dasharray:5 4}
.arch-lab .phx-svg .p25-mark-need{fill:var(--arch-focus);stroke:none}
.arch-lab .phx-svg .p25-base-tri{fill:var(--p25-soil);fill-opacity:.35;stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .p25-face{fill:var(--phx-a);fill-opacity:.12;stroke:none}
.arch-lab .phx-svg .p25-chord{stroke:var(--phx-a);stroke-width:1.6;opacity:.75}
.arch-lab .phx-svg .p25-missing{stroke:var(--arch-bad);stroke-width:2.5;stroke-dasharray:6 5}
.arch-lab .phx-svg .p25-env-sel{fill:#fde68a;fill-opacity:.6;stroke:#b45309;stroke-width:2}
.arch-lab .p25-env-tiles .p25-tile{min-width:44px;font-variant-numeric:tabular-nums}
/* Phystech 2024/25 math 11, round III */
.arch-lab .phx-svg .p25-heat-pos{fill:var(--phx-c);stroke:none}
.arch-lab .phx-svg .p25-heat-neg{fill:var(--phx-b);stroke:none}
.arch-lab .phx-svg .p25-band-a{stroke:var(--phx-a);stroke-width:9;stroke-linecap:butt}
.arch-lab .phx-svg .p25-band-b{stroke:var(--phx-b);stroke-width:9;stroke-linecap:butt}
.arch-lab .phx-svg .p25-band-bad{stroke:var(--arch-bad);stroke-width:9;stroke-linecap:butt}
.arch-lab .phx-svg .p25-band-good{stroke:var(--arch-good);stroke-width:9;stroke-linecap:butt}
.arch-lab .phx-svg .p25-try-ok{fill:var(--arch-good);stroke:var(--arch-surface);stroke-width:1.5}
.arch-lab .phx-svg .p25-try-no{fill:var(--arch-bad);stroke:var(--arch-surface);stroke-width:1.5}
.arch-lab .phx-svg .p25-region-a{fill:var(--phx-a);fill-opacity:.28;stroke:var(--phx-a);stroke-width:1.2}
.arch-lab .phx-svg .p25-region-b{fill:var(--phx-b);fill-opacity:.28;stroke:var(--phx-b);stroke-width:1.2}
.arch-lab .phx-svg .p25-region-c{fill:var(--phx-c);fill-opacity:.28;stroke:var(--phx-c);stroke-width:1.2}
.arch-lab .phx-svg .p25-region-q{fill:var(--phx-d);fill-opacity:.12;stroke:var(--phx-d);stroke-width:1}
.arch-lab .p25-nb{border-collapse:collapse;font-variant-numeric:tabular-nums}
.arch-lab .p25-nb th{padding:4px 6px;font-weight:600;text-align:center;white-space:nowrap}
.arch-lab .p25-nb td{padding:2px}
.arch-lab .p25-nb .p25-tile{min-width:44px;min-height:44px;padding:4px}
.arch-lab .p25-nb .p25-tile[aria-pressed="true"]{border:2px solid var(--arch-good);background:var(--arch-ok-bg)}
.arch-lab .p25-nb th.p25-nb-bad,.arch-lab .p25-nb td.p25-nb-bad{background:var(--arch-bad-bg)}
/* a root with a bar over the radicand in the texts of the labs (barRoots in ui.mjs) */
.arch-lab .p25-sqrt{display:inline-flex;align-items:flex-start;white-space:nowrap}
.arch-lab .p25-sqrt>span{border-top:1.5px solid currentColor;padding:1px .12em 0;margin-left:.04em}
/* R09 (круг 3): the site measures a display formula by its .katex-html, but KaTeX's own `.katex-display>.katex>.katex-html
   {display:block}` outranks the site's inline-block — the box then spans the column, and a fractional column width marked a
   formula that fits as «↔ Прокрути формулу». On the pages of this package the formula is measured by its real width. */
[data-problem-id^="phystech-2026-2027-math-"] .math-display .katex-display>.katex>.katex-html{display:inline-block}
/* R15 (GPT-1 на 58b1ab8b) and the МОШ finding (#263): Safari of iOS 26.3 draws signs that neither Golos Text nor the system font
   has as a «?» box. On the pages of this package each such sign is wrapped in a span/tspan .p25-sign (signFont, ui.mjs) drawn by «P25 Signs» — the KaTeX fonts already served by the
   site, limited by unicode-range to exactly these signs (∈ ∓ ⇔ ∠ ⊥ ⋮ ⌈ ⌉ ⌊ ⌋ of KaTeX_Main; the AMS signs were replaced in the texts by ≤ ≥ ↺ ↔); every
   other sign keeps the site font. checks/browser/safari-glyphs.mjs draws every sign of the package in Safari. */
@font-face{font-family:"P25 Signs";src:url("/assets/katex/fonts/KaTeX_Main-Regular.woff2") format("woff2");unicode-range:U+2208,U+2213,U+21D4,U+2220,U+22A5,U+22EE,U+2308-230B;font-display:swap}
.p25-sign{font-family:"P25 Signs"}

/* ==== light stage in the dark theme (generated by tools/light-stage.mjs — do not edit by hand) ==== */
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage{background:var(--arch-surface);border-radius:12px;color:var(--arch-ink)}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage{background:var(--arch-surface);border-radius:12px;color:var(--arch-ink)}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage{--arch-surface:#fff;--arch-ink:#1f2937;--arch-label:#203c58;--arch-muted:#5b6b82;--arch-field-line:#aebed1;--arch-soft-line:#d7e1ed;--arch-primary-bg:#244974;--arch-primary-ink:#fff;--arch-link:#244974;--arch-pressed-bg:#e6eefb;--arch-pressed-line:#244974;--arch-good:#047857;--arch-bad:#b91c1c;--arch-fig-line:#1f2937;--arch-grid:#c7d2e0;--arch-fill:#dbeafe;--arch-piece-a:#bfdbfe;--arch-piece-b:#fde68a;--arch-piece-c:#fecaca;--arch-piece-d:#bbf7d0;--arch-accent:#c2410c;--arch-water:#e0f2fe;--arch-ok-bg:#dcfce7;--arch-bad-bg:#fee2e2;--arch-knight:#1d4ed8;--arch-liar:#9f1239;--arch-clear:#e2e8f0;--p25-paper:#f6f8fc;--p25-track:#d97757;--p25-skin:#f6d2b4;--p25-card:#fffdf7;--p25-card-edge:#c9b98f;--p25-board:#24543f;--p25-paper2:#ffffff;--p25-water:#bfe1f6;--p25-glass:#cfe8ff;--p25-snow:#eef4fb;--m11a-card:#fffdf7;--m11a-card-edge:#c9b98f;--m11a-cell:#f8fafc;--m11a-sq:#bbf7d0;--m11a-no:#e2e8f0;--m11a-lone:#dc2626;--m11a-tick:#15803d;--m11b-bead:#f5ecd7;--m11b-strip:#e2e8f0;--m11b-on:#2563eb;--m11c-card:#fffdf7;--m11c-edge:#c9b98f;--m11c-yes:#fdba74;--m11c-no:#e2e8f0;--m11c-cell:#f8fafc;--m11c-sq:#1d4ed8;--m11c-dq:#047857;--m11e-out:#eef2f7;--m11e-seg:#ffffff;--m11e-b:#2563eb;--m11e-o:#ea580c;--m11e-n:#0f766e;--m11e-m:#15803d;--m91-paper:#fffdf6;--m91-grid:#dfe7f2;--m91-cell-on:#fef3c7;--m91-pt-edge:#7c2d12;--m91-cell-ink:#1f2937;--m92-cell:#fef9c3;--m92-cell-edge:#e5d9a0;--m92-good:#86efac;--m92-good-edge:#15803d;--m92-bad:#cbd5e1;--m92-bad-edge:#94a3b8;--m92-ray:#7c3aed;--m93-tri:#e0ecff;--m93-o:#ea580c;--m93-b:#1d4ed8;--m93-ok:#16a34a;--m95-bead:#eef2f7;--m95-bead-edge:#94a3b8;--m95-thread:#a16207}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage{--arch-surface:#fff;--arch-ink:#1f2937;--arch-label:#203c58;--arch-muted:#5b6b82;--arch-field-line:#aebed1;--arch-soft-line:#d7e1ed;--arch-primary-bg:#244974;--arch-primary-ink:#fff;--arch-link:#244974;--arch-pressed-bg:#e6eefb;--arch-pressed-line:#244974;--arch-good:#047857;--arch-bad:#b91c1c;--arch-fig-line:#1f2937;--arch-grid:#c7d2e0;--arch-fill:#dbeafe;--arch-piece-a:#bfdbfe;--arch-piece-b:#fde68a;--arch-piece-c:#fecaca;--arch-piece-d:#bbf7d0;--arch-accent:#c2410c;--arch-water:#e0f2fe;--arch-ok-bg:#dcfce7;--arch-bad-bg:#fee2e2;--arch-knight:#1d4ed8;--arch-liar:#9f1239;--arch-clear:#e2e8f0;--p25-paper:#f6f8fc;--p25-track:#d97757;--p25-skin:#f6d2b4;--p25-card:#fffdf7;--p25-card-edge:#c9b98f;--p25-board:#24543f;--p25-paper2:#ffffff;--p25-water:#bfe1f6;--p25-glass:#cfe8ff;--p25-snow:#eef4fb;--m11a-card:#fffdf7;--m11a-card-edge:#c9b98f;--m11a-cell:#f8fafc;--m11a-sq:#bbf7d0;--m11a-no:#e2e8f0;--m11a-lone:#dc2626;--m11a-tick:#15803d;--m11b-bead:#f5ecd7;--m11b-strip:#e2e8f0;--m11b-on:#2563eb;--m11c-card:#fffdf7;--m11c-edge:#c9b98f;--m11c-yes:#fdba74;--m11c-no:#e2e8f0;--m11c-cell:#f8fafc;--m11c-sq:#1d4ed8;--m11c-dq:#047857;--m11e-out:#eef2f7;--m11e-seg:#ffffff;--m11e-b:#2563eb;--m11e-o:#ea580c;--m11e-n:#0f766e;--m11e-m:#15803d;--m91-paper:#fffdf6;--m91-grid:#dfe7f2;--m91-cell-on:#fef3c7;--m91-pt-edge:#7c2d12;--m91-cell-ink:#1f2937;--m92-cell:#fef9c3;--m92-cell-edge:#e5d9a0;--m92-good:#86efac;--m92-good-edge:#15803d;--m92-bad:#cbd5e1;--m92-bad-edge:#94a3b8;--m92-ray:#7c3aed;--m93-tri:#e0ecff;--m93-o:#ea580c;--m93-b:#1d4ed8;--m93-ok:#16a34a;--m95-bead:#eef2f7;--m95-bead-edge:#94a3b8;--m95-thread:#a16207}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg{--phx-a:#1d4ed8;--phx-b:#c2410c;--phx-c:#047857;--phx-d:#7c3aed;--phx-water:#dbeafe;--phx-body:#e2e8f0;--phx-paper:#ffffff}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg{--phx-a:#1d4ed8;--phx-b:#c2410c;--phx-c:#047857;--phx-d:#7c3aed;--phx-water:#dbeafe;--phx-body:#e2e8f0;--phx-paper:#ffffff}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m103-area-q{fill:#1d4ed8}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m103-area-q{fill:#1d4ed8}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m103-area-p{fill:#15803d}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m103-area-p{fill:#15803d}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m103-theta{fill:#7c3aed}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m103-theta{fill:#7c3aed}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m103-share-text{fill:#5b21b6}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m103-share-text{fill:#5b21b6}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m103-quarter-text{fill:#6d28d9}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m103-quarter-text{fill:#6d28d9}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m104-big-text{fill:#1d4ed8}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m104-big-text{fill:#1d4ed8}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m104-dot-big{fill:#1d4ed8}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m104-dot-big{fill:#1d4ed8}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m104-trial-text{fill:#c2410c}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m104-trial-text{fill:#c2410c}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m104-dot-trial{fill:#c2410c}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m104-dot-trial{fill:#c2410c}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m104-angle-text{fill:#7c3aed}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m104-angle-text{fill:#7c3aed}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m11d-t12{fill:#c2410c}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m11d-t12{fill:#c2410c}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m11d-t3{fill:#1d4ed8}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m11d-t3{fill:#1d4ed8}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m11d-d3{stroke:#2563eb}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m11d-d3{stroke:#2563eb}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m99-val{fill:#1d4ed8}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m99-val{fill:#1d4ed8}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .arch-stage .phx-svg .m99-val-x{fill:#c2410c}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .arch-stage .phx-svg .m99-val-x{fill:#c2410c}

/* 10 №1 (m10r2-1-pairs): number cards on a table, holders by decades, a measuring tape with the window */
.arch-lab .phx-svg .m101-table{fill:var(--p25-paper);stroke:var(--arch-soft-line);stroke-width:1}
.arch-lab .phx-svg .m101-card{fill:var(--p25-card);stroke:var(--p25-card-edge);stroke-width:1.4}
.arch-lab .phx-svg .m101-card-shine{fill:#ffffff;opacity:.55;stroke:none}
.arch-lab .phx-svg .m101-num{fill:#1f2937;font-weight:700;font-variant-numeric:tabular-nums}
.arch-lab .phx-svg .m101-badge-even{fill:#16a34a;stroke:#ffffff;stroke-width:2}
.arch-lab .phx-svg .m101-badge-odd{fill:#ea580c;stroke:#ffffff;stroke-width:2}
.arch-lab .phx-svg .m101-badge-text{fill:#ffffff;font-size:12px;font-weight:700}
.arch-lab .phx-svg .m101-holder{fill:var(--p25-wood);fill-opacity:.28;stroke:var(--p25-wood);stroke-width:2}
.arch-lab .phx-svg .m101-lone{fill-opacity:.1;stroke-dasharray:6 4}
.arch-lab .phx-svg .m101-holder-title{fill:var(--arch-label);font-weight:600}
.arch-lab .phx-svg .m101-tape{fill:#facc15;stroke:#a16207;stroke-width:1.5}
.arch-lab .phx-svg .m101-tape-tick{stroke:#713f12;stroke-width:1.4}
.arch-lab .phx-svg .m101-tape-num{fill:#713f12;font-size:11px;font-weight:600}
.arch-lab .phx-svg .m101-window{fill:#2563eb;fill-opacity:.22;stroke:#1d4ed8;stroke-width:2}
.arch-lab .phx-svg .m101-flag-pole{stroke:var(--arch-bad);stroke-width:2.5}
.arch-lab .phx-svg .m101-flag{fill:var(--arch-bad);font-weight:600}
.arch-lab .phx-svg .m101-muted{fill:var(--arch-muted)}
.arch-lab .phx-svg.m101-key{display:inline-block;width:30px;height:22px;flex:0 0 30px}

/* 10-II №10 (m10r2-10-signs): cards −1 / 0 / +1 and the table of pairwise products (paper-light in both themes). */
.arch-lab .m1010-cards{gap:8px}
.arch-lab .m1010-card{display:grid;justify-items:center;gap:0;min-width:48px;min-height:64px;padding:4px 6px;border-radius:10px;border:2px solid #8a7550;box-shadow:2px 3px 0 rgba(15,23,42,.18);color:#1f2937;font-variant-numeric:tabular-nums}
.arch-lab .m1010-card .m1010-idx{font-size:12px;font-weight:600;opacity:.75}
.arch-lab .m1010-card .m1010-val{font-size:22px;font-weight:800;line-height:1.1}
.arch-lab .m1010-card.m1010-p{background:#fed7aa;border-color:#c2410c}
.arch-lab .m1010-card.m1010-m{background:#bfdbfe;border-color:#1d4ed8}
.arch-lab .m1010-card.m1010-z{background:#f1f5f9;border-color:#94a3b8;color:#475569}
.arch-lab .phx-svg .m1010-head{stroke-width:1.5}
.arch-lab .phx-svg .m1010-hp{fill:#fed7aa;stroke:#c2410c}
.arch-lab .phx-svg .m1010-hm{fill:#bfdbfe;stroke:#1d4ed8}
.arch-lab .phx-svg .m1010-hz{fill:#f1f5f9;stroke:#94a3b8}
.arch-lab .phx-svg .m1010-htext{fill:#1f2937;font-weight:800}
.arch-lab .phx-svg .m1010-cell{stroke:#cbd5e1;stroke-width:1}
.arch-lab .phx-svg .m1010-cp{fill:#dcfce7}
.arch-lab .phx-svg .m1010-cm{fill:#fee2e2}
.arch-lab .phx-svg .m1010-cz{fill:#f8fafc}
.arch-lab .phx-svg .m1010-ctext{fill:#1f2937;font-weight:700}
.arch-lab .phx-svg .m1010-bar{fill:var(--phx-a);fill-opacity:.55;stroke:none}
.arch-lab .phx-svg .m1010-bar-min{fill:var(--phx-b);stroke:none}
.arch-lab .m1010-fig{margin:6px 0 0}
.arch-lab .m1010-key{display:inline-grid;place-items:center;min-width:24px;height:20px;padding:0 3px;border-radius:4px;font:700 11px/1 system-ui,sans-serif;color:#1f2937;flex:0 0 auto;margin-right:2px}
.arch-lab .m1010-key.m1010-p{background:#fed7aa;border:1.5px solid #c2410c}
.arch-lab .m1010-key.m1010-z{background:#f1f5f9;border:1.5px solid #94a3b8}
.arch-lab .m1010-key.m1010-m{background:#bfdbfe;border:1.5px solid #1d4ed8}
.arch-lab .m1010-key.m1010-cp{background:#dcfce7;border:1px solid #cbd5e1}
.arch-lab .m1010-key.m1010-cm{background:#fee2e2;border:1px solid #cbd5e1}
.arch-lab .m1010-key.m1010-cz{background:#f8fafc;border:1px solid #cbd5e1}
.arch-lab .m1010-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m1010-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m1010-frac>span:last-child{padding:0 .2em}

/* 10 №2 (m10r2-2-roots): graph of x⁴ − cx² + q with its roots and the scale of the roots */
.arch-lab .phx-svg .m102-paper{fill:var(--phx-paper);stroke:var(--arch-soft-line);stroke-width:1}
.arch-lab .phx-svg .m102-axis{stroke:var(--arch-fig-line);stroke-width:1.6}
.arch-lab .phx-svg .m102-arrow{fill:var(--arch-fig-line);stroke:none}
.arch-lab .phx-svg .m102-curve{fill:none;stroke:var(--phx-a);stroke-width:3;stroke-linejoin:round}
.arch-lab .phx-svg .m102-root{fill:var(--phx-b);stroke:var(--arch-surface);stroke-width:2}
.arch-lab .phx-svg .m102-double{fill:var(--phx-d)}
.arch-lab .phx-svg .m102-root-text{fill:var(--phx-b);font-weight:700}
.arch-lab .phx-svg .m102-q{fill:var(--phx-c);stroke:var(--arch-surface);stroke-width:2}
.arch-lab .phx-svg .m102-q-text{fill:var(--phx-c);font-weight:700}
.arch-lab .phx-svg .m102-scale{stroke:var(--arch-fig-line);stroke-width:1.6}
.arch-lab .phx-svg .m102-scale-title{fill:var(--arch-label);font-weight:600}
.arch-lab .phx-svg .m102-gap-out{stroke:#f59e0b;stroke-width:7;stroke-linecap:round;opacity:.85}
.arch-lab .phx-svg .m102-gap-mid{stroke:#3b82f6;stroke-width:7;stroke-linecap:round;opacity:.85}
.arch-lab .phx-svg .m102-gap-ok{stroke:#16a34a;stroke-width:7;stroke-linecap:round;opacity:.9}
.arch-lab .phx-svg .m102-gap-text{font-weight:700}
.arch-lab .phx-svg.m102-key{display:inline-block;width:30px;height:22px;flex:0 0 30px}
.arch-lab .m102-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m102-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m102-frac>span:last-child{padding:0 .2em}

/* 10 №3 (m10r2-3-polygon): regular polygon, rectangle MNKL, the part beyond NK, a meter of areas */
.arch-lab .phx-svg .m103-circle{fill:none;stroke:var(--arch-grid);stroke-width:1;stroke-dasharray:4 4}
.arch-lab .phx-svg .m103-poly{fill:var(--p25-paper);stroke:none}
.arch-lab .phx-svg .m103-edge{fill:none;stroke:var(--arch-fig-line);stroke-width:2.2;stroke-linejoin:round}
.arch-lab .phx-svg .m103-rect{fill:#3b82f6;fill-opacity:.28;stroke:#1d4ed8;stroke-width:2}
.arch-lab .phx-svg .m103-part{fill:#22c55e;fill-opacity:.34;stroke:#15803d;stroke-width:1.5}
.arch-lab .phx-svg .m103-half{fill:#f59e0b;fill-opacity:.28;stroke:#b45309;stroke-width:1.5;stroke-dasharray:5 3}
.arch-lab .phx-svg .m103-diam{stroke:#c2410c;stroke-width:2.2;stroke-dasharray:7 4}
.arch-lab .phx-svg .m103-fan{stroke:var(--arch-muted);stroke-width:1;stroke-dasharray:3 3}
.arch-lab .phx-svg .m103-fan-text{fill:var(--arch-muted);font-weight:600}
.arch-lab .phx-svg .m103-thin{stroke:var(--arch-fig-line);stroke-width:1.2;fill:none}
.arch-lab .phx-svg .m103-arc{stroke:#7c3aed;stroke-width:2;fill:none}
.arch-lab .phx-svg .m103-theta{fill:#7c3aed;font-weight:700}
.arch-lab .phx-svg .m103-vtx{font-weight:700}
.arch-lab .phx-svg .m103-area-q{fill:#1d4ed8;font-weight:700;font-size:15px}
.arch-lab .phx-svg .m103-area-p{fill:#15803d;font-weight:800;font-size:17px}
.arch-lab .phx-svg .m103-panel{fill:var(--p25-paper);stroke:var(--arch-soft-line);stroke-width:1}
.arch-lab .phx-svg .m103-panel-title{fill:var(--arch-label);font-weight:600}
.arch-lab .phx-svg .m103-bar-now{fill:#22c55e;fill-opacity:.7;stroke:#15803d;stroke-width:1.5}
.arch-lab .phx-svg .m103-bar-need{fill:none;stroke:#15803d;stroke-width:2;stroke-dasharray:6 4}
.arch-lab .phx-svg .m103-bar-ok{fill:#22c55e;fill-opacity:.7;stroke:#15803d;stroke-width:2.5}
.arch-lab .phx-svg .m103-bar-text{font-weight:700}
.arch-lab .phx-svg .m103-yes{fill:var(--arch-good);font-weight:700}
.arch-lab .phx-svg .m103-no{fill:var(--arch-muted);font-weight:600}
.arch-lab .phx-svg.m103-key{display:inline-block;width:30px;height:22px;flex:0 0 30px}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg :is(.m103-area-q){fill:#93c5fd}:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg :is(.m103-area-p){fill:#86efac}:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg .m103-theta{fill:#c4b5fd}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg .m103-area-q{fill:#93c5fd}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg .m103-area-p{fill:#86efac}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg .m103-theta{fill:#c4b5fd}
.arch-lab .phx-svg .m103-radius{stroke:#7c3aed;stroke-width:1.4;stroke-dasharray:4 3}
.arch-lab .phx-svg .m103-share{fill:#7c3aed;fill-opacity:.38;stroke:#6d28d9;stroke-width:2}
.arch-lab .phx-svg .m103-quarter{fill:#7c3aed;fill-opacity:.1;stroke:#7c3aed;stroke-width:1.2;stroke-dasharray:4 3}
.arch-lab .phx-svg .m103-diag{stroke:#6d28d9;stroke-width:1.6;stroke-dasharray:6 4}
.arch-lab .phx-svg .m103-share-text{fill:#5b21b6;font-weight:800;font-size:15px}
.arch-lab .phx-svg .m103-quarter-text{fill:#6d28d9;font-weight:700;font-size:13px}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg :is(.m103-share-text,.m103-quarter-text){fill:#ddd6fe}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg :is(.m103-share-text,.m103-quarter-text){fill:#ddd6fe}
.arch-lab .m103-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;margin:0 .15em}
.arch-lab .m103-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m103-frac>span:last-child{padding:0 .2em}

/* 10 №4 (m10r2-4-tangent): triangle, incircle Ω, trial circle ω on the bisector or the external bisector at A */
.arch-lab .phx-svg .m104-paper{fill:var(--phx-paper);stroke:var(--arch-soft-line);stroke-width:1}
.arch-lab .phx-svg .m104-sideline{stroke:var(--arch-muted);stroke-width:1.2}
.arch-lab .phx-svg .m104-tri{fill:#94a3b8;fill-opacity:.18;stroke:var(--arch-fig-line);stroke-width:2.2;stroke-linejoin:round}
.arch-lab .phx-svg .m104-bis{stroke:#7c3aed;stroke-width:1.6;stroke-dasharray:7 5}
.arch-lab .phx-svg .m104-exbis{stroke:#0d9488;stroke-width:1.6;stroke-dasharray:2 4;stroke-linecap:round}
.arch-lab .phx-svg .m104-right{fill:none;stroke:var(--arch-fig-line);stroke-width:1.2}
.arch-lab .phx-svg .m104-angle{fill:none;stroke:#7c3aed;stroke-width:2}
.arch-lab .phx-svg .m104-angle-text{fill:#7c3aed;font-weight:700}
.arch-lab .phx-svg .m104-omega-big{fill:#3b82f6;fill-opacity:.16;stroke:#1d4ed8;stroke-width:2.4}
.arch-lab .phx-svg .m104-trial{fill:#f97316;fill-opacity:.14;stroke:#c2410c;stroke-width:2.6}
.arch-lab .phx-svg .m104-touch{fill:#22c55e;fill-opacity:.18;stroke:#15803d;stroke-width:3}
.arch-lab .phx-svg .m104-rad-big{stroke:#1d4ed8;stroke-width:1.6}
.arch-lab .phx-svg .m104-rad-trial{stroke:#c2410c;stroke-width:1.6}
.arch-lab .phx-svg .m104-oi{stroke:var(--arch-fig-line);stroke-width:1.4;stroke-dasharray:3 3}
.arch-lab .phx-svg .m104-dot-big{fill:#1d4ed8}
.arch-lab .phx-svg .m104-dot-trial{fill:#c2410c}
.arch-lab .phx-svg .m104-vtx{font-weight:700}
.arch-lab .phx-svg .m104-big-text{fill:#1d4ed8;font-weight:700}
.arch-lab .phx-svg .m104-trial-text{fill:#c2410c;font-weight:700}
.arch-lab .phx-svg .m104-oi-text{font-weight:600}
.arch-lab .phx-svg.m104-key{display:inline-block;width:30px;height:22px;flex:0 0 30px}
.arch-lab .m104-found{font-weight:600;color:var(--arch-label)}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg :is(.m104-big-text,.m104-dot-big){fill:#93c5fd}:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg :is(.m104-trial-text,.m104-dot-trial){fill:#fdba74}:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg .m104-angle-text{fill:#c4b5fd}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg :is(.m104-big-text,.m104-dot-big){fill:#93c5fd}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg :is(.m104-trial-text,.m104-dot-trial){fill:#fdba74}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg .m104-angle-text{fill:#c4b5fd}
.arch-lab .phx-svg .m104-side-text{fill:var(--arch-muted);font-weight:600}
.arch-lab .m104-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m104-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m104-frac>span:last-child{padding:0 .2em}

/* 10 №5 (m10r2-5-board): a scoreboard of five windows with seven-segment digits and the grid of pairs (a, e) */
.arch-lab .phx-svg .m105-frame{fill:#64748b;stroke:#334155;stroke-width:1.5}
.arch-lab .phx-svg .m105-panel{fill:#111827;stroke:#0b1220;stroke-width:1}
.arch-lab .phx-svg .m105-screw{fill:#cbd5e1;stroke:#475569;stroke-width:1}
.arch-lab .phx-svg .m105-win{fill:#0b0f19;stroke:#374151;stroke-width:2}
.arch-lab .phx-svg .m105-win-bad{fill:#3f0d0d;stroke:#ef4444;stroke-width:2.5}
.arch-lab .phx-svg .m105-on{stroke:#fbbf24;filter:drop-shadow(0 0 3px rgba(251,191,36,.75))}
.arch-lab .phx-svg .m105-on-bad{stroke:#f87171;filter:drop-shadow(0 0 3px rgba(248,113,113,.8))}
.arch-lab .phx-svg .m105-off{stroke:#1f2937}
.arch-lab .phx-svg text.m105-name{fill:#cbd5e1;stroke:none;font-weight:700;font-size:14px}
.arch-lab .phx-svg text.m105-free{fill:#fde68a}
.arch-lab .phx-svg text.m105-badtext{fill:#fca5a5;stroke:none;font-weight:700}
.arch-lab .phx-svg .m105-rel{font-weight:600}
.arch-lab .phx-svg .m105-lamp-ok{fill:#22c55e;stroke:#14532d;stroke-width:1.5;filter:drop-shadow(0 0 4px rgba(34,197,94,.8))}
.arch-lab .phx-svg .m105-lamp-bad{fill:#ef4444;stroke:#7f1d1d;stroke-width:1.5;filter:drop-shadow(0 0 4px rgba(239,68,68,.7))}
.arch-lab .phx-svg .m105-lampt{font-weight:700}
.arch-lab .phx-svg .m105-grid-title{fill:var(--arch-label);font-weight:600}
.arch-lab .phx-svg .m105-axis{fill:var(--arch-muted);font-weight:600}
.arch-lab .phx-svg .m105-tick{font-size:12px;fill:var(--arch-muted);stroke:none}
.arch-lab .phx-svg .m105-cell{fill:var(--p25-paper);stroke:var(--arch-grid);stroke-width:1;cursor:pointer}
.arch-lab .phx-svg .m105-cell-ok{fill:#22c55e;fill-opacity:.55;stroke:#15803d}
.arch-lab .phx-svg .m105-cell-bad{fill:#ef4444;fill-opacity:.22;stroke:#fca5a5}
.arch-lab .phx-svg .m105-cell-cur{fill:none;stroke:#2563eb;stroke-width:3}
.arch-lab .phx-svg .m105-check{fill:none;stroke:#14532d;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.arch-lab .phx-svg .m105-cross{fill:none;stroke:#b91c1c;stroke-width:1.8;stroke-linecap:round;opacity:.7;pointer-events:none}
.arch-lab .phx-svg.m105-key{display:inline-block;width:30px;height:22px;flex:0 0 30px}
.arch-lab .m105-table{width:100%;max-width:520px;table-layout:fixed}
.arch-lab .m105-table td,.arch-lab .m105-table th{min-width:0;white-space:normal;overflow-wrap:normal;hyphens:manual}
@media (max-width:480px){.arch-lab table.m105-table th,.arch-lab table.m105-table td{padding:3px 2px;font-size:.88em}}
.arch-lab .m105-table .m105-row-now td{background:var(--arch-pressed-bg);font-weight:600}
.arch-lab .m105-table caption{caption-side:bottom;text-align:left;padding-top:4px}
.arch-lab .m105-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m105-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m105-frac>span:last-child{padding:0 .2em}

/* 10-II №6 (m10r2-6-parity): a wooden board with coins; the board stays paper-light in both themes, so its ink is fixed. */
.arch-lab .m106-scroll{overflow-x:auto;overscroll-behavior-x:contain;min-width:0;padding-bottom:2px}
.arch-lab .m106-scroll .phx-stage{max-height:none}
.arch-lab .m106-scroll .phx-stage .phx-svg{max-height:none}
.arch-lab .m106-scroll.m106-big .phx-stage{max-width:none}
.arch-lab .m106-hint{margin:0;font-weight:600;color:var(--arch-label)}
.arch-lab .m106-note:empty{display:none}
.arch-lab .m106-note{color:var(--arch-ink);font-size:15px}
.arch-lab .m106-stage svg{cursor:pointer}
.arch-lab .phx-svg .m106-wood{fill:#b07a43;stroke:#7c4a25;stroke-width:1.5}
.arch-lab .phx-svg .m106-wood-in{fill:#7c4a25;stroke:none}
.arch-lab .phx-svg .m106-shadow{fill:#0f172a;fill-opacity:.18;stroke:none}
.arch-lab .phx-svg .m106-cell{stroke:#b9a27a;stroke-width:1}
.arch-lab .phx-svg .m106-cell-a{fill:#fbf6ea}
.arch-lab .phx-svg .m106-cell-b{fill:#f3ead6}
.arch-lab .phx-svg .m106-cell-free{fill:#cfe3fb}
.arch-lab .phx-svg .m106-cell-forced{fill:#fde68a}
.arch-lab .phx-svg .m106-cell-corner{fill:#fdba74}
.arch-lab .phx-svg .m106-split{stroke:#1d4ed8;stroke-width:2.5;stroke-dasharray:7 5}
.arch-lab .phx-svg .m106-coin-shadow{fill:#0f172a;fill-opacity:.22;stroke:none}
.arch-lab .phx-svg .m106-coin-body{fill:#f2b705;stroke:#8a5a00;stroke-width:1.6}
.arch-lab .phx-svg .m106-coin-ring{fill:#fbd24e;stroke:#c48a00;stroke-width:1}
.arch-lab .phx-svg .m106-glint{fill:#fff;fill-opacity:.65;stroke:none}
.arch-lab .phx-svg .m106-coin-text{fill:#6b4300;font-weight:800}
.arch-lab .phx-svg .m106-zero{fill:#94a3b8;font-weight:600}
.arch-lab .phx-svg .m106-tag-ok{fill:#dcfce7;stroke:#047857;stroke-width:2}
.arch-lab .phx-svg .m106-tag-bad{fill:#fee2e2;stroke:#b91c1c;stroke-width:2}
.arch-lab .phx-svg .m106-tag-text{fill:#1f2937;font-weight:700}
.arch-lab .m106-key{display:inline-block;width:18px;height:18px;border-radius:4px;border:1px solid #8a7550;flex:0 0 auto;text-align:center;font:700 12px/16px system-ui,sans-serif;color:#1f2937}
.arch-lab .m106-key-coin{border-radius:50%;background:#f2b705;border-color:#8a5a00}
.arch-lab .m106-key-zero{background:#fbf6ea;color:#64748b}
.arch-lab .m106-key-ok{border-radius:9px;background:#dcfce7;border:2px solid #047857}
.arch-lab .m106-key-bad{border-radius:9px;background:#fee2e2;border:2px solid #b91c1c}
.arch-lab .m106-key-free{background:#cfe3fb}
.arch-lab .m106-key-forced{background:#fde68a}
.arch-lab .m106-key-corner{background:#fdba74}

/* 10-II №7 (m10r2-7-squares): the triangle, two squares on the hypotenuse, the steps at A and B, the graph of x² + y². */
.arch-lab .phx-svg .m107-tri{fill:var(--arch-water);stroke:none}
.arch-lab .phx-svg .m107-tri-line{fill:none;stroke:var(--arch-fig-line);stroke-width:2.2;stroke-linejoin:round}
.arch-lab .phx-svg .m107-step{fill:var(--arch-muted);fill-opacity:.22;stroke:var(--arch-muted);stroke-width:1;stroke-dasharray:4 3}
.arch-lab .phx-svg .m107-sq{fill-opacity:.32;stroke-width:2.2}
.arch-lab .phx-svg .m107-out{stroke:var(--arch-bad);stroke-dasharray:6 4}
.arch-lab .phx-svg .m107-tick-a{stroke:var(--phx-a);stroke-width:2}
.arch-lab .phx-svg .m107-tick-b{stroke:var(--phx-b);stroke-width:2}
.arch-lab .phx-svg .m107-goal{stroke:var(--phx-c);stroke-width:2;stroke-dasharray:8 5}
.arch-lab .phx-svg .m107-goal-text{fill:var(--phx-c);font-size:13px;font-weight:600}
.arch-lab .m107-key{display:inline-block;width:18px;height:14px;border-radius:3px;flex:0 0 auto}
.arch-lab .m107-key-a{background:rgba(29,78,216,.32);border:2px solid #1d4ed8}
.arch-lab .m107-key-b{background:rgba(194,65,12,.32);border:2px solid #c2410c}
.arch-lab .m107-key-step{background:rgba(91,107,130,.25);border:1px dashed #5b6b82}
.arch-lab .m107-key-goal{height:0;border-top:3px dashed #047857;border-radius:0}
/* the state of the solution (R07) and fractions with a bar in the text of the lab */
.arch-lab .m107-ex{margin:0;padding:10px 14px;border-radius:10px;border:1.5px solid var(--arch-good);background:var(--p25-paper);color:var(--arch-ink);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.arch-lab .m107-ex p{margin:0 0 4px}
.arch-lab .m107-ex ul{margin:0;padding-left:0;list-style:none}
.arch-lab .m107-ex li{margin:4px 0}
.arch-lab .m107-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m107-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m107-frac>span:last-child{padding:0 .2em}
/* U07: the altitude CH in the state of the solution — the common side of the squares lies on it */
.arch-lab .phx-svg .m107-alt{stroke:var(--arch-fig-line);stroke-width:1.8;stroke-dasharray:7 4}
.arch-lab .phx-svg .m107-h{font-weight:700}
.arch-lab .m107-big{font-size:1.5em;line-height:1;vertical-align:middle}

/* 10-II №8 (m10r2-8-cube): a wooden bookcase (shelf k — the numbers with [∛n] = k) and the ruler of the current shelf. */
.arch-lab .phx-svg .m108-case{fill:#9a6434;stroke:#5c3a1a;stroke-width:1.5}
.arch-lab .phx-svg .m108-back{fill:#f3e6cf;stroke:none}
.arch-lab .phx-svg .m108-plank{fill:#b07a43;stroke:#5c3a1a;stroke-width:1}
.arch-lab .phx-svg .m108-now{fill:#fde68a;fill-opacity:.75;stroke:#b45309;stroke-width:1.5}
.arch-lab .phx-svg .m108-book{stroke:#1f2937;stroke-width:.6}
.arch-lab .phx-svg .m108-k{fill:#fff;font-size:12.5px;font-weight:600;stroke:none}
.arch-lab .phx-svg .m108-k-now{fill:#fde68a;font-weight:800}
.arch-lab .phx-svg .m108-tag{fill:#fffdf7;stroke:#8a6a3a;stroke-width:1.2}
.arch-lab .phx-svg .m108-tag-text{fill:#1f2937;font-size:13px;font-weight:700;stroke:none}
.arch-lab .phx-svg .m108-ruler{fill:#fef3c7;stroke:#b45309;stroke-width:1.2}
.arch-lab .phx-svg .m108-rtick{stroke:#92400e;stroke-width:.8}
.arch-lab .phx-svg .m108-bead{fill:var(--phx-b);stroke:#7c2d12;stroke-width:1}
.arch-lab .m108-key{display:inline-block;flex:0 0 auto}
.arch-lab .m108-key-book{width:7px;height:18px;background:#2563eb;border:1px solid #1f2937}
.arch-lab .m108-key-tag{min-width:22px;height:18px;border-radius:4px;background:#fffdf7;border:1px solid #8a6a3a;color:#1f2937;font:700 12px/16px system-ui,sans-serif;text-align:center}
.arch-lab .m108-key-now{width:22px;height:14px;background:#fde68a;border:1.5px solid #b45309}
.arch-lab .m108-key-bead{width:12px;height:12px;border-radius:50%;background:#c2410c;border:1px solid #7c2d12}

/* 10-II №9 (m10r2-9-telescope): domino tiles with fractions; after the split the halves of neighbouring tiles burn out. */
.arch-lab .phx-svg .m109-tile{fill:#fffdf7;stroke:#8a7550;stroke-width:1.6}
.arch-lab .phx-svg .m109-shadow{fill:#0f172a;fill-opacity:.15;stroke:none}
.arch-lab .phx-svg .m109-num{fill:#1f2937;font-weight:700;stroke:none}
.arch-lab .phx-svg .m109-sign{fill:#1f2937;font-size:12px;font-weight:700;stroke:none}
.arch-lab .phx-svg .m109-bar{stroke:#1f2937;stroke-width:1.4}
.arch-lab .phx-svg .m109-groove{stroke:#8a7550;stroke-width:2;stroke-dasharray:3 3}
.arch-lab .phx-svg .m109-l{fill:#dbeafe;stroke:#1d4ed8;stroke-width:1.4}
.arch-lab .phx-svg .m109-r{fill:#ffedd5;stroke:#c2410c;stroke-width:1.4}
.arch-lab .phx-svg .m109-gone{opacity:.38}
.arch-lab .phx-svg .m109-keep rect{stroke-width:2.6}
.arch-lab .phx-svg .m109-strike{stroke:#b91c1c;stroke-width:2.2;stroke-linecap:round}
.arch-lab .phx-svg .m109-arc{fill:none;stroke:#b91c1c;stroke-width:1.8;stroke-dasharray:5 3}
.arch-lab .phx-svg .m109-zero{fill:#b91c1c;font-size:13px;font-weight:700}
.arch-lab .phx-svg .m109-burn{animation:m109-burn 1s ease-out}
@keyframes m109-burn{0%{opacity:1;filter:drop-shadow(0 0 6px #f97316)}60%{opacity:1;filter:drop-shadow(0 0 10px #ef4444)}100%{opacity:.38}}
.arch-lab.m109-still .phx-svg .m109-burn,.arch-lab .m109-still .phx-svg .m109-burn{animation:none}
@media (prefers-reduced-motion:reduce){.arch-lab .phx-svg .m109-burn{animation:none}}
.arch-lab .m109-key{display:inline-block;width:20px;height:14px;border-radius:3px;flex:0 0 auto}
.arch-lab .m109-key-tile{background:#fffdf7;border:1.5px solid #8a7550}
.arch-lab .m109-key-l{background:#dbeafe;border:1.5px solid #1d4ed8}
.arch-lab .m109-key-r{background:#ffedd5;border:1.5px solid #c2410c}
.arch-lab .m109-key-gone{background:#ffedd5;border:1.5px solid #c2410c;opacity:.4;background-image:linear-gradient(135deg,transparent 45%,#b91c1c 45%,#b91c1c 55%,transparent 55%)}
.arch-lab .m109-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m109-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m109-frac>span:last-child{padding:0 .2em}
.arch-lab .phx-svg .m109-cbar{stroke:var(--arch-ink);stroke-width:1.3}
.arch-lab .arch-legend li[data-m109-split][hidden]{display:none}

/* Phystech 2026/27 math 11 round II №1 (m11r2-1-divisors): abacus of primes, the board of the divisor, the grid of exponents.
   The m11a-* helpers (state line, legend keys, steppers) are repeated in the CSS of 11 №1–5 so that each file stands alone. */
.arch-lab{--m11a-card:#fffdf7;--m11a-card-edge:#c9b98f;--m11a-wood:#b07a43;--m11a-wood-dark:#7c4a25;--m11a-board:#0f172a;--m11a-led:#fde68a;--m11a-ok:#4ade80;--m11a-bad:#f87171;--m11a-cell:#f8fafc;--m11a-sq:#bbf7d0;--m11a-no:#e2e8f0;--m11a-lone:#dc2626;--m11a-tick:#15803d}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--m11a-card:#f3efe2;--m11a-card-edge:#8f8466;--m11a-cell:#1e293b;--m11a-sq:#166534;--m11a-no:#475569;--m11a-lone:#f87171;--m11a-tick:#dcfce7}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--m11a-card:#f3efe2;--m11a-card-edge:#8f8466;--m11a-cell:#1e293b;--m11a-sq:#166534;--m11a-no:#475569;--m11a-lone:#f87171;--m11a-tick:#dcfce7}
.arch-lab .m11a-state{margin:0;padding:8px 12px;border-radius:10px;background:var(--p25-paper);color:var(--arch-ink);font-weight:600;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.arch-lab .m11a-key{display:inline-block;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--arch-fig-line);flex:0 0 auto}
.arch-lab .m11a-steppers{display:flex;flex-wrap:wrap;gap:8px}
.arch-lab .m11a-stepper{display:flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;border:1px solid var(--arch-soft-line);border-radius:999px;background:var(--arch-surface)}
.arch-lab .m11a-stepper-name{display:flex;align-items:center;gap:6px;color:var(--arch-ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.arch-lab .m11a-dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid var(--arch-fig-line)}
.arch-lab .m11a-key-bead{border-radius:50%;background:#3b82f6}
.arch-lab .m11a-key-pair{border:none;border-right:3px solid var(--arch-fig-line);border-top:3px solid var(--arch-fig-line);border-bottom:3px solid var(--arch-fig-line);border-radius:0;width:8px}
.arch-lab .m11a-key-lone{border-radius:50%;border:3px solid var(--m11a-lone)}
.arch-lab .m11a-key-sq{background:var(--m11a-sq)}
.arch-lab .m11a-key-no{background:var(--m11a-no)}
.arch-lab .m11a-key-cur{border:3px solid var(--arch-focus)}
.arch-lab .phx-svg .m11a-card{fill:var(--m11a-card);stroke:var(--m11a-card-edge);stroke-width:1.5}
.arch-lab .phx-svg .m11a-hole{fill:var(--arch-surface);stroke:var(--m11a-card-edge);stroke-width:1.5}
.arch-lab .phx-svg .m11a-card-n{font-size:20px;font-weight:700;fill:#1f2937;stroke:none;font-variant-numeric:tabular-nums}
.arch-lab .phx-svg .m11a-card-f{font-size:17px;font-weight:600;fill:#7c2d12;stroke:none}
.arch-lab .phx-svg .m11a-frame{fill:var(--m11a-wood);stroke:var(--m11a-wood-dark);stroke-width:1.2}
.arch-lab .phx-svg .m11a-rod{stroke:#94a3b8;stroke-width:3;stroke-linecap:round}
.arch-lab .phx-svg .m11a-shadow{fill:#0f172a;opacity:.22;stroke:none}
.arch-lab .phx-svg .m11a-bead{stroke:#1f2937;stroke-width:1.2}
.arch-lab .phx-svg .m11a-bead-off{fill-opacity:.22;stroke-opacity:.55}
.arch-lab .phx-svg .m11a-gloss{fill:#fff;opacity:.55;stroke:none;pointer-events:none}
.arch-lab .phx-svg .m11a-bead-t{font-size:11px;font-weight:700;fill:#fff;stroke:none;pointer-events:none}
.arch-lab .phx-svg .m11a-pair line{stroke:var(--arch-fig-line);stroke-width:2;stroke-linecap:round}
.arch-lab .phx-svg .m11a-lone{fill:none;stroke:var(--m11a-lone);stroke-width:2.5;pointer-events:none}
.arch-lab .phx-svg .m11a-badge{stroke:#1f2937;stroke-width:1.2}
.arch-lab .phx-svg .m11a-badge-t{font-size:14px;font-weight:700;fill:#fff;stroke:none}
.arch-lab .phx-svg .m11a-count{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.arch-lab .phx-svg .m11a-board{fill:#334155;stroke:#1f2937;stroke-width:1.5}
.arch-lab .phx-svg .m11a-board-in{fill:var(--m11a-board);stroke:none}
.arch-lab .phx-svg .m11a-led{font-size:18px;font-weight:700;fill:var(--m11a-led);stroke:none;font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.arch-lab .phx-svg .m11a-led-s{font-size:14px}
.arch-lab .phx-svg .m11a-led-ok{font-size:16px;font-weight:700;fill:var(--m11a-ok);stroke:none}
.arch-lab .phx-svg .m11a-led-bad{font-size:16px;font-weight:700;fill:var(--m11a-bad);stroke:none}
.arch-lab .phx-svg .m11a-hit{cursor:pointer}
.arch-lab .phx-svg .m11a-grid-head{font-size:14px;font-weight:600}
.arch-lab .phx-svg .m11a-cell{fill:var(--m11a-cell);stroke:var(--arch-grid);stroke-width:1}
.arch-lab .phx-svg .m11a-cell-sq{fill:var(--m11a-sq);stroke:#16a34a}
.arch-lab .phx-svg .m11a-cell-no{fill:var(--m11a-no)}
.arch-lab .phx-svg .m11a-cell-dot{fill:var(--arch-muted);stroke:none}
.arch-lab .phx-svg .m11a-tick{font-size:15px;font-weight:700;fill:var(--m11a-tick);stroke:none}
.arch-lab .phx-svg .m11a-cell-cur{fill:none;stroke:var(--arch-focus);stroke-width:3;pointer-events:none}
.arch-lab .phx-svg .m11a-axis{font-size:13px;font-weight:600;fill:var(--arch-muted)}
/* phones: a stepper (name + − / +) never gets wider than the column — the name wraps, the 48 px buttons stay */
@media (max-width:420px){.arch-lab .m11a-stepper{box-sizing:border-box;max-width:100%;min-width:0;gap:4px;padding-left:10px}.arch-lab .m11a-stepper-name{white-space:normal;min-width:0;flex:1 1 auto;flex-wrap:wrap;column-gap:4px}}
.arch-lab .m11a-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m11a-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m11a-frac>span:last-child{padding:0 .2em}

/* 11 №10 (m11r2-10-median): exact triangle, altitude BR, median AY, the point X; angles ABX (purple), XBY = YAB (green), XRA (orange) */
.arch-lab .m11j-state{margin:0;padding:8px 12px;border-radius:10px;background:var(--p25-paper);color:var(--arch-ink);font-weight:600;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.arch-lab .phx-svg .m11j-tri{fill:var(--phx-a);fill-opacity:.08;stroke:var(--arch-fig-line);stroke-width:2.2;stroke-linejoin:round}
.arch-lab .phx-svg .m11j-med{stroke:var(--phx-a);stroke-width:2.4;stroke-linecap:round}
.arch-lab .phx-svg .m11j-alt{stroke:var(--arch-muted);stroke-width:1.6}
.arch-lab .phx-svg .m11j-bx{stroke:var(--phx-d);stroke-width:2;stroke-linecap:round}
.arch-lab .phx-svg .m11j-rx{stroke:var(--phx-b);stroke-width:2.4;stroke-linecap:round}
.arch-lab .phx-svg .m11j-right{stroke:var(--arch-muted);stroke-width:1.3;fill:none}
.arch-lab .phx-svg .m11j-tick{stroke:var(--arch-fig-line);stroke-width:2}
.arch-lab .phx-svg .m11j-x{fill:var(--phx-b);stroke:var(--arch-surface);stroke-width:1.5}
.arch-lab .phx-svg .m11j-arc-d{fill:none;stroke:var(--phx-d);stroke-width:2.2}
.arch-lab .phx-svg .m11j-arc-c{fill:none;stroke:var(--phx-c);stroke-width:1.8}
.arch-lab .phx-svg .m11j-sec-b{fill:var(--phx-b);fill-opacity:.28;stroke:var(--phx-b);stroke-width:1.8}
.arch-lab .phx-svg .m11j-circ-a{fill:none;stroke:var(--phx-a);stroke-width:1.6;stroke-dasharray:6 4}
.arch-lab .phx-svg .m11j-circ-b{fill:var(--phx-b);fill-opacity:.06;stroke:var(--phx-b);stroke-width:2;stroke-dasharray:7 4}
.arch-lab .phx-svg .m11j-leader{stroke-width:1;stroke-dasharray:2 3}
.arch-lab .phx-svg .m11j-ld-b{stroke:var(--phx-b)}
.arch-lab .phx-svg .m11j-ld-c{stroke:var(--phx-c)}
.arch-lab .phx-svg .m11j-ld-d{stroke:var(--phx-d)}
.arch-lab .phx-svg .m11j-pt{font-weight:700}
.arch-lab .phx-svg .m11j-av{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.arch-lab .phx-svg .m11j-t-b{fill:var(--phx-b)}
.arch-lab .phx-svg .m11j-t-c{fill:var(--phx-c)}
.arch-lab .phx-svg .m11j-t-d{fill:var(--phx-d)}
.arch-lab .phx-svg .m11j-gauge{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;fill:var(--phx-d)}
.arch-lab .phx-svg .m11j-gauge-s{font-size:13px;font-weight:600;fill:var(--arch-muted);font-variant-numeric:tabular-nums}
.arch-lab .phx-svg .m11j-ok{fill:var(--arch-good)}
.arch-lab .phx-svg.m11j-key{width:30px;height:18px;flex:0 0 auto;display:inline-block}
/* the state of the solution (R07) and fractions with a bar in the text of the lab */
.arch-lab .m11j-ex{margin:0;padding:10px 14px;border-radius:10px;border:1.5px solid var(--arch-good);background:var(--p25-paper);color:var(--arch-ink);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.arch-lab .m11j-ex p{margin:0 0 4px}
.arch-lab .m11j-ex ul{margin:0;padding-left:0;list-style:none}
.arch-lab .m11j-ex li{margin:4px 0}
.arch-lab .m11j-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m11j-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m11j-frac>span:last-child{padding:0 .2em}

/* Phystech 2026/27 math 11 round II №2 (m11r2-2-chains): beads on strings by remainders. m11a-* helpers repeated (see 11 №1). */
.arch-lab{--m11b-bead:#f5ecd7;--m11b-bead-edge:#a08a5a;--m11b-on:#2563eb;--m11b-hot:#dc2626;--m11b-strip:#e2e8f0}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--m11b-bead:#e9dfc6;--m11b-strip:#334155;--m11b-on:#3b82f6}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--m11b-bead:#e9dfc6;--m11b-strip:#334155;--m11b-on:#3b82f6}
.arch-lab .m11a-state{margin:0;padding:8px 12px;border-radius:10px;background:var(--p25-paper);color:var(--arch-ink);font-weight:600;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.arch-lab .m11a-key{display:inline-block;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--arch-fig-line);flex:0 0 auto}
.arch-lab .phx-svg .m11a-shadow{fill:#0f172a;opacity:.22;stroke:none}
.arch-lab .phx-svg .m11a-gloss{fill:#fff;opacity:.55;stroke:none;pointer-events:none}
.arch-lab .m11b-key-off{border-radius:50%;background:var(--m11b-bead);border-color:var(--m11b-bead-edge)}
.arch-lab .m11b-key-on{border-radius:50%;background:var(--m11b-on)}
.arch-lab .m11b-key-bad{height:6px;border:none;border-radius:3px;background:var(--m11b-hot)}
.arch-lab .m11b-key-strip{height:8px;border-radius:2px;background:linear-gradient(90deg,var(--m11b-on) 0 30%,var(--m11b-strip) 30%)}
.arch-lab .m11b-key-cnt{width:auto;height:auto;border:none;font-weight:700;font-size:13px}
.arch-lab .m11b-key-cnt::before{content:'44 из 87'}
.arch-lab .phx-svg .m11b-tag{stroke:#1f2937;stroke-width:1}
.arch-lab .phx-svg .m11b-tag-t{font-size:13px;font-weight:700;fill:#fff;stroke:none}
.arch-lab .phx-svg .m11b-string{stroke-width:2.5;stroke-linecap:round;opacity:.75}
.arch-lab .phx-svg .m11b-bead-g{cursor:pointer;outline:none}
.arch-lab .phx-svg .m11b-bead-g:focus-visible .m11b-bead{stroke:var(--arch-focus);stroke-width:3.5}
.arch-lab .phx-svg .m11b-bead{fill:var(--m11b-bead);stroke:var(--m11b-bead-edge);stroke-width:1.3}
.arch-lab .phx-svg .m11b-on{fill:var(--m11b-on);stroke:#1e3a8a}
.arch-lab .phx-svg .m11b-hot{fill:var(--m11b-hot);stroke:#7f1d1d}
.arch-lab .phx-svg .m11b-num{font-size:11.5px;font-weight:700;fill:#1f2937;stroke:none;font-variant-numeric:tabular-nums;pointer-events:none}
.arch-lab .phx-svg .m11b-num-on{fill:#fff}
.arch-lab .phx-svg .m11b-link{stroke:var(--m11b-hot);stroke-width:6;stroke-linecap:round}
.arch-lab .phx-svg .m11b-more{font-size:16px;font-weight:700;fill:var(--arch-muted);stroke:none}
.arch-lab .phx-svg .m11b-strip{fill:var(--m11b-strip);stroke:none}
.arch-lab .phx-svg .m11b-strip-on{fill:var(--m11b-on);stroke:none}
.arch-lab .phx-svg .m11b-strip-bad{fill:var(--m11b-hot);stroke:none}
.arch-lab .phx-svg .m11b-win{fill:none;stroke:var(--arch-fig-line);stroke-width:1.2}
.arch-lab .phx-svg .m11b-cnt{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.arch-lab .m11b-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m11b-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m11b-frac>span:last-child{padding:0 .2em}

/* Phystech 2026/27 math 11 round II №3 (m11r2-3-sigma): divisor cards, chalk board, the ribbon 1…N. m11a-* helpers repeated (see 11 №1). */
.arch-lab{--m11c-card:#fffdf7;--m11c-edge:#c9b98f;--m11c-yes:#fdba74;--m11c-no:#e2e8f0;--m11c-cell:#f8fafc;--m11c-sq:#1d4ed8;--m11c-dq:#047857}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--m11c-card:#f3efe2;--m11c-edge:#8f8466;--m11c-yes:#c2410c;--m11c-no:#475569;--m11c-cell:#1e293b;--m11c-sq:#93c5fd;--m11c-dq:#6ee7b7}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--m11c-card:#f3efe2;--m11c-edge:#8f8466;--m11c-yes:#c2410c;--m11c-no:#475569;--m11c-cell:#1e293b;--m11c-sq:#93c5fd;--m11c-dq:#6ee7b7}
.arch-lab .m11a-state{margin:0;padding:8px 12px;border-radius:10px;background:var(--p25-paper);color:var(--arch-ink);font-weight:600;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.arch-lab .m11a-key{display:inline-block;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--arch-fig-line);flex:0 0 auto}
.arch-lab .m11c-key-card{background:var(--m11c-card);border-color:var(--m11c-edge);width:16px;height:20px}
.arch-lab .m11c-key-odd{background:linear-gradient(var(--m11c-card),var(--m11c-card)) padding-box;border-top:6px solid #f97316;border-color:#f97316 var(--m11c-edge) var(--m11c-edge);width:16px;height:20px}
.arch-lab .m11c-key-root{background:var(--m11c-card);border:3px solid #ca8a04;width:16px;height:20px}
.arch-lab .m11c-key-yes{background:var(--m11c-yes)}
.arch-lab .m11c-key-no{background:var(--m11c-no)}
.arch-lab .m11c-key-cur{border:3px solid var(--arch-focus)}
.arch-lab .m11c-key-sq{border-radius:50%;border:3px solid var(--m11c-sq);box-shadow:4px 0 0 -1px var(--m11c-dq)}
.arch-lab .phx-svg .m11c-wood{fill:var(--p25-wood);stroke:#7c4a25;stroke-width:1}
.arch-lab .phx-svg .m11c-board{fill:var(--p25-board);stroke:none}
.arch-lab .phx-svg .m11c-chalk{fill:var(--p25-board-ink);stroke:none;font-size:20px;font-weight:600;font-family:"Comic Sans MS","Chalkboard SE","Segoe Print",system-ui,sans-serif}
.arch-lab .phx-svg .m11c-chalk-s{font-size:15px;font-weight:500}
.arch-lab .phx-svg .m11c-chalk-odd{fill:#fdba74;font-weight:700}
.arch-lab .phx-svg .m11c-shadow{fill:#0f172a;opacity:.2;stroke:none}
.arch-lab .phx-svg .m11c-card{fill:var(--m11c-card);stroke:var(--m11c-edge);stroke-width:1.5}
.arch-lab .phx-svg .m11c-root{stroke:#ca8a04;stroke-width:3.5}
.arch-lab .phx-svg .m11c-stripe{fill:#f97316;stroke:none}
.arch-lab .phx-svg .m11c-card-t{font-weight:700;fill:#1f2937;stroke:none;font-variant-numeric:tabular-nums}
.arch-lab .phx-svg .m11c-tie{stroke:var(--arch-fig-line);stroke-width:2}
.arch-lab .phx-svg .m11c-times{font-size:13px;font-weight:700;fill:var(--arch-muted);stroke:none}
.arch-lab .phx-svg .m11c-root-t{font-size:13px;font-weight:700;fill:#a16207}
.arch-lab .phx-svg .m11c-head{font-size:14px;font-weight:600}
.arch-lab .phx-svg .m11c-cell{fill:var(--m11c-cell);stroke:var(--arch-grid);stroke-width:.8;cursor:pointer}
.arch-lab .phx-svg .m11c-yes{fill:var(--m11c-yes)}
.arch-lab .phx-svg .m11c-no{fill:var(--m11c-no)}
.arch-lab .phx-svg .m11c-cell-t{fill:var(--arch-ink);stroke:none;font-variant-numeric:tabular-nums}
.arch-lab .phx-svg .m11c-mark-sq{fill:none;stroke:var(--m11c-sq);stroke-width:2.5}
.arch-lab .phx-svg .m11c-mark-dq{fill:none;stroke:var(--m11c-dq);stroke-width:2.5}
.arch-lab .phx-svg .m11c-cur{fill:none;stroke:var(--arch-focus);stroke-width:3;pointer-events:none}
.arch-lab .m113-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m113-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m113-frac>span:last-child{padding:0 .2em}
.arch-lab .m113-sqrt{display:inline-flex;align-items:flex-start;white-space:nowrap}
.arch-lab .m113-sqrt>span{border-top:1.5px solid currentColor;padding:1px .15em 0;margin-left:.05em}

/* Phystech 2026/27 math 11 round II №4 (m11r2-4-orthocenter): exact triangle, MEF, distances from H. m11a-* helpers repeated (see 11 №1). */
.arch-lab .m11a-state{margin:0;padding:8px 12px;border-radius:10px;background:var(--p25-paper);color:var(--arch-ink);font-weight:600;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.arch-lab .m11a-key{display:inline-block;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--arch-fig-line);flex:0 0 auto}
.arch-lab .m11d-key-tri{background:#dbeafe}
.arch-lab .m11d-key-mef{background:#bbf7d0;border-color:#047857}
.arch-lab .m11d-key-d12{height:0;border:none;border-top:3px dashed #ea580c;border-radius:0}
.arch-lab .m11d-key-d3{height:0;border:none;border-top:3px dashed #2563eb;border-radius:0}
.arch-lab .m11d-key-circ{border-radius:50%;border:2px dashed #0284c7}
.arch-lab .phx-svg .m11d-tri{fill:var(--phx-a);fill-opacity:.08;stroke:var(--arch-fig-line);stroke-width:2;stroke-linejoin:round}
.arch-lab .phx-svg .m11d-mef{fill:var(--phx-c);fill-opacity:.2;stroke:none}
.arch-lab .phx-svg .m11d-side{stroke:var(--phx-c);stroke-width:2.5;stroke-linecap:round}
.arch-lab .phx-svg .m11d-alt{stroke:var(--arch-muted);stroke-width:1.5}
.arch-lab .phx-svg .m11d-d12{stroke:#ea580c;stroke-width:2.2;stroke-dasharray:5 3}
.arch-lab .phx-svg .m11d-d3{stroke:#2563eb;stroke-width:2.4;stroke-dasharray:5 3}
.arch-lab .phx-svg .m11d-t12{font-size:13px;font-weight:700;fill:#c2410c}
.arch-lab .phx-svg .m11d-t3{font-size:13px;font-weight:700;fill:#1d4ed8}
.arch-lab .phx-svg .m11d-h{fill:#dc2626;stroke:var(--arch-surface);stroke-width:1.5}
.arch-lab .phx-svg .m11d-circ-a{fill:none;stroke:#0284c7;stroke-width:1.6;stroke-dasharray:6 4}
.arch-lab .phx-svg .m11d-circ-b{fill:none;stroke:#ea580c;stroke-width:1.6;stroke-dasharray:6 4}
.arch-lab .phx-svg .m11d-gauge{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.arch-lab .phx-svg .m11d-gauge-s{font-size:13px;font-weight:600;fill:var(--arch-muted)}
.arch-lab .phx-svg .m11d-gauge-ok{fill:var(--arch-good)}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg .m11d-t12{fill:#fdba74}:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg .m11d-t3{fill:#93c5fd}:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg .m11d-d3{stroke:#60a5fa}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg .m11d-t12{fill:#fdba74}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg .m11d-t3{fill:#93c5fd}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg .m11d-d3{stroke:#60a5fa}
/* the state of the solution (R07) and fractions with a bar in the text of the lab */
.arch-lab .m11d-ex{margin:0;padding:10px 14px;border-radius:10px;border:1.5px solid var(--arch-good);background:var(--p25-paper);color:var(--arch-ink);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.arch-lab .m11d-ex p{margin:0 0 4px}
.arch-lab .m11d-ex ul{margin:0;padding-left:0;list-style:none}
.arch-lab .m11d-ex li{margin:4px 0}
.arch-lab .m11d-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m11d-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m11d-frac>span:last-child{padding:0 .2em}
.arch-lab .m11d-sqrt{display:inline-flex;align-items:flex-start;white-space:nowrap}
.arch-lab .m11d-sqrt>span{border-top:1.5px solid currentColor;padding:1px .15em 0;margin-left:.05em}

/* Phystech 2026/27 math 11 round II №5 (m11r2-5-trig): graph with the roots of two families. m11a-* helpers repeated (see 11 №1). */
.arch-lab{--m11e-out:#eef2f7;--m11e-seg:#ffffff;--m11e-b:#2563eb;--m11e-o:#ea580c;--m11e-n:#0f766e;--m11e-m:#15803d}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--m11e-out:#1b2333;--m11e-seg:#0f172a;--m11e-b:#60a5fa;--m11e-o:#fb923c;--m11e-n:#2dd4bf;--m11e-m:#4ade80}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--m11e-out:#1b2333;--m11e-seg:#0f172a;--m11e-b:#60a5fa;--m11e-o:#fb923c;--m11e-n:#2dd4bf;--m11e-m:#4ade80}
.arch-lab .m11a-state{margin:0;padding:8px 12px;border-radius:10px;background:var(--p25-paper);color:var(--arch-ink);font-weight:600;font-size:15px;line-height:1.45;overflow-wrap:anywhere}
.arch-lab .m11a-key{display:inline-block;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--arch-fig-line);flex:0 0 auto}
.arch-lab .m11e-key-curve{height:0;border:none;border-top:3px solid #7c3aed;border-radius:0}
.arch-lab .m11e-key-b{border-radius:50%;background:var(--m11e-b);border-color:var(--m11e-b)}
.arch-lab .m11e-key-o{border-radius:50%;background:var(--m11e-o);border-color:var(--m11e-o)}
.arch-lab .m11e-key-end{border-radius:50%;border:2.5px solid var(--arch-fig-line);background:transparent}
.arch-lab .m11e-key-seg{width:28px;background:linear-gradient(90deg,var(--m11e-out) 0 25%,var(--m11e-seg) 25% 75%,var(--m11e-out) 75%)}
.arch-lab .m11e-table{display:grid;gap:4px;overflow-x:auto}
.arch-lab .m11e-t{border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:15px}
.arch-lab .m11e-t td:first-child{text-align:left}
.arch-lab .m11e-dot{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px}
.arch-lab .m11e-dot-b{background:var(--m11e-b)}
.arch-lab .m11e-dot-o{background:var(--m11e-o)}
.arch-lab .phx-svg .m11e-out{fill:var(--m11e-out);stroke:none}
.arch-lab .phx-svg .m11e-seg{fill:var(--m11e-seg);stroke:none}
.arch-lab .phx-svg .m11e-curve{fill:none;stroke:#7c3aed;stroke-width:2.4;stroke-linejoin:round}
.arch-lab .phx-svg .m11e-end{stroke:var(--arch-fig-line);stroke-width:1.5;stroke-dasharray:6 4}
.arch-lab .phx-svg .m11e-end-t{font-size:13px;font-weight:700}
.arch-lab .phx-svg .m11e-axis-name{font-size:13px;font-weight:700;font-style:italic}
.arch-lab .phx-svg .m11e-r1{fill:var(--m11e-b);stroke:var(--arch-surface);stroke-width:1.5}
.arch-lab .phx-svg .m11e-r2{fill:var(--m11e-o);stroke:var(--arch-surface);stroke-width:1.5}
.arch-lab .phx-svg .m11e-ring{fill:none;stroke:var(--arch-fig-line);stroke-width:2}
.arch-lab .phx-svg .m11e-arc{fill:none;stroke:var(--m11e-o);stroke-width:1.6;opacity:.85}
.arch-lab .phx-svg .m11e-mid{fill:var(--arch-fig-line);stroke:none}
.arch-lab .phx-svg .phx-grid{opacity:.7}
.arch-lab .m11e-t td.phx-secret{color:var(--arch-muted);font-weight:700;text-align:center}
.arch-lab .m11e-key-n{border-radius:50%;background:var(--m11e-n);border-color:var(--m11e-n)}
.arch-lab .phx-svg .m11e-r0{fill:var(--m11e-n);stroke:var(--arch-surface);stroke-width:1.5}
/* stepwise help (11 №5): the buttons of the steps not opened yet and the text of the opened ones */
.arch-lab .m11e-help{display:grid;gap:8px;border-top:1px solid var(--arch-soft-line);padding-top:12px}
.arch-lab .m11e-help-head{margin:0;font-size:14px;font-weight:700;color:var(--arch-ink)}
.arch-lab .m11e-help-text{display:grid;gap:8px}
.arch-lab .m11e-help-text p{margin:0;padding:8px 12px;border-left:3px solid var(--m11e-o);border-radius:6px;background:var(--p25-paper);color:var(--arch-ink);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
/* real fractions and roots in the texts of the model (11 №5) */
.arch-lab .m11e-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.1;padding:.1em 0;font-size:.92em;font-variant-numeric:tabular-nums;margin:0 .08em}
.arch-lab .m11e-frac>span:first-child{border-bottom:1.3px solid currentColor;padding:0 .15em}
.arch-lab .m11e-frac>span:last-child{padding:0 .15em}
.arch-lab .m11e-sqrt{display:inline-flex;align-items:stretch;vertical-align:middle;white-space:nowrap;padding:.3em 0 .1em}
.arch-lab .m11e-sqrt-sign{display:flex;align-items:flex-end;font-size:1.25em;line-height:1;padding-bottom:.05em}
.arch-lab .m11e-sqrt-body{border-top:1.3px solid currentColor;padding:0 .1em;display:inline-flex;align-items:center}
/* U08: mirror pairs about the centre of the official segment */
.arch-lab .phx-svg .m11e-mirror{fill:none;stroke:var(--m11e-m);stroke-width:1.5;opacity:.9}
.arch-lab .phx-svg .m11e-center-line{stroke:var(--m11e-m);stroke-width:1.6;stroke-dasharray:3 4}
.arch-lab .phx-svg .m11e-center{fill:none;stroke:var(--m11e-m);stroke-width:3}
.arch-lab .phx-svg .m11e-center-t{font-size:13px;font-weight:700;fill:var(--m11e-m)}
.arch-lab .m11e-key-mirror{height:10px;border:2px solid var(--m11e-m);border-bottom:none;border-radius:10px 10px 0 0;background:transparent}
.arch-lab .m11e-key-center{border-radius:50%;border:3px solid var(--m11e-m);background:transparent}

/* 11 №6 (m11r2-6-recurrence): conveyor of fraction cards, chalkboard with real fractions, coins with the reciprocals */
.arch-lab .phx-svg .m116-belt{fill:#475569;stroke:var(--arch-fig-line);stroke-width:1.2}
.arch-lab .phx-svg .m116-roller{fill:#cbd5e1;stroke:#334155;stroke-width:1}
.arch-lab .phx-svg .m116-bar-card{stroke:#1f2937}
.arch-lab .phx-svg .m116-bar-board{stroke:var(--p25-board-ink)}
.arch-lab .phx-svg .m116-bar-ink{stroke:var(--arch-fig-line)}
.arch-lab .phx-svg .m116-coin{fill:#fde68a;stroke:#b45309;stroke-width:2}
.arch-lab .phx-svg .m116-arc{fill:none;stroke:var(--phx-b);stroke-width:2.2;stroke-linecap:round}
.arch-lab .phx-svg .m116-in{animation:m116-in .45s ease-out}
@keyframes m116-in{from{transform:translateX(-26px);opacity:.2}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.arch-lab .phx-svg .m116-in{animation:none}}
.arch-lab .phx-svg.m116-key{width:30px;height:18px;flex:0 0 auto;display:inline-block}
.arch-lab .phx-svg .m116-key-card{fill:var(--p25-card);stroke:var(--p25-card-edge);stroke-width:1.5}
.arch-lab .phx-svg .m116-key-new{fill:var(--p25-card);stroke:var(--arch-focus);stroke-width:2.5}
.arch-lab .phx-svg .m116-key-board{fill:var(--p25-board);stroke:var(--p25-wood);stroke-width:2.5}
.arch-lab .phx-svg .m116-key-coin{fill:#fde68a;stroke:#b45309;stroke-width:2}
.arch-lab .phx-svg .m116-key-arc{fill:none;stroke:var(--phx-b);stroke-width:2.2}
.arch-lab .m116-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.1;font-variant-numeric:tabular-nums;margin:0 .1em}
.arch-lab .m116-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m116-frac>span:last-child{padding:0 .2em}

/* 11 №7 (m11r2-7-homothety): Ω, ω, the chords MK (green) and XY (orange), the homothety from P */
.arch-lab .phx-svg .m117-big{fill:var(--phx-water);stroke:var(--arch-fig-line);stroke-width:2}
.arch-lab .phx-svg .m117-small{fill:var(--phx-a);fill-opacity:.2;stroke:var(--phx-a);stroke-width:2.2}
.arch-lab .phx-svg .m117-image{fill:none;stroke:var(--phx-a);stroke-width:1.8;stroke-dasharray:6 4}
.arch-lab .phx-svg .m117-tangent{stroke:var(--phx-a);stroke-width:1.6;stroke-dasharray:6 4}
.arch-lab .phx-svg .m117-ray{stroke:var(--phx-d);stroke-width:1.8}
.arch-lab .phx-svg .m117-mk{stroke:var(--phx-c);stroke-width:4.5;stroke-linecap:round}
.arch-lab .phx-svg .m117-xy{stroke:var(--phx-b);stroke-width:4.5;stroke-linecap:round}
.arch-lab .phx-svg .m117-radius{stroke:var(--phx-b);stroke-width:1.8;stroke-dasharray:5 4}
.arch-lab .phx-svg .m117-right{stroke:var(--phx-b);stroke-width:1.6;fill:none}
.arch-lab .phx-svg .m117-angle{fill:none;stroke:var(--phx-d);stroke-width:2}
.arch-lab .phx-svg .m117-badge{fill:var(--arch-surface);stroke-width:2.5}
.arch-lab .phx-svg .m117-badge-mk{stroke:var(--phx-c)}
.arch-lab .phx-svg .m117-badge-xy{stroke:var(--phx-b)}
.arch-lab .phx-svg .m117-t-mk{fill:var(--phx-c);font-weight:700}
.arch-lab .phx-svg .m117-t-xy{fill:var(--phx-b);font-weight:700}
.arch-lab .phx-svg .m117-t-angle{fill:var(--phx-d);font-weight:700}
.arch-lab .phx-svg .m117-t-big{fill:var(--arch-muted);font-style:italic}
.arch-lab .phx-svg.m117-key{width:30px;height:18px;flex:0 0 auto;display:inline-block}
/* the state of the solution (R07) and fractions with a bar in the text of the lab */
.arch-lab .m117-ex{margin:0;padding:10px 14px;border-radius:10px;border:1.5px solid var(--arch-good);background:var(--p25-paper);color:var(--arch-ink);font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.arch-lab .m117-ex p{margin:0 0 4px}
.arch-lab .m117-ex ul{margin:0;padding-left:0;list-style:none}
.arch-lab .m117-ex li{margin:4px 0}
.arch-lab .m117-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m117-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m117-frac>span:last-child{padding:0 .2em}

/* 11 №8 (m11r2-8-segments): a wooden ruler with metal pegs, coloured bands for the segments, the squeezed ruler */
.arch-lab .phx-svg .m118-wood{fill:var(--p25-wood);stroke:var(--arch-fig-line);stroke-width:1.2}
.arch-lab .phx-svg .m118-tick{stroke:#3f2a14;stroke-width:1.2}
.arch-lab .phx-svg .m118-peg{fill:#cbd5e1;stroke:#334155;stroke-width:1.4}
.arch-lab .phx-svg .m118-peg-a{fill:var(--phx-a)}
.arch-lab .phx-svg .m118-peg-c{fill:var(--phx-c)}
.arch-lab .phx-svg .m118-peg-d{fill:var(--phx-d)}
.arch-lab .phx-svg .m118-band{stroke-width:7;stroke-linecap:round}
.arch-lab .phx-svg .m118-post{stroke-width:2;stroke-dasharray:3 3}
.arch-lab .phx-svg .m118-c-a{stroke:var(--phx-a)}
.arch-lab .phx-svg .m118-c-c{stroke:var(--phx-c)}
.arch-lab .phx-svg .m118-c-d{stroke:var(--phx-d)}
.arch-lab .phx-svg .m118-bad{stroke:var(--arch-bad)}
.arch-lab .phx-svg .m118-t-a{fill:var(--phx-a);font-weight:700}
.arch-lab .phx-svg .m118-t-c{fill:var(--phx-c);font-weight:700}
.arch-lab .phx-svg .m118-t-d{fill:var(--phx-d);font-weight:700}
.arch-lab .phx-svg .m118-t-bad{fill:var(--arch-bad);font-weight:700}
.arch-lab .phx-svg .m118-clash{fill:none;stroke:var(--arch-bad);stroke-width:3}
.arch-lab .phx-svg .m118-pending{fill:none;stroke:var(--arch-focus);stroke-width:3}
.arch-lab .phx-svg .m118-cursor{fill:none;stroke:var(--arch-focus);stroke-width:2;stroke-dasharray:4 3}
.arch-lab .phx-svg .m118-arrow{stroke:var(--arch-muted);stroke-width:1.6;stroke-dasharray:4 3}
.arch-lab .phx-svg:focus-visible{outline:3px solid var(--arch-focus);outline-offset:2px}
.arch-lab .phx-svg.m118-key{width:30px;height:18px;flex:0 0 auto;display:inline-block}
.arch-lab .m118-cursor button{min-width:48px;min-height:44px}

/* 11 №9 (m11r2-9-interp): three nests for B(r₁), B(r₂), B(r₃), the graph through three nodes of a 3 × 3 grid, the table of 27 sets */
.arch-lab .m119-nests{display:grid;gap:8px}
.arch-lab .m119-nest{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:6px 10px;border:1px solid var(--arch-soft-line);border-radius:14px;background:var(--p25-paper)}
.arch-lab .m119-nest-name{font-weight:700;min-width:5.5em;font-variant-numeric:tabular-nums;color:var(--arch-label)}
.arch-lab .m119-tile{min-width:52px;font-size:18px}
.arch-lab .m119-tile.m119-on{background:var(--arch-pressed-bg);border-color:var(--arch-pressed-line);box-shadow:inset 0 0 0 2px var(--arch-pressed-line)}
.arch-lab .phx-svg .m119-paper{fill:var(--phx-paper);stroke:var(--arch-grid);stroke-width:1}
.arch-lab .phx-svg .m119-guide{stroke:var(--arch-grid);stroke-width:1.2;stroke-dasharray:5 4}
.arch-lab .phx-svg .m119-node{fill:var(--arch-surface);stroke:var(--arch-muted);stroke-width:1.6}
.arch-lab .phx-svg .m119-pt{fill:var(--phx-c);stroke:var(--arch-surface);stroke-width:2}
.arch-lab .phx-svg .m119-pt-bad{fill:var(--arch-bad)}
.arch-lab .phx-svg .m119-curve{fill:none;stroke:var(--phx-a);stroke-width:3}
.arch-lab .phx-svg .m119-curve-flat{stroke:var(--arch-bad);stroke-dasharray:7 4}
.arch-lab .phx-svg .m119-bar{stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .m119-formula{font-weight:600}
.arch-lab .phx-svg .m119-good{fill:var(--arch-good);font-weight:700}
.arch-lab .phx-svg .m119-bad{fill:var(--arch-bad);font-weight:700}
.arch-lab .phx-svg .m119-plabel{font-weight:600}
.arch-lab .phx-svg .m119-cell-good{fill:var(--arch-ok-bg);stroke:var(--arch-good);stroke-width:1.5}
.arch-lab .phx-svg .m119-cell-bad{fill:var(--arch-clear);stroke:var(--arch-muted);stroke-width:1.5}
.arch-lab .phx-svg.m119-key{width:30px;height:18px;flex:0 0 auto;display:inline-block}
.arch-lab .m119-count{margin:0;font-weight:600;font-variant-numeric:tabular-nums}
.arch-lab .m119-table{display:flex;flex-wrap:wrap;gap:10px 14px}
.arch-lab .m119-block{display:grid;gap:4px}
.arch-lab .m119-block-title{margin:0;font-size:14px;font-weight:600;color:var(--arch-label)}
.arch-lab .m119-grid{display:grid;grid-template-columns:repeat(3,minmax(44px,auto));gap:4px}
.arch-lab .m119-cell{min-width:44px;min-height:44px;padding:2px 6px;border-radius:8px;border:1px solid var(--arch-field-line);background:var(--arch-surface);color:var(--arch-ink);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.arch-lab .m119-cell.m119-cell-good{background:var(--arch-ok-bg);border-color:var(--arch-good)}
.arch-lab .m119-cell.m119-cell-bad{background:var(--arch-clear);border-color:var(--arch-muted);color:var(--arch-muted);text-decoration:line-through}
.arch-lab .m119-cell.m119-cell-now{box-shadow:inset 0 0 0 3px var(--arch-focus)}

/* 9-II №1 «Наборы параллельных прямых»: squared paper, coloured sets of lines, glowing crossing points, table of pairs. */
.arch-lab{--m91-paper:#fffdf6;--m91-grid:#dfe7f2;--m91-pt:#f59e0b;--m91-pt-edge:#7c2d12;--m91-cell-on:#fef3c7;--m91-glow:#fbbf24;--m91-cell-ink:#1f2937}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--m91-paper:#16202f;--m91-grid:#253247;--m91-cell-on:#4a3a12;--m91-pt-edge:#fde68a;--m91-cell-ink:#fff7d6}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--m91-paper:#16202f;--m91-grid:#253247;--m91-cell-on:#4a3a12;--m91-pt-edge:#fde68a;--m91-cell-ink:#fff7d6}
.arch-lab .phx-svg .m91-paper{fill:var(--m91-paper);stroke:var(--arch-soft-line);stroke-width:1.5}
.arch-lab .phx-svg .m91-grid line{stroke:var(--m91-grid);stroke-width:1}
.arch-lab .phx-svg .m91-line{stroke-linecap:round}
.arch-lab .phx-svg .m91-pt,.arch-lab .m91-sw .m91-pt{fill:var(--m91-pt);stroke:var(--m91-pt-edge);stroke-width:1.5}
.arch-lab .phx-svg .m91-glow{fill:var(--m91-glow);fill-opacity:.35;stroke:none}
.arch-lab .phx-svg .m91-pt-dim,.arch-lab .m91-sw .m91-pt-dim{fill:var(--arch-muted)}
.arch-lab .phx-svg .m91-badge{stroke:#fff;stroke-width:2}
.arch-lab svg .m91-badge-text{fill:#fff;stroke:none;font-weight:700;font-size:12px}
.arch-lab .phx-svg .m91-bubble{fill:var(--p25-card);stroke:var(--p25-card-edge);stroke-width:1.5}
.arch-lab .phx-svg .m91-head{fill:#1f2937;stroke:none;font-weight:700;font-size:15px}
.arch-lab .phx-svg .m91-head-sm{font-size:12.5px}
.arch-lab .phx-svg .m91-th{stroke:none;font-weight:700;font-size:13px}
.arch-lab .phx-svg .m91-cell,.arch-lab .m91-sw .m91-cell{fill:var(--arch-surface);stroke:var(--arch-soft-line);stroke-width:1}
.arch-lab .phx-svg .m91-cell-on,.arch-lab .m91-sw .m91-cell-on{fill:var(--m91-cell-on);stroke:#d97706}
.arch-lab .phx-svg .m91-cell-sel{stroke:var(--arch-focus);stroke-width:3}
.arch-lab .phx-svg .m91-cell-text{fill:var(--m91-cell-ink);stroke:none;font-weight:700}
.arch-lab .m91-chips{gap:6px}
.arch-lab .m91-chip{font-variant-numeric:tabular-nums;min-width:46px;padding:8px 10px;border-bottom:5px solid var(--m91-c)}
.arch-lab .m91-chip[aria-pressed=true]{font-weight:700;background:var(--m91-c);color:#fff;border-color:var(--m91-c)}
.arch-lab .m91-chips-head{margin-bottom:-6px}
.arch-lab .m91-sw{flex:0 0 auto}
.arch-lab .m91-sw line{stroke-linecap:round}
/* phones: the whole scene stays readable (the shared 40vh cap would shrink this tall drawing) */
@media (max-width:600px) and (min-height:500px){.arch-lab .phx-stage.m9a-stage{max-height:none}.arch-lab .phx-stage.m9a-stage .phx-svg{max-height:none}}
.arch-lab .phx-stage.m9a-stage .phx-svg{max-height:none}
.arch-lab .m91-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m91-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m91-frac>span:last-child{padding:0 .2em}

/* math 9, round II, problem 10: shelves of numbers with the same [√n] (colours of lab.css, both themes) */
.arch-lab .phx-svg .m910-wall{fill:var(--p25-paper);stroke:var(--arch-soft-line);stroke-width:1}
.arch-lab .phx-svg .m910-cur{fill:#fde68a;fill-opacity:.35;stroke:#d97706;stroke-width:1.2;stroke-dasharray:5 4}
.arch-lab .phx-svg .m910-plank{fill:var(--p25-wood);stroke:var(--arch-fig-line);stroke-width:1}
.arch-lab .phx-svg .m910-bead{fill:#64748b;stroke:none}
.arch-lab .phx-svg .m910-ghost{fill:none;stroke:#94a3b8;stroke-width:1;stroke-dasharray:2 2}
.arch-lab .phx-svg .m910-tok{fill:#f59e0b;stroke:#b45309;stroke-width:1.5}
.arch-lab .phx-svg .m910-tok-out{fill:var(--arch-surface);stroke:#94a3b8;stroke-width:1.4;stroke-dasharray:3 2}
.arch-lab .phx-svg .m910-tok-shadow{fill:#0f172a;fill-opacity:.15;stroke:none}
.arch-lab .phx-svg text.m910-tok-text{fill:#1f2937;font-weight:800;stroke:none}
.arch-lab .phx-svg text.m910-out{fill:#94a3b8}
.arch-lab .phx-svg .m910-cross{stroke:var(--arch-bad);stroke-width:2;stroke-linecap:round}
.arch-lab .phx-svg .m910-badge{fill:#dcfce7;stroke:var(--arch-good);stroke-width:1.5}
.arch-lab .phx-svg text.m910-badge-text{fill:#065f46;font-weight:800;font-size:15px;stroke:none}
.arch-lab .phx-svg .m910-head{font-size:12.5px;fill:var(--arch-muted)}
.arch-lab .phx-svg .m910-k{font-size:15px;font-weight:700;fill:var(--phx-a)}
.arch-lab .phx-svg .m910-range{font-size:12px;fill:var(--arch-muted)}
.arch-lab .phx-svg .m910-total{font-size:15px;font-weight:700;fill:var(--arch-ink)}
.arch-lab .m910-sw{display:inline-block;flex:0 0 auto}
.arch-lab .m910-sw-tok{width:18px;height:18px;border-radius:50%;background:#f59e0b;border:1.5px solid #b45309}
.arch-lab .m910-sw-bead{width:8px;height:8px;border-radius:50%;background:#64748b}
.arch-lab .m910-sw-ghost{width:16px;height:16px;border-radius:50%;border:1.5px dashed #94a3b8}
.arch-lab .m910-sw-badge{width:18px;height:18px;border-radius:50%;background:#dcfce7;border:1.5px solid var(--arch-good)}

/* 9-II №2 «Пары и делимость на сумму»: the board of pairs (a; b) above the diagonal. */
.arch-lab{--m92-cell:#fef9c3;--m92-cell-edge:#e5d9a0;--m92-good:#86efac;--m92-good-edge:#15803d;--m92-bad:#cbd5e1;--m92-bad-edge:#94a3b8;--m92-ray:#7c3aed}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--m92-cell:#3b3a1e;--m92-cell-edge:#5c5a2e;--m92-good:#166534;--m92-good-edge:#4ade80;--m92-bad:#334155;--m92-bad-edge:#475569;--m92-ray:#c4b5fd}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--m92-cell:#3b3a1e;--m92-cell-edge:#5c5a2e;--m92-good:#166534;--m92-good-edge:#4ade80;--m92-bad:#334155;--m92-bad-edge:#475569;--m92-ray:#c4b5fd}
.arch-lab .m92-board{padding:6px}
.arch-lab .m92-board svg.m92-svg{width:100%;height:auto;max-height:none;cursor:pointer}
.arch-lab .arch-zoomed .m92-board svg.m92-svg{width:calc(var(--m92-n) * 44px + 40px);max-width:none}
.arch-lab svg .m92-cell{fill:var(--m92-cell);stroke:var(--m92-cell-edge);stroke-width:1}
.arch-lab svg .m92-good{fill:var(--m92-good);stroke:var(--m92-good-edge)}
.arch-lab svg .m92-bad{fill:var(--m92-bad);stroke:var(--m92-bad-edge)}
.arch-lab svg .m92-sel{fill:var(--m92-cell);stroke:var(--arch-focus);stroke-width:3}
.arch-lab svg .m92-selbox{fill:none;stroke:var(--arch-focus);stroke-width:3}
.arch-lab svg .m92-cursor{fill:none;stroke:var(--arch-link);stroke-width:2;stroke-dasharray:4 3}
.arch-lab svg .m92-diag{stroke:var(--arch-muted);stroke-width:1.5;stroke-dasharray:6 4}
.arch-lab svg .m92-ray{stroke:var(--m92-ray);stroke-width:2.5;stroke-dasharray:8 5;opacity:.85}
.arch-lab svg .m92-q{font-weight:700;fill:#14532d;stroke:none}
.arch-lab svg .m92-axis{font-weight:700;font-size:13px;fill:var(--arch-label)}
.arch-lab svg .m92-lead{stroke:var(--arch-focus);stroke-width:1.5;stroke-dasharray:3 3}
.arch-lab svg .m92-plate{fill:var(--p25-card);stroke:var(--p25-card-edge);stroke-width:1.5}
.arch-lab svg .m92-plate-ok{stroke:#15803d;stroke-width:2.5}
.arch-lab svg .m92-plate-text{fill:#1f2937;stroke:none;font-weight:600}
.arch-lab .m92-xy[hidden]{display:none}
.arch-lab .m92-fam{margin:4px 0;padding-left:1.2em}
.arch-lab .m92-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.1;font-variant-numeric:tabular-nums;margin:0 .1em}
.arch-lab .m92-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m92-frac>span:last-child{padding:0 .2em}

/* 9-II №3 «Две окружности в угле треугольника»: exact triangle, incircle Ω (blue), trial circle ω (orange). */
.arch-lab{--m93-tri:#e0ecff;--m93-o:#ea580c;--m93-b:#1d4ed8;--m93-ok:#16a34a}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--m93-tri:#1c2a44;--m93-o:#fb923c;--m93-b:#93c5fd;--m93-ok:#4ade80}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--m93-tri:#1c2a44;--m93-o:#fb923c;--m93-b:#93c5fd;--m93-ok:#4ade80}
.arch-lab svg .m93-tri{fill:var(--m93-tri);stroke:none}
.arch-lab svg .m93-side{stroke:var(--arch-fig-line);stroke-width:2.2;stroke-linecap:round}
.arch-lab svg .m93-ext{stroke:var(--arch-muted);stroke-width:1.4;stroke-dasharray:6 5}
.arch-lab svg .m93-bis{stroke:#7c3aed;stroke-width:1.5;stroke-dasharray:3 4}
.arch-lab svg .m93-arc{fill:none;stroke:#7c3aed;stroke-width:1.8}
.arch-lab svg .m93-omega-big{fill:var(--m93-b);fill-opacity:.1;stroke:var(--m93-b);stroke-width:2.5}
.arch-lab svg .m93-omega{fill:var(--m93-o);fill-opacity:.1;stroke:var(--m93-o);stroke-width:2.5}
.arch-lab svg .m93-omega-x{stroke-dasharray:7 4}
.arch-lab svg .m93-omega-ok{stroke:var(--m93-ok);fill:var(--m93-ok);fill-opacity:.12;stroke-width:3.2}
.arch-lab svg .m93-rad-b{stroke:var(--m93-b);stroke-width:2}
.arch-lab svg .m93-rad-o{stroke:var(--m93-o);stroke-width:2}
.arch-lab svg .m93-thin{stroke:var(--arch-muted);stroke-width:1;stroke-dasharray:3 3}
.arch-lab svg .m93-touch{fill:var(--m93-ok);stroke:#fff;stroke-width:2}
.arch-lab svg .m93-dot-i{fill:var(--m93-b)}
.arch-lab svg .m93-dot-o{fill:var(--m93-o)}
.arch-lab svg .m93-letter{font-weight:700;font-size:15px;stroke:none}
.arch-lab svg .m93-num{font-size:13px;font-weight:600;fill:var(--arch-label);stroke:none}
.arch-lab svg .m93-num-b{font-size:13px;font-weight:700;fill:var(--m93-b);stroke:none}
.arch-lab svg .m93-num-o{font-size:13px;font-weight:700;fill:var(--m93-o);stroke:none}
.arch-lab svg .m93-plate{font-size:14px;font-weight:700;stroke:none}
.arch-lab svg .m93-plate-ok{fill:var(--m93-ok)}
.arch-lab svg .m93-warn{font-size:16px;font-weight:700;fill:var(--arch-bad)}
/* phones: the whole scene stays readable (the shared 40vh cap would shrink this tall drawing) */
@media (max-width:600px) and (min-height:500px){.arch-lab .phx-stage.m9a-stage{max-height:none}.arch-lab .phx-stage.m9a-stage .phx-svg{max-height:none}}
.arch-lab .phx-stage.m9a-stage .phx-svg{max-height:none}
.arch-lab .m93-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m93-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m93-frac>span:last-child{padding:0 .2em}
.arch-lab .m93-sqrt{display:inline-flex;align-items:flex-start;white-space:nowrap}
.arch-lab .m93-sqrt>span{border-top:1.5px solid currentColor;padding:1px .15em 0;margin-left:.05em}

/* 9-II №4 «Гирлянда из шаров»: a wire with hooks, shiny glass balls, ✓/✗ badges, run brackets. */
.arch-lab svg .m94-wire{fill:none;stroke:#3f6212;stroke-width:3;stroke-linecap:round}
.arch-lab svg .m94-thread{stroke:#57534e;stroke-width:1.4}
.arch-lab svg .m94-cap{fill:#cbd5e1;stroke:#64748b;stroke-width:1}
.arch-lab svg .m94-glass{stroke:#1f2937;stroke-opacity:.35;stroke-width:1}
.arch-lab svg .m94-ball{cursor:pointer;outline:none}
.arch-lab svg .m94-ball:focus-visible .m94-glass{stroke:var(--arch-focus);stroke-width:3;stroke-opacity:1}
.arch-lab svg .m94-selring{fill:var(--arch-focus);fill-opacity:.25;stroke:var(--arch-focus);stroke-width:3}
.arch-lab svg .m94-ok{fill:#16a34a;stroke:#fff;stroke-width:1.5}
.arch-lab svg .m94-bad{fill:#dc2626;stroke:#fff;stroke-width:1.5}
.arch-lab svg .m94-mark{fill:#fff;stroke:none;font-size:10px;font-weight:700}
.arch-lab svg .m94-run{fill:none;stroke:var(--arch-muted);stroke-width:1.6}
.arch-lab svg .m94-run-bad{stroke:#dc2626;stroke-width:2.2}
.arch-lab svg .m94-run-text{font-size:13px;font-weight:700;fill:var(--arch-label);stroke:none}
.arch-lab svg .m94-run-text-bad{fill:#dc2626}
.arch-lab svg .m94-tally{font-size:13px;font-weight:700;stroke:none}
.arch-lab .m94-cases{margin:4px 0;padding-left:1.2em}
/* phones: the whole scene stays readable (the shared 40vh cap would shrink this tall drawing) */
@media (max-width:600px) and (min-height:500px){.arch-lab .phx-stage.m9a-stage{max-height:none}.arch-lab .phx-stage.m9a-stage .phx-svg{max-height:none}}
.arch-lab .phx-stage.m9a-stage .phx-svg{max-height:none}
.arch-lab .m94-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m94-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m94-frac>span:last-child{padding:0 .2em}

/* 9-II №5 «Подмножество без утроенных чисел»: threads of beads m, 3m, 9m, … */
.arch-lab{--m95-bead:#eef2f7;--m95-bead-edge:#94a3b8;--m95-thread:#a16207}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab{--m95-bead:#273449;--m95-bead-edge:#64748b;--m95-thread:#ca8a04}}
:root[data-design="v2"][data-theme="dark"] .arch-lab{--m95-bead:#273449;--m95-bead-edge:#64748b;--m95-thread:#ca8a04}
.arch-lab svg .m95-thread{stroke:var(--m95-thread);stroke-width:2.2;stroke-linecap:round}
.arch-lab svg .m95-bead{fill:var(--m95-bead);stroke:var(--m95-bead-edge);stroke-width:1.5}
.arch-lab svg .m95-on{stroke:#92400e;stroke-width:2}
.arch-lab svg .m95-bad{stroke:#dc2626;stroke-width:3.2}
.arch-lab svg .m95-b{cursor:pointer;outline:none}
.arch-lab svg .m95-b:focus-visible .m95-bead{stroke:var(--arch-focus);stroke-width:3.5}
.arch-lab svg .m95-num{font-weight:700;stroke:none}
.arch-lab svg .m95-num-on{fill:#451a03}
.arch-lab svg .m95-conflict{fill:none;stroke:#dc2626;stroke-width:2.6}
.arch-lab svg .m95-head{font-size:13px;fill:var(--arch-muted);stroke:none}
.arch-lab svg .m95-side{font-size:12.5px;font-weight:700;fill:var(--arch-label);stroke:none}
.arch-lab svg .m95-side2{font-size:12px;fill:var(--arch-muted);stroke:none}
.arch-lab svg .m95-side-bad{fill:#dc2626;font-weight:700}
.arch-lab .m95-key{font-size:12px;font-weight:700;color:var(--arch-label);border:1px solid var(--arch-soft-line);border-radius:6px;padding:0 6px}
.arch-lab .m95-rest{margin:0}
/* phones: the whole scene stays readable (the shared 40vh cap would shrink this tall drawing) */
@media (max-width:600px) and (min-height:500px){.arch-lab .phx-stage.m9a-stage{max-height:none}.arch-lab .phx-stage.m9a-stage .phx-svg{max-height:none}}
.arch-lab .phx-stage.m9a-stage .phx-svg{max-height:none}
.arch-lab .m95-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;font-variant-numeric:tabular-nums;margin:0 .12em}
.arch-lab .m95-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m95-frac>span:last-child{padding:0 .2em}

/* math 9, round II, problem 6: three equilateral triangles on the sides of DEFG (colours of lab.css, both themes) */
.arch-lab .phx-svg .m96-quad{fill:var(--phx-body);fill-opacity:.75;stroke:none}
.arch-lab .phx-svg .m96-pent{fill:none;stroke:var(--phx-b);stroke-width:7;stroke-opacity:.28;stroke-linejoin:round}
.arch-lab .phx-svg .m96-pent-ok{fill:none;stroke:var(--phx-c);stroke-width:7;stroke-opacity:.35;stroke-linejoin:round}
.arch-lab .phx-svg .m96-dash{stroke:var(--phx-b);stroke-width:2.4;stroke-dasharray:7 5;fill:none}
.arch-lab .phx-svg .m96-arc{fill:#f59e0b;fill-opacity:.28;stroke:#b45309;stroke-width:1.4}
.arch-lab .phx-svg .m96-right{fill:#fde68a;fill-opacity:.6;stroke:var(--arch-bad);stroke-width:1.8}
.arch-lab .phx-svg .m96-tick{stroke:var(--arch-fig-line);stroke-width:2}
.arch-lab .phx-svg .m96-pill{fill:var(--p25-paper);stroke:var(--arch-soft-line);stroke-width:1.2}
.arch-lab .phx-svg .m96-pill-ok{fill:var(--arch-ok-bg);stroke:var(--arch-good);stroke-width:1.6}
.arch-lab .phx-svg .m96-num-a{fill:var(--phx-a);font-weight:700}
.arch-lab .phx-svg .m96-num-b{fill:var(--phx-b);font-weight:700}
.arch-lab .phx-svg .m96-num-c{fill:var(--phx-c);font-weight:700}
.arch-lab .phx-svg .m96-num-d{fill:var(--phx-d);font-weight:700}
.arch-lab .phx-svg .m96-good{fill:var(--arch-good);font-weight:700}
.arch-lab .phx-svg .m96-bad{fill:var(--arch-bad);font-weight:700}
.arch-lab .m96-sw{display:inline-block;width:24px;height:14px;border-radius:3px;flex:0 0 auto;vertical-align:middle}
.arch-lab .m96-sw-a{background:color-mix(in srgb,var(--phx-a,#1d4ed8) 30%,transparent);border:1.5px solid var(--phx-a,#1d4ed8)}
.arch-lab .m96-sw-quad{background:var(--phx-body,#e2e8f0);border:1px solid var(--arch-soft-line)}
.arch-lab .m96-sw-pent{height:6px;background:color-mix(in srgb,var(--phx-b,#c2410c) 45%,transparent)}
.arch-lab .m96-sw-dash{height:0;border-top:2.5px dashed var(--phx-b,#c2410c)}
.arch-lab .m96-sw-arc{width:16px;height:16px;border-radius:16px 0 0 0;background:#f59e0b55;border:1.4px solid #b45309}
.arch-lab .m96-sw-right{width:14px;height:14px;border-radius:0;background:#fde68a99;border:1.8px solid var(--arch-bad)}
.arch-lab .m96-legend{--phx-a:#1d4ed8;--phx-b:#c2410c;--phx-c:#047857;--phx-d:#7c3aed;--phx-body:#e2e8f0}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .m96-legend{--phx-a:#93c5fd;--phx-b:#fdba74;--phx-c:#6ee7b7;--phx-d:#c4b5fd;--phx-body:#334155}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .m96-legend{--phx-a:#93c5fd;--phx-b:#fdba74;--phx-c:#6ee7b7;--phx-d:#c4b5fd;--phx-body:#334155}
.arch-lab .m96-sw-c{background:color-mix(in srgb,var(--phx-c) 30%,transparent);border:1.5px solid var(--phx-c)}
.arch-lab .m96-sw-d{background:color-mix(in srgb,var(--phx-d) 30%,transparent);border:1.5px solid var(--phx-d)}
.arch-lab .m96-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;margin:0 .15em}
.arch-lab .m96-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m96-frac>span:last-child{padding:0 .2em}

/* math 9, round II, problem 7: Vasya's chalkboard (board colours of lab.css, the same chalk in both themes) */
.arch-lab .phx-svg .m97-wood{fill:var(--p25-wood);stroke:var(--arch-fig-line);stroke-width:1.2}
.arch-lab .phx-svg .m97-board{fill:var(--p25-board);stroke:#0f2a1f;stroke-width:1}
.arch-lab .phx-svg .m97-rule{stroke:var(--p25-board-ink);stroke-opacity:.18;stroke-width:1}
.arch-lab .phx-svg text.m97-chalk,.arch-lab .phx-svg text.m97-odd,.arch-lab .phx-svg text.m97-badge-text{stroke:none;font-family:"Comic Sans MS","Chalkboard SE","Segoe Print",system-ui,sans-serif}
.arch-lab .phx-svg .m97-chalk{fill:var(--p25-board-ink)}
.arch-lab .phx-svg .m97-dim{fill-opacity:.78}
.arch-lab .phx-svg .m97-total{font-weight:700}
.arch-lab .phx-svg .m97-odd{fill:#fdba74;font-weight:700}
.arch-lab .phx-svg .m97-odd-box{fill:#fb923c;fill-opacity:.16;stroke:#fdba74;stroke-width:1.6;stroke-dasharray:5 3}
.arch-lab .phx-svg .m97-empty{fill:none;stroke:var(--p25-board-ink);stroke-opacity:.3;stroke-dasharray:3 4}
.arch-lab .phx-svg .m97-badge{fill:#fef3c7;stroke:#b45309;stroke-width:1.5}
.arch-lab .phx-svg .m97-badge-text{fill:#9a3412;font-weight:800}
.arch-lab .phx-svg .m97-tail{fill:#fde047;font-weight:800}
.arch-lab .m97-sw{display:inline-block;width:22px;height:16px;border-radius:5px;flex:0 0 auto}
.arch-lab .m97-sw-odd{background:#24543f;border:2px dashed #fdba74}
.arch-lab .m97-sw-even{background:#24543f;border:2px solid #24543f}
.arch-lab .m97-sw-badge{width:18px;height:18px;border-radius:50%;background:#fef3c7;border:1.5px solid #b45309}
.arch-lab .m97-sw-tail{background:#24543f;box-shadow:inset 0 -5px 0 #fde047}

/* math 9, round II, problem 8: rectangle PQRS inside the rectangle ABCD (colours of lab.css, both themes) */
.arch-lab .phx-svg .m98-sheet{fill:var(--p25-paper2);stroke:var(--arch-fig-line);stroke-width:2.4}
.arch-lab .phx-svg .m98-shadow{fill:#0f172a;fill-opacity:.12;stroke:none}
.arch-lab .phx-svg .m98-corner{fill:var(--phx-body);fill-opacity:.55;stroke:none}
.arch-lab .phx-svg .m98-in{fill:#f59e0b;fill-opacity:.22;stroke:var(--phx-b);stroke-width:2.4;stroke-linejoin:round}
.arch-lab .phx-svg .m98-in-ok{fill:#22c55e;fill-opacity:.25;stroke:var(--phx-c);stroke-width:2.8;stroke-linejoin:round}
.arch-lab .phx-svg .m98-arc{fill:#f59e0b;fill-opacity:.35;stroke:#b45309;stroke-width:1.4}
.arch-lab .phx-svg .m98-right{fill:#fde68a;fill-opacity:.7;stroke:var(--phx-c);stroke-width:2}
.arch-lab .phx-svg .m98-tick{stroke:var(--arch-fig-line);stroke-width:2.2}
.arch-lab .phx-svg .m98-pill{fill:var(--p25-paper);stroke:var(--arch-soft-line);stroke-width:1.2}
.arch-lab .phx-svg .m98-pill-ok{fill:var(--arch-ok-bg);stroke:var(--arch-good);stroke-width:1.6}
.arch-lab .phx-svg .m98-good{fill:var(--arch-good);font-weight:700}
.arch-lab .phx-svg .m98-area{fill:var(--phx-b);font-weight:700}
.arch-lab .phx-svg .m98-angle{fill:#b45309;font-weight:700}
.arch-lab .m98-legend{--phx-a:#1d4ed8;--phx-b:#c2410c;--phx-c:#047857;--phx-body:#e2e8f0}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .m98-legend{--phx-a:#93c5fd;--phx-b:#fdba74;--phx-c:#6ee7b7;--phx-body:#334155}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .m98-legend{--phx-a:#93c5fd;--phx-b:#fdba74;--phx-c:#6ee7b7;--phx-body:#334155}
.arch-lab .m98-sw{display:inline-block;width:24px;height:14px;border-radius:3px;flex:0 0 auto}
.arch-lab .m98-sw-abcd{background:var(--p25-paper2);border:2px solid var(--arch-fig-line)}
.arch-lab .m98-sw-ok{background:#22c55e44;border:2px solid var(--phx-c)}
.arch-lab .m98-sw-bad{background:#f59e0b38;border:2px solid var(--phx-b)}
.arch-lab .m98-sw-arc{width:16px;height:16px;border-radius:16px 0 0 0;background:#f59e0b59;border:1.4px solid #b45309}
.arch-lab .m98-sw-sim{background:linear-gradient(90deg,color-mix(in srgb,var(--phx-a) 30%,transparent) 50%,color-mix(in srgb,var(--phx-b) 30%,transparent) 50%);border:1.5px solid var(--arch-fig-line)}
.arch-lab .m98-sol-wrap{display:contents}
.arch-lab .m98-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;margin:0 .15em}
.arch-lab .m98-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m98-frac>span:last-child{padding:0 .2em}
.arch-lab .phx-svg .m98-now{stroke:var(--phx-c);stroke-width:3.4}
.arch-lab .phx-svg .m98-dim{stroke:var(--arch-fig-line);stroke-width:1.4}
.arch-lab .phx-svg .m98-bar{stroke:var(--arch-fig-line);stroke-width:1.5}
.arch-lab .phx-svg .m98-bar-good{stroke:var(--arch-good);stroke-width:1.5}

/* math 9, round II, problem 9: numbers as columns, two gauges, the graph of the smallest sum of squares */
.arch-lab .phx-svg .m99-shelf{fill:var(--p25-paper);stroke:var(--arch-soft-line);stroke-width:1}
.arch-lab .phx-svg .m99-zero{stroke:var(--arch-fig-line);stroke-width:1.6}
.arch-lab .phx-svg .m99-bar{fill:#60a5fa;stroke:#1d4ed8;stroke-width:1.4}
.arch-lab .phx-svg .m99-bar-x{fill:#fb923c;stroke:#c2410c;stroke-width:1.6}
.arch-lab .phx-svg .m99-bar-shadow{fill:#0f172a;fill-opacity:.14;stroke:none}
.arch-lab .phx-svg .m99-bar-shine{fill:#ffffff;fill-opacity:.35;stroke:none}
.arch-lab .phx-svg .m99-val{fill:#1d4ed8;font-weight:700;font-size:14px}
.arch-lab .phx-svg .m99-val-x{fill:#c2410c;font-weight:800;font-size:15px}
.arch-lab .phx-svg .m99-track{fill:var(--phx-body);stroke:var(--arch-soft-line);stroke-width:1}
.arch-lab .phx-svg .m99-fill{fill:#f59e0b;fill-opacity:.8;stroke:none}
.arch-lab .phx-svg .m99-fill-ok{fill:#22c55e;stroke:none}
.arch-lab .phx-svg .m99-goal{stroke:var(--arch-bad);stroke-width:3;stroke-linecap:round}
.arch-lab .phx-svg .m99-good{fill:var(--arch-good);font-weight:700}
.arch-lab .phx-svg .m99-qline{stroke:var(--arch-bad);stroke-width:2;stroke-dasharray:7 4}
.arch-lab .phx-svg .m99-q{fill:var(--arch-bad);font-weight:700}
.arch-lab .phx-svg .m99-ok-band{fill:#22c55e;fill-opacity:.55;stroke:var(--arch-good);stroke-width:1.2}
@media (prefers-color-scheme: dark){:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg :is(.m99-val){fill:#93c5fd}:root[data-design="v2"]:not([data-theme="light"]) .arch-lab .phx-svg .m99-val-x{fill:#fdba74}}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg .m99-val{fill:#93c5fd}
:root[data-design="v2"][data-theme="dark"] .arch-lab .phx-svg .m99-val-x{fill:#fdba74}
.arch-lab .m99-nums{display:grid;gap:8px}
.arch-lab .m99-sw{display:inline-block;width:16px;height:18px;border-radius:3px;flex:0 0 auto}
.arch-lab .m99-sw-x{background:#fb923c;border:1.5px solid #c2410c}
.arch-lab .m99-sw-y{background:#60a5fa;border:1.5px solid #1d4ed8}
.arch-lab .m99-sw-goal{width:4px;background:var(--arch-bad)}
.arch-lab .m99-sw-curve{width:24px;height:0;border-top:3px solid #1d4ed8}
.arch-lab .m99-sw-now{width:12px;height:12px;border-radius:50%;background:#c2410c}
.arch-lab .m99-demo{display:contents}
.arch-lab .m99-frac{display:inline-flex;flex-direction:column;align-items:stretch;text-align:center;vertical-align:middle;line-height:1.15;margin:0 .15em}
.arch-lab .m99-frac>span:first-child{border-bottom:1.5px solid currentColor;padding:0 .2em}
.arch-lab .m99-frac>span:last-child{padding:0 .2em}
