.mesh-viewer{position:relative;width:100%;aspect-ratio:4/3;min-height:320px;max-height:72vh;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-control);background:#eef1ee;touch-action:none}.mesh-viewer.is-picking canvas{cursor:crosshair}.mesh-stage-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.mesh-clear,.mesh-stage-foot .button{display:inline-flex;align-items:center;gap:6px;min-height:40px}.mesh-points{display:grid;gap:6px;margin:0;padding:0;list-style:none}.mesh-points li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-left:4px solid var(--mat);border-radius:var(--radius-control);background:var(--surface)}.mesh-points li.is-warn{border-left-color:var(--signal);background:var(--signal-soft)}.mesh-points li>div{display:grid;gap:2px;min-width:0;font-size:14px}.mesh-points li span{display:inline-flex;align-items:flex-start;gap:4px;color:var(--ink-2);line-height:1.4}.mesh-points li span svg{flex-shrink:0;margin-top:2px}.mesh-points .button{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;padding:0}.mesh-actions{display:flex;flex-wrap:wrap;gap:8px}.mesh-actions .button{display:inline-flex;flex:1 1 120px;align-items:center;justify-content:center;gap:6px;min-height:44px}.mesh-cut-report{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:14px}.mesh-cut-report span{color:var(--ink-2)}.mesh-cut-warning{display:inline-flex;align-items:flex-start;gap:4px}.mesh-cut-warning svg{flex-shrink:0;margin-top:2px}.mesh-explode{max-width:260px}.p3d-card>.button{justify-self:start;min-height:40px}