@font-face{font-family:"Montserrat";src:url(fonts/Montserrat-Regular.woff2) format("woff2");font-weight:400;font-display:block}
@font-face{font-family:"Montserrat";src:url(fonts/Montserrat-SemiBold.woff2) format("woff2");font-weight:500 600;font-display:block}
@font-face{font-family:"Montserrat";src:url(fonts/Montserrat-Bold.woff2) format("woff2");font-weight:700;font-display:block}
@font-face{font-family:"Montserrat";src:url(fonts/Montserrat-ExtraBold.woff2) format("woff2");font-weight:800;font-display:block}

:root{
  --blue:#2A5794; --blue-d:#1B365D; --blue-l:#E8EFF8; --blue-m:#BCD2EC;
  --navy:#1B365D; --ink:#16263B; --muted:#55657A; --faint:#8A99AB;
  --line:#DDE4EC; --bg:#F2F5F9; --card:#FFFFFF;
  --amber:#FFC72C; --amber-l:#FFF6DA;
  --ok:#17905F; --ok-l:#E4F5EC; --bad:#D0433F; --bad-l:#FDECEB;
  --r:14px; --r-s:10px;
  --shadow:0 1px 2px rgba(27,54,93,.06),0 6px 22px rgba(27,54,93,.07);
  --font:"Montserrat",Verdana,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:var(--font);color:var(--ink);background:var(--bg);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow:hidden}
button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer}
sub,sup{font-size:.68em;line-height:0}
.chem{white-space:nowrap;font-feature-settings:"tnum" 0}
.rev-arrow{display:inline-block;width:1.25em;height:.8em;vertical-align:-.05em;margin:0 .15em}

/* ---------- каркас ---------- */
.app{display:grid;grid-template-rows:64px 1fr;height:100vh;height:100dvh}
.hdr{display:flex;align-items:center;gap:16px;padding:0 20px;background:#fff;border-bottom:1px solid var(--line);z-index:30}
.hdr-logo{height:40px;width:auto;display:block;flex:0 0 auto}
.hdr{overflow:hidden;min-width:0}.hdr-right{flex:0 0 auto}
.hdr-sep{width:1px;height:30px;background:var(--line)}
.hdr-titles{min-width:0;flex:1}
.hdr-course{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.hdr-title{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hdr-right{display:flex;align-items:center;gap:10px}
.lang{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px}
.lang button{border:0;background:none;padding:5px 12px;border-radius:999px;font-weight:700;font-size:13px;color:var(--muted)}
.lang button.on{background:var(--blue);color:#fff}
.hbtn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:var(--navy)}
.hbtn:hover{border-color:var(--blue-m);background:var(--blue-l)}
.hbtn svg{width:16px;height:16px}
.menu-btn{display:none}

.body{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:0}
.hero>*,.goals>*,.vid-grid>*,.titr>*,.plant>*,.case>*,.seq>*,.sum>*,.lab>*,.pass-wrap>*{min-width:0}
.side{background:#fff;border-right:1px solid var(--line);overflow:auto;padding:18px 14px 24px;display:flex;flex-direction:column;gap:14px}
.prog{padding:14px;border-radius:var(--r);background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff}
.prog-top{display:flex;justify-content:space-between;font-size:13px;font-weight:600;opacity:.92}
.prog-bar{height:6px;border-radius:9px;background:rgba(255,255,255,.25);margin-top:10px;overflow:hidden}
.prog-bar i{display:block;height:100%;width:0;background:var(--amber);border-radius:9px;transition:width .5s}
.sec-part{display:flex;flex-direction:column;gap:2px;margin:10px 0 -4px;padding:12px 14px;border-radius:var(--r-s);background:var(--navy);color:#fff}
.sec-part span{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
.sec-part b{font-size:13.5px;line-height:1.3}
.sec-t{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);margin:6px 8px 6px}
.nav-i{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:10px;font-size:14px;font-weight:500;color:var(--ink)}
.nav-i:hover{background:var(--bg)}
.nav-i.on{background:var(--blue-l);color:var(--blue-d);font-weight:700}
.nav-i .dot{flex:0 0 20px;height:20px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;background:#fff}
.nav-i.seen .dot{border-color:var(--blue-m)}
.nav-i.done .dot{background:var(--ok);border-color:var(--ok)}
.nav-i.done .dot::after{content:"";width:8px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.nav-i.on .dot{border-color:var(--blue)}

.main{overflow:auto;min-height:0;scroll-behavior:smooth}
.page{max-width:1080px;margin:0 auto;padding:36px 40px 40px;animation:pgIn .35s ease}
@keyframes pgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.kicker{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.kicker::before{content:"";width:18px;height:3px;border-radius:3px;background:var(--amber)}
h1{font-size:34px;line-height:1.15;margin:0 0 12px;font-weight:800;color:var(--navy);letter-spacing:-.01em}
h2{font-size:22px;margin:0 0 12px;font-weight:700;color:var(--navy)}
h3{font-size:17px;margin:0 0 8px;font-weight:700;color:var(--navy)}
.lead{font-size:18px;color:var(--muted);max-width:780px;margin:0 0 26px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:22px}
.muted{color:var(--muted)}
.small{font-size:13px}

.pnav{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:1080px;margin:0 auto;padding:0 40px 40px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 22px;font-weight:700;font-size:15px;background:var(--blue);color:#fff;transition:background .15s,transform .1s,opacity .15s}
.btn:hover{background:var(--blue-d)}
.btn:active{transform:translateY(1px)}
.btn:disabled{opacity:.4;cursor:default;background:var(--blue)}
.btn.ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--bg)}
.btn.amber{background:var(--amber);color:var(--navy)}
.btn.amber:hover{background:#E6932A}
.btn svg{width:18px;height:18px}

/* ---------- введение ---------- */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:center;margin-bottom:28px}
.hero h1{font-size:42px}
.meta-row{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--blue-l);color:var(--blue-d);font-size:13px;font-weight:600}
.plan{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.plan-i{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px}
.plan-i .ic{width:40px;height:40px;border-radius:12px;background:var(--blue-l);display:grid;place-items:center;margin-bottom:10px;color:var(--blue)}
.plan-i .ic svg{width:22px;height:22px}
.plan-i b{display:block;font-size:14px;line-height:1.3;color:var(--navy)}
.plan-i span{font-size:13px;color:var(--muted)}

/* ---------- видео ---------- */
.vid{position:relative;border-radius:var(--r);overflow:hidden;background:#0C1F33;aspect-ratio:16/9;box-shadow:var(--shadow)}
.vid video{width:100%;height:100%;display:block;background:#000}
.vid-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;text-align:center;padding:20px;
  background:radial-gradient(120% 90% at 70% 20%,#1B4E80 0%,#0C1F33 60%)}
.vid-ph .play{width:74px;height:74px;border-radius:50%;background:rgba(255,255,255,.12);border:2px solid rgba(255,255,255,.35);display:grid;place-items:center}
.vid-ph .play svg{width:28px;height:28px;margin-left:4px}
.vid-ph b{font-size:18px}
.vid-ph span{font-size:14px;opacity:.75}
.vid-ph .mol{position:absolute;inset:0;opacity:.18;pointer-events:none}
.subs{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);max-width:86%;text-align:center;pointer-events:none}
.subs span{display:inline;background:rgba(8,18,30,.78);color:#fff;font-size:clamp(14px,2.1vw,22px);font-weight:500;line-height:1.5;padding:.12em .45em;border-radius:6px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.subs b{color:var(--amber);font-weight:700}
.vid-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:start}
.terms{display:flex;flex-direction:column;gap:10px}
.term{border-left:3px solid var(--amber);padding:4px 0 4px 12px}
.term b{display:block;font-size:14px;color:var(--navy)}
.term span{font-size:13px;color:var(--muted);line-height:1.45}
.tr-toggle{margin-top:20px}
.transcript{margin-top:14px;display:none}
.transcript.open{display:block}
.transcript h3{margin-top:18px}
.transcript p{margin:0 0 10px;color:#2A3947}

/* ---------- цели ---------- */
.goals{display:grid;grid-template-columns:1fr 1.2fr;gap:22px}
.goal-main{background:linear-gradient(150deg,var(--navy),#15426E);color:#fff;border-radius:var(--r);padding:28px;position:relative;overflow:hidden}
.goal-main h2{color:#fff}
.goal-main p{font-size:18px;line-height:1.5;margin:0;position:relative}
.goal-main svg.bg{position:absolute;right:-30px;bottom:-30px;width:220px;opacity:.12}
.res{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.res li{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 16px;font-weight:500}
.res li i{flex:0 0 26px;height:26px;border-radius:8px;background:var(--ok-l);color:var(--ok);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:13px}

/* ---------- мотивация (титрование) ---------- */
.titr{display:grid;grid-template-columns:340px 1fr;gap:28px;align-items:center}
.titr svg{width:100%;height:auto;display:block}
.titr-ctl{display:flex;flex-direction:column;gap:14px}
.vol{font-size:14px;color:var(--muted)}
.vol b{font-size:28px;color:var(--navy);display:block;font-variant-numeric:tabular-nums}
.status{min-height:52px;padding:12px 16px;border-radius:12px;background:var(--bg);font-weight:600;color:var(--navy);transition:background .3s}
.status.flash{background:#FDEAF3;color:#9C1F63}
.status.stop{background:var(--ok-l);color:var(--ok)}
.bigq{margin-top:24px;padding:22px 24px;border-radius:var(--r);background:var(--amber-l);border:1px solid #F7D9A8}
.bigq b{display:block;font-size:19px;color:var(--navy);margin-bottom:6px;line-height:1.35}

/* ---------- лаборатория ---------- */
.lab{display:grid;grid-template-columns:260px 1fr;gap:20px;align-items:start}
.exp-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.exp{position:relative;border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 10px 10px;text-align:left;font-size:12.5px;line-height:1.3;font-weight:600;color:var(--navy);min-height:62px}
.exp small{display:block;font-size:11px;font-weight:700;color:var(--faint);margin-bottom:3px}
.exp:hover{border-color:var(--blue-m)}
.exp.on{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-l)}
.exp.ok{background:var(--ok-l);border-color:#BFE3CF}
.exp.ok small{color:var(--ok)}
.exp.ok::after{content:"";position:absolute;top:9px;right:9px;width:14px;height:14px;border-radius:50%;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.bench{background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.bench-stage{position:relative;background:linear-gradient(#EAF1F7,#F6F9FC 62%,#E3E9EF 62%,#D9E1E8)}
.bench-stage svg{display:block;width:100%;height:auto}
.bench-names{position:absolute;left:0;right:0;top:12px;display:flex;justify-content:space-between;padding:0 16px;pointer-events:none}
.reag{background:rgba(255,255,255,.9);border:1px solid var(--line);border-radius:10px;padding:6px 10px;font-size:12.5px;font-weight:600;color:var(--navy);max-width:48%}
.reag .chem{font-weight:800;font-size:14px;color:var(--blue-d)}
.bench-ctl{padding:16px 18px;border-top:1px solid var(--line)}
.bench-ctl .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.signs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.sign{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:600;color:var(--navy);transition:all .15s}
.sign:hover{border-color:var(--blue);background:var(--blue-l)}
.sign.none{border-style:dashed}
.sign.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.sign.bad{background:var(--bad-l);border-color:var(--bad);color:var(--bad)}
.sign:disabled{cursor:default}
.fb{margin-top:14px;border-radius:12px;padding:14px 16px;background:var(--bg);display:none}
.fb.show{display:block;animation:pgIn .3s}
.fb.ok{background:var(--ok-l)}
.fb.bad{background:var(--bad-l)}
.fb h4{margin:0 0 6px;font-size:15px}
.fb.ok h4{color:var(--ok)} .fb.bad h4{color:var(--bad)}
.fb p{margin:0 0 8px;font-size:14.5px}
.eqbox{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:16px;font-weight:600;color:var(--navy);margin:8px 0;overflow-x:auto}
.eqbox small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:2px}
.inlab{display:flex;gap:10px;font-size:14px;color:#2A3947;margin-top:6px}
.inlab b{color:var(--blue-d);white-space:nowrap}
.sniff{margin-top:12px;display:none}
.sniff.show{display:block}
.sniff .row{margin-top:8px}
.lab-count{font-size:13px;font-weight:600;color:var(--muted);margin:0 0 10px}

/* ---------- тесты (самопроверка) ---------- */
.quiz{max-width:820px}
.q-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:700;color:var(--muted)}
.q-dots{display:flex;gap:6px}
.q-dots i{width:26px;height:6px;border-radius:6px;background:var(--line)}
.q-dots i.cur{background:var(--blue)} .q-dots i.ok{background:var(--ok)} .q-dots i.bad{background:var(--bad)}
.q-text{font-size:20px;font-weight:700;color:var(--navy);line-height:1.35;margin:0 0 16px}
.opts{display:flex;flex-direction:column;gap:10px}
.opt{display:flex;gap:12px;align-items:flex-start;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:13px 16px;font-size:15.5px;font-weight:500;transition:all .15s}
.opt .let{flex:0 0 28px;height:28px;border-radius:8px;background:var(--bg);display:grid;place-items:center;font-weight:800;font-size:13px;color:var(--muted)}
.opt:hover:not(:disabled){border-color:var(--blue);background:var(--blue-l)}
.opt.sel{border-color:var(--navy);background:var(--navy);color:#fff;box-shadow:inset 4px 0 0 var(--amber)}
.opt.sel .let{background:var(--amber);color:var(--navy)}
.opt.ok{border-color:var(--ok);background:var(--ok-l)}
.opt.ok .let{background:var(--ok);color:#fff}
.opt.bad{border-color:var(--bad);background:var(--bad-l)}
.opt.bad .let{background:var(--bad);color:#fff}
.opt:disabled{cursor:default}
.q-foot{display:flex;justify-content:flex-end;margin-top:16px;gap:10px}
.q-final{text-align:center;padding:30px}
.score-ring{width:130px;height:130px;margin:0 auto 14px}

/* ---------- паспорт ---------- */
.pass-wrap{display:grid;grid-template-columns:1fr;gap:16px}
.pass-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pass-eq{font-size:26px;font-weight:700;color:var(--navy);padding:22px;border-radius:var(--r);background:linear-gradient(135deg,#fff,var(--blue-l));border:1px solid var(--blue-m);text-align:center}
.pass-eq small{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-top:6px}
.fields{display:grid;gap:10px}
.field{display:grid;grid-template-columns:190px 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.field.ok{border-color:#BFE3CF;background:var(--ok-l)}
.field.bad{border-color:#F3B9B7;background:var(--bad-l)}
.field-t{font-weight:700;font-size:14px;color:var(--navy)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 13px;font-size:14px;font-weight:600;color:var(--navy)}
.seg button:hover{border-color:var(--blue)}
.seg button.on{background:var(--blue);border-color:var(--blue);color:#fff}
.seg button:disabled{cursor:default}
.pass-dots{display:flex;gap:6px}
.pass-dots i{width:10px;height:10px;border-radius:50%;background:var(--line)}
.pass-dots i.cur{background:var(--blue)} .pass-dots i.ok{background:var(--ok)}

/* ---------- схема комбината ---------- */
.plant{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:start}
.plant-map{background:#0E2236;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);position:relative}
.plant-map svg{display:block;width:100%;height:auto}
.pnode{cursor:pointer}
.pnode rect.box{transition:all .2s}
.pnode:hover rect.box{stroke:#F2A33A}
.pnode.on rect.box{stroke:#F2A33A;stroke-width:3}
.pnode.done rect.box{fill:#15563F}
.flow{stroke-dasharray:6 7;animation:flow 1.2s linear infinite}
@keyframes flow{to{stroke-dashoffset:-26}}
.plant-panel{min-height:300px}
.plant-panel .eqbox{font-size:18px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.tag{font-size:12.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--blue-l);color:var(--blue-d)}
.pq{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}
.pq b{display:block;margin-bottom:8px;color:var(--navy)}
.pq .opt{padding:10px 12px;font-size:14.5px}
.plant-hint{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;color:var(--muted);min-height:300px}
.plant-hint svg{width:56px;height:56px;color:var(--blue-m)}

/* ---------- кейс ---------- */
.case{display:grid;grid-template-columns:1fr 1.25fr;gap:22px;align-items:start}
.case-scene{background:linear-gradient(#E9F0F6,#F7FAFC);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.case-scene svg{display:block;width:100%;height:auto}
.case-s{font-size:17px;line-height:1.5;color:var(--ink);margin:0 0 16px}
.person{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.person .ava{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2A5794,#1B365D);display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px}
.person b{display:block;color:var(--navy)}
.person span{font-size:13px;color:var(--muted)}
.cons{margin-top:14px;border-radius:12px;padding:14px 16px;display:none}
.cons.show{display:block;animation:pgIn .3s}
.cons.ok{background:var(--ok-l)} .cons.bad{background:var(--bad-l)}
.cons h4{margin:0 0 6px;font-size:14px;text-transform:uppercase;letter-spacing:.05em}
.cons.ok h4{color:var(--ok)} .cons.bad h4{color:var(--bad)}
.cons p{margin:0 0 10px}

/* ---------- последовательность ---------- */
.seq{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.seq-col h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.seq-pool,.seq-slots{display:flex;flex-direction:column;gap:8px}
.chip{display:flex;gap:10px;align-items:center;text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:12px 14px;font-size:14.5px;font-weight:600;color:var(--navy);min-height:50px;transition:all .15s}
.chip:hover{border-color:var(--blue);background:var(--blue-l)}
.slot{display:flex;gap:10px;align-items:center;border:1.5px dashed var(--line);border-radius:12px;padding:10px 14px;min-height:50px;font-size:14.5px;font-weight:600;color:var(--navy);background:rgba(255,255,255,.5)}
.slot .n{flex:0 0 26px;height:26px;border-radius:8px;background:var(--bg);display:grid;place-items:center;font-size:13px;font-weight:800;color:var(--muted)}
.slot.fill{border-style:solid;background:#fff;cursor:pointer}
.slot.fill .n{background:var(--blue);color:#fff}
.slot.ok{border-color:var(--ok);background:var(--ok-l)} .slot.ok .n{background:var(--ok)}
.slot.bad{border-color:var(--bad);background:var(--bad-l)} .slot.bad .n{background:var(--bad)}
.seq-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.seq-tabs button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 16px;font-weight:600;font-size:14px}
.seq-tabs button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.seq-tabs button.done::after{content:" ✓";color:var(--ok)}
.seq-tabs button.on.done::after{color:#7FE0B0}

/* ---------- экзамен ---------- */
.rules{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:0 0 22px;padding:0;list-style:none}
.rules li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-weight:600;display:flex;gap:10px;align-items:center}
.rules li::before{content:"";flex:0 0 8px;height:8px;border-radius:50%;background:var(--amber)}
.exam-q{margin-bottom:22px}
.exam-q .q-text{font-size:17px}
.exam-bar{position:sticky;bottom:12px;display:flex;justify-content:space-between;align-items:center;gap:12px;background:rgba(255,255,255,.96);backdrop-filter:blur(6px);padding:12px 12px 12px 24px;margin-top:8px;border:1px solid var(--line);border-radius:16px;box-shadow:0 6px 20px rgba(27,54,93,.10)}
.exam-res{text-align:center;padding:34px 24px}
.exam-res h2{font-size:28px}
.wrong-list{list-style:none;padding:0;margin:14px auto 0;max-width:560px;text-align:left}
.wrong-list li{padding:10px 14px;border-radius:10px;background:var(--bad-l);margin-bottom:6px;font-weight:600}
.review .opt{pointer-events:none}

/* ---------- итоги ---------- */
.sum{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}
.sum-pts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:s}
.sum-pts li{counter-increment:s;display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.sum-pts li::before{content:counter(s);flex:0 0 30px;height:30px;border-radius:9px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800}
.dl{background:linear-gradient(150deg,var(--navy),#15426E);color:#fff;border-radius:var(--r);padding:24px}
.dl h3{color:#fff}
.dl p{opacity:.8;margin:0 0 16px}
.more{margin-top:16px}
.more li{margin-bottom:6px;color:var(--muted)}

.badge-done{display:inline-flex;align-items:center;gap:6px;background:var(--ok-l);color:var(--ok);font-weight:700;font-size:13px;padding:6px 12px;border-radius:999px}

/* ---------- адаптив ---------- */
@media (max-width:1100px){
  .plan{grid-template-columns:repeat(3,1fr)}
  .lab{grid-template-columns:minmax(0,1fr)}
  .exp-list{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:900px){
  body{font-size:15px}
  .app{grid-template-rows:56px 1fr}
  .hdr{padding:0 12px;gap:10px}
  .hdr-logo{height:32px}
  .hdr-sep,.hdr-course{display:none}
  .hdr-title{font-size:13px}
  .fs-lbl{display:none}
  .menu-btn{display:inline-flex}
  .body{grid-template-columns:minmax(0,1fr)}
  .side{position:fixed;top:56px;bottom:0;left:0;width:300px;max-width:86vw;z-index:40;transform:translateX(-102%);transition:transform .25s;box-shadow:0 10px 40px rgba(0,0,0,.2)}
  .side.open{transform:none}
  .page{padding:22px 16px 24px}
  .pnav{padding:0 16px 24px}
  h1{font-size:26px} .hero h1{font-size:30px}
  .lead{font-size:16px}
  .hero,.goals,.vid-grid,.titr,.plant,.case,.seq,.sum{grid-template-columns:minmax(0,1fr)}
  .reag{max-width:100%}
  .exam-bar{flex-wrap:wrap}
  .titr svg{max-width:280px;margin:0 auto}
  .plan{grid-template-columns:1fr 1fr}
  .exp-list{grid-template-columns:repeat(3,1fr)}
  .field{grid-template-columns:1fr}
  .rules{grid-template-columns:1fr}
  .pass-eq{font-size:20px;padding:16px}
  .q-text{font-size:18px}
}
@media (max-width:520px){
  .exp-list{grid-template-columns:1fr 1fr}
  .lang button{padding:5px 9px}
  .hbtn{padding:7px 10px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- 3D-лаборатория ---------- */
.bench-stage.is3d{background:#E7ECF0;position:relative;touch-action:pan-y}
.lab3d-canvas{display:block;width:100%;height:auto;cursor:grab}
.lab3d-canvas:active{cursor:grabbing}
.lab3d-ov{position:absolute;inset:0;pointer-events:none}
.lab3d-hint{position:absolute;left:12px;bottom:10px;font-size:11.5px;font-weight:600;color:#5A6B7B;background:rgba(255,255,255,.8);padding:4px 10px;border-radius:999px;pointer-events:none}
.ov-temp{position:absolute;right:3%;top:7%;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:12px;padding:8px 14px;box-shadow:var(--shadow);opacity:0;transition:opacity .3s}
.ov-temp small{display:block;font-size:11px;font-weight:700;color:var(--muted)}
.ov-temp b{font-size:clamp(18px,2.6vw,28px);font-weight:800;color:#C83B36;font-variant-numeric:tabular-nums}
.ov-temp.cold b{color:#2F7FD0}
.ov-tag{position:absolute;left:3%;top:7%;background:rgba(255,255,255,.94);border:2px solid var(--amber);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:700;color:var(--navy);transition:opacity .3s}
.ov-tag.ok{border-color:var(--ok)} .ov-tag.cold{border-color:#2F7FD0} .ov-tag.hood{border-color:transparent;background:rgba(12,31,51,.75);color:#fff}

.case-scene.photo{background:#0C1F33}.case-scene.photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.case-scene.photo{position:relative}.case-scene .credit{position:absolute;right:8px;bottom:6px;font-size:10.5px;color:rgba(255,255,255,.85);background:rgba(0,0,0,.35);padding:2px 7px;border-radius:6px}

/* ================= стильные плашки (перекрывают базовые) ================= */
/* карточки плана */
.plan{grid-template-rows:auto auto auto;row-gap:0}
.plan-i{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0;padding:18px 16px 16px;border:0;box-shadow:var(--shadow);position:relative;overflow:hidden;margin-bottom:12px}
.plan-i::after{content:"";position:absolute;inset:auto -30px -40px auto;width:110px;height:110px;border-radius:50%;background:var(--g1);opacity:.08}
.plan-i .ic{width:52px;height:52px;border-radius:15px;margin-bottom:14px;background:linear-gradient(135deg,var(--g1),var(--g2));color:var(--g2);box-shadow:0 8px 18px -8px var(--g2)}
.plan-i .ic svg{width:30px;height:30px}
.plan-i b{font-size:15px;align-self:start;margin-bottom:4px}
.plan-i span{align-self:start;line-height:1.45}
.plan-i:nth-child(1){--g1:#FF7A59;--g2:#E0432F}
.plan-i:nth-child(2){--g1:#2BC0E4;--g2:#1A7FD0}
.plan-i:nth-child(3){--g1:#FFC24B;--g2:#EA8A0C}
.plan-i:nth-child(4){--g1:#8E7CFF;--g2:#5A3FD8}
.plan-i:nth-child(5){--g1:#2FD39A;--g2:#12946A}
@media (max-width:900px){.plan{grid-template-rows:none}.plan-i{display:block}.plan-i .ic{margin-bottom:12px}}

/* карточки опытов: одинаковая высота, текст всегда с одного уровня */
.exp-list{grid-auto-rows:1fr}
.exp{display:flex;flex-direction:column;justify-content:flex-start;gap:6px;padding:10px 12px 10px 15px;min-height:0;border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(12,31,51,.05)}
.exp::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--c1),var(--c2))}
.exp-top{display:flex;align-items:center;gap:8px;height:20px}
.exp-sw{display:flex}
.exp-sw i{width:16px;height:16px;border-radius:50%;background:var(--sw);border:2px solid #fff;box-shadow:0 0 0 1px rgba(12,31,51,.15)}
.exp-sw i+i{margin-left:-6px}
.exp-sw i.clear{background:linear-gradient(135deg,#fff 0 45%,#CFE0EE 45% 55%,#fff 55%)}
.exp small{display:inline;margin:0;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.exp b{font-size:13px;line-height:1.3;font-weight:700;color:var(--navy)}
.exp.on{background:linear-gradient(180deg,#fff,#F2F7FC)}
.exp.ok small{color:var(--ok)}
.exp.ok::after{top:12px;right:10px}

/* реагенты под сценой */
.reags{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reags.one{grid-template-columns:1fr}
.reag{display:flex;align-items:center;gap:12px;max-width:none;padding:10px 14px;border-radius:12px;background:#F6F9FC;border:1px solid var(--line)}
.reag>i{flex:0 0 34px;height:34px;border-radius:10px;background:var(--sw);box-shadow:inset 0 0 0 1px rgba(12,31,51,.12),inset 0 -8px 12px rgba(255,255,255,.35)}
.reag>i.clear{background:linear-gradient(135deg,#F4F9FD,#D6E6F2)}
.reag>span{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.reag small{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.reag .chem{font-size:15px;font-weight:800;color:var(--blue-d);margin:2px 0}
.reag em{font-style:normal;font-size:12.5px;color:var(--muted)}

/* варианты признаков: ровная сетка, цветные значки */
.signs{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:8px}
.sign{display:flex;align-items:center;gap:10px;text-align:left;border-radius:12px;padding:8px 12px 8px 8px;min-height:46px;font-size:13.5px}
.sign[data-cat]::before{content:"";flex:0 0 30px;height:30px;border-radius:9px;background:var(--ci) center/18px no-repeat,var(--cc)}
.sign[data-cat=color]{--cc:linear-gradient(135deg,#FF5C8A,#D1245A);--ci:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203.5c3.5%204.2%205.5%207.3%205.5%2010a5.5%205.5%200%2001-11%200c0-2.7%202-5.8%205.5-10z%27%20fill%3D%27white%27%2F%3E%3C%2Fsvg%3E")}
.sign[data-cat=precip]{--cc:linear-gradient(135deg,#4DA3FF,#1F66D1);--ci:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%205v12a2%202%200%20002%202h10a2%202%200%20002-2V5%27%2F%3E%3Ccircle%20cx%3D%279%27%20cy%3D%2715.5%27%20r%3D%271.3%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2712.5%27%20cy%3D%2716%27%20r%3D%271.3%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2715.5%27%20cy%3D%2715%27%20r%3D%271.3%27%20fill%3D%27white%27%2F%3E%3Ccircle%20cx%3D%2711%27%20cy%3D%2712.5%27%20r%3D%271%27%20fill%3D%27white%27%2F%3E%3C%2Fsvg%3E")}
.sign[data-cat=smell]{--cc:linear-gradient(135deg,#2FD1B5,#0E9A86);--ci:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%2020c-2-3%202-5%200-8s2-5%200-8M12%2020c-2-3%202-5%200-8s2-5%200-8M17%2020c-2-3%202-5%200-8s2-5%200-8%27%2F%3E%3C%2Fsvg%3E")}
.sign[data-cat=gas]{--cc:linear-gradient(135deg,#62D6FF,#1E9ED6);--ci:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%278%27%20cy%3D%2716%27%20r%3D%273.2%27%2F%3E%3Ccircle%20cx%3D%2715.5%27%20cy%3D%2710.5%27%20r%3D%272.4%27%2F%3E%3Ccircle%20cx%3D%2710.5%27%20cy%3D%276%27%20r%3D%271.6%27%2F%3E%3C%2Fsvg%3E")}
.sign[data-cat=heat]{--cc:linear-gradient(135deg,#FF9A3D,#E35A12);--ci:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203c1%203.5%205%205.4%205%2010a5%205%200%2001-10%200c0-2.2%201-3.8%202.3-5%20.2%201.8%201%202.8%202%203.2C11%208.6%2011%206%2012%203z%27%20fill%3D%27white%27%2F%3E%3C%2Fsvg%3E")}
.sign[data-cat=cold]{--cc:linear-gradient(135deg,#8FB8FF,#4A72E8);--ci:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203v18M4.2%207.5l15.6%209M4.2%2016.5l15.6-9M9.5%204.5L12%207l2.5-2.5M9.5%2019.5L12%2017l2.5%202.5%27%2F%3E%3C%2Fsvg%3E")}
.sign[data-cat=glow]{--cc:linear-gradient(135deg,#FFD24D,#F0A000);--ci:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203l1.9%205.6L19.5%2010l-5.6%201.9L12%2017.5l-1.9-5.6L4.5%2010l5.6-1.4z%27%20fill%3D%27white%27%2F%3E%3Cpath%20d%3D%27M18.5%2016.5l.7%202%202%20.7-2%20.7-.7%202-.7-2-2-.7%202-.7z%27%20fill%3D%27white%27%2F%3E%3C%2Fsvg%3E")}
.sign[data-cat=none]{--cc:linear-gradient(135deg,#A9B6C3,#6F7F8F);--ci:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27white%27%20stroke-width%3D%272.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%278%27%2F%3E%3Cpath%20d%3D%27M6.5%2017.5l11-11%27%2F%3E%3C%2Fsvg%3E")}

.sign.none{grid-column:1/-1;border-style:dashed}
.sign[data-cat].ok{background:var(--ok);border-color:var(--ok);color:#fff}
.sign[data-cat].bad{background:var(--bad-l);border-color:var(--bad);color:var(--bad)}
.sign:not([data-cat]){border-radius:12px}

/* теги на схеме комбината */
.tag{padding:5px 12px;font-size:12.5px;color:#fff}
.tag.t0{background:linear-gradient(135deg,#8E7CFF,#5A3FD8)}
.tag.t1{background:linear-gradient(135deg,#FF9A3D,#E35A12)}
.tag.t2{background:linear-gradient(135deg,#2FD1B5,#0E9A86)}
@media (max-width:520px){.signs{grid-template-columns:1fr 1fr}.sign{font-size:12.5px;padding:7px 8px 7px 7px;gap:8px}.sign[data-cat]::before{flex-basis:26px;height:26px;background-size:15px,auto}.reags{grid-template-columns:1fr}}

/* ================= плашки опытов: вытянутые, «текучие» ================= */
.lab{grid-template-columns:300px minmax(0,1fr)}
.exp-list{grid-template-columns:1fr;grid-auto-rows:auto;gap:7px}
.exp{flex-direction:row;align-items:center;gap:12px;padding:0 16px 0 14px;height:60px;border-radius:16px;background:#fff;border:1px solid var(--line);isolation:isolate;transition:transform .2s,box-shadow .2s,border-color .2s}
.exp::before{display:none}
.exp:hover{transform:translateX(3px);box-shadow:0 6px 18px -8px rgba(12,31,51,.25)}
.exp-liq{position:absolute;left:0;right:0;bottom:0;height:34%;z-index:-1;background:linear-gradient(90deg,var(--c1),var(--c2));opacity:.22;transition:height .7s cubic-bezier(.3,1.3,.5,1),opacity .4s}
.exp-wave{position:absolute;left:0;bottom:100%;width:200%;height:10px;fill:var(--c1);animation:expWave 5s linear infinite;animation-delay:var(--d)}
.exp-wave+.exp-wave{left:-40%;opacity:.55;animation-duration:7.5s;fill:var(--c2)}
@keyframes expWave{to{transform:translateX(-50%)}}
.exp.on{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-l),0 8px 22px -10px rgba(11,94,163,.45);background:#fff}
.exp.on .exp-liq{height:62%;opacity:.3}
.exp.ok{background:#fff;border-color:#BFE3CF}
.exp.ok .exp-liq{background:linear-gradient(90deg,var(--r),var(--r));opacity:.3;height:48%}
.exp.ok .exp-wave{fill:var(--r)}
.exp.ok::after{top:50%;right:14px;transform:translateY(-50%);width:20px;height:20px;background-size:20px}
.exp .exp-sw{flex:0 0 auto}
.exp .exp-sw i{width:20px;height:20px}
.exp-txt{display:flex;flex-direction:column;min-width:0;line-height:1.2}
.exp-txt small{font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.exp-txt b{font-size:13.5px;font-weight:700;color:var(--navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.exp.ok .exp-txt{padding-right:22px}
@media (max-width:1100px){.lab{grid-template-columns:minmax(0,1fr)}.exp-list{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.exp-list{grid-template-columns:1fr 1fr}.exp{height:56px;padding:0 10px}.exp-txt b{white-space:normal;font-size:12.5px}}
@media (prefers-reduced-motion:reduce){.exp-wave{animation:none}}
.exp{height:auto;min-height:58px;padding-top:8px;padding-bottom:8px}.exp .exp-sw{width:34px;justify-content:flex-start}.exp-txt b{white-space:normal;overflow:visible}
@media (max-width:700px){.exp-list{grid-template-columns:1fr}.exp-txt b{font-size:13.5px}}

/* ================= волны: прогресс и кольцо экзамена ================= */
.prog{position:relative;overflow:hidden;isolation:isolate}
.prog-fill{position:absolute;left:0;top:0;bottom:0;width:0;z-index:-1;background:linear-gradient(180deg,rgba(242,163,58,.55),rgba(242,163,58,.3));transition:width 1.2s cubic-bezier(.3,1.2,.5,1)}
.pf-wave{position:absolute;left:100%;top:0;width:12px;height:200%;animation:pfWave 4s linear infinite}
.pf-wave svg{display:block;width:100%;height:100%;fill:rgba(242,163,58,.55)}
.pf-wave.b{width:9px;opacity:.6;animation-duration:6.5s;animation-direction:reverse}
@keyframes pfWave{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.prog-top,.prog-bar{position:relative}
.prog-bar i{transition:width 1.2s cubic-bezier(.3,1.2,.5,1)}
.flask-ring{width:150px;height:150px}
.flask-ring .rl{transform:translateY(var(--y));animation:ringRise 2s cubic-bezier(.3,1,.4,1) both}
@keyframes ringRise{from{transform:translateY(130px)}}
.flask-ring .wv{animation:ringWave 3.2s linear infinite}
.flask-ring .wv.b{animation-duration:5s;animation-direction:reverse}
@keyframes ringWave{to{transform:translateX(-98px)}}
@media (prefers-reduced-motion:reduce){.pf-wave,.flask-ring .wv{animation:none}.flask-ring .rl{animation:none}}
#navList{display:flex;flex-direction:column;gap:14px}.prog-fill{background:linear-gradient(180deg,rgba(255,190,90,.6),rgba(242,163,58,.38))}.pf-wave svg{fill:rgba(255,184,82,.6)}
.prog-fill{background:linear-gradient(180deg,rgba(110,210,255,.55),rgba(60,170,240,.4))}.pf-wave svg{fill:rgba(110,210,255,.55)}.pf-wave{width:16px}
.prog{flex-shrink:0;padding:16px 18px 18px}.prog-top{align-items:center;line-height:1.3}.prog-bar{margin-top:12px}#navList{flex-shrink:0}

/* ================= реакция изнутри: 3D-молекулы ================= */
.mol{display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}
.rx-list{display:flex;flex-direction:column;gap:9px}
.rx{position:relative;display:flex;align-items:center;gap:14px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:10px 40px 10px 10px;text-align:left;transition:transform .2s,box-shadow .2s,border-color .2s}
.rx:hover{transform:translateX(3px);box-shadow:0 6px 18px -8px rgba(12,31,51,.25)}
.rx.on{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-l),0 8px 22px -10px rgba(11,94,163,.45)}
.rx-mk{flex:0 0 58px;height:58px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;font-weight:800;font-size:17px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12),0 6px 14px -8px var(--g2)}
.rx-mk .chem{white-space:nowrap}
.rx-txt{display:flex;flex-direction:column;gap:3px;min-width:0}
.rx-txt b{font-size:14.5px;line-height:1.25;color:var(--navy)}
.rx-txt small{font-size:12.5px;color:var(--muted);font-weight:600}
.rx-neutral{--g1:#FF6B96;--g2:#D1245A}.rx-gas{--g1:#2BC0E4;--g2:#1A7FD0}.rx-ammonia{--g1:#2FD39A;--g2:#12946A}.rx-so3{--g1:#FFC24B;--g2:#EA8A0C}
.rx.ok::after{content:"";position:absolute;top:50%;right:14px;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;background:var(--ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 7.2l2.3 2.3 4.7-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/20px no-repeat}
.mol-main{min-width:0}
.mol-stage{position:relative;border-radius:var(--r) var(--r) 0 0;overflow:hidden;background:#1F4166;min-height:260px;touch-action:pan-y}
.mol-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,rgba(90,150,215,.22),transparent 60%),radial-gradient(ellipse at center,transparent 62%,rgba(6,20,40,.28))}
.mol-canvas{display:block;width:100%;cursor:grab}
.mol-canvas:active{cursor:grabbing}
.mol-ov{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.mol-lbl{position:absolute;left:0;top:0;white-space:nowrap;font-size:15px;font-weight:700;color:#fff;background:rgba(12,31,51,.55);border:1px solid rgba(255,255,255,.18);padding:2px 9px;border-radius:999px;backdrop-filter:blur(3px);opacity:0;will-change:transform}
.mol-lbl.cat{left:50%;top:auto;bottom:12px;transform:translateX(-50%);font-size:12.5px;font-weight:600;color:#D9E6F3;background:rgba(12,31,51,.6);opacity:1}
.mol-leg{position:absolute;left:12px;top:12px;display:flex;flex-wrap:wrap;gap:6px;z-index:2;pointer-events:none;max-width:70%}
.mol-leg span{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#E3ECF5;background:rgba(12,31,51,.55);border:1px solid rgba(255,255,255,.12);padding:3px 10px 3px 4px;border-radius:999px}
.mol-leg i,.tl i{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0,var(--ac) 45%,color-mix(in srgb,var(--ac) 55%,#000) 100%)}
.mol-hint{position:absolute;right:12px;top:12px;z-index:2;font-size:11.5px;font-weight:600;color:#B9CADB;background:rgba(12,31,51,.5);padding:4px 10px;border-radius:999px;pointer-events:none}
.mol-heat{position:absolute;right:12px;top:44px;z-index:2;font-size:12.5px;font-weight:700;color:#fff;background:linear-gradient(135deg,#FF8A3D,#E0432F);padding:5px 12px;border-radius:999px;opacity:0;transform:translateY(-4px);transition:opacity .4s,transform .4s;pointer-events:none}
.mol-heat.show{opacity:1;transform:none}
.mol-bar{background:#fff;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--r) var(--r);box-shadow:var(--shadow);padding:14px 18px 16px}
.mol-cap{min-height:66px}
.cap-dots{display:flex;gap:5px;margin-bottom:8px}
.cap-dots i{height:5px;flex:1;max-width:46px;border-radius:5px;background:var(--line);transition:background .3s}
.cap-dots i.past{background:var(--blue-m)}
.cap-dots i.cur{background:linear-gradient(90deg,var(--amber),#FF7A59)}
.mol-cap p{margin:0;font-size:15.5px;line-height:1.45;color:var(--ink)}
.mol-cap p b{display:inline-block;margin-right:8px;font-size:12.5px;color:var(--blue);background:var(--blue-l);padding:1px 8px;border-radius:999px;vertical-align:1px}
.mol-cap .badge-done{margin-top:10px}
.mol-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px}
.mol-ctl #molRev:empty{display:none}
.mol-mode{margin-left:auto}
.mol-info{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px}
.mol-eq .eqbox{margin:0 0 10px}
.mol-tally{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.mol-tally p{grid-column:1/-1}
.mol-tally .tl-row{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}
.mol-tally small{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.mol-tally .tl-row div{display:flex;flex-wrap:wrap;gap:6px}
.tl{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--navy);background:var(--bg);border-radius:999px;padding:3px 10px 3px 4px}
.tl b{font-weight:600;color:var(--muted);font-size:13px}
.mol-tally p{margin:4px 0 0;font-size:13.5px;color:var(--muted);line-height:1.45}
.mol-nogl{display:flex;align-items:center;justify-content:center;min-height:260px;padding:24px;text-align:center;color:#D9E6F3;font-weight:600}
.mol-steps{margin:0;padding-left:20px;font-size:14.5px}
@media (max-width:1100px){.mol{grid-template-columns:minmax(0,1fr)}.rx-list{display:grid;grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.mol-tally{grid-template-columns:1fr}}
@media (max-width:520px){.rx-list{grid-template-columns:1fr}.mol-mode{margin-left:0}.mol-lbl{font-size:13px}.mol-leg{max-width:100%;right:12px}.mol-hint{display:none}}

/* ================= конспект раздела ================= */
.nt-pdf{display:flex;align-items:center;gap:18px;padding:18px 20px;border-radius:var(--r);background:linear-gradient(135deg,#2A5794,#1B365D);color:#fff;box-shadow:0 10px 26px -14px #1B365D;margin-bottom:18px}
.nt-pdf-ic{flex:0 0 56px;height:56px;border-radius:14px;background:var(--amber);display:flex;align-items:center;justify-content:center;color:#1B365D}
.nt-pdf-ic svg{width:32px;height:32px}
.nt-pdf-t{flex:1;min-width:0}
.nt-pdf-t b{display:block;font-size:18px;line-height:1.25}
.nt-pdf-t span{display:block;font-size:14px;opacity:.92;margin-top:3px}
.nt-pdf .btn{background:var(--amber);color:var(--navy);flex:0 0 auto;text-decoration:none}
.nt-pdf .btn:hover{background:#F2B70F}
.nt-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.nt-bar .btn{padding:9px 16px;font-size:14px}
.nt-list{display:flex;flex-direction:column;gap:10px}
.nt{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);overflow:hidden;transition:border-color .25s,box-shadow .25s}
.nt-1{--g1:#2BC0E4;--g2:#1A7FD0}.nt-2{--g1:#8E7CFF;--g2:#5A3FD8}.nt-3{--g1:#FF6B96;--g2:#D1245A}.nt-4{--g1:#2FD39A;--g2:#12946A}.nt-5{--g1:#FFC24B;--g2:#EA8A0C}.nt-6{--g1:#FF7A59;--g2:#E0432F}.nt-7{--g1:#4F8BD6;--g2:#1B365D}.nt-8{--g1:#2BC0E4;--g2:#12946A}
.nt.open{border-color:color-mix(in srgb,var(--g2) 45%,#fff);box-shadow:0 12px 30px -18px var(--g2)}
.nt-head{display:flex;align-items:center;gap:16px;width:100%;border:0;background:none;padding:14px 18px 14px 14px;text-align:left}
.nt-head:hover .nt-chev{background-color:var(--bg)}
.nt-num{flex:0 0 52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;font-size:22px;font-weight:800;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12)}
.nt-tt{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px}
.nt-tt b{font-size:17px;line-height:1.25;color:var(--navy)}
.nt-tt small{font-size:13px;color:var(--muted);font-weight:600}
.nt-chev{flex:0 0 36px;height:36px;border-radius:50%;border:1px solid var(--line);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C1F33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center/18px no-repeat;transition:transform .3s,background-color .2s}
.nt.open .nt-chev{transform:rotate(180deg)}
.nt-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.3,1,.4,1)}
.nt.open .nt-body{grid-template-rows:1fr}
.nt-in{overflow:hidden;padding:0 24px 0 82px}
.nt.open .nt-in{padding-bottom:22px}
.nt-in>p{margin:0 0 12px;font-size:15.5px;line-height:1.6;color:var(--ink)}
.nt-in h3{margin:20px 0 8px;font-size:16px;color:var(--navy);display:flex;align-items:center;gap:8px}
.nt-in h3::before{content:"";width:14px;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--g1),var(--g2))}
.nt-eq{display:flex;align-items:center;gap:18px;margin:8px 0;padding:10px 14px;border-radius:12px;background:var(--bg)}
.nt-eq .nt-f{flex:0 0 270px;font-size:17px;font-weight:700;color:var(--navy)}
.nt-eq p{margin:0;font-size:14.5px;line-height:1.5;color:#2A3947}
.geq{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}
.gm{display:inline-flex}
.gb{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:12px;font-weight:800;color:#fff;box-shadow:inset -3px -4px 6px rgba(0,0,0,.18),inset 3px 3px 5px rgba(255,255,255,.35)}
.gb+.gb{margin-left:-5px}
.gb-A{background:#2F7FD0}.gb-B{background:#F2A33A}.gb-C{background:#17A673}.gb-D{background:#D1245A}
.go{font-weight:700;color:var(--muted);font-size:16px}
.nt-types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px 0 16px}
.nt-type{border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fff}
.nt-type b{font-size:14px;color:var(--navy)}
.nt-signs{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.nt-signs li{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.ns-h{display:flex;align-items:center;gap:10px}
.ns-h i{flex:0 0 26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;font-size:13px;color:#fff;background:linear-gradient(135deg,var(--g1),var(--g2))}
.ns-h b{font-size:15px;color:var(--navy)}
.ns-f{font-size:15px;font-weight:700;color:var(--navy);background:var(--bg);border-radius:8px;padding:7px 10px}.ns-f .chem{white-space:normal}
.nt-signs p{margin:0;font-size:14px;line-height:1.5;color:#2A3947}
.nt-ol{list-style:none;margin:4px 0 0;padding:0;counter-reset:c;display:grid;gap:8px}
.nt-ol li{counter-increment:c;display:flex;align-items:center;gap:12px;font-size:15.5px;background:var(--bg);border-radius:12px;padding:10px 14px}
.nt-ol li::before{content:counter(c);flex:0 0 28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(135deg,var(--g1),var(--g2))}
@media (max-width:1100px){.nt-signs{grid-template-columns:minmax(0,1fr)}}
@media (max-width:700px){.nt-in{padding:0 16px}.nt-eq{flex-direction:column;align-items:flex-start;gap:8px}.nt-eq .nt-f{flex:none}.nt-pdf{flex-wrap:wrap}.nt-pdf .btn{width:100%}.nt-head{gap:12px}.nt-num{flex-basis:44px;height:44px;font-size:19px}.nt-tt b{font-size:15.5px}}
@media (max-width:700px){.nt-types{grid-template-columns:minmax(0,1fr)}}

/* ================= модуль 1 ================= */
/* учёные под видео */
.people{margin-top:18px}
.people h3{margin:0 0 10px}
.ppl{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px}
.ppl-i{margin:0;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.ppl-i img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.ppl-i figcaption{padding:9px 11px 11px}
.ppl-i b{display:block;font-size:14px;line-height:1.25;color:var(--navy)}
.ppl-i span{display:block;font-size:12px;color:var(--muted);margin-top:3px;line-height:1.35}
/* пылинка */
.dust{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:center}
.dust-art svg{display:block;width:100%;height:auto}
.dust-atoms{animation:dustJit 1.8s ease-in-out infinite alternate}
@keyframes dustJit{to{transform:translate(1.5px,-1px)}}
.dust-ctl{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.dust-kv small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.dust-kv b{font-size:20px;color:var(--navy)}
.dust-kv.big b{font-size:26px;font-weight:800;letter-spacing:.01em;background:linear-gradient(90deg,#1A7FD0,#5A3FD8);-webkit-background-clip:text;background-clip:text;color:transparent}
.dust-kv b.amber{color:#D9820F}
.dust-run{display:none;flex-direction:column;gap:10px;width:100%;padding:14px 16px;border-radius:14px;background:var(--bg)}
.dust-run.show{display:flex;animation:pgIn .4s}
.dust-bar{height:8px;border-radius:8px;background:#DCE5EE;overflow:hidden}
.dust-bar i{display:block;width:2px;height:100%;background:linear-gradient(90deg,#FFC24B,#EA8A0C)}
.dust-fact{margin:0;font-weight:700;color:var(--navy);opacity:0;transform:translateY(4px);transition:.5s}
.dust-fact.show{opacity:1;transform:none}
/* сортировка */
.srt-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.srt-pool{display:flex;flex-wrap:wrap;gap:8px;min-height:52px;padding:14px;border:2px dashed var(--line);border-radius:16px;background:#fff}
.srt-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:600;font-size:14.5px;color:var(--navy);box-shadow:0 2px 6px -3px rgba(12,31,51,.25);cursor:grab;touch-action:none;user-select:none;transition:transform .15s,box-shadow .15s,border-color .15s}
.srt-chip:hover{transform:translateY(-2px);border-color:var(--blue-m)}
.srt-chip.sel{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-l)}
.srt-chip.lifted{opacity:.35}
.srt-chip.shake{animation:shake .4s}
@keyframes shake{20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.srt-ghost{position:fixed;left:0;top:0;z-index:999;pointer-events:none;cursor:grabbing;box-shadow:0 14px 30px -10px rgba(12,31,51,.45);transform-origin:center}
.srt-f{font-weight:800;color:var(--blue-d)}
.srt-fb{margin:12px 0}
.srt-bins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.srt-bin{border-radius:18px;background:#fff;border:2px solid transparent;box-shadow:var(--shadow);overflow:hidden;min-height:190px;transition:border-color .2s,transform .2s}
.srt-b1{--g1:#2BC0E4;--g2:#1A7FD0}.srt-b2{--g1:#8E7CFF;--g2:#5A3FD8}.srt-b3{--g1:#FFC24B;--g2:#EA8A0C}
.srt-bin.hover{border-color:var(--g2);transform:translateY(-3px)}
.srt-bh{padding:14px 16px;background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff;cursor:pointer}
.srt-bh b{display:block;font-size:16px}.srt-bh small{font-size:12.5px;opacity:.9}
.srt-in{display:flex;flex-wrap:wrap;gap:6px;padding:12px}
.srt-got{display:inline-flex;gap:6px;align-items:center;font-size:13px;font-weight:600;background:var(--ok-l);color:#0F5E3F;border-radius:9px;padding:5px 9px;animation:pgIn .3s}
/* 3D: состояния */
.sts{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.sts-main{min-width:0}
.sts-t{display:flex;align-items:center;gap:18px;margin-top:14px}
.sts-tv small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.sts-tv b{font-size:22px;color:var(--navy);white-space:nowrap}
.sts-slider{flex:1;position:relative;padding-bottom:22px}
.sts-slider input{width:100%;accent-color:#EA8A0C}
.sts-ticks span{position:absolute;bottom:0;transform:translateX(-50%);font-size:11.5px;font-weight:700;color:var(--muted);white-space:nowrap}
.sts-ticks span::before{content:"";position:absolute;left:50%;top:-12px;width:2px;height:8px;background:#C7D3DE}
.sts-d{margin-top:14px}
.sts-d p{margin:10px 0 0;opacity:0;transition:.4s}.sts-d p.show{opacity:1}
.sts-card{padding:0;overflow:hidden}
.sts-h{display:flex;align-items:center;gap:12px;padding:16px 18px;color:#fff;background:linear-gradient(135deg,var(--g1),var(--g2))}
.sts-solid{--g1:#8FA6BA;--g2:#4D6680}.sts-liquid{--g1:#FFB347;--g2:#E0662B}.sts-gas{--g1:#FF7A59;--g2:#C2285B}
.sts-h b{font-size:20px}
.sts-sym-b{font-weight:800;background:rgba(255,255,255,.22);border-radius:10px;padding:4px 10px}
.sts-card dl{margin:0;padding:12px 18px;display:grid;grid-template-columns:auto 1fr;gap:8px 12px;font-size:14px}
.sts-card dt{color:var(--muted);font-weight:600}.sts-card dd{margin:0;font-weight:700;color:var(--navy)}
.sts-plant{margin:0;padding:12px 18px 16px;font-size:13.5px;color:#2A3947;border-top:1px solid var(--line)}
.sts-sym{margin-top:14px}
.sts-sym h3{margin:0 0 10px;font-size:15px}
.sts-syms{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.sts-syms span{display:flex;gap:8px;align-items:center;font-size:13.5px;background:var(--bg);border-radius:9px;padding:6px 9px}
.sts-syms b{color:var(--blue-d)}
.sts-sym .eqbox{font-size:14px}
/* 3D: атом */
.atm{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.atm-main{min-width:0}
.atm-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.atm-cnt{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:14px;padding:6px 8px 6px 12px}
.atm-dot{width:14px;height:14px;border-radius:50%}
.atm-p .atm-dot{background:radial-gradient(circle at 35% 30%,#fff 0,#E0463C 50%,#9C2019)}
.atm-n .atm-dot{background:radial-gradient(circle at 35% 30%,#fff 0,#9AA7B4 50%,#5B6773)}
.atm-e .atm-dot{background:radial-gradient(circle at 35% 30%,#fff 0,#5CC8FF 50%,#1F80C0);box-shadow:0 0 8px #7FD8FF}
.atm-lbl{font-weight:700;font-size:14px;color:var(--navy);min-width:78px}
.atm-cnt b{min-width:28px;text-align:center;font-size:18px;color:var(--navy)}
.atm-b{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:#fff;font-size:20px;font-weight:700;color:var(--navy);touch-action:manipulation;user-select:none}
.atm-b:hover{border-color:var(--blue)}.atm-b:active{transform:scale(.94)}
.atm-reset{margin-left:auto;padding:9px 14px}
.atm-note{margin:10px 2px 0}
.atm-read{position:relative}
.atm-el{display:flex;gap:14px;align-items:stretch}
.atm-tile{flex:0 0 96px;border-radius:14px;padding:8px 10px;color:#fff;background:linear-gradient(135deg,#2BC0E4,#1A7FD0);display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 8px 18px -10px #1A7FD0}
.atm-tile small{font-weight:700;font-size:13px;opacity:.9}.atm-tile b{font-size:38px;line-height:1;font-weight:800}.atm-tile span{font-size:12px;font-weight:600}
.atm-kv{display:flex;flex-direction:column;gap:8px;min-width:0}
.atm-kv small,.atm-shells small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.atm-kv b{font-size:14.5px;color:var(--navy)}.atm-kv b.q{color:#C2285B}
.atm-shells{margin-top:12px}
.atm-shells div{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.atm-shells span{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--navy);background:var(--bg);border-radius:999px;padding:3px 10px 3px 4px}
.atm-shells i{font-style:normal;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:#fff;background:#5CB8F0}
.atm-empty{padding:20px 6px;color:var(--muted);font-weight:600;text-align:center}
.atm-toast{position:absolute;right:12px;top:-12px;background:var(--ok);color:#fff;font-weight:800;border-radius:999px;padding:5px 14px;animation:toast 2.2s forwards}
@keyframes toast{0%{opacity:0;transform:translateY(6px)}12%{opacity:1;transform:none}80%{opacity:1}100%{opacity:0}}
.atm-tasks{margin-top:14px}
.atm-tasks h3{margin:0 0 10px;font-size:15px}
.atm-tasks ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.atm-tasks li{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:12px;font-size:14px;color:var(--muted)}
.atm-tasks li b{display:block;color:inherit;font-weight:700}
.atm-tasks li small{display:block;margin-top:3px;color:#2A3947}
.atm-tn{flex:0 0 24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12.5px;background:var(--line);color:var(--muted)}
.atm-tasks li.cur{background:var(--blue-l);color:var(--navy)}.atm-tasks li.cur .atm-tn{background:linear-gradient(135deg,#2BC0E4,#1A7FD0);color:#fff}
.atm-tasks li.ok{color:#0F5E3F}.atm-tasks li.ok .atm-tn{background:var(--ok);color:#fff}
.atm-tasks li.atm-all{flex-direction:column;gap:6px}
/* моль */
.mle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;align-items:start}
.mle-ctl h3{margin:0 0 10px;font-size:15px}
.mle-subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.mle-subs button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:#fff;text-align:left;position:relative}
.mle-subs button.on{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-l)}
.mle-subs b{font-size:16px;color:var(--navy)}.mle-subs small{font-size:12px;color:var(--muted)}
.mle-sw{position:absolute;right:10px;top:10px;width:14px;height:14px;border-radius:50%;background:var(--sc);box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.mle-n{display:flex;align-items:center;gap:12px}
.mle-n b{font-size:22px;color:var(--navy);min-width:110px;text-align:center}
#mlR{width:100%;margin-top:10px;accent-color:var(--blue)}
.mle-calc{display:flex;flex-direction:column;gap:8px;margin-top:14px;padding:12px 14px;border-radius:12px;background:var(--bg)}
.mle-calc small{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.mle-calc b{font-size:16px;color:var(--navy)}
.mle-f b{font-size:18px}
.mle-scale svg{display:block;width:100%;height:auto}
.mle-part{display:flex;justify-content:space-between;align-items:baseline;margin-top:8px;padding-top:10px;border-top:1px solid var(--line)}
.mle-part small{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.mle-part b{font-size:20px;color:var(--navy)}
.mle-right .atm-tasks{margin-top:14px}
/* конспект: определения и таблица */
.nt-dl{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:0;margin:6px 0 14px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.nt-dl dt,.nt-dl dd{margin:0;padding:10px 14px;border-top:1px solid var(--line);font-size:15px;line-height:1.5}
.nt-dl dt:first-of-type,.nt-dl dt:first-of-type+dd{border-top:0}
.nt-dl dt{font-weight:700;color:var(--navy);background:var(--bg)}
.nt-tbl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:6px 0 12px}
.nt-tbl div{border-radius:12px;background:var(--bg);padding:10px 12px}
.nt-tbl b{display:block;font-size:18px;color:var(--g2)}
.nt-tbl span{font-size:14px;color:#2A3947}
@media (max-width:1100px){.sts,.atm{grid-template-columns:minmax(0,1fr)}.mle{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.dust{grid-template-columns:minmax(0,1fr)}.srt-bins{grid-template-columns:minmax(0,1fr)}.srt-bin{min-height:0}.nt-tbl{grid-template-columns:1fr 1fr}.nt-dl{grid-template-columns:minmax(0,1fr)}.nt-dl dd{border-top:0;padding-top:0}}
@media (max-width:520px){.atm-lbl{min-width:0}.atm-reset{margin-left:0}.sts-t{flex-direction:column;align-items:stretch}}

[hidden]{display:none!important}
.sts-syms b{white-space:nowrap}
.sts-sym .eqbox .chem{white-space:normal}
.ppl-i em{display:block;margin-top:5px;font-style:normal;font-size:10px;color:var(--faint);line-height:1.3}

/* ================= модуль 3 ================= */
.boil>*,.bnd>*,.zc>*,.en-grid>*{min-width:0}
/* мотивация: график кипения */
.boil{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.boil-chart{padding:14px 16px}
.boil-svg{display:block;width:100%;height:auto;font-family:var(--font)}
.bl-grid{stroke:#E3EAF0;stroke-width:1}.bl-grid.z{stroke:#B9C8D6;stroke-width:1.4}
.bl-ax{font-size:12px;fill:var(--faint);font-weight:600}
.bl-room{font-size:11px;fill:#C27A12;font-weight:700}
.bl-trend{fill:none;stroke:#9DB0C2;stroke-width:2;stroke-dasharray:6 6}
.bl-pt{fill:#fff;stroke:#5A6B7B;stroke-width:3}
.bl-f{font-size:16px;font-weight:800;fill:var(--navy)}.bl-f.l{font-size:17px}
.bl-v{font-size:12.5px;font-weight:700;fill:var(--muted)}.bl-v.l{fill:#1A7FD0;font-size:13.5px}
.bl-q{fill:#FFF3E0;stroke:#EA8A0C;stroke-width:2.5;stroke-dasharray:4 3}
.bl-qt{font-size:13px;font-weight:800;fill:#C27A12}
#blExp{transition:opacity .5s}#blExp.gone{opacity:.35}
.bl-wv{animation:blWave 2.2s linear infinite}
@keyframes blWave{from{transform:translateX(0)}to{transform:translateX(-30px)}}
.boil-side .card h3{margin-bottom:8px}
.boil-side .btn{width:100%;margin-top:6px}
.bl-fact{margin:14px 0 0;padding:12px 14px;border-radius:12px;background:linear-gradient(135deg,#E6F5FF,#D3ECFF);color:#0B4F86;font-weight:600;font-size:14.5px;opacity:0;transform:translateY(6px);transition:opacity .6s,transform .6s}
.bl-fact.show{opacity:1;transform:none}
/* 3D связи */
.bnd{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.bnd-seg button{min-width:64px}
.bnd-ctl{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;min-height:44px}
.bnd-ctl .small{flex:1;min-width:200px}
.bnd-card .sts-h{min-height:64px}
.bnd-h2{--g1:#2BC0E4;--g2:#1A7FD0}.bnd-hcl{--g1:#8E7CFF;--g2:#5A3FD8}.bnd-nacl{--g1:#FF8A5B;--g2:#D1405A}.bnd-zn{--g1:#9AAFC2;--g2:#4D6680}.bnd-water{--g1:#2FD3C0;--g2:#128F94}
.bnd-en{padding:12px 18px 4px}.bnd-en small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.bnd-en b{font-size:17px;color:var(--navy)}
.bnd-card dl{grid-template-columns:84px 1fr;font-size:13.5px}
.mol-lbl.sm{font-size:13px;padding:1px 8px}
.mol-lbl.note{font-size:12.5px;font-weight:600;color:#D9F4FF;background:rgba(12,31,51,.45)}
.mol-lbl.dp,.mol-lbl.dm{font-size:18px;font-weight:800;background:none;border:0;backdrop-filter:none;padding:0;text-shadow:0 1px 6px rgba(0,0,0,.45)}
.mol-lbl.dp{color:#FFB4A8}.mol-lbl.dm{color:#9BEBFF}
.mol-lbl.e{background:rgba(40,120,170,.55);color:#E8FBFF}
.mol-lbl.pole{font-size:22px;font-weight:800;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;padding:0}
.mol-lbl.pole.m{background:rgba(59,125,216,.8)}.mol-lbl.pole.p{background:rgba(224,70,60,.85)}
/* калькулятор ЭО */
.en{margin-top:20px}
.en-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;margin-top:16px;align-items:start}
.en-row{margin-bottom:12px}.en-row small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.en-els{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.en-els button{display:flex;flex-direction:column;align-items:center;gap:0;padding:6px 2px 5px;border-radius:10px;border:1px solid var(--line);background:#fff;transition:border-color .15s,background .15s,transform .1s}
.en-els button b{font-size:16px;color:var(--navy);line-height:1.2}.en-els button span{font-size:11px;color:var(--muted);font-weight:600}
.en-els button.mt{background:linear-gradient(180deg,#fff,#F1F4F8)}.en-els button.nm{background:linear-gradient(180deg,#fff,#EEF7FF)}
.en-els button:hover{border-color:var(--blue-m)}
.en-els button.on{border-color:var(--blue);background:var(--blue);box-shadow:0 4px 12px -6px rgba(11,94,163,.7)}.en-els button.on b,.en-els button.on span{color:#fff}
.en-leg{display:flex;gap:16px;font-size:12.5px;color:var(--muted);font-weight:600}
.en-leg span{display:inline-flex;align-items:center;gap:6px}.en-leg i{width:14px;height:14px;border-radius:4px;border:1px solid var(--line)}
.en-leg .mt i{background:#F1F4F8}.en-leg .nm i{background:#EEF7FF}
.en-res{background:var(--bg);border-radius:14px;padding:16px 18px}
.en-pair{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.en-pair b{font-size:28px;color:var(--navy);font-weight:800}.en-pair span{font-size:13px;color:var(--muted);font-weight:600}.en-pair i{font-style:normal;color:var(--faint);margin:0 4px}
.en-d{margin-top:8px}.en-d small{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.en-d b{font-size:17px;color:var(--navy)}
.en-scale{margin-top:14px;transition:opacity .3s}.en-scale.off{opacity:.3}
.en-bar{position:relative;height:12px;border-radius:12px;background:linear-gradient(90deg,#2BC0E4 0%,#2BC0E4 12%,#8E7CFF 12.2%,#5A3FD8 51.4%,#FF8A5B 51.6%,#D1405A 100%)}
.en-bar i{position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--navy);transform:translate(-50%,-50%);box-shadow:0 3px 8px rgba(12,31,51,.3);transition:left .45s cubic-bezier(.3,1.3,.5,1)}
.en-ticks{position:relative;height:18px;margin-top:4px}.en-ticks span{position:absolute;transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--faint)}
.en-ticks span:first-child{transform:none}.en-ticks span:last-child{transform:translateX(-100%)}
.en-zones{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;font-weight:700;color:var(--muted)}
.en-zones span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.en-zones i{width:10px;height:10px;border-radius:50%}
.en-z-nonpolar i{background:#2BC0E4}.en-z-polar i{background:#6F5BEA}.en-z-ionic i{background:#E85A5A}
.en-kind{margin-top:14px;border-radius:12px;padding:12px 14px;color:#fff;background:linear-gradient(135deg,var(--g1),var(--g2))}
.en-kind b{display:block;font-size:16px}.en-kind span{font-size:13.5px;opacity:.95}
.en-nonpolar{--g1:#2BC0E4;--g2:#1A7FD0}.en-polar{--g1:#8E7CFF;--g2:#5A3FD8}.en-ionic{--g1:#FF8A5B;--g2:#D1405A}.en-metal{--g1:#9AAFC2;--g2:#4D6680}
/* шкафы реактивов */
.srt-bins.cab-row{grid-template-columns:repeat(4,minmax(0,1fr))}
.srt-b4{--g1:#2FD39A;--g2:#12946A}
.srt-bin.cab{background:#F7FAFC;border-radius:16px 16px 12px 12px;min-height:250px}
.cab .srt-bh{display:flex;align-items:flex-start;gap:10px;height:84px;padding-top:16px}.cab .srt-bh small{display:block;line-height:1.35;margin-top:2px}
.cab-ic{flex:0 0 34px;height:34px;border-radius:10px;background:rgba(255,255,255,.22);display:grid;place-items:center;color:var(--g2)}
.cab-ic svg{width:24px;height:24px}
.cab .srt-in{min-height:180px;align-content:flex-start;background:repeating-linear-gradient(180deg,transparent 0 58px,#DCE4EC 58px 62px,transparent 62px 64px);padding:10px 10px 12px}
.srt-chip.bottle{flex-direction:column;align-items:stretch;gap:0;padding:0;width:112px;border-radius:12px 12px 14px 14px;overflow:hidden;background:linear-gradient(180deg,#F4F8FB,#E6EEF5);border:1px solid #CBD7E2}
.bt-cap{display:block;height:10px;margin:0 30px;border-radius:0 0 4px 4px;background:linear-gradient(180deg,#2E4A66,#1C3550)}
.bt-lbl{display:flex;flex-direction:column;align-items:center;margin:8px 8px 9px;padding:6px 4px;border-radius:8px;background:#fff;border:1px solid #DCE4EC}
.bt-lbl b{font-size:16px;font-weight:800;color:var(--blue-d);line-height:1.25}
.bt-lbl small{font-size:11.5px;font-weight:600;color:var(--muted);text-align:center;line-height:1.25;min-height:2.5em;display:flex;align-items:center}
.srt-got.jar{display:inline-flex;flex-direction:column;align-items:center;gap:0;width:calc(50% - 3px);padding:6px 4px 6px;border-radius:9px;background:#fff;border:1px solid #D5E9DD;color:#0F5E3F;height:54px;justify-content:center}
.srt-got.jar i{display:none}
.srt-got.jar b{font-size:14px;color:var(--navy)}.srt-got.jar small{font-size:10.5px;font-weight:600;color:#3E6F57;text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
/* цинк и его соединения */
.zc-chain{display:flex;align-items:center;gap:0;margin-bottom:16px;padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow-x:auto}
.zc-lin{display:flex;align-items:center}
.zc-fork{display:flex;flex-direction:column;gap:8px}
.zc-br{display:flex;align-items:center}
.zc-node{flex:0 0 auto;padding:8px 12px;border-radius:12px;font-weight:800;font-size:15.5px;color:var(--muted);background:var(--bg);border:1px solid var(--line);white-space:nowrap}
.zc-node.on{color:#fff;border-color:transparent;background:linear-gradient(135deg,#9AAFC2,#4D6680)}
.zc-node.off{opacity:.55}
.zc-arr{position:relative;flex:0 0 auto;width:96px;height:30px;display:flex;align-items:center;justify-content:center}
.zc-arr::before{content:"";position:absolute;left:6px;right:10px;top:50%;height:2px;background:#C9D5E0}
.zc-arr::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;border-top:2px solid #C9D5E0;border-right:2px solid #C9D5E0;transform:translateY(-50%) rotate(45deg)}
.zc-arr span{position:relative;z-index:1;background:#fff;padding:0 6px;font-size:12.5px;font-weight:700;color:var(--faint);white-space:nowrap}
.zc-arr.done::before{background:#12946A}.zc-arr.done::after{border-color:#12946A}.zc-arr.done span{color:#0F5E3F}
.zc-arr.cur::before{background:linear-gradient(90deg,#F2A33A,#FF7A59);height:3px}.zc-arr.cur::after{border-color:#FF7A59}.zc-arr.cur span{color:#C2560F;animation:zcPulse 1.4s ease-in-out infinite}
@keyframes zcPulse{50%{opacity:.45}}
.zc{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.zc-tube{padding:18px 16px 14px;text-align:center;background:radial-gradient(ellipse at 50% 35%,#FFFFFF 0,#EAF1F7 70%,#DCE6EF 100%)}
.zc-tube svg{width:100%;max-width:230px;height:auto;display:block;margin:0 auto}
.zc-cap{margin-top:8px;font-weight:700;font-size:14px;color:var(--navy);min-height:2.6em}
.zc-l{opacity:0;transition:opacity .9s ease}
#zcTube[data-st=granule] .zc-granule,#zcTube[data-st=powder] .zc-powder,#zcTube[data-st=liquid] .zc-liquid,#zcTube[data-st=precip] .zc-liquid,#zcTube[data-st=precip] .zc-precip{opacity:1}
#zcTube[data-st=precip] .zc-precip{animation:zcSettle 2.4s ease-out}
@keyframes zcSettle{from{transform:translateY(-60px);opacity:0}to{transform:none;opacity:1}}
.zc-wv{animation:zcWave 3s linear infinite}
@keyframes zcWave{from{transform:translateX(0)}to{transform:translateX(-90px)}}
.zc-drop{opacity:0}
#zcTube.pour .zc-drop{animation:zcDrop 1.1s ease-in 3}
#zcTube.pour .d2{animation-delay:.35s}#zcTube.pour .d3{animation-delay:.7s}
@keyframes zcDrop{0%{opacity:1;transform:translateY(0)}80%{opacity:1}100%{opacity:0;transform:translateY(64px)}}
.zc-step{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.zc-q{font-size:19px;margin:0 0 14px;line-height:1.35}
.zc-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.zc-o{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;text-align:left;transition:border-color .15s,background .15s}
.zc-o b{font-size:18px;color:var(--navy)}.zc-o small{font-size:13px;color:var(--muted);font-weight:600}
.zc-o:hover:not(:disabled){border-color:var(--blue-m);background:var(--blue-l)}
.zc-o.ok{border-color:var(--ok);background:var(--ok-l)}.zc-o.bad{border-color:var(--bad);background:var(--bad-l)}
.zc-o:disabled{cursor:default}
.zc-o.shake{animation:shake .4s}
.zc-plant{margin:6px 0 0;font-size:14px}
.zc-task .fb .eqbox{margin:8px 0}
@media (max-width:1100px){.boil,.bnd{grid-template-columns:minmax(0,1fr)}.srt-bins.cab-row{grid-template-columns:repeat(2,minmax(0,1fr))}.en-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.zc{grid-template-columns:minmax(0,1fr)}.zc-tube svg{max-width:150px}.srt-bin.cab{min-height:0}.cab .srt-in{min-height:80px}}
@media (max-width:600px){.en-els{grid-template-columns:repeat(4,minmax(0,1fr))}.zc-opts{grid-template-columns:minmax(0,1fr)}.srt-chip.bottle{width:calc(50% - 4px)}.srt-bins.cab-row{grid-template-columns:minmax(0,1fr)}.zc-arr{width:74px}.zc-node{font-size:14px;padding:7px 10px}}
@media (prefers-reduced-motion:reduce){.bl-wv,.zc-wv,.zc-arr.cur span{animation:none}}

/* ================= ISO 45001: фирменные дополнения ================= */
.hdr-logo{height:30px}
.btn.amber:hover{background:#F2B70F}
.lead,.plan-i span,.term span{letter-spacing:-.005em}
h1{letter-spacing:-.015em}
.std-name{margin:18px 0 0;padding:12px 14px;border-left:3px solid var(--amber);background:#fff;border-radius:0 10px 10px 0;font-size:13px;line-height:1.5;color:var(--muted);box-shadow:var(--shadow)}
.hero-vis{display:flex;justify-content:center}
.hero-vis .pdca{width:100%;max-width:440px}

/* колесо PDCA */
.pdca{display:block;width:100%;height:auto;font-family:var(--font)}
.pdca .w-ring{fill:#E3EBF5;stroke:#C9D7E8;stroke-width:1}
.pdca .w-gap{fill:#fff}
.pdca .w-core{fill:var(--navy)}
.pdca .w-rt{font-size:15px;font-weight:800;letter-spacing:.14em;fill:var(--navy);text-anchor:middle}
.pdca .w-rt.s{font-size:11px;font-weight:600;letter-spacing:.04em;fill:var(--muted)}
.pdca .w-ct{font-size:14px;font-weight:800;letter-spacing:.06em;fill:#fff;text-anchor:middle}
.pdca .wz-t{font-size:14.5px;font-weight:800;letter-spacing:.08em;fill:#fff;text-anchor:middle}
.pdca .wz-c .wz-t,.pdca .wz-c .wz-s{fill:var(--navy)}
.pdca .wz-s{font-size:12px;font-weight:600;fill:#fff;opacity:.92;text-anchor:middle}
.pdca .w-arr-bg{fill:#fff;stroke:#C9D7E8;stroke-width:1.5}.pdca .w-arr{fill:var(--navy);stroke:var(--navy);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hero-vis .pdca .w-arr{animation:wArr 2.4s ease-in-out infinite}
@keyframes wArr{50%{opacity:.35}}
.pdca-i .wz{cursor:pointer;transition:filter .15s,transform .2s;transform-origin:280px 280px}
.pdca-i.armed .wz:hover{filter:brightness(1.08) drop-shadow(0 0 10px rgba(255,199,44,.8))}
.pdca-i .wz-n circle{fill:#fff;stroke:var(--navy);stroke-width:2}
.pdca-i .wz-n text{font-size:14px;font-weight:800;fill:var(--navy);text-anchor:middle}
.pdca-i .wz-n{opacity:.0;transition:opacity .2s}
.pdca-i .wz-n.on{opacity:1}
.pdca-i .wz-n.on circle{fill:var(--amber)}
.pdca-i .wz.flash{animation:wFlash .6s ease}
@keyframes wFlash{40%{filter:brightness(1.25) drop-shadow(0 0 14px rgba(255,199,44,.95))}}
.pdca-i .wz.nope{animation:wNope .4s ease}
@keyframes wNope{25%{transform:rotate(-1.2deg)}75%{transform:rotate(1.2deg)}}

.wh{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}
.wh-vis{padding:14px;position:sticky;top:12px}
.wh-pool{display:flex;flex-direction:column;gap:8px;margin:10px 0 14px}
.wh-chip{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 12px;font-size:14px;font-weight:600;color:var(--ink);box-shadow:var(--shadow);transition:border-color .15s,background .15s,transform .1s}
.wh-chip b{flex:0 0 46px;height:30px;border-radius:8px;display:grid;place-items:center;background:var(--blue-l);color:var(--navy);font-weight:800;font-size:13px}
.wh-chip:hover{border-color:var(--blue-m)}
.wh-chip.sel{border-color:var(--amber);background:var(--amber-l);transform:translateX(4px)}
.wh-chip.sel b{background:var(--amber)}
.wh-map{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px}
.wh-map:empty{display:none}
.wm{border-radius:var(--r);padding:14px 16px;color:#fff}
.wm h4{margin:0 0 6px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.wm p{margin:4px 0 0;font-size:13px;line-height:1.4}
.wm-ctx{background:#E3EBF5;color:var(--navy)}.wm-lead{background:var(--navy)}
.wm-p{background:linear-gradient(135deg,#4C82C8,#2A5794)}.wm-d{background:linear-gradient(135deg,#2FBFAE,#138A7D)}
.wm-c{background:linear-gradient(135deg,#FFD35A,#F2A40C);color:var(--navy)}.wm-a{background:linear-gradient(135deg,#F58A68,#D2513A)}

/* плашка «Актуально на 2026 год» */
.actual{display:flex;gap:16px;align-items:flex-start;margin-top:22px;padding:18px 20px;border-radius:var(--r);background:linear-gradient(135deg,#FFF6DA,#FFFDF5);border:1px solid #F5DC8E}
.actual-ic{flex:0 0 auto;padding:8px 10px;border-radius:10px;background:var(--amber);color:var(--navy);font-weight:800;font-size:15px}
.actual b{display:block;color:var(--navy);margin-bottom:4px}
.actual p{margin:6px 0 0;font-size:14.5px;color:var(--ink)}

/* метка этапа в кейсе */
.person .stage-tag{margin-left:auto;display:inline-block;opacity:1;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.person .st-p{background:#2A5794;color:#fff}.person .st-d{background:#138A7D;color:#fff}.person .st-c{background:#F2A40C;color:#1B365D}.person .st-a{background:#D2513A;color:#fff}
.srt-b1{--g1:#4C82C8;--g2:#2A5794}.srt-b2{--g1:#2FBFAE;--g2:#138A7D}.srt-b3{--g1:#FFD35A;--g2:#F2A40C}.srt-b4{--g1:#F58A68;--g2:#D2513A}

@media (max-width:900px){.wh{grid-template-columns:1fr}.wh-vis{top:0;z-index:5;width:min(100%,320px);margin:0 auto;padding:8px;align-self:start}.wh-map{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.wh-map{grid-template-columns:1fr}}
.srt-bins{grid-template-columns:repeat(var(--nb,3),minmax(0,1fr))}
@media (max-width:900px){.srt-bins{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* маршрут курса */
.route{display:block;width:100%;max-width:520px;height:auto;font-family:var(--font)}
.route .rt-path{fill:none;stroke:#D6E1EE;stroke-width:14;stroke-linecap:round;stroke-linejoin:round}
.route .rt-dash{fill:none;stroke:var(--amber);stroke-width:3;stroke-dasharray:2 10;stroke-linecap:round;animation:rtDash 1.6s linear infinite}
@keyframes rtDash{to{stroke-dashoffset:-24}}
.route .rt-n circle{fill:#fff;stroke:var(--blue);stroke-width:3}
.route .rt-n .rt-num{font-size:15px;font-weight:800;fill:var(--navy);text-anchor:middle}
.route .rt-n .rt-l{font-size:10.5px;font-weight:600;fill:var(--muted);text-anchor:middle}
.route .rt-n.past circle{fill:var(--blue-l)}
.route .rt-n.on circle{fill:var(--navy);stroke:var(--amber);stroke-width:4}
.route .rt-n.on .rt-num{fill:#fff;font-size:18px}
.route .rt-n.on .rt-l{fill:var(--navy);font-weight:800;font-size:11.5px}
.route .rt-fl{font-size:10px;font-weight:700;fill:var(--navy);text-anchor:middle}

/* подбор по двум осям */
.mx2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:22px;align-items:start}
.mx2-ax{margin-bottom:18px}
.mx2-ax h4{margin:0 0 8px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mx2-seg{display:flex;flex-wrap:wrap;gap:6px}
.mx2-seg button{flex:1 1 auto;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;font-weight:700;font-size:14px;color:var(--navy)}
.mx2-seg button:hover{border-color:var(--blue-m)}
.mx2-seg button.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:inset 0 -3px 0 var(--amber)}
.mx2-card{border-radius:var(--r);padding:22px 24px;color:#fff;background:linear-gradient(135deg,var(--g1),var(--g2));box-shadow:var(--shadow);animation:pgIn .3s ease}
.mx2-card h3{color:inherit;font-size:20px;margin:10px 0 6px}
.mx2-card p{margin:0 0 8px;opacity:.95}
.mx2-card ul{margin:6px 0 0;padding-left:18px}.mx2-card li{margin:3px 0}
.mx2-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.mx2-k{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.9}
.mx2-gauge{display:flex;gap:4px}.mx2-gauge i{width:22px;height:8px;border-radius:4px;background:rgba(255,255,255,.3)}.mx2-gauge i.on{background:#fff}
.mx2-card.lv1{--g1:#2FBFAE;--g2:#138A7D}.mx2-card.lv2{--g1:#4C82C8;--g2:#2A5794}.mx2-card.lv3{--g1:#5A6FD0;--g2:#33479E}
.mx2-card.lv4{--g1:#F58A68;--g2:#D2513A}.mx2-card.lv5{--g1:#E0565B;--g2:#A9283A}
@media (max-width:900px){.mx2{grid-template-columns:1fr}}

/* --- таблица анализа контекста (ctx) --- */
.ctx-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.ctx-legend{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--muted);flex-wrap:wrap}
.ctx-legend i{width:12px;height:12px;border-radius:4px;display:inline-block;margin-left:6px}
.lg-go{background:var(--amber)}.lg-stop{background:var(--faint)}
.ctx-head,.ctx-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1.15fr) minmax(0,.75fr);gap:16px;align-items:start}
.ctx-head{padding:0 18px 8px;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.ctx-list{display:flex;flex-direction:column;gap:10px}
.ctx-row{background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue-m);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow);transition:border-color .25s,background .25s}
.ctx-row.ctx-done.ctx-go{border-left-color:var(--amber);background:linear-gradient(90deg,var(--amber-l),#fff 45%)}
.ctx-row.ctx-done.ctx-stop{border-left-color:var(--faint);background:linear-gradient(90deg,var(--bg),#fff 45%)}
.ctx-it b{display:block;font-size:15.5px;line-height:1.3;color:var(--navy);margin-bottom:4px}
.ctx-it span{display:block;font-size:13.5px;line-height:1.5;color:var(--muted)}
.ctx-ev{font-size:13.5px;line-height:1.5;color:var(--ink)}
.ctx-c small{display:none;font-size:11.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.ctx-seg{display:flex;flex-direction:column;gap:6px}
.ctx-seg button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:700;color:var(--navy);text-align:left;line-height:1.25;transition:background .15s,border-color .15s}
.ctx-seg button:hover:not(:disabled){border-color:var(--blue)}
.ctx-seg button.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:inset 0 -3px 0 var(--amber)}
.ctx-seg button.bad{background:var(--bad-l);border-color:var(--bad);color:var(--bad);animation:shake .35s}
.ctx-seg button:disabled:not(.on){opacity:.35;cursor:default}
.ctx-fb{grid-column:1/-1;border-radius:10px;padding:10px 14px;font-size:14px;line-height:1.5;animation:pgIn .3s}
.ctx-fb.bad{background:var(--bad-l);color:#7A2522}
.ctx-fb.ctx-go{background:#fff;border:1px solid #F5D77A}
.ctx-fb.ctx-stop{background:#fff;border:1px solid var(--line)}
.ctx-fb b{color:var(--navy)}
.ctx-sum{margin-top:16px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ctx-sum p{margin:0;flex:1;min-width:240px;font-size:15px}
@media (max-width:1000px){.ctx-head{display:none}.ctx-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ctx-it,.ctx-ev{grid-column:1/-1}.ctx-c small{display:block}}
@media (max-width:600px){.ctx-row{grid-template-columns:minmax(0,1fr)}}

/* --- проверка документа (doccheck) --- */
.dc-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:22px;align-items:start}
.dc-doc{background:#FFFDF8;border:1px solid #E8E1D2;border-radius:6px;padding:30px 32px 26px;box-shadow:0 1px 2px rgba(27,54,93,.06),0 14px 30px -12px rgba(27,54,93,.25);position:sticky;top:12px}
.dc-dh{border-bottom:2px solid var(--navy);padding-bottom:12px;margin-bottom:16px}
.dc-dh span{display:block;font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.dc-dh b{display:block;font-size:19px;line-height:1.3;color:var(--navy);margin-top:4px}
.dc-doc p{font-size:14.5px;line-height:1.6;color:#2A3947;margin:0 0 10px;padding:4px 8px;border-radius:6px;transition:background .3s,box-shadow .3s}
.dc-doc p.dc-lit{background:#E4F5EC;box-shadow:inset 3px 0 0 var(--ok)}
.dc-doc p.dc-now{animation:dcPulse 1.2s}
@keyframes dcPulse{0%{background:#BFE9D2}100%{background:#E4F5EC}}
.dc-sign{margin-top:14px;font-size:13px;color:var(--muted);font-style:italic;text-align:right}
.dc-side{display:flex;flex-direction:column;gap:10px}
.dc-cnt{margin-bottom:2px}
.dc-req{background:#fff;border:1px solid var(--line);border-left:5px solid var(--blue-m);border-radius:var(--r);padding:14px 16px;box-shadow:var(--shadow)}
.dc-req.dc-ok{border-left-color:var(--ok)}
.dc-req.dc-miss{border-left-color:var(--amber)}
.dc-rt{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--ink);font-weight:600}
.dc-l{flex:0 0 26px;height:26px;border-radius:8px;background:var(--navy);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.dc-seg{display:flex;gap:8px;margin:10px 0 0 36px}
.dc-seg button{flex:1;border:1px solid var(--line);background:#fff;border-radius:10px;padding:8px 10px;font-size:13.5px;font-weight:700;color:var(--navy)}
.dc-seg button:hover:not(:disabled){border-color:var(--blue)}
.dc-seg button.on{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:inset 0 -3px 0 var(--amber)}
.dc-seg button.bad{background:var(--bad-l);border-color:var(--bad);color:var(--bad);animation:shake .35s}
.dc-seg button:disabled:not(.on){opacity:.35;cursor:default}
.dc-fb{margin:10px 0 0 36px;border-radius:10px;padding:9px 12px;font-size:13.5px;line-height:1.5;animation:pgIn .3s}
.dc-fb.bad{background:var(--bad-l);color:#7A2522}.dc-fb.ok{background:var(--ok-l);color:#0F5E3F}.dc-fb.miss{background:var(--amber-l);color:#6B4A00}
@media (max-width:1000px){.dc-grid{grid-template-columns:minmax(0,1fr)}.dc-doc{position:static;padding:22px 20px}}
@media (max-width:600px){.dc-seg,.dc-fb{margin-left:0}}

.srt-b5{--g1:#8E7CFF;--g2:#5A3FD8}
