/* IK 控制条与左栏结果面板 */ /* ===================== IK 控制条(两行:目标+姿态 / 模式+状态) ===================== */ #ikbar{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;padding:5px 10px; background:linear-gradient(180deg,#1c212b,#161922);border-bottom:1px solid var(--line)} #ikbar .ikrow{display:flex;align-items:center;gap:6px;min-height:26px; overflow-x:auto;overflow-y:hidden;white-space:nowrap} #ikbar .ik-t{color:var(--ac);font-weight:700;letter-spacing:.8px;flex:none;font-size:11.5px; border:1px solid var(--ac);border-radius:4px;padding:1px 6px} #ikbar .lb{color:var(--dim);flex:none;font-size:12px} #ikbar input[type=number]{width:68px;background:#0d1015;color:var(--tx);border:1px solid var(--line); border-radius:4px;padding:3px 5px;font:inherit;font-variant-numeric:tabular-nums;flex:none} #ikbar input[type=number]:focus{outline:none;border-color:var(--ac)} #ikbar .vsep{width:1px;height:20px;background:var(--line);flex:none;margin:0 3px} #ikbar .st{color:var(--dim);flex:none;font-size:11.5px;font-variant-numeric:tabular-nums} #ikbar .sep{color:#3b4453;margin:0 5px} #ikbar .hint{color:var(--dim);font-size:11px;flex:none} #ikbar .good{color:var(--ok)} #ikbar .bad{color:#ff6b6b} #ikbar .hi{color:var(--warn)} #ikSolve{background:#1d3f74;border-color:var(--ac);color:#fff;font-weight:600} #ikSolve:hover{background:#24508f} #ikPose.on{background:#3a2b63;border-color:#a06bff;color:#fff;font-weight:600} #ikPoseBox{display:none;align-items:center;gap:6px} #ikPoseBox input[type=number]{width:54px} #ikMixBox{display:none;align-items:center;gap:6px;flex:none} #ikMixBox input[type=range]{width:118px;flex:none;accent-color:var(--ac);cursor:pointer} #ikMixBox .st{min-width:56px} /* ===================== IK 结果面板(左栏顶部) ===================== */ #ikpanel{margin:0 0 10px;border:1px solid var(--line);border-radius:6px;background:#141821;padding:7px 8px} /* 徽标必须可换行:CJK 的最小内容宽度=一个字,若徽标 nowrap+flex:none, 长状态文案会把标题压成竖排一字一行(实测 h3 缩到 12px) */ #ikpanel .ikh{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin-bottom:5px} #ikpanel .ikh h3{margin:0;font-size:12px;color:var(--ac);letter-spacing:.3px; min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .badge{margin-left:auto;font-size:10.5px;padding:1px 7px;border-radius:9px;border:1px solid; flex:0 1 auto;max-width:100%;text-align:center;line-height:1.35;text-wrap:balance} .badge.wait{color:var(--dim);border-color:var(--line)} .badge.goodb{color:#0c1a12;background:var(--ok);border-color:var(--ok)} .badge.warnb{color:#241a06;background:var(--warn);border-color:var(--warn)} .badge.badb{color:#2a0a0a;background:#ff6b6b;border-color:#ff6b6b} #ikTab{font-size:11px} #ikTab td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap} #ikTab td.dim{color:var(--dim);white-space:nowrap} #ikpanel .kv{margin-top:6px} #ikpanel .kv i{white-space:nowrap} #ikpanel .kv span,#ikpanel .kv b{overflow-wrap:anywhere;word-break:break-word;min-width:0} #ikpanel .good{color:var(--ok)} #ikpanel .bad{color:#ff6b6b} #ikpanel .kv .hi{color:var(--warn);font-variant-numeric:tabular-nums} #ikAltN{font-size:10.5px;color:var(--dim);margin:7px 0 3px;line-height:1.45;white-space:normal} .altrow{display:flex;align-items:center;gap:5px;padding:2px 4px;border-radius:4px;cursor:pointer; font-size:11px;font-variant-numeric:tabular-nums;color:var(--dim)} .altrow:hover{background:rgba(76,154,255,.16)} .altrow .ai{color:#5b6478;width:10px;flex:none;text-align:right} .altrow b{color:var(--ac);width:54px;flex:none;text-align:right;font-weight:500} .altrow .aq{overflow:hidden;text-overflow:ellipsis;white-space:nowrap} #ikpanel details{margin-top:8px;border-top:1px solid var(--line);padding-top:6px} #ikpanel details>summary{cursor:pointer;color:var(--ac);font-size:11.5px;outline:none} #ikpanel details .doc{margin-top:5px;font-size:11px;color:var(--dim);line-height:1.7;white-space:normal; -webkit-user-select:text;user-select:text} #ikpanel details .doc b{color:var(--tx)} #ikpanel details .doc code{color:var(--warn);font-family:Consolas,"Courier New",monospace;font-size:10.5px} #ikpanel details .doc ol{margin:3px 0 3px 16px;padding:0} #ikpanel details .doc li{margin:3px 0} #ikpanel details .doc hr{border:none;border-top:1px solid var(--line);margin:6px 0} #ikpanel .src{font-size:10.5px;color:var(--dim);margin-top:5px;white-space:normal;line-height:1.5} #ikChkBox{margin-top:7px} #ikChkBox summary{margin-bottom:2px}