/* Practical chemistry suite */
.practical-hub-hero{background:linear-gradient(180deg,#f7fbfa 0%,#fff 100%)}
.practical-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:44px;align-items:center}
.practical-hero-data{border:1px solid #cddbd7;border-radius:16px;background:#fff;padding:18px 20px;box-shadow:0 10px 28px rgba(21,52,61,.06)}
.practical-hero-data>p{margin:14px 0 0;color:var(--muted);line-height:1.5;font-size:.92rem}.practical-mini-table{display:grid;gap:0;border:1px solid #d7dfdc;border-radius:10px;overflow:hidden}.practical-mini-table>strong{padding:10px 12px;background:#eaf3f0;color:var(--navy)}.practical-mini-table>span{display:grid;grid-template-columns:1fr 1fr}.practical-mini-table b,.practical-mini-table em{padding:7px 10px;text-align:center;border-top:1px solid #e1e7e5;font-style:normal}.practical-mini-table b:first-child,.practical-mini-table em:first-child{border-right:1px solid #e1e7e5}.practical-mini-table b{color:var(--navy);background:#f8faf9}
.practical-picker .section-heading{align-items:end}.practical-tool-list{display:grid;gap:12px}.practical-tool-row{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(210px,.7fr) auto;gap:16px;align-items:center;padding:17px 19px;border:1px solid #cbd8d4;border-radius:14px;background:#fff;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s}.practical-tool-row:hover{border-color:#8eb2a9;transform:translateY(-1px);box-shadow:0 8px 22px rgba(21,52,61,.06)}.practical-row-icon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:#edf5f2;color:var(--teal2);font-weight:850;font-size:.92rem}.practical-row-icon svg{width:26px;height:26px}.practical-row-copy{display:grid;gap:4px}.practical-row-copy strong{font-size:1.02rem;color:var(--navy)}.practical-row-copy small{color:var(--muted);line-height:1.4}.practical-row-skills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.practical-row-skills em{font-style:normal;font-size:.72rem;font-weight:700;border:1px solid #d5e1dd;background:#f4f8f6;color:#526a70;border-radius:999px;padding:4px 7px}.practical-tool-row>b{color:var(--teal2);font-size:.86rem;white-space:nowrap}.practical-two-col{display:grid;grid-template-columns:1fr 1fr;gap:34px}.practical-two-col>div{max-width:620px}.practical-two-col h2,.practical-method-note h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy)}.practical-two-col p,.practical-method-note p{color:var(--muted);line-height:1.6}.practical-method-note{max-width:900px}

.practical-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px;font-size:.84rem}.practical-breadcrumb a{color:var(--teal2)}.practical-breadcrumb span{color:#839397}.practical-breadcrumb strong{color:var(--navy)}.practical-hero-skills{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.practical-hero-skills span{border:1px solid #cfdcd8;background:#f4f8f6;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:700;color:#51686e}
.practical-practice-shell{padding-top:26px}.practical-app{max-width:1080px;margin:auto;padding:0;overflow:hidden}.practical-app-header{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 30px 18px;background:#fbfcfa;border-bottom:1px solid var(--line)}.practical-app-header h2{margin:2px 0 0;color:var(--navy);font-family:Georgia,"Times New Roman",serif}.practical-session-summary{display:flex;gap:10px}.practical-session-summary span{min-width:110px;border:1px solid #d4dfdc;background:#fff;border-radius:11px;padding:8px 11px;text-align:center}.practical-session-summary strong{display:block;color:var(--navy);font-size:1.25rem}.practical-session-summary small{display:block;color:var(--muted);font-size:.68rem;line-height:1.2}
.practical-toolbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;padding:17px 30px;background:#f1f6f4;border-bottom:1px solid var(--line)}.practical-toolbar label{display:grid;gap:5px;font-size:.8rem;font-weight:750;color:var(--navy)}.practical-toolbar label small{max-width:20rem;color:var(--muted);font-weight:500;line-height:1.25}.practical-toolbar select{min-width:160px;border:1px solid #a8b8b4;background:#fff;border-radius:9px;padding:8px 10px}.practical-toolbar .button{margin-left:auto}.practical-question-stage{padding:28px 30px 31px}.practical-question-meta{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.practical-question-meta span{background:#edf3f1;border:1px solid #d2ddda;border-radius:999px;padding:4px 9px;font-size:.73rem;font-weight:750;color:#40575d}.practical-question{background:#f7f8f5;border:1px solid #e0e4df;border-radius:15px;padding:22px 24px;line-height:1.55}.practical-question>p:first-child{margin-top:0}.practical-question>p:last-child{margin-bottom:0}.practical-question strong{color:var(--navy)}
.practical-table-scroll{overflow-x:auto;margin:16px 0}.practical-data-table{width:100%;border-collapse:collapse;background:#fff;min-width:500px}.practical-data-table th,.practical-data-table td{border:1px solid #d1d9d7;padding:8px 10px;text-align:center}.practical-data-table th{background:#edf3f1;color:var(--navy);font-weight:800}.practical-answer{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:21px 0 7px}.practical-answer>#prac-answer-control{flex:1;min-width:280px}.practical-options{border:0;padding:0;display:grid;gap:9px}.practical-options label{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:11px 13px;border:1px solid #c8d3d0;border-radius:10px;background:#fff;cursor:pointer;line-height:1.4}.practical-options label:has(input:checked){border-color:#6d978e;background:#eff7f4}.practical-number-answer,.practical-text-answer{display:grid;gap:7px;color:var(--navy);font-weight:750}.practical-number-entry{display:flex;align-items:center;max-width:430px;border:1px solid #9eaeaa;border-radius:10px;background:#fff;overflow:hidden}.practical-number-entry input,.practical-text-answer input{width:100%;border:0;padding:11px 12px;outline:0;font:inherit}.practical-text-answer input{border:1px solid #9eaeaa;border-radius:10px;background:#fff}.practical-number-entry b{padding:0 12px;color:var(--muted);white-space:nowrap}.practical-help-row{display:flex;gap:18px;margin-top:8px}.practical-solution{margin-top:15px}.practical-solution h3{font-family:Georgia,"Times New Roman",serif;color:var(--navy)}.practical-app-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:16px 30px;background:#fbfcfa;font-size:.86rem}.practical-app-footer>span{color:var(--muted);text-align:right;max-width:620px}.practical-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.practical-related-grid a{display:grid;gap:4px;border:1px solid #cbd8d4;border-radius:12px;background:#fff;padding:15px 17px;text-decoration:none;color:var(--ink)}.practical-related-grid strong{color:var(--navy)}.practical-related-grid small{color:var(--muted);line-height:1.35}

/* Graph practice: SVG is reserved for graphs, not laboratory apparatus. */
.practical-graph-wrap{max-width:860px;margin:17px auto 5px;padding:9px 10px;border:1px solid #d1dcda;border-radius:12px;background:#fff}.practical-graph-wrap.is-interactive{touch-action:none}.practical-graph{display:block;width:100%;height:auto;min-height:285px;user-select:none}.practical-graph .grid line{stroke:#e0e6e4;stroke-width:1}.practical-graph .axis line{stroke:#52696f;stroke-width:1.8}.practical-graph .ticks text,.practical-graph .labels{fill:#465e64;font-size:11.5px}.practical-graph .series circle{fill:#fff;stroke:#294750;stroke-width:2}.practical-graph .series polyline,.practical-graph .series path{fill:none;stroke:#405e67;stroke-width:2.2}.practical-graph .fit{stroke:#2f655e;stroke-width:2.4}.practical-graph .fit.alt{stroke:#8a6e4d;stroke-dasharray:6 4}.practical-graph .user-point circle{fill:#e7f5f1;stroke:#116b60;stroke-width:2}.practical-graph .user-point path{stroke:#116b60;stroke-width:2}.practical-graph .anomaly-hit{fill:transparent;stroke:none;cursor:pointer}.practical-graph .anomaly-selected{fill:#e7f5f1;stroke:#116b60;stroke-width:2.5}.practical-graph-key{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:8px auto 0;color:var(--muted);font-size:.8rem}.practical-graph-instruction{margin:10px auto 0;max-width:860px;color:#40575d;font-size:.86rem}.practical-fit-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.practical-fit-options label{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;border:1px solid #c8d3d0;border-radius:10px;background:#fff;padding:10px}.practical-fit-options svg{width:100%;height:auto;display:block;margin-top:5px;background:#fafcfb;border:1px solid #e0e6e4;border-radius:7px}

@media(max-width:900px){.practical-hero-grid{grid-template-columns:1fr}.practical-hero-data{max-width:650px}.practical-tool-row{grid-template-columns:auto 1fr auto}.practical-row-skills{grid-column:2/4}.practical-related-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.practical-two-col{grid-template-columns:1fr}.practical-app-header{align-items:flex-start;flex-direction:column;padding:21px 17px 16px}.practical-session-summary{width:100%}.practical-session-summary span{flex:1;min-width:0}.practical-toolbar,.practical-question-stage{padding-left:16px;padding-right:16px}.practical-toolbar{align-items:stretch}.practical-toolbar label,.practical-toolbar select,.practical-toolbar .button{width:100%}.practical-toolbar .button{margin-left:0}.practical-question{padding:17px 14px}.practical-answer{align-items:stretch}.practical-answer>#prac-answer-control,.practical-answer>.button{width:100%;min-width:0}.practical-related-grid{grid-template-columns:1fr}.practical-app-footer{flex-direction:column;padding:15px 16px}.practical-app-footer>span{text-align:left}.practical-fit-options{grid-template-columns:1fr}.practical-graph{min-height:245px}.practical-tool-row{grid-template-columns:auto 1fr;padding:14px}.practical-tool-row>b,.practical-row-skills{grid-column:2}.practical-row-skills{justify-content:flex-start}}

/* Board practical maps and structured investigation builder. */
.practical-context-note{margin:15px 0 0;max-width:860px;padding:10px 13px;border-left:3px solid #6d978e;background:#f3f8f6;color:#40575d;line-height:1.45}
.practical-board-note{max-width:900px;margin:16px 0 0;color:var(--muted);line-height:1.55}
.practical-board-list{border-top:1px solid #ccd8d5}.practical-board-row{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:18px;align-items:center;padding:17px 4px;border-bottom:1px solid #ccd8d5;text-decoration:none;color:var(--ink)}.practical-board-row:hover .practical-board-copy strong{text-decoration:underline;text-underline-offset:3px}.practical-board-code{font-weight:850;color:var(--teal2);letter-spacing:.01em}.practical-board-copy{display:grid;gap:4px}.practical-board-copy strong{color:var(--navy);font-size:1.02rem}.practical-board-copy small{color:var(--muted)}.practical-board-row>b{color:var(--teal2);font-size:.86rem;white-space:nowrap}.practical-board-actions{display:grid;grid-template-columns:1fr 1fr;gap:40px}.practical-board-actions h2{font-family:Georgia,"Times New Roman",serif;color:var(--navy)}.practical-board-actions p{color:var(--muted);line-height:1.55;max-width:620px}
.practical-board-shortcuts{padding-top:10px}.practical-board-shortcut-row{display:flex;gap:28px;flex-wrap:wrap;border-top:1px solid #ccd8d5;border-bottom:1px solid #ccd8d5;padding:4px 0}.practical-board-shortcut-row a{flex:1 1 340px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 18px;padding:15px 4px;text-decoration:none;color:var(--ink)}.practical-board-shortcut-row a+a{border-left:1px solid #d8e1df;padding-left:28px}.practical-board-shortcut-row strong{color:var(--navy)}.practical-board-shortcut-row span{grid-column:1/2;color:var(--muted);font-size:.86rem;line-height:1.4}.practical-board-shortcut-row a::after{content:'→';grid-column:2;grid-row:1/3;align-self:center;color:var(--teal2);font-weight:800}
.practical-plan-builder{display:grid;gap:13px}.practical-plan-step{display:grid;grid-template-columns:minmax(170px,.42fr) minmax(0,1fr);gap:15px;align-items:start;padding:13px 0;border-bottom:1px solid #d7dfdc}.practical-plan-step:first-child{border-top:1px solid #d7dfdc}.practical-plan-step>span{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;color:var(--navy);line-height:1.25}.practical-plan-step>span>b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf5f2;color:var(--teal2);font-size:.78rem}.practical-plan-step select{width:100%;border:1px solid #9eaeaa;border-radius:9px;background:#fff;padding:10px 11px;line-height:1.35;color:var(--ink)}.practical-plan-solution{display:grid;gap:10px;padding-left:1.35rem}.practical-plan-solution li{padding-left:.2rem;line-height:1.5}.practical-plan-solution span{display:block;color:var(--muted);margin-top:2px}
@media(max-width:680px){.practical-board-row{grid-template-columns:62px minmax(0,1fr);gap:10px}.practical-board-row>b{grid-column:2}.practical-board-actions{grid-template-columns:1fr}.practical-board-shortcut-row{display:grid;gap:0}.practical-board-shortcut-row a+a{border-left:0;border-top:1px solid #d8e1df;padding-left:4px}.practical-plan-step{grid-template-columns:1fr;gap:8px}.practical-plan-step select{font-size:.96rem}}

/* Written-plan self-check */
.practical-plan-write {
  display: grid;
  gap: .55rem;
}
.practical-plan-write > strong { font-size: 1rem; }
.practical-plan-write textarea {
  width: 100%;
  min-height: 14rem;
  resize: vertical;
  padding: .9rem 1rem;
  border: 1px solid var(--line, #c9d4d8);
  border-radius: 10px;
  background: #fff;
  color: inherit;
  font: inherit;
  line-height: 1.5;
}
.practical-plan-write small,
.practical-selfmark > p,
.practical-plan-draft > p { color: var(--muted, #52636b); }
.practical-plan-draft {
  padding: 1rem 1.05rem;
  margin-bottom: 1rem;
  border-left: 4px solid var(--accent, #0b8192);
  background: rgba(10, 129, 146, .055);
  border-radius: 8px;
}
.practical-plan-draft p { margin: .45rem 0 0; line-height: 1.55; }
.practical-selfmark {
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  gap: .7rem;
}
.practical-selfmark legend {
  padding: 0;
  margin-bottom: .35rem;
  font-weight: 800;
  font-size: 1.05rem;
}
.practical-selfmark > p { margin: 0 0 .25rem; }
.practical-selfmark label {
  display: block;
  cursor: pointer;
}
.practical-selfmark label > span {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: .7rem;
  align-items: start;
  padding: .85rem .9rem;
  border: 1px solid var(--line, #c9d4d8);
  border-radius: 10px;
  background: #fff;
}
.practical-selfmark input { position: absolute; opacity: 0; pointer-events: none; }
.practical-selfmark input:focus-visible + span { outline: 3px solid rgba(10,129,146,.22); outline-offset: 2px; }
.practical-selfmark input:checked + span { border-color: #0b8192; background: rgba(10,129,146,.075); }
.practical-selfmark label b {
  width: 1.8rem;
  height: 1.8rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(10,129,146,.09);
  color: #075b68;
  font-size: .82rem;
}
.practical-selfmark label strong { display: block; line-height: 1.4; }
.practical-selfmark label small { display: block; margin-top: .28rem; color: var(--muted, #52636b); line-height: 1.35; }

/* Finite practical-skills check. */
.practical-toolbar .button:disabled{opacity:.48;cursor:not-allowed;transform:none}
.practical-diagnostic-summary{padding:26px 30px 30px;border-top:1px solid var(--line);background:#fbfcfa}
.practical-diagnostic-summary-head{max-width:780px}.practical-diagnostic-summary-head h2{margin:.18em 0 .35em;font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:clamp(1.7rem,3.2vw,2.35rem)}.practical-diagnostic-summary-head p:last-child{color:var(--muted);line-height:1.55}
.practical-diagnostic-clean{max-width:900px;margin:18px 0;padding:12px 14px;border-left:3px solid #6d978e;background:#f1f7f5;color:#40575d;line-height:1.5}.practical-diagnostic-clean strong{color:var(--navy)}
.practical-diagnostic-next{margin:24px 0}.practical-diagnostic-next h3{margin:0 0 8px;color:var(--navy);font-family:Georgia,"Times New Roman",serif}.practical-diagnostic-next>a{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 4px;border-top:1px solid #d4dedb;text-decoration:none;color:var(--ink)}.practical-diagnostic-next>a:last-of-type{border-bottom:1px solid #d4dedb}.practical-diagnostic-next>a>span{display:grid;gap:3px}.practical-diagnostic-next strong{color:var(--navy)}.practical-diagnostic-next small{color:var(--muted)}.practical-diagnostic-next b{white-space:nowrap;color:var(--teal2);font-size:.84rem}.practical-diagnostic-next>p{max-width:760px;color:var(--muted);line-height:1.55}
@media(max-width:680px){.practical-diagnostic-summary{padding:22px 16px 25px}.practical-diagnostic-next>a{align-items:flex-start}.practical-diagnostic-next b{margin-top:2px}}

/* Practical suite structured interactions — Stage 11 */
.practical-sequence{display:grid;gap:9px}.practical-sequence-item{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:11px;align-items:center;border:1px solid #c8d3d0;border-radius:10px;background:#fff;padding:10px 11px}.practical-sequence-item>b{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#edf5f2;color:var(--teal2);font-size:.8rem}.practical-sequence-item>span{line-height:1.4}.practical-sequence-item>div{display:flex;gap:6px}.practical-sequence-item .button.small{min-width:38px;padding:7px 9px;line-height:1}.practical-sequence-item .button.small:disabled{opacity:.35;cursor:default}.practical-table-builder th{padding:8px}.practical-table-builder select{width:100%;min-width:155px;border:1px solid #9eaeaa;border-radius:8px;background:#fff;padding:9px 10px;color:var(--ink);font:inherit;font-size:.9rem}.practical-table-builder td{height:42px;color:#87938f}
@media(max-width:680px){.practical-sequence-item{grid-template-columns:30px minmax(0,1fr)}.practical-sequence-item>div{grid-column:2;justify-content:flex-end}.practical-table-builder select{min-width:145px;font-size:.86rem}}


/* Practical suite structured data handling — Stage 12 */
.practical-calculation-chain{display:grid;gap:0;border-top:1px solid #d7dfdc}.practical-chain-step{display:grid;grid-template-columns:minmax(200px,.58fr) minmax(0,1fr);gap:16px;align-items:center;padding:13px 0;border-bottom:1px solid #d7dfdc}.practical-chain-step>span{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;align-items:center;color:var(--navy);line-height:1.3}.practical-chain-step>span>b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#edf5f2;color:var(--teal2);font-size:.78rem}.practical-chain-step select{width:100%;border:1px solid #9eaeaa;border-radius:9px;background:#fff;padding:10px 11px;color:var(--ink);font:inherit}.practical-chain-step .practical-number-entry{max-width:none}.practical-data-review{display:grid;gap:14px}.practical-select-table th:first-child,.practical-select-table td:first-child{width:64px}.practical-row-check{display:grid;place-items:center;cursor:pointer}.practical-row-check input{width:20px;height:20px;accent-color:#116b60}.practical-data-review>.practical-number-answer{max-width:430px}.practical-data-review>.practical-number-answer>strong{color:var(--navy)}
@media(max-width:680px){.practical-chain-step{grid-template-columns:1fr;gap:8px}.practical-chain-step select{font-size:.96rem}.practical-select-table{min-width:430px}}


/* v2.00.2 practical scale */
.practical-scale{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:23px;border-top:1px solid #cbd8d5;border-bottom:1px solid #cbd8d5}
.practical-scale span{display:grid;gap:1px;padding:11px 16px;border-left:1px solid #d6dfdc}
.practical-scale span:first-child{padding-left:0;border-left:0}.practical-scale span:last-child{padding-right:0}
.practical-scale strong{font-family:Georgia,"Times New Roman",serif;color:var(--navy);font-size:1.45rem;line-height:1.05}
.practical-scale small{color:var(--muted);font-size:.76rem;line-height:1.3}
@media(max-width:680px){.practical-scale{grid-template-columns:1fr;margin-top:20px}.practical-scale span,.practical-scale span:first-child,.practical-scale span:last-child{padding:9px 0;border-left:0;border-top:1px solid #d6dfdc}.practical-scale span:first-child{border-top:0}.practical-scale strong{font-size:1.3rem}}
