/* v43: повторение, занятия, достижения, режимы доступа, состояния интерфейса. */
.session-form,.prefs-form{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin:12px 0}
.session-form fieldset{border:1px solid var(--line,#d5dde3);border-radius:12px;padding:8px 12px;display:flex;gap:10px}
.session-form .chip{display:inline-flex;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid var(--line,#d5dde3);cursor:pointer}
.session-steps{display:grid;gap:10px;padding-left:22px;margin:14px 0}
.session-steps li{padding:12px 14px;border:1px solid var(--line,#d5dde3);border-radius:14px;background:var(--card,#fff);box-shadow:0 2px 8px rgba(15,60,70,.06)}
.review-deck{margin:16px 0}
.review-card{padding:20px;border:1px solid var(--line,#d5dde3);border-radius:18px;background:var(--card,#fff);box-shadow:0 6px 20px rgba(15,60,70,.1)}
.review-card h2{font-size:1.25rem;margin:.4em 0 1em}
.review-back{margin-top:14px}
.review-grades{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.review-add-list{list-style:none;padding:0;display:grid;gap:8px}
.achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.achievement-grid .achievement{display:grid;gap:4px;padding:12px;border-radius:14px;border:1px dashed var(--line,#c3ced6);opacity:.78}
.achievement-grid .achievement.unlocked{opacity:1;border-style:solid;background:linear-gradient(135deg,rgba(15,118,110,.12),rgba(30,58,138,.1))}
.achievement-grid .achievement small{color:var(--muted,#55695f)}
.achievement-grid .achievement span{font-weight:600}
.notice-soft{padding:12px 14px;border-radius:12px;background:rgba(15,118,110,.1);border-left:4px solid #0f766e}
.pref-row{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line,#d5dde3);border-radius:12px;width:100%}
.pref-row small{display:block;color:var(--muted,#55695f)}
.pref-actions{display:flex;flex-wrap:wrap;gap:10px;width:100%}
.graph-grid,.compare-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.admin-panel-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.admin-panel-nav a{padding:6px 12px;border-radius:999px;border:1px solid var(--line,#d5dde3);text-decoration:none}
.admin-panel-nav a[aria-current="page"]{background:#0f766e;color:#fff}
.state-error{text-align:center;padding:40px 12px}
.offline-banner{position:fixed;left:0;right:0;bottom:0;padding:10px 14px;background:#7c2d12;color:#fff;text-align:center;z-index:50}
.js-needed{padding:14px;border:1px dashed #b45309;border-radius:12px}
/* Режимы доступа */
html[data-prefs~="calm"] *,html[data-prefs~="calm"] *::before,html[data-prefs~="calm"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-prefs~="calm"] [data-tilt]{transform:none!important}
html[data-prefs~="contrast"]{--muted:#2f3d36;--line:#4b5a52}
html[data-prefs~="contrast"] body{color:#000}
html[data-prefs~="contrast"] .muted,html[data-prefs~="contrast"] small{color:#1f2a24!important}
html[data-prefs~="contrast"] .button{border:2px solid currentColor}
html[data-prefs~="large"]{font-size:118%}
html[data-prefs~="large"] .button,html[data-prefs~="large"] button,html[data-prefs~="large"] input,html[data-prefs~="large"] select{min-height:48px;min-width:48px}
html[data-prefs~="shapes"] .answer-explanation b::after{content:" (отмечено значком)";font-weight:400}
html[data-prefs~="shapes"] .correct::before{content:"✓ "}html[data-prefs~="shapes"] .wrong::before{content:"✗ "}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{
 .side,.topbar,.footer,.pdf-actions,.review-grades,.session-form,.offline-banner,.admin-panel-nav,[data-print]{display:none!important}
 .content{margin:0!important;padding:0!important}
 a[href^="http"]::after{content:" (" attr(href) ")";font-size:.8em}
 body{background:#fff!important;color:#000!important}
}

html[data-prefs~="private"] [data-share],html[data-prefs~="private"] [data-share-out]{display:none!important}
.session-steps .is-done a{opacity:.7}.session-steps .is-skipped{opacity:.55;text-decoration:line-through}.step-state{color:var(--accent,#2b6cb0);font-weight:600}.session-controls{display:flex;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}.method-dl dt{font-weight:700;margin-top:.8rem}.method-dl dd{margin:.2rem 0 0}.revision-line{margin:.8rem 0}.family-list li{margin:.4rem 0}.lab-card{margin:1rem 0}
.session-steps[hidden],.notice-soft[hidden],.session-controls [hidden]{display:none!important}

/* v45: научный слой и атлас */
.sci-badge{display:inline-block;padding:.1em .6em;border-radius:999px;font-size:.78em;font-weight:600;border:1px solid currentColor;white-space:nowrap}
.sci-ok{color:#1d6b46}.sci-warn{color:#8a5a00}.sci-bad{color:#a12828}.sci-muted{color:#5a6670}
html[data-theme="dark"] .sci-ok{color:#6fd3a0}html[data-theme="dark"] .sci-warn{color:#e8be5c}html[data-theme="dark"] .sci-bad{color:#f08a8a}html[data-theme="dark"] .sci-muted{color:#a9b4bd}
.sci-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.6rem;margin:0 0 1rem}
.sci-stat{display:flex;flex-direction:column;padding:.7rem .9rem;border:1px solid var(--line,#d5ddd8);border-radius:12px;text-decoration:none;color:inherit;background:var(--card,#fff)}
.sci-stat strong{font-size:1.6rem}
.science-list{list-style:none;padding:0;margin:.4rem 0}.science-list li{padding:.35rem 0}.science-list.wide li{border-bottom:1px solid var(--line,#e2e8e4);padding:.6rem 0}
.sci-ladder{padding-left:1.2rem}.sci-ladder li{margin:.3rem 0}
.claim-card h2{margin-top:1.2rem}
.atlas-grid{display:grid;grid-template-columns:minmax(260px,1.2fr) minmax(220px,1fr);gap:1rem;align-items:start}
@media (max-width:760px){.atlas-grid{grid-template-columns:1fr}}
.atlas-svg{width:100%;height:auto;background:var(--card,#fff);border:1px solid var(--line,#d5ddd8);border-radius:14px}
.atlas-region{fill:#cfe3d8;stroke:#2f6b4f;stroke-width:2;cursor:pointer;transition:fill .15s}
html[data-theme="dark"] .atlas-region{fill:#2d4a3c;stroke:#8fd1ae}
.atlas-region:hover,.atlas-region:focus{fill:#a9d3bd;stroke-width:3}
.atlas-region:focus{outline:3px solid #1a56db;outline-offset:2px}
.atlas-region.is-active{fill:#f0c870;stroke:#8a5a00;stroke-width:3}
html[data-theme="dark"] .atlas-region.is-active{fill:#7a5c1a}
html[data-prefs~="shapes"] .atlas-region.is-active{stroke-dasharray:6 3}
.atlas-panel{padding:1rem;border:1px solid var(--line,#d5ddd8);border-radius:14px;min-height:8rem;background:var(--card,#fff)}
.atlas-list{list-style:none;padding:0}.atlas-item{padding:.5rem 0;border-bottom:1px solid var(--line,#e2e8e4)}
.linklike{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--accent,#2b6cb0);cursor:pointer;text-decoration:underline}
