/* 戥秤与砝码：A1 两盘固定三态，所有规则限制在专题容器内。 */
[data-module="weigh"] {
  --weigh-color: #A16207;
  --module-color: var(--weigh-color);
  --module-light: var(--warning-bg);
  --module-dark: var(--text-primary);
}
/* 学生条固定在右上方；关内顶部让出其高度与触控间距。 */
#weighGame.active { padding-top:calc(var(--space-8) + var(--space-8)); justify-content:flex-start; }
/* 选关内容在学生条下方独立滚动；顶部留白若随文档滚走，后续卡片仍会被条盖住。 */
#weighLevelSelect.active {
  position:fixed;
  inset:calc(var(--space-8) + var(--space-8)) 0 0;
  min-height:0;
  justify-content:flex-start;
  padding-top:0;
  /* 滚到底时，返回首页入口仍位于固定草稿条上方。 */
  padding-bottom:calc(var(--space-8) + var(--space-8) + var(--space-8) + var(--space-8));
}
/* 保留内容原高，沿用 .screen 的纵向滚动，不把十一关和返回入口挤进一屏。 */
#weighLevelSelect.active > * { flex-shrink:0; }
/* 关闭态草稿按钮会压住提示与关间入口；画板打开时保留关闭按钮。 */
#weighLevelSelect.active ~ #scratchpadBar #spToggle:not(.sp-on),
#weighGame.active ~ #scratchpadBar #spToggle:not(.sp-on) { display:none !important; }
#weighLevelGrid .tri-level-btn, #weighLevelGrid .tri-review-entry,
#weighLevelSelect > .btn-ghost { min-width:calc(var(--space-12) + var(--space-3)); min-height:calc(var(--space-12) + var(--space-3)); }
.weigh-card-mode { color:var(--module-color); font-weight:var(--weight-bold); font-size:var(--text-caption); }
.weigh-panel { width:min(100%, calc(var(--space-12) * 10)); min-width:0; margin:auto; padding:var(--space-4); color:var(--text-primary); }
.weigh-panel button, .weigh-panel select, .weigh-panel input { touch-action:manipulation; }
#weighObservationDone { color:var(--module-dark); font-weight:var(--weight-bold); text-align:center; }
body[data-module="weigh"] .weigh-observed-confirmed { color:var(--text-primary);
  font-size:var(--text-heading); font-weight:var(--weight-bold); }
#weighObservationRetry { display:block; width:100%; min-height:calc(var(--space-12) + var(--space-3));
  border:2px solid var(--module-color); border-radius:var(--radius-md); background:var(--surface);
  color:var(--text-primary); font:inherit; font-weight:var(--weight-bold); }
body[data-module="weigh"] #gameCompleteOverlay .tri-complete-card { max-width:min(320px, calc(100vw - var(--space-6))); }
body[data-module="weigh"] #gameCompleteOverlay .tri-complete-card h2 {
  color:var(--text-primary); font-size:clamp(1rem, 4.2vw, 1.4rem); white-space:nowrap; }
body[data-module="weigh"] #gameCompleteOverlay .tri-complete-card button {
  background:var(--module-color); color:var(--text-on-accent); }
body[data-module="weigh"] #numpadPanel .numpad-key[data-key="del"]::after {
  content:"退格"; display:block; font-size:var(--text-caption); }
body[data-module="weigh"] #numpadClose::after { content:"关闭"; margin-left:var(--space-1);
  font-size:var(--text-caption); }
.weigh-panel h2 { font-size:var(--text-title); line-height:var(--leading-tight); margin:0 0 var(--space-4); }
.weigh-panel h3 { font-size:var(--text-heading); margin:0 0 var(--space-3); }
.weigh-panel p { font-size:var(--text-body); line-height:var(--leading-normal); }
.weigh-presets, .weigh-actions { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--space-2); margin:var(--space-4) 0; }
.weigh-presets button, .weigh-actions button, .weigh-piece { min-height:calc(var(--space-12) + var(--space-3)); border:2px solid var(--module-color); border-radius:var(--radius-md); background:var(--surface); color:var(--text-primary); font-size:var(--text-body); font-weight:var(--weight-bold); padding:var(--space-2); cursor:pointer; }
.weigh-presets button:focus-visible, .weigh-actions button:focus-visible, .weigh-piece:focus-visible { outline:var(--space-1) solid var(--module-color); outline-offset:var(--space-1); }
.weigh-scale { position:relative; min-height:calc(var(--space-12) * 3); background:var(--module-light); border-radius:var(--radius-lg); padding:var(--space-3); overflow:hidden; }
.weigh-scale::before { content:""; display:block; position:absolute; bottom:0; left:50%; width:var(--space-4); height:calc(var(--space-12) * 2); transform:translateX(-50%); background:var(--module-dark); border-radius:var(--radius-sm); }
.weigh-beam { position:absolute; z-index:1; left:13%; top:var(--space-5); width:74%; height:var(--space-2); border-radius:var(--radius-sm); background:var(--module-color); transform:rotate(0deg); transition:transform var(--duration-normal) var(--ease-out); }
.weigh-beam[data-relation="leftHeavy"] { transform:rotate(-8deg); }
.weigh-beam[data-relation="rightHeavy"] { transform:rotate(8deg); }
.weigh-pans { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8); margin-top:var(--space-10); }
.weigh-pan { display:flex; flex-wrap:wrap; align-content:center; justify-content:center; gap:var(--space-1); min-height:var(--space-12); border:2px solid var(--module-color); border-radius:var(--radius-md); background:var(--surface); padding:var(--space-1); transition:transform var(--duration-normal) var(--ease-out); }
.weigh-scale[data-relation="leftHeavy"] .weigh-pan:first-child { transform:translateY(var(--space-4)); }
.weigh-scale[data-relation="leftHeavy"] .weigh-pan:last-child { transform:translateY(calc(-1 * var(--space-4))); }
.weigh-scale[data-relation="rightHeavy"] .weigh-pan:first-child { transform:translateY(calc(-1 * var(--space-4))); }
.weigh-scale[data-relation="rightHeavy"] .weigh-pan:last-child { transform:translateY(var(--space-4)); }
.weigh-pan-labels { position:relative; z-index:2; display:flex; justify-content:space-around; font-weight:var(--weight-bold); margin-top:var(--space-3); }
.weigh-result { color:var(--module-dark); font-size:var(--text-heading) !important; font-weight:var(--weight-bold); text-align:center; margin:var(--space-3) 0; }
.weigh-off { border:2px dashed var(--module-color); border-radius:var(--radius-md); background:var(--surface); padding:var(--space-3); }
.weigh-off #weighOffPan { display:flex; flex-wrap:wrap; gap:var(--space-2); }
.weigh-piece { min-width:calc(var(--space-12) + var(--space-3)); font-size:var(--text-caption); }
.weigh-empty, .weigh-prompt { color:var(--text-secondary); }
.weigh-actions { border-top:2px solid var(--module-color); padding-top:var(--space-4); }
.weigh-actions h3 { grid-column:1 / -1; }
.weigh-actions[hidden] { display:none; }
/* L1：原题、三栏记录、两道不计分读问号分区；静态天平沿用同一组三态高度。 */
#weighL1 section { margin:var(--space-4) 0; }
#weighL1 .weigh-l1-original, #weighL1 .weigh-l1-record,
#weighL1 .weigh-l1-practice-card {
  background:var(--surface); border:2px solid var(--module-color);
  border-radius:var(--radius-lg); padding:var(--space-4);
}
#weighL1 .weigh-l1-balances { display:grid; gap:var(--space-3); }
#weighL1 .weigh-l1-balance h4 { font-size:var(--text-body); margin:var(--space-2) 0; }
#weighL1 .weigh-l1-scale { min-height:calc(var(--space-12) * 3); }
#weighL1 .weigh-l1-scale .weigh-pan { font-size:var(--text-body); line-height:var(--leading-normal); text-align:center; }
#weighL1 .weigh-l1-target { background:var(--warning-bg); border-radius:var(--radius-md); padding:var(--space-3); }
#weighL1 .weigh-l1-record-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-2); }
#weighL1 .weigh-l1-record label { display:block; font-weight:var(--weight-bold); font-size:var(--text-body); }
#weighL1 .weigh-l1-record select { display:block; width:100%; min-height:calc(var(--space-12) + var(--space-3));
  margin-top:var(--space-2); border:2px solid var(--module-color); border-radius:var(--radius-md);
  background:var(--surface); color:var(--text-primary); font:inherit; padding:var(--space-2); }
#weighL1 .weigh-l1-equal-label { margin:var(--space-4) 0; }
#weighL1 button { min-height:calc(var(--space-12) + var(--space-3)); border-radius:var(--radius-md);
  padding:var(--space-3) var(--space-4); font-size:var(--text-body); font-weight:var(--weight-bold);
  cursor:pointer; }
#weighL1 .weigh-l1-submit { display:block; width:100%; border:2px solid var(--module-color);
  background:var(--module-color); color:var(--text-on-accent); }
#weighL1 .weigh-l1-practice-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-2); }
#weighL1 .weigh-l1-practice-actions button { border:2px solid var(--module-color);
  background:var(--surface); color:var(--text-primary); }
#weighL1 .weigh-l1-practice-actions button:first-child { grid-column:1 / -1; }
#weighL1 .weigh-l1-practice-card { margin:var(--space-4) 0; }
#weighL1 .weigh-l1-feedback { min-height:var(--space-6); color:var(--module-dark);
  font-size:var(--text-body); font-weight:var(--weight-bold); }
#weighL1 button:focus-visible, #weighL1 select:focus-visible {
  outline:var(--space-1) solid var(--module-color); outline-offset:var(--space-1); }
/* L2/L3：原题和静态步骤沿用三态天平；当前动作与已证步骤分开呈现。 */
#weighL2 .weigh-solve-card, #weighL3 .weigh-solve-card {
  background:var(--surface); border:2px solid var(--module-color);
  border-radius:var(--radius-lg); padding:var(--space-4); margin:var(--space-4) 0;
}
#weighL2 .weigh-l1-balances, #weighL3 .weigh-l1-balances { display:grid; gap:var(--space-3); }
#weighL2 .weigh-l1-balance h4, #weighL3 .weigh-l1-balance h4 {
  font-size:var(--text-body); margin:var(--space-2) 0;
}
#weighL2 .weigh-pan, #weighL3 .weigh-pan {
  font-size:var(--text-body); line-height:var(--leading-normal); text-align:center;
}
#weighL2 .weigh-solve-relation, #weighL3 .weigh-solve-relation,
#weighL2 .weigh-solve-known, #weighL3 .weigh-solve-known {
  font-size:var(--text-heading); font-weight:var(--weight-bold);
  color:var(--module-dark); text-align:center;
}
#weighL2 .weigh-solve-actions, #weighL3 .weigh-solve-actions,
#weighL3 .weigh-solve-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-2); margin:var(--space-3) 0; }
#weighL2 button, #weighL3 button {
  min-height:calc(var(--space-12) + var(--space-3)); border:2px solid var(--module-color);
  border-radius:var(--radius-md); background:var(--surface); color:var(--text-primary);
  padding:var(--space-2) var(--space-3); font-size:var(--text-body);
  font-weight:var(--weight-bold); cursor:pointer;
}
#weighL2 .weigh-solve-primary, #weighL3 .weigh-solve-primary {
  display:block; width:100%; background:var(--module-color); color:var(--text-on-accent);
}
#weighL2 label, #weighL3 label { display:block; font-size:var(--text-body); font-weight:var(--weight-bold); margin:var(--space-2) 0; }
#weighL2 input[type="number"], #weighL3 input[type="number"],
#weighL2 input[data-numpad-ready], #weighL3 input[data-numpad-ready],
#weighL3 select {
  min-height:calc(var(--space-12) + var(--space-3)); width:min(100%, calc(var(--space-12) * 3));
  border:2px solid var(--module-color); border-radius:var(--radius-md);
  background:var(--surface); color:var(--text-primary); font:inherit; padding:var(--space-2);
}
#weighL3 .weigh-solve-choices label { display:flex; align-items:center; gap:var(--space-2); }
#weighL3 .weigh-solve-choices input { width:var(--space-5); height:var(--space-5); accent-color:var(--module-color); }
#weighL2 .weigh-solve-form { display:grid; gap:var(--space-2); }
#weighL2 .weigh-solve-completed, #weighL3 .weigh-solve-completed {
  margin:var(--space-3) 0; padding-left:var(--space-6); font-size:var(--text-body);
  line-height:var(--leading-normal);
}
#weighL2 .weigh-solve-feedback, #weighL3 .weigh-solve-feedback {
  min-height:var(--space-6); color:var(--module-dark);
  font-size:var(--text-body); font-weight:var(--weight-bold);
}
#weighL2 button:focus-visible, #weighL3 button:focus-visible,
#weighL2 input:focus-visible, #weighL3 input:focus-visible,
#weighL3 select:focus-visible { outline:var(--space-1) solid var(--module-color); outline-offset:var(--space-1); }
#weighL2 [hidden], #weighL3 [hidden] { display:none !important; }
/* L4/L5：放法逐行记录、可称重量格与两道撤图原题。 */
#weighL4 .weigh-solve-card, #weighL5 .weigh-solve-card {
  background:var(--surface); border:2px solid var(--module-color);
  border-radius:var(--radius-lg); padding:var(--space-4); margin:var(--space-4) 0;
}
#weighL4 .weigh-solve-card button, #weighL5 .weigh-solve-card button {
  min-height:calc(var(--space-12) + var(--space-3)); border:2px solid var(--module-color);
  border-radius:var(--radius-md); background:var(--surface); color:var(--text-primary);
  padding:var(--space-2) var(--space-3); font-size:var(--text-body);
  font-weight:var(--weight-bold); cursor:pointer;
}
#weighL4 .weigh-solve-primary, #weighL5 .weigh-solve-primary {
  display:block; width:100%; background:var(--module-color); color:var(--text-on-accent);
}
#weighL4 label, #weighL5 label {
  display:block; margin:var(--space-2) 0; font-size:var(--text-body);
  font-weight:var(--weight-bold);
}
#weighL4 input[type="number"], #weighL5 input[type="number"],
#weighL4 input[data-numpad-ready], #weighL5 input[data-numpad-ready],
#weighL4 select, #weighL5 select {
  min-height:calc(var(--space-12) + var(--space-3)); width:min(100%, calc(var(--space-12) * 3));
  border:2px solid var(--module-color); border-radius:var(--radius-md);
  background:var(--surface); color:var(--text-primary); font:inherit; padding:var(--space-2);
}
#weighL5Original select { width:100%; min-width:0; font-size:clamp(14px, 3.8vw, 16px); }
#weighL4 .weigh-solve-feedback, #weighL5 .weigh-solve-feedback {
  min-height:var(--space-6); color:var(--module-dark);
  font-size:var(--text-body); font-weight:var(--weight-bold);
}
#weighL4 .weigh-solve-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-2); margin:var(--space-3) 0; }
#weighL4 .weigh-table-scroll { max-width:100%; overflow-x:auto; }
#weighL4 .weigh-placement-table { width:100%; min-width:calc(var(--space-12) * 7); border-collapse:collapse; }
#weighL4 .weigh-placement-table th, #weighL4 .weigh-placement-table td {
  border-bottom:1px solid var(--surface-dim); padding:var(--space-1); text-align:center;
}
#weighL4 .weigh-placement-table label { margin:0; }
#weighL4 .weigh-placement-table select { min-width:calc(var(--space-12) * 2); }
#weighL4 .weigh-placement-table tr[data-weight] { background:var(--module-light); }
#weighL4 .weigh-weight-grid, #weighL5 .weigh-weight-grid {
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:var(--space-2);
  margin:var(--space-3) 0;
}
#weighL4 .weigh-weight-cell, #weighL5 .weigh-weight-cell {
  min-height:var(--space-10); display:flex; align-items:center; justify-content:center;
  border:2px solid var(--surface-dim); border-radius:var(--radius-sm);
  color:var(--text-secondary); font-size:var(--text-body);
}
#weighL4 .weigh-weight-cell.is-lit, #weighL5 .weigh-weight-cell.is-lit {
  border-color:var(--module-color); background:var(--module-light);
  color:var(--module-dark); font-weight:var(--weight-bold);
}
#weighL5 .weigh-weight-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-2); }
#weighL4 button:focus-visible, #weighL5 button:focus-visible,
#weighL4 input:focus-visible, #weighL5 input:focus-visible,
#weighL4 select:focus-visible, #weighL5 select:focus-visible {
  outline:var(--space-1) solid var(--module-color); outline-offset:var(--space-1);
}
#weighL4 [hidden], #weighL5 [hidden] { display:none !important; }
/* A2 换盘与 L6 三称法继续用本专题的固定三态天平。 */
#weighA2 .weigh-a2-controls, #weighL6 .weigh-l6-weight-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3);
}
#weighA2 .weigh-a2-controls button { grid-column:1 / -1; }
#weighA2 label, #weighL6 label { display:block; margin:var(--space-2) 0;
  font-size:var(--text-body); font-weight:var(--weight-bold); }
#weighA2 select, #weighL6 select, #weighL6 input[type="number"],
#weighL6 input[data-numpad-ready] {
  display:block; min-height:calc(var(--space-12) + var(--space-3));
  width:100%; border:2px solid var(--module-color); border-radius:var(--radius-md);
  background:var(--surface); color:var(--text-primary); font:inherit; padding:var(--space-2);
}
#weighL6 input[type="number"], #weighL6 input[data-numpad-ready] { max-width:calc(var(--space-12) * 3); }
#weighA2 .weigh-a2-controls button, #weighL6 .weigh-solve-card button {
  min-height:calc(var(--space-12) + var(--space-3));
  border:2px solid var(--module-color); border-radius:var(--radius-md);
  background:var(--surface); color:var(--text-primary);
  padding:var(--space-2) var(--space-3); font-size:var(--text-body);
  font-weight:var(--weight-bold); cursor:pointer;
}
#weighL6 .weigh-solve-primary { display:block; width:100%;
  background:var(--module-color); color:var(--text-on-accent); }
#weighL6 .weigh-solve-card { background:var(--surface); border:2px solid var(--module-color);
  border-radius:var(--radius-lg); padding:var(--space-4); margin:var(--space-4) 0; }
#weighL6 .weigh-l6-equation { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2);
  font-size:var(--text-heading); font-weight:var(--weight-bold); }
#weighL6 .weigh-l6-equation select { min-width:calc(var(--space-12) * 2); }
#weighL6 .weigh-pan { font-size:var(--text-body); line-height:var(--leading-normal);
  text-align:center; }
#weighL6 .weigh-solve-known { font-size:var(--text-heading); font-weight:var(--weight-bold);
  color:var(--module-dark); }
#weighL6 .weigh-solve-feedback { min-height:var(--space-6); color:var(--module-dark);
  font-size:var(--text-body); font-weight:var(--weight-bold); }
#weighL6 .weigh-l6-row h4 { margin:var(--space-2) 0; }
#weighA2 button:focus-visible, #weighA2 select:focus-visible,
#weighL6 button:focus-visible, #weighL6 select:focus-visible,
#weighL6 input:focus-visible { outline:var(--space-1) solid var(--module-color);
  outline-offset:var(--space-1); }
#weighL6 [hidden] { display:none !important; }
/* L7：先数两边放法，再从重量格逐块接到题36同题两问。 */
/* 外层是居中的 flex 子项；先给它有界宽度，宽表才能在局部容器内滚动。 */
#weighGameWrap:has(> #weighL7) { width:100%; min-width:0; }
#weighL7 .weigh-solve-card {
  background:var(--surface); border:2px solid var(--module-color);
  border-radius:var(--radius-lg); padding:var(--space-4); margin:var(--space-4) 0;
}
#weighL7 label { display:block; margin:var(--space-2) 0;
  font-size:var(--text-body); font-weight:var(--weight-bold); }
#weighL7 select, #weighL7 input[type="number"], #weighL7 input[data-numpad-ready] {
  display:block; min-height:calc(var(--space-12) + var(--space-3));
  width:100%; border:2px solid var(--module-color); border-radius:var(--radius-md);
  background:var(--surface); color:var(--text-primary); font:inherit; padding:var(--space-2);
}
#weighL7Original select { min-width:0; font-size:clamp(14px, 3.8vw, 16px); }
#weighL7 input[type="number"], #weighL7 input[data-numpad-ready] {
  max-width:calc(var(--space-12) * 3);
}
#weighL7 .weigh-solve-card button, #weighL7Original > button {
  min-height:calc(var(--space-12) + var(--space-3));
  border:2px solid var(--module-color); border-radius:var(--radius-md);
  background:var(--surface); color:var(--text-primary);
  padding:var(--space-2) var(--space-3); font-size:var(--text-body);
  font-weight:var(--weight-bold); cursor:pointer;
}
#weighL7Original > .weigh-solve-primary { display:block; width:100%;
  background:var(--module-color); color:var(--text-on-accent); }
#weighL7 .weigh-solve-feedback { min-height:var(--space-6); color:var(--module-dark);
  font-size:var(--text-body); font-weight:var(--weight-bold); }
#weighL7 .weigh-table-scroll { max-width:100%; overflow-x:auto; }
#weighL7 .weigh-placement-table { width:100%; min-width:calc(var(--space-12) * 9);
  border-collapse:collapse; }
#weighL7 .weigh-placement-table th, #weighL7 .weigh-placement-table td {
  border-bottom:1px solid var(--surface-dim); padding:var(--space-1); text-align:center;
  font-size:var(--text-body);
}
#weighL7 .weigh-placement-table label { margin:0; }
#weighL7 .weigh-placement-table input { min-width:calc(var(--space-12) * 2); }
#weighL7 .weigh-placement-table tr[data-complete="true"] { background:var(--module-light); }
#weighL7 .weigh-weight-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
  gap:var(--space-2); margin:var(--space-3) 0; }
#weighL7 .weigh-weight-cell {
  min-height:var(--space-10); display:flex; align-items:center; justify-content:center;
  border:2px solid var(--surface-dim); border-radius:var(--radius-sm);
  color:var(--text-secondary); font-size:var(--text-body);
}
#weighL7 .weigh-weight-cell.is-lit { border-color:var(--module-color);
  background:var(--module-light); color:var(--module-dark); font-weight:var(--weight-bold); }
#weighL7 .weigh-weight-cell.is-collision { border-color:var(--wrong);
  background:var(--wrong-bg); color:var(--wrong); }
#weighL7 .weigh-weight-cell.is-gap { border-style:dashed; }
#weighL7 .weigh-weight-fields, #weighL7 .weigh-l7-weight-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--space-3);
}
#weighL7 .weigh-pan { font-size:var(--text-body); line-height:var(--leading-normal); text-align:center; }
#weighL7 button:focus-visible, #weighL7 input:focus-visible, #weighL7 select:focus-visible {
  outline:var(--space-1) solid var(--module-color); outline-offset:var(--space-1);
}
#weighL7 [hidden] { display:none !important; }
/* A3：偏轻瓶换份只显示三态，瓶号用于追踪位置而非重量读数。 */
#weighA3 .weigh-a3-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-2); margin:var(--space-3) 0; }
#weighA3 .weigh-a3-controls button { min-height:calc(var(--space-12) + var(--space-3));
  border:2px solid var(--module-color); border-radius:var(--radius-md);
  background:var(--surface); color:var(--text-primary); font-size:var(--text-body);
  font-weight:var(--weight-bold); padding:var(--space-2); cursor:pointer; }
#weighA3 .weigh-scale { min-height:calc(var(--space-12) * 4); }
#weighA3 .weigh-pan { min-height:calc(var(--space-12) + var(--space-5)); }
#weighA3 .weigh-a3-bottle { display:inline-block; border:1px solid var(--module-color);
  border-radius:var(--radius-sm); padding:var(--space-1); font-size:var(--text-caption); }
#weighA3 .weigh-a3-bottle.is-lighter { background:var(--module-light);
  font-weight:var(--weight-bold); }
#weighA3 #weighOffPan { display:flex; flex-wrap:wrap; gap:var(--space-1); }
#weighA3 .weigh-a3-controls button:focus-visible { outline:var(--space-1) solid var(--module-color);
  outline-offset:var(--space-1); }
/* L8：九瓶分组、三回答与撤树后的同题理由槽。 */
#weighGameWrap:has(> #weighL8) { width:100%; min-width:0; }
#weighL8 .weigh-solve-card { background:var(--surface); border:2px solid var(--module-color);
  border-radius:var(--radius-lg); padding:var(--space-4); margin:var(--space-4) 0; }
#weighL8 .weigh-l8-candidates { display:flex; flex-wrap:wrap; align-items:center;
  gap:var(--space-2); margin:var(--space-3) 0; font-weight:var(--weight-bold); }
#weighL8 .weigh-l8-candidate { display:inline-block; border:2px solid var(--module-color);
  border-radius:var(--radius-sm); background:var(--module-light); padding:var(--space-1); }
#weighL8 .weigh-l8-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-2); }
#weighL8 label { display:block; margin:var(--space-2) 0; font-size:var(--text-body);
  font-weight:var(--weight-bold); }
#weighL8 select, #weighL8 input[type="number"], #weighL8 input[data-numpad-ready] {
  display:block; min-height:calc(var(--space-12) + var(--space-3)); width:100%;
  border:2px solid var(--module-color); border-radius:var(--radius-md);
  background:var(--surface); color:var(--text-primary); font:inherit; padding:var(--space-2); }
#weighL8 input[type="number"], #weighL8 input[data-numpad-ready] {
  max-width:calc(var(--space-12) * 3); }
#weighL8Original label:last-of-type input[type="number"],
#weighL8Original label:last-of-type input[data-numpad-ready] {
  display:inline-block; width:calc(var(--space-12) + var(--space-8));
  vertical-align:middle; margin:var(--space-1); }
#weighL8 .weigh-solve-card button { min-height:calc(var(--space-12) + var(--space-3));
  border:2px solid var(--module-color); border-radius:var(--radius-md);
  background:var(--surface); color:var(--text-primary); font-size:var(--text-body);
  font-weight:var(--weight-bold); padding:var(--space-2) var(--space-3);
  margin:var(--space-2) 0; cursor:pointer; }
#weighL8 .weigh-l8-branches { display:grid; gap:var(--space-2); }
#weighL8 .weigh-l8-comparison:not(:empty) { background:var(--module-light);
  border-radius:var(--radius-md); padding:var(--space-2) var(--space-3); margin:var(--space-3) 0; }
#weighL8 .weigh-l8-comparison p { margin:var(--space-1) 0; }
#weighL8 .weigh-l8-branches button { width:100%; text-align:left; }
#weighL8 .weigh-l8-impossible { color:var(--text-secondary); padding:var(--space-2);
  border:1px dashed var(--surface-dim); border-radius:var(--radius-sm); }
#weighL8 .weigh-solve-primary { display:block; width:100%;
  background:var(--module-color); color:var(--text-on-accent); }
#weighL8 .weigh-solve-feedback { min-height:var(--space-6); color:var(--module-dark);
  font-size:var(--text-body); font-weight:var(--weight-bold); }
#weighL8 .weigh-solve-known { font-size:var(--text-heading); font-weight:var(--weight-bold);
  color:var(--module-dark); }
#weighL8 .weigh-pan { font-size:var(--text-body); line-height:var(--leading-normal);
  text-align:center; }
#weighL8 button:focus-visible, #weighL8 select:focus-visible,
#weighL8 input:focus-visible { outline:var(--space-1) solid var(--module-color);
  outline-offset:var(--space-1); }
#weighL8 [hidden] { display:none !important; }
@media (max-width:380px) { .weigh-presets, .weigh-actions { grid-template-columns:1fr; } }
@media (max-width:380px) { #weighL1 .weigh-l1-record-grid { grid-template-columns:1fr; } }
@media (max-width:380px) {
  #weighL2 .weigh-solve-actions, #weighL3 .weigh-solve-actions,
  #weighL3 .weigh-solve-choices { grid-template-columns:1fr; }
}
@media (max-width:380px) {
  #weighA2 .weigh-a2-controls, #weighL6 .weigh-l6-weight-grid { grid-template-columns:1fr; }
}
@media (max-width:380px) {
  #weighL7 .weigh-weight-fields, #weighL7 .weigh-l7-weight-grid { grid-template-columns:1fr; }
}
@media (max-width:380px) {
  #weighA3 .weigh-a3-controls, #weighL8 .weigh-l8-choices { grid-template-columns:1fr; }
}
