
:root{--bg:#f5f8fb;--white:#fff;--ink:#17344e;--navy:#0c355a;--blue:#246c9e;--light:#e7f1f8;--line:#dce7ef;--muted:#69839a;--good:#16765d;--warn:#a36b17}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.65 Inter,'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.shell{display:grid;grid-template-columns:278px minmax(0,1fr);min-height:100vh}.sidebar{background:#fff;border-right:1px solid var(--line);padding:22px 15px;position:sticky;top:0;height:100vh;overflow:auto}.brand{display:flex;align-items:center;gap:11px;margin:0 8px 28px}.brand strong{display:block;font-size:18px;letter-spacing:-.5px;color:var(--navy)}.brand small{color:var(--muted);font-size:11px}.logo{width:42px;height:42px;flex-shrink:0}.navtitle{font-size:10px;font-weight:800;color:#8297a9;letter-spacing:1.2px;padding:10px 14px}.navbtn{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;border-radius:10px;text-align:left;padding:11px 13px;color:#496b86;margin:2px 0}.navbtn:hover,.navbtn.active{background:var(--light);color:#145985;font-weight:700}.tag{font-size:10px;background:#edf2f6;color:#7a8c9a;border-radius:6px;padding:2px 6px;margin-left:auto}.sidebarfoot{margin-top:30px;padding:14px;border:1px solid var(--line);border-radius:13px;color:var(--muted);font-size:12px}.main{min-width:0}.top{height:76px;background:#fff;border-bottom:1px solid var(--line);padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:12px}.top h1{margin:0;font-size:20px;letter-spacing:-.4px}.top small{color:var(--muted)}.content{max-width:1260px;margin:auto;padding:30px 36px 65px}.eyebrow{color:var(--blue);font-weight:800;font-size:11px;letter-spacing:1px;text-transform:uppercase}.hero{background:linear-gradient(115deg,#e6f1f9,#fff 70%);border:1px solid var(--line);border-radius:20px;padding:27px 31px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}.hero h2{font-size:27px;margin:6px 0 7px;line-height:1.25;letter-spacing:-.7px}.hero p{color:#5e7890;max-width:720px;margin:0}.hero-art{width:110px;opacity:.72}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;min-width:0}.card h3{margin:0 0 8px;font-size:17px}.card p{color:var(--muted);margin:4px 0 16px}.card .number{font-size:29px;font-weight:800;color:var(--navy)}.card-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:var(--light);font-size:20px;margin-bottom:14px}.button{background:var(--blue);color:white;border:1px solid var(--blue);border-radius:9px;padding:9px 15px;font-weight:700}.button.secondary{background:white;color:var(--blue);border-color:#c8dce9}.button.ghost{background:var(--light);border-color:var(--light);color:var(--blue)}.button:hover{filter:brightness(.96)}.muted{color:var(--muted)}.tiny{font-size:12px}.progress{height:7px;background:#e9f0f5;border-radius:20px;overflow:hidden}.progress>div{height:100%;background:#4a95bf;transition:width .2s}.course-list{display:grid;gap:10px}.course-row{display:flex;align-items:center;gap:15px;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:#fff}.course-row .index{background:var(--light);color:var(--blue);border-radius:10px;padding:9px 13px;font-weight:800}.course-row h3{font-size:15px;margin:0}.course-row p{margin:1px 0;color:var(--muted);font-size:12px}.course-row button{margin-left:auto}.lesson-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.lesson-nav{background:white;border:1px solid var(--line);border-radius:16px;padding:17px 12px;position:sticky;top:95px}.lesson-nav h3{font-size:13px;color:var(--navy);margin:4px 9px}.lesson-nav p{font-size:12px;color:var(--muted);margin:0 9px 15px}.step{display:block;text-align:left;width:100%;border:0;background:none;border-radius:9px;padding:10px 9px;color:#5f809c;font-size:12.5px;margin:1px 0}.step.selected{background:var(--light);color:#175c8e;font-weight:800}.step:hover{background:#f2f7fb}.lesson-body{background:white;border:1px solid var(--line);border-radius:17px;padding:30px;min-height:620px}.lesson-body h2{font-size:23px;margin:4px 0 10px}.lesson-body h3{font-size:16px;color:var(--navy);margin:22px 0 8px}.lesson-body p{color:#536d82}.lesson-body li{margin:6px 0}.info{padding:13px 16px;border-radius:10px;background:#eff6fa;border-left:3px solid #5a9ec3;color:#43647e;margin:15px 0}.warn{background:#fff8e9;border-left-color:#d1a352;color:#815f2b}.actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:30px}.pill{display:inline-block;background:#eaf3f9;color:#2d6d98;border-radius:30px;padding:4px 10px;font-size:11px;font-weight:700}.sim{border:1px solid #d5e5f0;border-radius:15px;background:#f7fbfd;padding:18px;margin:18px 0}.simgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field label{font-size:12px;font-weight:700;color:#47667e}.field input,.field select{border:1px solid #cbdde9;border-radius:9px;padding:10px 11px;background:#fff;color:var(--ink);width:100%}.field input:focus,.field select:focus{outline:2px solid #b8d9eb}.furnace{background:linear-gradient(145deg,#d9e5ed,#eef5f8);border:1px solid #bdcfdb;border-radius:17px;padding:20px;text-align:center}.oven-box{width:210px;height:185px;background:#7894a8;border:8px solid #54748c;border-radius:16px;margin:8px auto 14px;position:relative;box-shadow:inset 0 0 0 5px #aec1cc}.oven-door{position:absolute;inset:12px;background:#bdcbd3;border:5px solid #476981;border-radius:8px;display:grid;place-items:center;transition:transform .35s,background .35s;transform-origin:left}.oven-door.open{transform:perspective(400px) rotateY(-64deg);background:#e2edf3}.oven-interior{position:absolute;inset:14px;border-radius:7px;background:#425565;display:grid;place-items:center;color:#fff;font-size:34px;transition:background .3s}.oven-interior.hot{background:#e18b45}.oven-readout{background:#203b51;color:#e8f9ff;padding:8px 15px;border-radius:8px;display:inline-block;font-family:Consolas,monospace;font-weight:800;letter-spacing:1px}.state{padding:11px;border-radius:9px;background:#fff;border:1px solid var(--line);font-size:12px;margin-top:12px}.state.good{border-color:#a5d6c4;color:var(--good);background:#effaf5}.state.bad{border-color:#f1d5a7;color:#9c631b;background:#fff8ed}.calc-result{padding:20px;border-radius:12px;background:#eaf5fb;text-align:center}.calc-result strong{display:block;font-size:31px;color:#155c8c}.formula{font-family:Cambria,Georgia,serif;font-size:18px;text-align:center;padding:17px;background:#f5f8fb;border-radius:10px}.mass-diagram{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.mass-card{border:1px solid var(--line);border-radius:12px;text-align:center;padding:14px 8px;background:white}.mass-card svg{height:80px;width:100%;max-width:150px}.mass-card strong{display:block;color:var(--navy)}.mass-card span{font-size:11px;color:var(--muted)}.mass-card:hover{border-color:#70afd3;background:#f0f8fd}.profile{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile .wide{grid-column:1/-1}.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}.kpi{padding:17px;background:#fff;border:1px solid var(--line);border-radius:12px}.kpi strong{font-size:25px;display:block;color:var(--navy)}.hide{display:none!important}.note{font-size:12px;color:var(--muted)}@media(max-width:1000px){.shell{grid-template-columns:210px 1fr}.content{padding:22px}.top{padding:0 22px}.lesson-layout{grid-template-columns:1fr}.lesson-nav{position:static}.lesson-nav .steps{display:grid;grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.shell{display:block}.sidebar{position:static;height:auto;padding:10px;border-right:0;border-bottom:1px solid var(--line)}.brand{margin-bottom:8px}.sidebar .navtitle,.sidebarfoot{display:none}.navmain{display:flex;overflow:auto;gap:4px}.navbtn{white-space:nowrap;width:auto;padding:8px 10px}.top{height:auto;min-height:65px;padding:12px 17px}.top h1{font-size:17px}.content{padding:15px}.hero{padding:21px}.hero h2{font-size:22px}.hero-art{display:none}.grid,.simgrid,.mass-diagram,.profile,.kpis{grid-template-columns:1fr}.lesson-nav .steps{grid-template-columns:1fr 1fr}.lesson-body{padding:20px}.course-row{flex-wrap:wrap}.course-row button{margin-left:0}}

.header-actions{display:flex;align-items:center;gap:12px}
.header-actions .button{font-size:12px;white-space:nowrap}
.hero-art{width:115px;height:115px;flex:none;opacity:1}
.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.source-lesson{font-size:14.5px;line-height:1.85;color:#36556c}
.source-lesson h3{font-size:16px;letter-spacing:-.2px;margin:26px 0 11px;color:#0c355a}
.source-lesson p{margin:11px 0;color:#425e73}
.source-lesson ul,.source-lesson ol{padding-left:24px}
.source-lesson li{margin:8px 0}
.source-lesson table{border-collapse:collapse;width:100%;font-size:12.5px;margin:17px 0 22px}
.source-lesson th,.source-lesson td{border:1px solid #d8e5ee;padding:10px 12px;text-align:left;vertical-align:top}
.source-lesson th{background:#edf5fa;color:#234b68}
.source-lesson tr:nth-child(even) td{background:#fbfdfe}
.source-lesson code{border-radius:4px;background:#edf3f7;color:#0b5985;padding:1px 4px}
.source-lesson strong{color:#16486d}
.calculation-errors{margin-top:27px;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:650px){.home-grid{grid-template-columns:1fr}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px}.header-actions .button{padding:6px 9px}.hero-art{display:none}}

/* Isolated styles for the 12-step procedure; other v4 sections untouched */
#procedure-app{--pa:#236f9e;--psoft:#eaf5fb;color:#24455c}
.proc-layout{display:grid;grid-template-columns:minmax(230px,31%) minmax(0,1fr);align-items:start;gap:17px;margin-top:17px}
.proc-list{display:flex;flex-direction:column;gap:7px;max-height:calc(100vh - 112px);overflow:auto;position:sticky;top:100px;padding:3px}
.proc-item{border:1px solid #dce9f1;border-radius:11px;background:#fbfdff;display:flex;align-items:center;gap:9px;padding:12px 10px;text-align:left;color:#3c647d;min-height:60px}
.proc-item:hover{background:#f0f9fe;border-color:#a5cfe6}
.proc-item.current{background:#e7f4fc;border-color:#75b5da;box-shadow:0 0 0 1px #a1d0e9}
.proc-number{color:#2a75a3;font-weight:800;font-size:12px;flex-shrink:0}
.proc-item-name{line-height:1.38;flex:1;font-size:12px;font-weight:650}
.proc-mode{background:#eef4f8;color:#678da6;font-size:9px;padding:3px 5px;border-radius:5px;letter-spacing:.35px}
.proc-item.current .proc-mode{background:#d5ecf8;color:#246d98}
.proc-view{border:1px solid #dbe7ee;border-radius:16px;padding:23px;background:#fff;min-width:0}
.proc-head{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.proc-chip{border:1px solid #add5ea;border-radius:40px;color:#226f9f;background:#e8f5fc;font-weight:800;font-size:11px;padding:4px 10px}
.proc-soft{background:#f3f8fa;color:#7a95a4;border-color:#dce8ee}
.proc-step-title{font-size:20px!important;line-height:1.38;margin:13px 0 16px!important}
.proc-visual{padding:13px;border-radius:13px;border:1px solid #dcebf3;background:#f5fafd}
.proc-visual img{width:100%;height:auto;border-radius:11px;display:block;object-fit:contain}
.proc-caption{font-size:11px;color:#7290a4;padding:11px 7px 0}
.proc-explanation{margin-top:23px;padding-top:9px;border-top:1px solid #dce8ef}
.proc-explanation h4{font-size:14px;font-weight:800;color:#1f587e;margin:9px 0}
.proc-explanation p{line-height:1.85}
.proc-explanation ul{padding-left:23px}
.proc-explanation .source-lesson{font-size:13.5px}
.proc-nav{border-top:1px solid #e0ebf2;margin-top:25px;padding-top:17px;display:flex;justify-content:space-between;gap:8px}
.proc-demo{background:#f6fbfe;border:1px solid #d7e8f2;border-radius:15px;padding:18px}
.proc-demo-heading{display:flex;gap:10px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:14px;color:#1f4d6f}
.proc-balance-grid{display:grid;grid-template-columns:minmax(175px,1fr) minmax(220px,1.1fr);gap:16px}
.proc-balance{border-radius:14px;border:1px solid #bed9e8;background:linear-gradient(160deg,#e5f2f9,#cbdfea);height:255px;display:flex;align-items:center;justify-content:end;flex-direction:column;padding:16px}
.proc-pan{background:linear-gradient(#c1d2de,#a0b9c9);width:175px;height:13px;border-radius:50%;position:relative;margin-bottom:8px;border:1px solid #6c92a8}
.proc-tray{position:absolute;width:127px;height:38px;left:23px;bottom:10px;background:linear-gradient(#f5fafc,#dbe9ef);border:2px solid #7a9bb0;border-top-width:5px;border-radius:8px 8px 29px 29px;overflow:hidden;display:grid;align-items:end}
.proc-coal{width:100%;background:linear-gradient(160deg,#52606d,#303d46);border-radius:40% 40% 0 0;max-height:30px}
.proc-balance-screen{border:7px solid #8ca8ba;border-radius:12px;width:200px;background:#193e55;color:#c8f3ef;text-align:center;padding:8px;margin-bottom:8px}
.proc-balance-screen small{display:block;font-size:9px;letter-spacing:1.3px;color:#89d0d0}
.proc-balance-screen strong{display:block;font-size:28px;font-family:Consolas,monospace;white-space:nowrap}
.proc-balance-screen strong small{display:inline;font-size:13px}
.proc-balance-foot{font-size:9px;color:#5d8197;letter-spacing:.9px}
.proc-controls{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.proc-note,.proc-hint{font-size:12px;line-height:1.7;color:#607e93}
.proc-hint{margin:11px 0}
.proc-stage{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}
.proc-stage span{border-radius:6px;padding:7px;background:#e9f0f5;color:#698496;font-size:10px}
.proc-stage span.done{background:#e0f7ed;color:#177b5a;font-weight:700}
.proc-increments{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.proc-increments span{display:block;width:100%;font-size:12px;font-weight:700}
.proc-increments button{font-size:11px;background:#fff;color:#28678d;padding:6px 8px;border-radius:6px;border:1px solid #bad9e8}
.proc-increments button:hover{background:#d8edf9}
.proc-success,.proc-warning{padding:12px 14px;border-radius:10px;margin:12px 0;font-size:12.5px;line-height:1.7}
.proc-success{background:#e7f8f0;border:1px solid #ade0cb;color:#216c52}
.proc-warning{background:#fff5e8;border:1px solid #efd3aa;color:#8d6122}
.proc-success div,.proc-warning div{margin-top:5px}
.proc-constant-grid,.proc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.proc-constant-grid label,.proc-form-grid label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#54718a}
.proc-constant-grid input,.proc-form-grid input,.proc-form-grid select,.proc-form-grid textarea{width:100%;border:1px solid #bed4e1;background:#fff;border-radius:8px;color:#193c55;padding:9px;font:inherit;font-size:13px}
.proc-constant-actions{align-self:end}
.proc-wide{grid-column:1/-1}
.proc-record-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}
.proc-record-summary div{padding:13px;background:#e7f5fd;border:1px solid #c8e6f4;border-radius:10px}
.proc-record-summary span{font-size:11px;color:#6788a0;display:block}
.proc-record-summary strong{font-size:21px;color:#1b628c}
.proc-link-panel{padding:22px;border:1px solid #c8e3f2;border-radius:12px;background:#f0f8fd}
.proc-eqn{font-size:17px;font-weight:800;color:#246d94;padding-bottom:12px}
@media(max-width:1050px){.proc-layout{grid-template-columns:1fr}.proc-list{position:static;max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.proc-item{min-height:72px}}
@media(max-width:680px){.proc-list{grid-template-columns:1fr}.proc-balance-grid,.proc-form-grid,.proc-constant-grid,.proc-record-summary{grid-template-columns:1fr}.proc-view{padding:15px}.proc-demo{padding:13px}.proc-nav{flex-wrap:wrap}.proc-item{min-height:48px}}

.equipment-card{margin:14px 0 18px;border:1px solid #d8e5ee;border-radius:14px;background:#f9fcfe;padding:14px}.equipment-card img{display:block;width:100%;max-width:520px;margin:0 auto;border-radius:12px;background:#fff;border:1px solid #e1ecf3}.equipment-meta{margin-top:10px;font-size:12.5px;line-height:1.6;color:#547084}.equipment-meta strong{color:#1b4e73}.equipment-meta span{color:#6c879b}
/* Total moisture lesson. Isolated styles for LAB-COAL-TM-01. */
.tm-lead{font-size:14px;line-height:1.8;color:#526e83}
.tm-theory{margin-top:14px}
.tm-theory h3{margin-top:23px}
.tm-theory table{width:100%;border-collapse:collapse;font-size:12.6px}
.tm-theory th,.tm-theory td{padding:11px;border:1px solid #dbe8f0}
.tm-theory th{background:#eef6fb}
.tm-theory th,.tm-theory td{text-align:left}
.tm-math{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:#1a577b}
.tm-formula{padding:20px 12px;text-align:center;background:#eaf4fb;border:1px solid #d4e7f3;border-radius:12px;color:#1e5d86;font-size:18px;line-height:1.6;margin:13px 0;font-family:Georgia,'Segoe UI',serif}
.tm-image img{max-height:460px;object-fit:contain}
.tm-interactive{border:1px solid #d6e7f1;border-radius:15px;background:linear-gradient(160deg,#f4fafe,#fff);padding:18px;margin:16px 0}
.tm-sim-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(225px,1fr);gap:20px;align-items:start}
.tm-scale{background:#eaf4fa;border:1px solid #d4e8f2;border-radius:14px;min-height:305px;display:flex;flex-direction:column;align-items:center;justify-content:end;padding:15px 11px;color:#276a92}
.tm-pan{width:175px;height:19px;background:#a7c0d0;border:2px solid #6997b1;border-radius:50%;position:relative;z-index:1;margin-bottom:6px}
.tm-bux{position:absolute;bottom:12px;left:28px;width:120px;height:46px;border:3px solid #74a2bc;background:linear-gradient(160deg,#f7fcff,#c9e4f3);border-radius:8px 8px 18px 18px}
.tm-bux-lid{position:absolute;left:-6px;right:-6px;top:-9px;height:9px;background:#a5ccdf;border:2px solid #709db8;border-radius:8px}
.tm-coal{position:absolute;z-index:2;bottom:22px;left:41px;width:96px;height:16px;border-radius:50%;background:#4c616d}
.tm-scale-body{width:205px;background:linear-gradient(#c4dce9,#8eafc1);border:1px solid #7fa4ba;border-radius:14px 14px 18px 18px;padding:12px;margin-bottom:9px}
.tm-scale-display{border:4px solid #627f92;border-radius:8px;background:#173c54;color:#c9f5ff;text-align:center;padding:6px}
.tm-scale-display strong{font-family:Consolas,'Courier New',monospace;font-size:27px;display:block;letter-spacing:-1px}
.tm-scale-display small{display:block;letter-spacing:.5px;font-size:9px;color:#a8d6e8}
.tm-scale-foot{font-size:9px;letter-spacing:1px;color:#7898ad}
.tm-controls{min-width:0}
.tm-controls>strong{display:block;font-size:15px;color:#194a6b}
.tm-controls p{font-size:12.5px;line-height:1.8}
.tm-controls>.button{display:block;margin:7px 0;width:100%;font-size:12px}
.tm-controls .field{margin-top:15px}
.tm-check{display:flex;align-items:start;gap:9px;color:#456a83;font-size:12.5px;line-height:1.5;margin:11px 0;cursor:pointer}
.tm-check input{margin:4px 0 0;accent-color:#358ab9}
.tm-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}
.tm-chips button{font-size:11px;padding:7px 4px}
.tm-good{background:#eaf8f3;border:1px solid #aed9c8;border-radius:10px;padding:12px;margin:14px 0;color:#246e58;font-size:12.5px}
.tm-constant-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}
.tm-constant-head>div{border-radius:10px;padding:12px;background:#eaf5fb;border:1px solid #d0e7f5}
.tm-constant-head small{display:block;line-height:1.4;color:#5f839d;font-size:11px;min-height:34px}
.tm-constant-head strong{display:block;color:#1c597f;font-size:19px;margin-top:7px}
.tm-constant-confirm{background:#f7fbfe;padding:12px;border:1px solid #daebf5;border-radius:10px;margin-top:16px}
.tm-record-header{display:flex;align-items:start;justify-content:space-between;margin-bottom:15px;gap:12px}
.tm-record-header strong{color:#1c526f}
.tm-record-header p{margin:0}
.tm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tm-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:700;color:#51758c}
.tm-form-grid input{border:1px solid #bcd5e4;border-radius:8px;background:white;padding:9px;color:#245473;width:100%;font-size:13px}
.tm-form-grid input[readonly]{background:#eaf4f9}
.tm-record-result{margin:17px 0;background:#e8f4fc;border:1px solid #d1e7f5;padding:15px;border-radius:11px}
.tm-record-result span,.tm-record-result small{display:block;color:#5a809a;font-size:11px}
.tm-record-result strong{display:block;color:#1f6f9e;font-size:31px}
.tm-calc-container{border:1px solid #d9e8f2;border-radius:15px;overflow:hidden;background:#fff;margin:19px 0 32px}
.tm-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f2f7fb;gap:6px;padding:8px;border-bottom:1px solid #dbe8f2}
.tm-tabs button{border:1px solid transparent;border-radius:10px;background:transparent;padding:13px 7px;color:#5c7d95;font-weight:700}
.tm-tabs button.active{background:white;color:#1f6c9a;border-color:#cee3f1;box-shadow:0 2px 6px #e4eef5}
.tm-calc-inner{padding:22px}
.tm-lesson-tag{font-size:10px;letter-spacing:.6px;font-weight:800;color:#5d8ead;background:#eef7fc;border-radius:7px;display:inline-block;padding:6px 11px;margin-bottom:13px}
.tm-measures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:9px 0 24px}
.tm-measures>div{padding:14px;background:#eff7fb;border:1px solid #d4e9f4;border-radius:11px}
.tm-measures span{display:block;color:#6287a0;font-size:11px;margin-bottom:4px}
.tm-measures strong{display:block;font-size:17px;color:#1a587f}
.tm-calc-stage{max-width:620px;margin:auto}
.tm-stage-progress{display:flex;align-items:center;gap:16px;justify-content:space-between;color:#6a8a9e;font-size:12px;margin:6px 0 14px}
.tm-stage-progress>.progress{width:160px;flex:none}
.tm-calc-stage h3,.tm-start h3{font-size:18px!important;color:#194e71}
.tm-calc-stage .tm-formula{margin:15px 0}
.tm-action-row{display:flex;flex-wrap:wrap;gap:9px;justify-content:space-between;align-items:center;margin-top:17px}
.tm-practice-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.tm-practice-fields .field input{min-width:0}
.tm-start,.tm-finish{text-align:center;padding:29px 12px}
.tm-start p{max-width:500px;margin:12px auto 25px}
.tm-finish-icon{height:48px;width:48px;border-radius:50%;background:#e5f8f0;color:#268b69;font-size:32px;line-height:48px;font-weight:900;text-align:center;margin:8px auto 16px}
.tm-finish>strong{display:block;color:#165d8d;font-size:32px}
.tm-summary{text-align:center}
.tm-summary h3{font-size:20px!important}
.tm-summary h4{text-align:left;font-size:14px;margin:20px 0 9px;color:#215c81}
.tm-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 28px}
.tm-summary-cards>div{background:#eef7fc;border-radius:11px;padding:15px 7px}
.tm-summary-cards strong{font-size:25px;color:#1d608a;display:block}
.tm-summary-cards span{display:block;font-size:11px;color:#668ba3}
.tm-summary-row{display:flex;justify-content:space-between;padding:10px 5px;border-bottom:1px solid #e5edf3;font-size:12.5px;color:#476984;text-align:left;gap:10px}
.tm-summary>.info,.tm-summary>.tm-good{text-align:left}
@media(max-width:800px){.tm-sim-grid{grid-template-columns:1fr}.tm-practice-fields{grid-template-columns:1fr}.tm-calc-inner{padding:15px}}
@media(max-width:600px){.tm-measures,.tm-constant-head,.tm-summary-cards{grid-template-columns:1fr}.tm-form-grid{grid-template-columns:1fr}.tm-calc-inner{padding:12px}.tm-tabs button{font-size:11px}.tm-stage-progress>.progress{width:90px}}

/* LAB-COAL-TM-01 — equipment product gallery (v11) */
.tm-equipment-intro{max-width:780px;margin:11px 0 19px!important;color:#526f85!important}
.tm-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 13px}
.tm-equip-card{border:1px solid #dbeaf3;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 4px 18px rgba(21,78,116,.045);display:flex;flex-direction:column;min-width:0}
.tm-equip-visual{height:220px;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid #dceaf3;position:relative;background:linear-gradient(135deg,#f0f8fd,#eaf3f9)}
.tm-equip-visual img{display:block;width:100%;height:100%;object-fit:contain}
.tm-equip-visual--oven img{width:88%;height:88%;object-fit:contain;filter:drop-shadow(0 11px 12px rgba(13,54,82,.13))}
.tm-equip-visual--bux{background:#12171b}
.tm-equip-visual--bux img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.27)}
.tm-equip-visual--balance{background:linear-gradient(125deg,#fbfdff,#f2f8fc)}
.tm-equip-visual--balance img{height:98%;width:100%;object-fit:contain;mix-blend-mode:multiply}
.tm-equip-info{padding:17px 17px 15px;display:flex;flex:1;flex-direction:column}
.tm-equip-label{font-size:9.5px;font-weight:800;letter-spacing:1.1px;color:#3c89b5}
.source-lesson .tm-equip-info h3{font-size:14px;line-height:1.4;margin:8px 0 9px;color:#123e5f;letter-spacing:-.2px}
.source-lesson .tm-equip-info p{font-size:12px;line-height:1.75;margin:0 0 14px;color:#536f83}
.tm-equip-spec{margin-top:auto;border-top:1px solid #e5eff5;padding-top:11px;color:#67859c;font-size:11px;display:flex;gap:6px;flex-wrap:wrap;align-items:baseline}
.tm-equip-spec strong{font-size:12.5px;color:#1d668f}
.tm-equip-footnote{font-size:11px!important;color:#7790a2!important;line-height:1.7!important;margin:0 0 22px!important}
@media(max-width:1250px){.tm-equipment-grid{grid-template-columns:1fr 1fr}.tm-equip-card:last-child{grid-column:1/-1}.tm-equip-card:last-child .tm-equip-visual{height:260px}}
@media(max-width:700px){.tm-equipment-grid{grid-template-columns:1fr;gap:13px}.tm-equip-card:last-child{grid-column:auto}.tm-equip-visual,.tm-equip-card:last-child .tm-equip-visual{height:255px}.tm-equip-info{padding:16px}}

/* LAB-COAL-IM-01 equipment cards / class reuse from Total Moisture */
.im-bux-drawing,.im-dessicator{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:13px;background:linear-gradient(145deg,#f5fbff,#eaf6fe)}
.im-bux-drawing svg,.im-dessicator svg{width:min(100%,340px);height:auto;max-height:230px}
.im-type-choice{margin:15px 0;padding:17px;border:1px solid #cfe6f4;border-radius:12px;background:#f7fbfe}
.im-type-choice select{display:block;width:100%;max-width:390px;margin:10px 0;padding:10px;border:1px solid #c8deec;border-radius:10px;background:#fff;color:#173e54}
.im-repeat-list{margin:12px 0;padding:12px 16px;border:1px solid #d5e9f5;background:#f8fcff;border-radius:12px;line-height:1.9}

/* v13 · Supplied glass bux and desiccator reference photography */
.tm-equip-visual--im-photo{background:linear-gradient(150deg,#f5fbff 0%,#eaf4fb 100%);padding:9px}
.tm-equip-visual--im-photo .im-equipment-photo{width:100%;height:100%;object-fit:contain;border-radius:10px;mix-blend-mode:multiply}

/* Four inherent-moisture equipment cards in a balanced 2 × 2 layout. */
.im-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1250px){.im-equipment-grid .tm-equip-card:last-child{grid-column:auto}.im-equipment-grid .tm-equip-card:last-child .tm-equip-visual{height:220px}}
@media(max-width:700px){.im-equipment-grid{grid-template-columns:1fr}.im-equipment-grid .tm-equip-card:last-child .tm-equip-visual{height:255px}}

/* LAB-COAL-VM-01: volatile matter interactive and teaching graphics */
.vm-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.vm-equipment-grid .tm-equip-card:last-child{grid-column:auto}
.vm-equip-visual{background:linear-gradient(145deg,#f6fbfe,#e9f4fb);height:205px}
.vm-equip-visual img{width:95%;height:92%;object-fit:contain;mix-blend-mode:multiply}
.vm-details{border:1px solid #dbe8f2;border-radius:12px;margin:19px 0;padding:11px 15px;background:#f9fcff}
.vm-details summary{cursor:pointer;font-size:13px;font-weight:700;color:#236587;line-height:1.7}
.vm-details[open] summary{margin-bottom:17px}
.vm-math{font-family:Georgia,'Times New Roman',serif;color:#23668d;font-weight:600}
.vm-formula{background:#eef7fd;border:1px solid #d8ebf6;border-radius:12px;padding:15px;margin:17px 0;text-align:center;color:#215f83;font-size:19px;overflow-wrap:anywhere}
.vm-illustration img{max-width:890px}
.vm-crucible{position:absolute;left:48px;bottom:11px;width:82px;height:39px;border:3px solid #799cb4;border-radius:7px 7px 22px 22px;transform:perspective(200px) rotateX(4deg);background:linear-gradient(130deg,#fff,#d9edf7);box-shadow:inset 0 4px 8px rgba(33,90,121,.12)}
.vm-crucible-lid{position:absolute;left:-7px;right:-7px;top:-9px;height:10px;border-radius:30px;border:2px solid #75a2bf;background:#d5e8f4}
.vm-selector{margin:14px 0;font-size:12px;color:#4b7590}
.vm-selector select{max-width:320px;width:100%;display:block;margin:9px 0;padding:10px 12px;background:white;border:1px solid #cbdfea;border-radius:10px;color:#2a698b}
.vm-range-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;margin:15px 0 10px;color:#4b7188}
.vm-range-label strong{color:#145981;font-size:15px;font-variant-numeric:tabular-nums}
.vm-slider{display:block;width:100%;accent-color:#2789c2;cursor:ew-resize;touch-action:pan-y;height:29px;outline-offset:4px}
.vm-graph-card{background:linear-gradient(145deg,#f3faff,#fff);border:1px solid #d8e9f4;border-radius:14px;padding:18px}
.vm-graph-top{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-size:13px;color:#2e6d93}
.vm-graph-top strong{font-size:15px}
.vm-graph{width:100%;height:auto;max-width:680px;display:block;margin:12px auto}
.vm-preheat-line{stroke-dasharray:720;stroke-dashoffset:720;animation:vmHeatTrace 5s ease-in-out infinite alternate}
@keyframes vmHeatTrace{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.vm-preheat-line{animation:none;stroke-dashoffset:0}}
.vm-chart-read{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:13px 0}
.vm-chart-read>div{background:#eef7fc;padding:12px;border-radius:10px;color:#607f96;font-size:11px}
.vm-chart-read strong{display:block;margin-top:4px;font-size:18px;color:#1e6088;font-variant-numeric:tabular-nums}
.vm-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:14px}
.vm-actions button{min-width:130px}
.vm-calculation{display:flex;flex-direction:column;gap:22px;margin:16px 0}
.vm-calc-section{border:1px solid #d7e9f4;border-radius:17px;background:white;box-shadow:0 6px 20px rgba(22,71,110,.025);padding:22px;min-width:0}
.vm-partnum{font-weight:800;color:#4294c3;font-size:12px;letter-spacing:2px;margin-bottom:7px}
.vm-calc-section h3{color:#1c526f!important;font-size:19px!important;margin:0 0 8px!important}
.vm-calc-section>div>p{color:#607f95;font-size:13px;line-height:1.7;margin:0 0 14px}
.vm-guided{background:#f5fafd;padding:16px;border:1px solid #dfebf4;border-radius:13px}
.vm-muted{font-size:11px!important;color:#6c889a!important;line-height:1.8!important;display:block;margin:12px 0 3px}
.vm-four-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:13px 0}
.vm-four-values>div{border:1px solid #d9ebf4;border-radius:9px;background:#f1f9fd;padding:10px;font-size:11px;color:#66869c;min-width:0}
.vm-four-values strong{display:block;margin-top:6px;color:#1c5d84;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.vm-short-formula{padding:13px;border-radius:9px;background:#e6f3fb;text-align:center;color:#205e84;font-size:17px;line-height:1.6;overflow-wrap:anywhere;margin:14px 0}
.vm-guided-answer{font-size:12px;line-height:2;color:#426f8b}
.vm-guided-answer strong{font-size:24px;color:#1a789d;display:inline-block;margin-left:8px}
.vm-guided small{font-size:11px;color:#6c8799}
.vm-sim-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(255px, .92fr);gap:17px;align-items:start;margin:14px 0}
.vm-slider-list{padding:16px;background:#f4fafd;border:1px solid #dcebf5;border-radius:13px;min-width:0}
.vm-slider-row{display:block;margin:0 0 23px}
.vm-slider-row>span:first-child{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#57788f;font-size:11px;line-height:1.6}
.vm-slider-row strong{white-space:nowrap;color:#1c5c84;font-size:13px;font-variant-numeric:tabular-nums}
.vm-slider-row .vm-slider{margin:6px 0 0}
.vm-slider-limits{display:flex;justify-content:space-between;color:#8c9ead;font-size:10px;margin-top:-4px}
.vm-live{border-radius:14px;background:linear-gradient(150deg,#e7f4fc,#f8fcff);border:1px solid #d2e9f7;padding:21px;min-width:0;position:sticky;top:10px}
.vm-live>span{font-size:11px;color:#4d89ad;letter-spacing:.6px;font-weight:800}
.vm-live>strong{display:block;font-size:44px;color:#145e88;margin:10px 0 12px;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.vm-progress-track{height:12px;border-radius:20px;background:#c4ddeb;overflow:hidden}
.vm-progress-track>div{height:100%;width:30%;background:linear-gradient(90deg,#70c0e8,#2476af);transition:width .04s linear}
.vm-compare{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;color:#6992aa;font-size:11px;margin:9px 0 16px}
.vm-compare b{font-size:12px;color:#1f729d}
.vm-breakdowns{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.vm-breakdowns>div{background:#fff;border-radius:9px;padding:10px;min-width:0}
.vm-breakdowns span{display:block;color:#68879a;font-size:10px}
.vm-breakdowns strong{display:block;margin-top:5px;font-size:15px;color:#286f97;font-variant-numeric:tabular-nums}
.vm-live-notice{border-top:1px solid #cbe3ef;margin-top:15px;padding-top:14px;color:#467693;font-size:12px;line-height:1.6}
.vm-live-notice.vm-invalid{color:#ad4a4a}
.vm-practice-header{display:flex;justify-content:space-between;gap:12px;padding:10px 0;color:#68859a;font-size:12px}
.vm-practice-header b{font-size:19px;color:#176b9b}
.vm-answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.vm-answers label{display:flex;flex-direction:column;gap:8px;color:#53738a;font-size:12px;font-weight:700}
.vm-answers input{width:100%;min-width:0;background:#f9fcff;border:1px solid #c9dfed;border-radius:9px;padding:12px;font-size:14px;color:#225a79;font-variant-numeric:tabular-nums}
.vm-answers input:focus{outline:2px solid #83c0e3;outline-offset:1px}
#vm-practice-feedback{margin:12px 0}
@media(max-width:1100px){.vm-sim-layout{grid-template-columns:1fr}.vm-live{position:static}.vm-live>strong{font-size:40px}}
@media(max-width:700px){.vm-equipment-grid{grid-template-columns:1fr}.vm-four-values{grid-template-columns:repeat(2,minmax(0,1fr))}.vm-answers{grid-template-columns:1fr}.vm-calc-section{padding:15px}.vm-chart-read{grid-template-columns:1fr}.vm-graph-top{font-size:11px}.vm-live{padding:15px}}

/* v15 · Sample preparation lesson */
.prep-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.prep-photo{background:linear-gradient(150deg,#f6fbfe 0%,#eaf5fb 100%);padding:10px}
.prep-photo img{width:100%;height:100%;object-fit:contain;border-radius:12px;mix-blend-mode:multiply}
.sp-proc-layout .proc-item-name{display:block;font-weight:700;color:#174a67;line-height:1.35;margin-bottom:4px}
.sp-proc-layout .proc-mode{font-size:10px;letter-spacing:.8px;font-weight:800;color:#4b87ac}
.sp-static-card,.sp-gif-card,.sp-interactive{border:1px solid #d7e8f3;border-radius:16px;background:linear-gradient(180deg,#fbfdff 0%,#f2f9fd 100%);padding:18px;margin:16px 0}
.sp-figure{display:flex;gap:14px;align-items:center}
.sp-figure-icon{width:60px;height:60px;border-radius:18px;background:#e4f3fb;display:grid;place-items:center;font-size:28px;flex:0 0 auto}
.sp-figure-main strong{display:block;color:#164b69;font-size:18px;margin-bottom:4px}
.sp-figure-main span{display:block;color:#56778c;line-height:1.7}
.sp-mini-note{margin-top:14px;padding:12px 14px;border:1px dashed #c8dfed;border-radius:12px;background:#f7fbfe;color:#527187;line-height:1.7;font-size:12.5px}
.sp-workflow{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.sp-node{padding:12px 16px;border-radius:12px;background:#ecf7fd;border:1px solid #cfe5f1;color:#184f70;font-weight:700}
.sp-arrow{font-weight:800;color:#5f89a3}
.sp-cleaning{display:grid;grid-template-columns:180px 1fr;gap:18px;align-items:center}
.sp-machine{width:180px;height:125px;border-radius:16px;background:linear-gradient(160deg,#4ca8df,#2f7db2);position:relative;box-shadow:inset 0 -18px 0 rgba(0,0,0,.08)}
.sp-machine:before{content:'';position:absolute;left:16px;right:16px;bottom:16px;height:28px;background:#eef8fd;border-radius:8px}
.sp-machine:after{content:'';position:absolute;right:18px;top:18px;width:44px;height:44px;border-radius:12px;background:#153e5a33}
.sp-brush{position:absolute;display:none}
.sp-cleaning ul{margin:0;padding-left:18px;color:#4f7085;line-height:1.9}
.sp-split-stage{display:grid;grid-template-columns:1.2fr .2fr 1fr 1fr;gap:10px;align-items:center}
.sp-pile.big{height:90px;border-radius:40px 40px 18px 18px;background:radial-gradient(circle at 30% 30%,#71777c,#25282a);box-shadow:inset 0 12px 18px rgba(255,255,255,.12)}
.sp-split-arrow{height:4px;background:#7cb4d4;position:relative}
.sp-split-arrow:after{content:'';position:absolute;right:-2px;top:-4px;border-left:12px solid #7cb4d4;border-top:6px solid transparent;border-bottom:6px solid transparent}
.sp-bag-sealed,.sp-bag-open{padding:22px 10px;text-align:center;border-radius:14px;background:#f1f9fe;border:1px solid #d1e6f3;color:#1d577c;font-weight:700}
.sp-bag-sealed{box-shadow:inset 0 0 0 2px #5ea9d5}
.sp-airdry,.sp-sieve-layout,.sp-planner,.sp-method-stage{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1fr);gap:18px;align-items:center}
.sp-airtray{height:220px;border-radius:18px;background:linear-gradient(180deg,#e9f4fb,#f8fcff);position:relative;border:1px solid #d9ebf5;overflow:hidden}
.sp-coal-layer{position:absolute;left:14px;right:14px;bottom:18px;border-radius:18px 18px 12px 12px;background:radial-gradient(circle at 20% 30%,#707478,#2b2f33);box-shadow:inset 0 14px 16px rgba(255,255,255,.08)}
.sp-air-lines,.sp-air-lines:before,.sp-air-lines:after{position:absolute;left:35px;right:35px;height:14px;border-radius:20px;border-top:3px dashed #72b6dd;content:'';animation:spFloat 2.5s linear infinite}
.sp-air-lines{top:48px}.sp-air-lines:before{top:32px}.sp-air-lines:after{top:64px}
.sp-air-lines.high,.sp-air-lines.high:before,.sp-air-lines.high:after{border-top-color:#e28e6a}
.sp-temp-badge{position:absolute;right:16px;top:16px;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #dcecf6;color:#165777;font-weight:800}
@keyframes spFloat{from{transform:translateX(-4px)}50%{transform:translateX(8px)}to{transform:translateX(-4px)}}
.sp-air-controls{display:flex;flex-direction:column;gap:12px}
.sp-air-controls label{display:block;color:#476b81;font-size:12.5px;font-weight:600}
.sp-air-controls select,.sp-air-controls input[type="number"]{display:block;width:100%;margin-top:6px;padding:10px 11px;border-radius:10px;border:1px solid #cfe0ea;background:#fff;color:#184861}
.sp-air-controls input[type="range"]{display:block;width:100%;margin-top:8px}
.sp-status{padding:12px 14px;border-radius:12px;border:1px solid #d3e5f0;background:#f6fbfe;color:#356784;line-height:1.6;font-size:12.5px}
.sp-status.ok{border-color:#cfe6d8;background:#f3fbf6;color:#2c6a46}
.sp-status.high{border-color:#efd6c6;background:#fff7f2;color:#8b5634}
.sp-crusher-scene,.sp-mill-scene,.sp-pack-scene{height:240px;border-radius:18px;border:1px solid #d9ebf5;background:linear-gradient(180deg,#eaf5fb,#f8fcff);position:relative;overflow:hidden}
.sp-hopper{position:absolute;left:36%;top:18px;width:28%;height:55px;background:#5ba9db;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%)}
.sp-jaw{position:absolute;top:88px;width:90px;height:100px;background:#4a95c7;clip-path:polygon(0 0,100% 12%,82% 100%,0 82%);animation:spJawLeft 1.3s ease-in-out infinite}
.sp-jaw.left{left:54px}.sp-jaw.right{right:54px;transform:scaleX(-1);animation-name:spJawRight}
.sp-rock{position:absolute;width:16px;height:16px;background:#2d3134;border-radius:4px;top:76px;animation:spDrop 1.7s linear infinite}.sp-rock.r1{left:47%}.sp-rock.r2{left:51%;animation-delay:.35s}.sp-rock.r3{left:55%;animation-delay:.7s}
.sp-outflow{position:absolute;left:32%;right:32%;bottom:22px;height:24px;display:flex;justify-content:space-around;align-items:flex-end}.sp-outflow span{width:10px;background:#383d40;border-radius:8px 8px 3px 3px;animation:spPebble 1.2s ease-in-out infinite}.sp-outflow span:nth-child(2){animation-delay:.2s}.sp-outflow span:nth-child(3){animation-delay:.4s}.sp-outflow span:nth-child(4){animation-delay:.6s}
@keyframes spJawLeft{0%,100%{transform:translateX(0)}50%{transform:translateX(12px)}}
@keyframes spJawRight{0%,100%{transform:scaleX(-1) translateX(0)}50%{transform:scaleX(-1) translateX(12px)}}
@keyframes spDrop{0%{transform:translateY(0);opacity:1}70%{opacity:1}100%{transform:translateY(102px);opacity:0}}
@keyframes spPebble{0%,100%{height:8px}50%{height:18px}}
.sp-sieve-visual{height:210px;display:grid;place-items:center;position:relative}
.sp-sieve-ring{width:180px;height:180px;border-radius:50%;background:radial-gradient(circle at 50% 50%,#eef6fb 37%,#bacbda 38%,#8ea5b9 46%,#eaf4fb 47%);box-shadow:inset 0 0 0 12px #97aabd}
.sp-sieve-fill{position:absolute;bottom:29px;width:126px;background:radial-gradient(circle at 30% 25%,#666b70,#2d3235);border-radius:0 0 68px 68px;transition:height .25s ease}
.sp-sieve-label{position:absolute;top:16px;right:18px;padding:8px 11px;border-radius:10px;background:#fff;border:1px solid #dbeaf3;color:#175b80;font-weight:800}
.sp-mixing{height:180px;position:relative;border-radius:16px;background:linear-gradient(180deg,#eef7fc,#f9fcff);border:1px dashed #d7e7f1}
.sp-mix-pile{position:absolute;left:24%;right:24%;bottom:28px;height:84px;border-radius:45px 45px 15px 15px;background:radial-gradient(circle at 20% 25%,#777c81,#2c2f32)}
.sp-mix-arrow{position:absolute;width:40px;height:40px;border-top:3px solid #70aed4;border-right:3px solid #70aed4;border-radius:50%}.sp-mix-arrow.a1{top:25px;left:22%;transform:rotate(40deg)}.sp-mix-arrow.a2{top:15px;right:22%;transform:rotate(145deg)}.sp-mix-arrow.a3{top:66px;left:47%;transform:rotate(-72deg)}
.sp-method-chooser{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.sp-method-chooser .current{background:#1d79b0;color:#fff;border-color:#1d79b0}
.sp-method-figure{margin:0;border:1px solid #d8e7f1;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 10px 26px rgba(28,92,128,.08)}
.sp-method-figure img{display:block;width:100%;max-height:460px;object-fit:contain;background:#ffffff;padding:12px}
.sp-method-badge{display:inline-flex;align-items:center;justify-content:center;margin:14px 14px 0;padding:6px 12px;border-radius:999px;background:#1d79b0;color:#fff;font-size:11px;font-weight:800;letter-spacing:.8px}
.sp-method-figure figcaption{padding:12px 14px 16px;color:#56778c;line-height:1.7;font-size:12.5px;border-top:1px solid #e3eef5;background:#fbfdff}
.sp-method-copy h4{margin:0 0 8px;color:#13445f;font-size:20px}
.sp-method-copy p{margin:0 0 12px;line-height:1.75;color:#4e7083}
.sp-method-points{margin:0;padding-left:18px;color:#4e7083;line-height:1.8}
.sp-method-points li+li{margin-top:4px}
.sp-div-mech,.sp-div-riffle,.sp-div-grid,.sp-div-strip,.sp-div-quarter,.sp-div-nine{height:210px;border-radius:16px;border:1px solid #d8e7f1;background:linear-gradient(180deg,#eef7fd,#f9fcff);position:relative;display:grid;place-items:center}
.sp-div-mech .belt{position:absolute;left:14%;right:14%;top:36px;height:28px;border-radius:20px;background:#8fc4e4}.sp-div-mech .flows{position:absolute;left:20%;right:20%;bottom:32px;display:flex;justify-content:space-between}.sp-div-mech .flows span{width:62px;height:88px;background:linear-gradient(180deg,#7bb6d9 0,#2b7cad 100%);clip-path:polygon(0 0,100% 0,75% 100%,25% 100%)}
.sp-div-riffle{grid-template-columns:repeat(12,1fr);padding:18px;gap:5px}.sp-div-riffle span{height:150px;border-radius:0 0 8px 8px}.sp-div-riffle .even{background:#86bddf}.sp-div-riffle .odd{background:#d2e8f5}
.sp-div-grid{grid-template-columns:repeat(4,40px);grid-template-rows:repeat(4,40px);gap:7px}.sp-div-grid span{display:block;border-radius:8px}.sp-div-grid .dark{background:#7fb5d7}.sp-div-grid .light{background:#d6ebf7}
.sp-div-strip{padding:22px 32px;gap:10px;grid-template-columns:repeat(4,1fr)}.sp-div-strip span{display:block;height:136px;border-radius:18px;background:linear-gradient(180deg,#90c3e2,#57a3d3)}
.sp-div-quarter{grid-template-columns:repeat(2,72px);grid-template-rows:repeat(2,72px);gap:10px}.sp-div-quarter i{display:grid;place-items:center;font-style:normal;border-radius:14px;background:#97c8e3;color:#164661;font-weight:800}
.sp-div-nine{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,44px);gap:12px}.sp-div-nine span{display:grid;place-items:center;border-radius:50%;background:#8fc4e4;color:#114159;font-weight:800}
.sp-plan-result{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sp-plan-result>div{padding:12px;border:1px solid #d6e6f1;border-radius:12px;background:#f7fbfe;color:#638195;font-size:12px}.sp-plan-result strong{display:block;color:#194f71;font-size:16px;margin-top:6px}
.sp-mill-body{position:absolute;left:18%;right:18%;bottom:28px;height:78px;background:#4f9acb;border-radius:18px}
.sp-mill-drum{position:absolute;left:34%;top:38px;width:32%;height:92px;border-radius:50%;border:14px solid #cf9f52;background:#e8d3a6;animation:spSpin 1.5s linear infinite}
.sp-powder-cloud{position:absolute;left:44%;top:104px;width:72px;height:38px;background:radial-gradient(circle,#616569 0,#61656922 70%,transparent 72%);filter:blur(1px);animation:spPulse 1.8s ease-in-out infinite}
.sp-powder-tray{position:absolute;left:36%;right:36%;bottom:30px;height:16px;background:#2b2f32;border-radius:12px}
@keyframes spSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes spPulse{0%,100%{opacity:.35;transform:scale(.9)}50%{opacity:.8;transform:scale(1.06)}}
.sp-jar{position:absolute;left:20%;bottom:34px;width:110px;height:132px;border-radius:18px 18px 14px 14px;background:linear-gradient(180deg,#f4fbff,#dbeef8);border:2px solid #91b7cf}
.sp-jar:before{content:'';position:absolute;left:14px;right:14px;top:-18px;height:22px;border-radius:10px;background:#4f95c5}
.sp-label-card{position:absolute;right:18%;top:52px;width:160px;padding:18px 12px;border-radius:14px;background:#fff;border:1px dashed #b9d6e7;color:#17536f;font-weight:700;text-align:center;animation:spLabel 2.1s ease-in-out infinite}
.sp-check-seal{position:absolute;right:23%;bottom:42px;width:72px;height:72px;border-radius:50%;border:4px solid #7cc294}.sp-check-seal:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#4ca56a;font-size:33px;font-weight:900}
@keyframes spLabel{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}
.sp-learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sp-calc-mode{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:13px}
.sp-calc-mode .current{background:#1d79b0;color:#fff;border-color:#1d79b0}
.sp-calc-stage .sp-interactive{margin:0}
@media(max-width:1180px){.prep-equipment-grid{grid-template-columns:1fr}.sp-airdry,.sp-sieve-layout,.sp-planner,.sp-method-stage,.sp-cleaning{grid-template-columns:1fr}.sp-plan-result,.sp-learning-grid{grid-template-columns:1fr}}
@media(max-width:700px){.sp-workflow{flex-direction:column;align-items:flex-start}.sp-split-stage{grid-template-columns:1fr}.sp-sieve-ring{width:150px;height:150px}.sp-sieve-fill{width:104px;bottom:33px}.sp-div-grid{grid-template-columns:repeat(4,1fr)}.sp-div-quarter{grid-template-columns:repeat(2,1fr)}.sp-div-nine{grid-template-columns:repeat(3,1fr)}.sp-plan-result{grid-template-columns:1fr}.sp-proc-layout .proc-list{grid-template-columns:1fr}}
/* --- LAB-COAL-CV-01: Standalone calorific-value lesson --- */
.cv-lesson{--cv-line:#dbe9f1;--cv-soft:#f1f8fc;--cv-main:#196f9e;color:#274e68}
.cv-lesson .cv-photo{margin:12px 0 20px;padding:10px;border:1px solid var(--cv-line);border-radius:14px;background:#fff;min-width:0;text-align:center}
.cv-photo img{display:block;width:100%;height:235px;object-fit:contain;background:#fff;border-radius:10px}
.cv-photo figcaption{font-size:12px;text-align:left;line-height:1.6;color:#688297;padding:9px 6px 3px}
.cv-media-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.cv-media-two .cv-photo{margin:7px 0 11px}
.cv-media-two .cv-photo img{height:210px}
.cv-lesson .cv-ign-svg,.cv-lesson .cv-residue-svg{width:100%;height:auto;max-height:220px;display:block;background:#fff}
.cv-photo-title{font-size:13px;font-weight:850;letter-spacing:.4px;text-align:center;padding:8px;border-radius:9px}
.cv-photo-title.cv-yes{color:#167b56;background:#e8f7ef}.cv-photo-title.cv-no{color:#a84939;background:#fff0ed}
.cv-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:17px 0}
.cv-eq-card{border:1px solid var(--cv-line);border-radius:16px;overflow:hidden;background:white;box-shadow:0 6px 17px rgba(28,82,114,.045);min-width:0}
.cv-eq-photo{height:190px;background:#f9fbfd;border-bottom:1px solid var(--cv-line);display:grid;place-items:center;padding:13px}.cv-eq-photo img{width:100%;height:100%;object-fit:contain}
.cv-eq-info{padding:16px}.cv-eq-info small{font-size:10px;font-weight:800;letter-spacing:1px;color:#2b88b9}.cv-eq-info h3{font-size:14px;line-height:1.45;margin:7px 0 10px}.cv-eq-info p{font-size:12px;line-height:1.7;margin:0 0 10px}
.cv-eq-info b{font-size:11px;color:#165a83;display:block}.cv-eq-alert{font-size:11px;line-height:1.7;margin-top:11px;padding:10px 11px;background:#fff9ed;border-left:3px solid #d5b063;border-radius:5px;color:#7b623a}
.cv-details{margin:20px 0;padding:12px 16px;border:1px solid var(--cv-line);border-radius:12px;background:#f8fbfe}.cv-details summary{font-weight:750;cursor:pointer;color:#266d97}.cv-details[open] summary{margin-bottom:15px}
.cv-compare-intro{padding:20px;border:1px solid var(--cv-line);background:linear-gradient(135deg,#e9f5fc,#fff 76%);border-radius:17px;margin:15px 0 28px}.cv-compare-intro h3{margin:0 0 7px!important}.cv-compare-intro>p{margin:0 0 18px}.cv-compare-flow{display:grid;gap:8px}.cv-compare-flow>div{padding:15px 18px;background:white;border:1px solid var(--cv-line);border-radius:12px}.cv-compare-flow strong{font-size:20px;color:#124e77;display:block;margin:3px 0}.cv-compare-flow small,.cv-cal-flow small{font-weight:800;color:#4288b1;letter-spacing:.75px}.cv-compare-flow p{margin:0;font-size:12.5px;line-height:1.7}.cv-compare-flow>span,.cv-cal-flow>span{text-align:center;font-size:12px;font-weight:750;color:#5184a4}
.cv-note{background:#f0f7fa;border:1px solid #d5e8f2;padding:13px 15px;border-radius:10px;font-size:12.5px;line-height:1.8;color:#456b82;margin:15px 0 8px}
.cv-proc-layout{grid-template-columns:minmax(220px,31%) minmax(0,1fr)}.cv-proc-layout .proc-view{padding:18px}.cv-proc-layout .proc-item-name{line-height:1.4}.cv-proc-layout .proc-explanation{margin-top:22px}.cv-proc-layout .proc-explanation .source-lesson{font-size:13px}.cv-proc-layout .proc-view>.cv-photo{width:100%}
.cv-panel{border:1px solid #d8e8f1;border-radius:14px;padding:18px;background:#fbfdff;margin:15px 0}.cv-panel h4{margin:0 0 10px;font-size:15px;color:#184f70}.cv-panel p{font-size:13px}.cv-panel label:not(.cv-check){font-size:12px;font-weight:650;color:#436882;display:block;margin:13px 0}.cv-panel input[type=number],.cv-panel input[type=text],.cv-problem input[type=number],.cv-form-grid input{width:100%;padding:10px 12px;border:1px solid #c7dce9;background:white;border-radius:8px;color:#164666}
.cv-panel input[type=range],.cv-slider-row input[type=range]{width:100%;accent-color:#2683b4;cursor:pointer;margin:13px 0 6px}.cv-panel ol{margin:12px 0;padding-left:21px}.cv-panel li{font-size:13px;line-height:1.7}
.cv-check{display:flex;gap:11px;align-items:flex-start;padding:12px 10px;border:1px solid #e2edf4;border-radius:9px;margin:7px 0;cursor:pointer;font-size:12.5px}.cv-check input{margin-top:4px;flex:none;accent-color:#207da9}
.cv-row{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:13px 0}.cv-row>span,.cv-row>small{font-size:12px;color:#738da0}.cv-chip-row{display:flex;gap:7px;flex-wrap:wrap}.cv-chip{font:inherit;font-size:12px;font-weight:700;padding:8px 10px;color:#396d8c;border-radius:8px;border:1px solid #c6dce9;background:white;cursor:pointer}.cv-chip.active{color:#145e8e;background:#e4f2fa;border-color:#83bddc}
.cv-detail{background:#fff;border-radius:10px;border:1px solid #deebf2;padding:15px;margin:11px 0}.cv-detail strong{font-size:14px}.cv-detail p{font-size:12.5px;margin:6px 0 0}
.cv-msg{font-size:12px;line-height:1.8;border-radius:9px;padding:11px 12px;margin:12px 0}.cv-good{border-left:3px solid #3a9a76;background:#eaf8f1;color:#246d52}.cv-warn{border-left:3px solid #dcb15b;background:#fff8ed;color:#80612a}
.cv-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:10px 0}.cv-stats>div{padding:13px;border:1px solid #dbe9f2;border-radius:10px;background:white;min-width:0}.cv-stats small{display:block;color:#6d8aa0;font-size:11px}.cv-stats strong{display:block;color:#155980;font-size:16px;overflow-wrap:anywhere}
.cv-gauge{text-align:center;padding:14px;background:#f3f8fb;border-radius:11px}.cv-gauge strong{display:block;font-size:25px;color:#155980}.cv-gauge span{font-size:12px}.cv-gauge-track{height:18px;border-radius:20px;background:linear-gradient(90deg,#c7dbe7 0 70%,#c1eed9 70% 75%,#f4c6b9 75% 100%);overflow:hidden;position:relative;margin:15px 0 4px}.cv-gauge-track>span{display:block;height:100%;background:#277fae;opacity:.8;transition:width .12s}.cv-gauge-labels{display:flex;justify-content:space-between;color:#6e8798;font-size:11px}
.cv-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.cv-form-grid input{margin-top:6px}
.cv-temp-svg{display:block;width:100%;height:auto;background:#fff;border-radius:8px}.cv-temp-svg text{font-size:11px;fill:#658098;font-family:inherit}
.cv-cal-flow{display:grid;gap:8px;margin:16px 0}.cv-cal-flow>div{border:1px solid #cfe4ef;border-radius:12px;padding:14px;background:#f5fbff}.cv-cal-flow strong{display:block;color:#1c638b;font-size:14px;line-height:1.7;margin-top:5px}
.cv-calc-sections{display:grid;gap:24px;margin-top:17px}.cv-calc-card{border:1px solid #d9e8f1;background:#fff;border-radius:17px;padding:23px;min-width:0}.cv-calc-card>h3{font-size:18px;margin:6px 0!important}.cv-calc-card>p{font-size:13px;margin:0 0 19px;color:#5b7a8f}.cv-section-tag{color:#2e83b1;font-size:11px;letter-spacing:1.1px;font-weight:850}
.cv-sim-two{display:grid;grid-template-columns:minmax(200px,1fr) minmax(230px,1fr);gap:18px}.cv-slider-row{display:block;padding:8px 0;border-bottom:1px solid #e9eff5}.cv-slider-row>span:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;color:#456c85}.cv-slider-row strong{color:#125a82;font-size:12px;text-align:right}.cv-range-end{display:flex;justify-content:space-between;color:#7591a6;font-size:11px}
.cv-primary{background:linear-gradient(135deg,#e2f2fa,#f3fafe);border:1px solid #cfe6f2;border-radius:15px;padding:20px 15px;margin-bottom:14px}.cv-primary small{font-size:10px;font-weight:850;color:#4386aa;display:block;letter-spacing:.8px}.cv-primary strong{font-size:25px;color:#125d89;display:block;letter-spacing:-.5px;margin:6px 0}.cv-primary span{font-size:12px;color:#5b7e97}
.cv-calc-lines{background:#f9fcfe;border:1px solid #e1edf4;border-radius:11px;padding:8px 13px}.cv-calc-lines>div{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:8px 0;border-bottom:1px solid #e7eef4;font-size:12px}.cv-calc-lines>div:last-child{border:0}.cv-calc-lines span{color:#638095}.cv-calc-lines b{color:#1e5c80;text-align:right}.cv-mini-eq{margin:14px 0;padding:12px;border:1px dashed #bad7e7;border-radius:11px;text-align:center;font-weight:750;color:#195c84;background:#f6fbfe;font-size:12.5px}.cv-small{font-size:11.5px!important;line-height:1.8;color:#718ca0!important}
.cv-problem-tabs{margin:0 0 13px}.cv-progress-label{margin-left:auto;font-weight:850;color:#267bad}.cv-problem h4{font-size:15px;margin:15px 0}.cv-table{border-collapse:collapse;width:100%;margin:13px 0;font-size:12px}.cv-table th,.cv-table td{border-bottom:1px solid #e0ebf2;padding:11px 10px;text-align:left;vertical-align:middle}.cv-table th{background:#eaf4fa;color:#215c7f}.cv-table tr:nth-child(even){background:#fcfdfe}.cv-table td:last-child{overflow-wrap:anywhere}.cv-answer-row label{flex:1;min-width:160px;font-size:12px;font-weight:700}.cv-answer-row input{margin-top:4px}.cv-solution{border-left:3px solid #78b5d6;background:#f1f9fd;border-radius:6px;padding:13px 15px;margin:12px 0}.cv-solution p{margin:9px 0;font-size:12px}
.cv-cal-table-wrap{overflow:auto;border:1px solid #dceaf2;border-radius:12px;margin:14px 0}.cv-cal-table{margin:0}.cv-cal-table td,.cv-cal-table th{font-size:11.5px;line-height:1.5}.cv-cal-table td:first-child,.cv-cal-table th:first-child{width:75px;text-align:center}.cv-cal-table .cv-num{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-weight:750}.cv-cal-table th:nth-child(2){text-align:right}.cv-cal-check{display:flex;gap:9px;align-items:center;justify-content:center;cursor:pointer}.cv-cal-check input{accent-color:#2783b7;width:16px;height:16px}.cv-cal-table .cv-row-picked{background:#e9f6fd!important}
.cv-stat-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}.cv-stat-trio>div{border-radius:10px;border:1px solid #d5e8f2;background:#f3f9fd;padding:12px;text-align:center;min-width:0}.cv-stat-trio small{color:#6c8aa2;font-size:10px;display:block}.cv-stat-trio strong{color:#155c85;font-size:17px;overflow-wrap:anywhere;display:block}.cv-done{color:#16865e!important;font-weight:700}
.cv-linked{margin:15px 0}.cv-chem-sliders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}.cv-outputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:16px 0}.cv-outputs article{border:1px solid #dbe8ef;border-radius:13px;padding:14px;background:#f9fcfe;min-width:0}.cv-outputs .cv-out-key{background:#e9f5fc;border-color:#cee6f3}.cv-outputs small{font-weight:750;font-size:10px;color:#56809b;display:block}.cv-outputs strong{font-size:20px;color:#195f88;display:block;overflow-wrap:anywhere;margin-top:5px}.cv-equations{border:1px solid #dfeaf1;border-radius:12px;overflow-wrap:anywhere;padding:12px 14px;background:#fbfdfe;margin:15px 0}.cv-equations>div{padding:8px 0;border-bottom:1px solid #e4edf3;font-weight:700;color:#2c678a;font-size:12px}.cv-equations>div:last-child{border-bottom:0}.cv-cal-flow>span{display:block}
.cv-source-formula{text-align:center;padding:13px;background:#f3f8fc;border-radius:9px;font-family:Cambria,Georgia,serif;font-size:16px;color:#205b82;overflow-wrap:anywhere;margin:15px 0;white-space:pre-wrap}.cv-lesson .source-lesson table{display:block;overflow:auto}
@media(max-width:1190px){.cv-equipment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1000px){.cv-proc-layout{grid-template-columns:1fr}}@media(max-width:690px){.cv-equipment-grid,.cv-media-two,.cv-form-grid,.cv-sim-two,.cv-chem-sliders,.cv-outputs{grid-template-columns:1fr}.cv-calc-card{padding:15px}.cv-cal-table td,.cv-cal-table th{padding:8px 6px}.cv-stat-trio strong{font-size:13px}.cv-proc-layout .proc-list{grid-template-columns:1fr}.cv-stats strong{font-size:13px}}

.cv-bomb-hotspots{position:relative;width:100%;max-width:590px;margin:auto}.cv-bomb-hotspots img{width:100%;height:auto;max-height:340px;object-fit:contain}.cv-bomb-hotspots button{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:#177da9;color:white;border:3px solid white;box-shadow:0 1px 8px #34628499;font-size:18px;font-weight:900;cursor:pointer;line-height:20px}.cv-bomb-hotspots button:hover{background:#0f5c85;transform:translate(-50%,-50%) scale(1.1)}

.cv-intro-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}.cv-intro-grid>div{border:1px solid #d9e9f2;background:#f2f8fc;border-radius:12px;padding:15px}.cv-intro-grid small{display:block;color:#498eb5;font-size:10px;letter-spacing:.9px;font-weight:850}.cv-intro-grid strong{display:block;color:#235a79;font-size:12px;margin-top:6px;line-height:1.65}@media(max-width:600px){.cv-intro-grid{grid-template-columns:1fr}}

/* v16.1 · corrected temperature-rise explanation */
.cv-delta-guide{border:1px solid #c9dfef;border-radius:14px;background:#f7fbff;padding:18px;margin:16px 0;color:#204c65;line-height:1.7}
.cv-delta-guide h3{font-size:18px;margin:4px 0 10px;color:#164f70}
.cv-delta-guide p{font-size:14px;margin:9px 0}
.cv-delta-sequence{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0}
.cv-delta-sequence span{background:#fff;border:1px solid #d5e8f4;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:650}
.cv-delta-sequence b{color:#2789ba;font-size:15px}
.cv-delta-equation{padding:12px 15px;background:#fff;border:1px solid #dcebf5;border-radius:10px;text-align:center;font-size:16px;font-weight:700;line-height:2;color:#175579}
.cv-delta-note{font-size:12.5px!important;color:#50748b}
.cv-delta-example{border:1px solid #d8eaf4;border-radius:11px;background:#fff;padding:13px;margin:14px 0}
.cv-delta-example>strong{display:block;margin-bottom:7px;font-size:13px}
.cv-delta-example .cv-table{width:100%;margin:8px 0}
.cv-delta-example .cv-table td{font-size:12.5px;padding:8px 10px}
.cv-delta-example .cv-table td:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.cv-delta-example>p{font-size:13px}
@media(max-width:620px){.cv-delta-sequence{gap:6px}.cv-delta-sequence span{font-size:11px}.cv-delta-guide{padding:12px}.cv-delta-equation{font-size:14px}}

/* v17 · Standards / ISO/IEC 17025 — self-contained module. */
.std-lesson-nav .steps{max-height:min(70vh,750px);overflow:auto}
.std-lesson .std-topline{font-size:11px;color:#7491a3;letter-spacing:.15px;margin-bottom:22px}
.std-page{min-width:0;line-height:1.78;color:#355a72}
.std-page>p{line-height:1.8}.std-page strong{color:#245773}
.std-page h3{font-size:17px;margin:16px 0 11px}
.std-label{font-size:10px;font-weight:850;color:#3585b0;letter-spacing:1px;text-transform:uppercase}
.std-version{font-size:11px;color:#2678a3;font-weight:850;letter-spacing:.6px}
.std-lead{padding:21px 23px;border-radius:14px;background:linear-gradient(130deg,#eaf6fd,#f7fbfe);border:1px solid #d5e8f3;margin-bottom:20px}
.std-lead h3{font-size:21px;color:#175c83;margin:7px 0 10px}.std-lead p{margin:0;color:#52778f;font-size:14px}
.std-prose{font-size:13.5px;line-height:1.85;color:#405d73}.std-prose p{margin:10px 0;color:#405d73}.std-prose h3{font-size:14px;color:#205877;margin:20px 0 5px}.std-prose h4{font-size:13px;color:#326080}.std-prose li{padding-left:2px}.std-prose table{border-collapse:collapse;display:block;overflow:auto;margin:14px 0 19px;font-size:12px;max-width:100%}.std-prose th,.std-prose td{padding:9px 11px;border:1px solid #d9e6ee;min-width:80px}.std-prose th{background:#eaf4fa;white-space:normal;color:#225d7f}.std-prose blockquote{border-left:3px solid #a8cddd;padding:6px 13px;margin:13px 0;background:#f6fbfe}
.std-prose strong{font-weight:750;color:#205e86}
.std-source-box{border:1px solid #dceaf3;background:white;border-radius:13px;padding:15px 18px;margin:16px 0}.std-source-box h3{margin:2px 0 8px}
.std-warning{background:#fff9ed;border-left:3px solid #cda45a;color:#77623d;padding:14px 17px;border-radius:9px;font-size:12.6px;line-height:1.7;margin:17px 0}.std-warning strong{color:#806432}
.std-clause{background:#fff;border:1px solid #d9e7f0;border-radius:12px;margin:12px 0;overflow:hidden;scroll-margin-top:22px}
.std-clause[open]{border-color:#bddcea;box-shadow:0 2px 13px #d9eaf449}
.std-clause summary{display:flex;align-items:center;justify-content:space-between;gap:11px;cursor:pointer;padding:15px 17px;color:#1e597d;font-size:14px;font-weight:800;list-style:none;background:#f8fbfd}
.std-clause summary::-webkit-details-marker{display:none}.std-clause[open] summary{background:#eaf5fc;border-bottom:1px solid #d4e8f3}
.std-clause .std-prose{padding:13px 19px 18px}.std-disclosure{font-size:10px;white-space:nowrap;color:#6a8ba0;font-weight:650}.std-clause[open] .std-disclosure{font-size:0}.std-clause[open] .std-disclosure:after{content:'Хураах';font-size:10px}
.std-toc{padding:12px 15px;border:1px solid #dbeaf3;border-radius:12px;background:#f8fcff;margin-bottom:18px}.std-toc>strong{display:block;font-size:11px;color:#527d97;margin-bottom:10px}.std-toc>div{display:flex;flex-wrap:wrap;gap:6px}.std-toc button{border:1px solid #c9e1ef;background:white;color:#27799e;border-radius:7px;padding:5px 10px;font-size:11px;font-weight:750;cursor:pointer}.std-toc button:hover{background:#e9f5fb}
.std-illustration{padding:19px 20px;border:1px solid #d1e6f2;border-radius:14px;background:#f5fbff;margin:19px 0}.std-illustration h3{margin:6px 0 15px!important;font-size:16px!important}.std-flow{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.std-flow-step{min-width:116px;flex:1 1 135px;border-radius:9px;background:#fff;border:1px solid #d6e8f1;padding:12px;min-height:94px}.std-flow-step strong{font-size:12px;display:block;color:#22688e}.std-flow-step small{font-size:10.5px;line-height:1.65;color:#69879b;display:block;margin-top:5px}.std-flow-arrow{color:#5599ba;font-weight:850;font-size:17px}.std-note,.std-fineprint{font-size:11px!important;color:#6d889c!important;line-height:1.75!important}.std-illustration .std-note{margin:13px 0 0}
.std-side-cards,.std-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin:14px 0}.std-side-cards article,.std-review-grid>div{padding:15px;border-radius:11px;border:1px solid #dceaf3;background:#fff}.std-side-cards span{color:#3f91b9;font-size:10px;letter-spacing:.8px;font-weight:850}.std-side-cards h4{color:#215d7d;font-size:14px;margin:7px 0}.std-side-cards p,.std-review-grid p{font-size:12px;color:#607e92;margin:7px 0;line-height:1.7}.std-side-cards strong,.std-review-grid b{font-size:12px}.std-review-grid>div{background:#f9fcfe}
.std-interactive{border:1px solid #cde3ef;border-radius:16px;background:linear-gradient(155deg,#f2f9fd,#fff);padding:21px;margin:20px 0 28px}.std-interactive h3{font-size:18px;color:#185d82;margin:5px 0 8px}.std-interactive>p{font-size:12.5px;color:#587a8e;line-height:1.8}
.std-controls{display:grid;grid-template-columns:1fr;gap:13px;margin:19px 0}.std-controls label{display:block;font-size:12px;font-weight:700}.std-controls label>span{color:#456f88}.std-controls label>b{float:right;color:#205d84}.std-controls input[type=range],.std-qc-range input{display:block;width:100%;accent-color:#2788b6;margin-top:9px;cursor:pointer}
.std-choice{border:1px solid #d5e7f0;border-radius:11px;padding:12px 15px;background:white;margin:15px 0}.std-choice legend{padding:0 5px;font-size:12px;font-weight:800;color:#2b698b}.std-choice label{display:block;font-size:12px;margin:7px 0;cursor:pointer;color:#405f74}.std-choice input{accent-color:#2788b6}
.std-result{padding:15px 17px;margin:15px 0;border-radius:11px;font-size:12.5px;line-height:1.75}.std-result>small{display:block;font-size:11px}.std-result strong{display:block;font-size:14px}.std-result p{margin:7px 0 0;color:inherit}.std-result-ok{background:#ecf8f2;border:1px solid #b7dfca;color:#256b54}.std-result-caution{background:#fff7ed;border:1px solid #ebd4b4;color:#8b6332}
.std-graph-scroll{overflow-x:auto;background:#fff;border:1px solid #e0ecf3;border-radius:12px;padding:8px}.std-qc-svg{display:block;width:100%;min-width:440px;height:auto}.std-qc-svg text{font-size:11px;fill:#64839b;font-family:'Segoe UI',Arial,sans-serif}.std-qc-controls{display:grid;grid-template-columns:minmax(130px,1fr) 2fr;gap:14px;align-items:end;margin:16px 0}.std-qc-controls label{font-size:12px;font-weight:700;color:#52748c}.std-qc-controls select{width:100%;padding:8px 10px;background:#fff;border:1px solid #cbdfe9;border-radius:8px;margin-top:7px}.std-qc-range span{display:flex;justify-content:space-between;gap:7px}.std-actions{display:flex;flex-wrap:wrap;gap:8px;margin:11px 0}.std-actions .button{font-size:11px;padding:9px 12px}.std-case{border-left:3px solid #4c9abb;background:#eaf5fc;padding:16px 17px;margin:18px 0;border-radius:8px}.std-case>span{color:#277da3;font-size:10px;font-weight:900;letter-spacing:.8px}.std-case p{font-size:13px;line-height:1.8;margin:8px 0 0}.std-nc-options{display:grid;gap:8px}.std-option{display:flex;align-items:start;gap:10px;text-align:left;padding:12px 15px;border:1px solid #d2e4ee;border-radius:10px;background:white;color:#3e647b;font-size:12.5px;cursor:pointer}.std-option>span{background:#e6f2f9;border-radius:7px;color:#277da9;min-width:24px;height:24px;display:grid;place-items:center;font-weight:900}.std-option.selected{border-color:#5aa5c6;background:#eaf7fd}.std-empty-exam{text-align:center;padding:45px 10px}.std-empty-exam .std-exam-icon{width:53px;height:53px;border-radius:50%;background:#e8f5fc;color:#277eaf;font-size:29px;font-weight:850;line-height:53px;margin:0 auto 12px}.std-empty-exam p{max-width:600px;margin:10px auto}
@media(max-width:1190px){.std-flow-step{flex-basis:135px}.std-flow-arrow{display:none}}@media(max-width:690px){.std-side-cards,.std-review-grid,.std-qc-controls{grid-template-columns:1fr}.std-lesson .lesson-body{padding:15px}.std-illustration,.std-interactive{padding:14px}.std-clause summary{padding:12px}.std-clause .std-prose{padding:11px 12px}}

/* v27.3 additions */
.tl-final-return{margin:22px 0 12px;padding:16px 0;border-top:1px solid #d9e6f0}
.tl-control-card{background:#f5fafe;border:1px solid #cfe0ed;border-radius:14px;padding:16px;margin:12px 0}
.tl-control-card .tl-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0}
.tl-control-card input[type=range]{flex:1;min-width:130px;accent-color:#278abc;touch-action:pan-y}
.tl-kpi{display:inline-block;padding:9px 14px;border:1px solid #c8dceb;border-radius:10px;background:#fff;margin:4px}
.tl-good{color:#17683f}.tl-bad{color:#ad3039}.tl-note{color:#526776;font-size:.9rem}
.tl-ash-oven{display:grid;place-items:center;background:linear-gradient(150deg,#d9edf6,#f7fcff);border-radius:15px;min-height:170px;border:2px solid #abc9dd;position:relative}
.tl-ash-door{width:210px;height:112px;border:12px solid #718ea2;border-radius:12px;background:#4b5c70;position:relative;display:grid;place-items:center;color:#fff}
.tl-ash-tray{width:122px;height:24px;border-radius:4px 4px 18px 18px;background:#c1d4df;border:3px solid #f0fafc;transition:all .3s}
.tl-ash-tray.hidden{opacity:0;transform:translateY(20px)}
.tl-ash-chimney{position:absolute;right:22px;top:9px;font-size:12px;color:#42687b}
.tl-timeline{display:flex;border-radius:10px;overflow:hidden;height:30px;margin:12px 0;background:#e3edf4}
.tl-timeline>div{display:grid;place-items:center;font-size:.82rem;font-weight:650;white-space:nowrap;overflow:hidden}
.tl-mass-rows{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.tl-equipment-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.tl-equipment-tiles img{width:100%;height:170px;object-fit:contain;background:#f5fafd;border-radius:9px}
@media(max-width:600px){.tl-timeline{height:auto;min-height:36px}.tl-timeline>div{font-size:.7rem}.tl-ash-door{width:180px}}

/* Keep equipment illustrations in their own region, never overlay explanatory text. */
.cv-eq-card{overflow:hidden;display:flex;flex-direction:column;min-width:0}
.cv-eq-photo{min-height:190px;max-height:225px;overflow:hidden;display:grid;place-items:center;background:#f3f9fd}
.cv-eq-photo img{display:block!important;width:100%!important;height:180px!important;object-fit:contain!important;object-position:center!important}
.cv-eq-info{position:relative;display:block;overflow-wrap:break-word;min-width:0;background:#fff;padding:14px}
.sul-equipment-grid img,.sul-eq-photo img{object-fit:contain;max-height:190px;max-width:100%;display:block}

/* Avoid original-image captions visually overlapping equipment descriptions */
.sul-eq-card,.sul-equipment-item{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.sul-eq-card img,.sul-equipment-item img{display:block;max-width:100%;height:185px;object-fit:contain;background:#f3fafd;border-radius:10px}

.tl-oven-spacer{position:absolute;bottom:3px;left:13px;font-size:12px;font-weight:700;color:#e4f4ff;border-left:2px dashed #b5eaff;border-right:2px dashed #b5eaff;padding:0 10px}
.tl-oven-airflow{position:absolute;top:3px;right:10px;color:#acf0e0;font-size:19px;font-weight:800;animation:tl-oven-breeze 1.7s ease-in-out infinite}
@keyframes tl-oven-breeze{0%,100%{opacity:.3;transform:translateY(3px)}50%{opacity:1;transform:translateY(-3px)}}

/* v27.4: range controls and animated ashing-oven process */
.tl-ash-sliders{display:grid;gap:18px;padding:10px 0}.tl-ash-slider-row{display:grid;gap:8px;font-size:.92rem;color:#2c5669}.tl-ash-slider-row strong{font-variant-numeric:tabular-nums;color:#126182}.tl-ash-slider-row input[type=range],.ba-range-row input[type=range]{width:100%;accent-color:#177a99;cursor:grab}.tl-ash-slider-row input[type=range]:active,.ba-range-row input[type=range]:active{cursor:grabbing}
.ba-range-row{display:grid;gap:9px;min-width:160px}.ba-range-row strong{font-variant-numeric:tabular-nums;color:#116986}.ba-range-row input[type=range]{min-width:100px;display:block;min-height:30px}
.tl-ash-clock-layout{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.15fr);align-items:center;gap:20px}.tl-clock-big{font-size:1.75rem;font-variant-numeric:tabular-nums}.tl-ash-heat-oven{position:relative;min-height:235px;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;padding:8px}.tl-ash-chimney-pipe{width:37px;height:36px;background:#5b7682;border:5px solid #405e70;border-bottom:0;border-radius:3px 3px 0 0;position:relative;z-index:2}.tl-ash-smoke{position:absolute;top:8px;left:50%;margin-left:-22px;width:80px;height:75px;transition:opacity .2s ease;pointer-events:none}.tl-ash-smoke i{position:absolute;bottom:0;left:8px;width:20px;height:24px;border-radius:50%;background:rgba(112,130,145,.45);filter:blur(5px);animation:tlAshRise 2.1s ease-out infinite}.tl-ash-smoke i:nth-child(2){left:26px;animation-delay:-.7s}.tl-ash-smoke i:nth-child(3){left:40px;animation-delay:-1.4s}@keyframes tlAshRise{0%{transform:translateY(2px) scale(.65);opacity:.1}45%{opacity:.95}100%{transform:translateY(-55px) scale(1.8);opacity:0}}.tl-ash-oven-box{position:relative;width:200px;height:110px;background:linear-gradient(135deg,#9db3c0,#dbe5e9);border:7px solid #5c7888;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.tl-ash-oven-box small{font-size:12px;color:#143949}.tl-ash-glow{width:132px;height:62px;border:5px solid #627e90;border-radius:7px;background:radial-gradient(ellipse,#f5cfa4,#de9776 70%,#bd826f);display:grid;place-items:end center}.tl-ash-residue{background:#d8d0c0;border-radius:50% 50% 4px 4px;color:#60554b;font-size:14px;padding:3px 9px}.tl-ash-smoke-state{font-size:12px;text-align:center;margin-top:9px;color:#35657b}.tl-ash-clock-actions{display:grid;gap:13px}@media(max-width:650px){.tl-ash-clock-layout{grid-template-columns:1fr}.tl-ash-oven-box{width:180px}}

/* v27.4 · local-only exam preview */
#tl-exam-overlay{position:fixed;z-index:9000;inset:0;background:rgba(13,38,52,.78);overflow:auto;padding:20px 12px;display:flex;align-items:flex-start;justify-content:center}#tl-exam-overlay *{box-sizing:border-box}.tl-exam-surface{background:#fff;color:#193a4d;box-shadow:0 18px 56px #0004;border-radius:17px;width:min(850px,100%);padding:clamp(18px,4vw,34px);margin:auto}.tl-exam-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.tl-exam-header h2{margin:5px 0 10px;color:#153f56}.tl-exam-header small{letter-spacing:.05em;color:#65899c}.tl-exam-warning{background:#fff1d4;color:#86601b;padding:5px 9px;border-radius:6px;font-size:12px}.tl-exam-clock{font-variant-numeric:tabular-nums;font-weight:800;font-size:1.7rem;color:#0d739e;background:#e9f7fb;padding:9px 12px;border-radius:10px}.tl-exam-summary{display:flex;gap:10px;justify-content:space-between;flex-wrap:wrap;color:#567a8a;font-size:13px;margin:22px 0 12px}.tl-exam-dots{display:flex;gap:6px;flex-wrap:wrap}.tl-exam-dots button{border:1px solid #bfd9e2;border-radius:7px;padding:6px 9px;background:white;color:#21546a;cursor:pointer}.tl-exam-dots button.is-answered{background:#d6edec;border-color:#72b2aa}.tl-exam-dots button.is-current{box-shadow:0 0 0 2px #2685b7 inset}.tl-exam-question{margin:24px 0}.tl-exam-question h3{font-size:1.15rem;line-height:1.5;margin:11px 0 20px}.tl-exam-answers{display:grid;gap:10px}.tl-exam-answers label{display:flex;gap:10px;align-items:center;padding:13px;border:1px solid #cfe0e8;border-radius:9px;cursor:pointer}.tl-exam-answers label.is-picked{background:#e8f4f9;border-color:#2581aa}.tl-exam-answers b{color:#2a758f}.tl-exam-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.tl-exam-footnote{font-size:12px;color:#617e8a;margin-top:22px}.tl-exam-score{font-size:3rem;color:#166e94;font-weight:800}.tl-exam-history{width:100%;border-collapse:collapse;margin-top:15px}.tl-exam-history td,.tl-exam-history th{padding:12px;border-bottom:1px solid #dce8ed;text-align:left}@media(max-width:550px){.tl-exam-header{flex-direction:column}.tl-exam-clock{font-size:1.35rem}}

.tl-mass-rows.tl-qa-sliders{grid-template-columns:minmax(0,1fr);gap:20px}
.tl-qa-sliders>label{display:block;min-width:0}
.tl-control-card .tl-qa-sliders input[type=range]{display:block;box-sizing:border-box;width:100%;min-width:0;margin:12px 0 0}
.tl-qa-sliders strong{font-variant-numeric:tabular-nums}

.tl-exam-review{margin:26px 0}.tl-review-item{border:1px solid #d6e4eb;border-radius:10px;padding:16px;margin:12px 0;overflow-wrap:anywhere}.tl-review-item h4{margin:10px 0;font-size:1rem;line-height:1.6}.tl-review-item p{padding:10px 12px;border-radius:7px;line-height:1.6}.tl-review-wrong{background:#fff0ed;color:#923c30}.tl-review-correct{background:#eaf7ef;color:#216341}
