.year-physics:has(.mechanics-lab){background:#f8fbfc;border-color:#d7e6ec}
.year-physics:has(.mechanics-lab) .year-lab-controls>label{display:none}
.mechanics-lab{color:#36566b;font-size:16px;min-width:0}
.mechanics-art{position:relative;overflow:hidden;border-radius:18px;background:#ecf3f5;border:1px solid #d9e8ed}
.mechanics-art img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover;object-position:center}
.mechanics-art-tag{position:absolute;bottom:12px;left:12px;right:12px;width:fit-content;max-width:calc(100% - 24px);box-sizing:border-box;padding:10px 14px;border:1px solid #ffffffb8;border-radius:14px;background:#fffffff0;backdrop-filter:blur(12px);color:#36536b;font-size:13px;font-weight:750;line-height:1.5;box-shadow:0 4px 20px #263f5514}
.lesson-focus .mechanics-art-note{font-size:12px;line-height:1.65;color:#6b7f8d;margin:10px 2px 18px}
.mechanics-controls{border:1px solid #d9e6eb;background:#fff;padding:20px;border-radius:18px;margin:18px 0}
.mechanics-controls label{display:block;font-size:16px;font-weight:750;line-height:1.55;text-align:center;color:#2e5368}
.mechanics-adjuster{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:12px;align-items:center;max-width:330px;margin:14px auto 2px}
.mechanics-adjuster .quiet{height:48px;width:48px;padding:0;border:1px solid #bbd7db;border-radius:15px;background:#eaf6f3;color:#276e75;font-size:28px;line-height:1;transition:background .16s ease,transform .16s ease}
.mechanics-adjuster .quiet:hover{background:#d9eee9;transform:translateY(-1px)}
.mechanics-adjuster .quiet:active{transform:translateY(1px)}
.mechanics-adjuster .quiet[aria-disabled=true]{opacity:.45;cursor:default;transform:none}
.mechanics-adjuster output{font-size:27px;font-weight:800;color:#255f75;font-variant-numeric:tabular-nums;text-align:center;overflow-wrap:anywhere}
.mechanics-controls input[type=range]{display:block;width:100%;height:44px;accent-color:#318e96;cursor:pointer;touch-action:pan-y;margin:8px 0}
.mechanics-controls :is(button,input):focus-visible{outline:3px solid #8570b8;outline-offset:4px}
.lesson-focus .mechanics-controls p{font-size:13px;line-height:1.7;color:#5d7585;margin:8px 0 0;text-align:center}
.mechanics-result{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;padding:16px 20px;border-radius:16px;background:linear-gradient(125deg,#e3f3ee,#e7eef8);border:1px solid #d5e8e8;margin:16px 0}
.mechanics-result>span{font-size:13px;color:#527985}
.mechanics-result strong{font-size:24px;color:#275d73;font-variant-numeric:tabular-nums;line-height:1.35}
.mechanics-model{padding:14px 0 0;background:#fff;border:1px solid #dce8ed;border-radius:18px;overflow:hidden}
.year-scene .mechanics-model svg{display:block;width:100%;height:auto;max-height:none;font-family:inherit;font-size:20px;fill:#546f81}
.mechanics-diagram-label{font-size:20px;font-weight:650;fill:#476879}
.mechanics-diagram-value{font-size:26px;font-weight:800;fill:#2c5b71;font-variant-numeric:tabular-nums}
.mechanics-time-digit{fill:#254e63;font-size:18px}
.lesson-focus .mechanics-model-note{padding:14px 18px;margin:0;border-top:1px solid #edf2f5;background:#f9fcfd;color:#5d7483;font-size:13px;line-height:1.75}
.mechanics-still .mechanics-art img{max-height:240px}
.mechanics-still .mechanics-result{padding:12px 16px}
.mechanics-still .mechanics-result strong{font-size:22px}
@media(max-width:600px){
 .mechanics-art{border-radius:14px}
 .mechanics-art img{max-height:none;object-fit:contain}
 .mechanics-art-tag{font-size:11px;padding:8px 10px;bottom:8px;left:8px;max-width:calc(100% - 16px)}
 .mechanics-controls{padding:16px 12px}
 .mechanics-controls label{font-size:15px}
 .mechanics-adjuster output{font-size:24px}
 .mechanics-result{padding:13px 14px;gap:7px}
 .mechanics-result strong{font-size:22px}
 .year-scene .mechanics-model svg{font-size:25px}
 .mechanics-diagram-label{font-size:23px}
 .mechanics-diagram-value{font-size:28px}
 .lesson-focus .mechanics-model-note{font-size:12px;padding:12px}
}
@media(prefers-reduced-motion:reduce){.mechanics-lab *{animation:none!important;transition:none!important}}
