.mechanics-workspace{max-width:1900px;padding:12px 18px 10px;gap:10px;font-size:16px}
.mechanics-workspace .workspace-top h1{font-size:20px;line-height:1.25}
.mechanics-workspace .work-label{font-size:13px;margin-top:5px}
.mechanics-workspace .workspace-top .btn{font-size:14px;min-height:42px}
.mechanics-workspace .toolbar{flex-shrink:0;min-height:46px}
.mechanics-workspace .tool-btn{min-width:46px;min-height:44px;width:46px;height:44px;font-size:22px;flex-shrink:0}
.time-control{display:flex;align-items:center;gap:9px;font-size:16px;color:#354961;font-weight:650}
.time-control select{font:inherit;color:#23384f;background:#fff;border:1.5px solid #526681;border-radius:9px;min-height:44px;min-width:72px;padding:6px 10px}
.mechanics-workspace .bench-wrap{background:#e9edf0;border-radius:16px;border:1px solid #b9c5d5;min-height:170px}
.bench-overlay{position:absolute;top:10px;left:12px;right:12px;display:flex;justify-content:space-between;gap:10px;pointer-events:none;z-index:1;font-size:13px;color:#435269}
.bench-overlay span{padding:6px 9px;border-radius:7px;background:#ffffffde;box-shadow:0 1px 4px #1a243211}
.camera-tip{position:absolute;bottom:12px;right:12px;z-index:1;pointer-events:none;font-size:12px;color:#435269;background:#ffffffde;border-radius:7px;padding:6px 9px}
.bench-tools{position:absolute;top:54px;left:14px;display:flex;gap:10px;z-index:3}
.bench-tool{display:flex;align-items:center;gap:7px;min-height:54px;padding:7px 12px;border:1.5px solid #405674;border-radius:12px;color:#29405a;background:#fffffff2;box-shadow:0 3px 8px #1a24321a;font-size:15px;font-weight:650}
.bench-tool svg{width:35px;height:35px}
.bench-tool.active{background:#dce9ff;border-color:#3577ed}
.condition-tools{position:absolute;top:54px;right:14px;z-index:5;display:flex;flex-direction:column;max-height:calc(100% - 68px);max-width:calc(100% - 28px)}
.condition-tools.is-open{width:min(390px,calc(100% - 28px));border:1.5px solid #405674;border-radius:12px;background:#fffffff5;box-shadow:0 5px 18px #1a243229;overflow:hidden}
.condition-tools .condition-toggle{flex-shrink:0;justify-content:flex-start;text-align:left}
.condition-tools.is-open .condition-toggle{border:0;border-radius:0;box-shadow:none;background:#e8f0ff;border-bottom:1px solid #b9cce5}
.condition-chevron{margin-left:auto;font-size:22px;line-height:1}
.condition-copy{min-height:0;max-height:min(410px,52dvh);overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:14px 17px;color:#2c4059;font-size:15px;line-height:1.55;scrollbar-width:thin;user-select:text}
.condition-copy[hidden]{display:none}
.condition-copy h2{font-size:17px;line-height:1.35;margin:0 0 12px}
.condition-copy p{margin:0 0 12px}
.condition-copy .condition-number{font-size:12px;color:#566e8b;margin-bottom:5px}
.condition-copy .condition-uncertainty{padding:9px 10px;border-radius:7px;background:#edf3fc;font-size:14px}
.condition-copy ol{padding-left:20px;margin:0}
.condition-copy li{margin:0 0 7px}
.mechanics-bench{touch-action:none;overflow:hidden;outline:none}
.mechanics-bench [data-object]{cursor:grab}
.mechanics-bench [data-port]{cursor:crosshair}
.mechanics-bench [data-action]{cursor:pointer}
.mechanics-bench [data-object]:focus-visible,.mechanics-bench [data-port]:focus-visible{outline:3px solid #3577ed}
.action-bubbles{position:absolute;z-index:4;display:none;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;max-width:min(480px,85%);transform:translate(-50%,-100%);padding:7px;border-radius:24px;background:#f6f9ffe8;box-shadow:0 4px 18px #243a5029;touch-action:manipulation}
.action-bubbles.is-open{display:flex}
.bubble{min-height:43px;border:1px solid #7791b1;border-radius:22px;background:#fff;padding:9px 14px;color:#29405a;font-size:14px;font-weight:600;box-shadow:0 2px 4px #243a5012;white-space:nowrap}
.bubble:hover{background:#e6efff;border-color:#3577ed}
.mechanics-workspace .workspace-note{flex-shrink:0;font-size:12px}
.mechanics-workspace .spacer{min-width:0}
.mechanics-bench text{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;text-rendering:geometricPrecision}
.info-dialog p,.info-dialog li{font-size:16px}
.info-dialog h2{font-size:28px}
#toast{font-size:15px}
@media(max-width:1050px){.mechanics-workspace{padding-left:10px;padding-right:10px}.mechanics-workspace .workspace-top h1{font-size:17px}.mechanics-workspace .workspace-top{gap:9px}.camera-tip{display:none}}
@media(max-height:600px) and (orientation:landscape){
 .mechanics-workspace{padding:5px 8px;gap:6px}
 .mechanics-workspace .workspace-top{min-height:36px;gap:7px}
 .mechanics-workspace .workspace-top h1{font-size:15px;max-width:45vw}
 .mechanics-workspace .work-label{font-size:11px;margin-top:3px}
 .mechanics-workspace .workspace-top .btn{min-height:36px;padding:6px 9px;font-size:12px}
 .mechanics-workspace .toolbar{min-height:38px;gap:6px}
 .mechanics-workspace .tool-btn{min-height:38px;min-width:40px;height:38px;width:40px;font-size:20px}
 .time-control{font-size:14px}.time-control select{min-height:38px;min-width:65px}
 .bench-overlay{top:6px;left:8px;font-size:11px}.bench-overlay span{padding:5px 7px}
 .bench-tools{top:42px;left:9px;gap:7px}.bench-tool{min-height:44px;padding:5px 9px;font-size:13px}.bench-tool svg{width:29px;height:29px}
 .condition-tools{top:42px;right:9px;max-height:calc(100% - 50px)}
 .condition-copy{font-size:14px;padding:10px 12px}.condition-copy h2{font-size:16px}
 .mechanics-workspace .bench-wrap{min-height:110px}
 .mechanics-workspace .workspace-note{font-size:10px}
 .bubble{min-height:38px;font-size:12px;padding:7px 11px}
}
@media(pointer:coarse){.bubble{min-height:46px}.mechanics-bench [data-port]{stroke-width:2}}

.bench-tools{flex-direction:column;align-items:stretch}.condition-tools{top:0;max-height:100%}.condition-tools .condition-toggle{border-top-left-radius:0;border-top-right-radius:0}@media(max-height:600px) and (orientation:landscape){.condition-tools{top:0;max-height:100%}}
