/* Local v2 tools inherit the original typography and laboratory palette. */
.lab-tool{padding:28px;margin:0 0 28px;overflow:hidden}
.tool-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}
.tool-heading h3{font-family:Georgia,serif;font-size:30px;font-weight:400;letter-spacing:-.6px;margin:5px 0 10px}
.tool-heading p:not(.eyebrow){max-width:730px;color:#64736b;font-size:14px;line-height:1.7;margin:0}
.tool-heading .small-tag{white-space:nowrap}
.tool-grid,.snapshot-grid,.comparison-plots{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px}
.tool-grid>*,.snapshot-grid>*,.comparison-plots>*{min-width:0}
.tool-grid h4,.comparison-plots h4{font-size:14px;font-weight:600;margin:4px 0 18px}
.tool-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}
.tool-toolbar label,.operation-selectors label{font-size:12px;color:#56685b;display:flex;flex-direction:column;gap:6px}
.lab-tool select,.lab-tool input{font:inherit;font-size:13px;min-width:0;padding:10px 11px;border:1px solid #d7ded0;background:#fcfdf9;color:#253c35;border-radius:6px}
.lab-tool input:focus,.lab-tool select:focus{outline:2px solid #4f8277;outline-offset:2px}
#basis-plane{display:block;width:100%;border:1px solid #e2e7dc;border-radius:10px;background:#fafbf7;touch-action:none}
#basis-plane .axis-label{font-size:10px;fill:#748270}
#basis-plane [data-handle]{cursor:grab;stroke:#fff;stroke-width:3}
#basis-plane [data-handle]:focus{outline:none;stroke:#243f34;stroke-width:5}
#basis-plane [data-handle]:active{cursor:grabbing}
.basis-readout{font-size:12px;line-height:1.8;background:#f1f5ea;border-radius:6px;padding:12px 14px;color:#355248}
.composition-preview{padding-top:14px}
.result-insight,.comparison-insight{font-size:14px;line-height:1.7;padding:16px;border-left:3px solid #719065;background:#f3f6ee}
.tool-footnote{font-size:12px;line-height:1.7;border-top:1px solid #e1e5da;margin-top:24px;padding-top:16px;color:#667565}
.lab-tool fieldset{margin:0;padding:0;border:0;min-width:0}
.lab-tool legend{font-size:14px;font-weight:600;margin:4px 0 18px}
.operation-selectors{display:grid;grid-template-columns:1.7fr 1fr;gap:12px}
.operation-selectors [hidden]{display:none}
.row-answer{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:10px 0 18px}
.row-answer input{text-align:center;width:100%;padding:10px 4px;font-size:12px}
.row-answer input:last-child{border-left:2px solid #8c9d82}
.formula-box{background:#f7f8f2;border-radius:9px;padding:18px 8px;min-height:150px;display:grid;place-items:center;overflow:auto}
.formula-overflow{overflow:auto;padding:15px 0}
.form-badges{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}
.form-badges span{font-size:11px;padding:6px 10px;border:1px solid #dce2d5;border-radius:5px;color:#6f7969}
.form-badges .is-complete{background:#e6efd9;color:#35562c;border-color:#bbcf9e}
#operation-history{max-height:260px;overflow:auto;padding-left:25px;font-size:13px;line-height:2.4}
.row-calculation{padding:14px;background:#f4f6ee;border-radius:7px;overflow:auto;font-size:13px}
.row-calculation p{display:flex;gap:16px;align-items:center;margin:12px 0}
.row-calculation p span{flex:0 0 65px;font-size:11px;color:#64745b}
.lab-tool .feedback{line-height:1.7}
.snapshot-card{padding:20px;background:#f8f9f3;border:1px solid #e1e6d7;border-radius:10px;position:relative}
.snapshot-index{position:absolute;top:14px;right:16px;font-family:Georgia,serif;font-size:25px;color:#9caa90}
.snapshot-card>label{display:block;font-size:12px;margin:2px 0 10px}
.snapshot-card>input{width:calc(100% - 38px);background:#fff}
.snapshot-card .tool-toolbar{margin-bottom:0}
.comparison-table-wrap{overflow:auto;margin:20px 0}
.comparison-table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.5}
.comparison-table th,.comparison-table td{padding:12px 15px;border-bottom:1px solid #e1e6d8;text-align:left}
.comparison-table thead{background:#eaf0df;color:#355344}
.comparison-table thead th:not(:first-child){width:27%}
.comparison-table tbody th{font-weight:400;color:#64725e}
.comparison-table td{font-variant-numeric:tabular-nums;font-weight:500}
.comparison-plots{gap:18px}
.comparison-plots article{border:1px solid #e2e6da;border-radius:8px;padding:15px}
.measurement-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}
.measurement-actions span{font-size:11px;color:#7b866f;margin-left:auto}
.lab-tool details{font-size:13px;line-height:1.8}
.lab-tool details p{color:#63735d}
@media(max-width:1150px){
  .tool-grid,.comparison-plots{grid-template-columns:1fr}
  .composition-preview{padding-top:0}
}
@media(max-width:650px){
  .lab-tool{padding:19px 16px}
  .tool-heading{display:block;margin-bottom:18px}
  .tool-heading h3{font-size:26px}
  .tool-heading .small-tag{display:inline-block;margin-top:14px}
  .tool-grid,.snapshot-grid{grid-template-columns:1fr;gap:20px}
  .tool-toolbar .button{font-size:11px;padding:10px 12px}
  .operation-selectors{grid-template-columns:1fr 1fr}
  .operation-selectors select{max-width:100%}
  .row-answer{gap:5px}
  .row-answer input{font-size:11px}
  .comparison-table th,.comparison-table td{padding:10px 7px;font-size:11px}
  .snapshot-card{padding:16px}
}
