/* V3 composition: the model is one calm exhibit, with a mobile control rail. */
.viewer-shell{position:relative;background:#1b333f;min-height:580px;border:1px solid #61768066;border-radius:8px;margin-top:35px}
.viewer-fallback{position:relative;min-height:580px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 35px 30px;text-align:center}
.viewer-fallback svg{display:block;width:min(80%,660px);max-height:370px;flex-shrink:1}
.viewer-fallback>p{font-size:14px;color:#b9cbcf;margin:0 0 16px}
.viewer-fallback #viewer-status{margin-top:18px;max-width:500px;font-size:12px;color:#c0ced1;min-height:1.7em}
.viewer-fallback .button{font-size:13px;color:var(--gold);border-color:#849697}
.viewer-loading .viewer-fallback{position:absolute;inset:0;z-index:5}
.viewer-loading .ev{opacity:0}
.viewer-ready{min-height:0}
.viewer-shell .ev{height:590px;--bg:#1b333f;--ink:#8fa6aa;--gold:#efb52e;--alarm:#d2876d;--text:#edf1ed;--muted:#b4c5ca;background:#1b333f;border-radius:8px}
.viewer-shell .ev__panel{width:350px;padding:34px 0 26px 28px}
.viewer-shell .ev__panel:before{inset:0 -35px 0 0;background:linear-gradient(90deg,#1b333f 65%,#1b333f00)}
.viewer-shell .ev__layers{margin:0 0 23px;gap:16px}
.viewer-shell .ev__layers button{padding-bottom:14px;min-height:60px}
.viewer-shell .ev__layers button span{font-size:13px;letter-spacing:0}
.viewer-shell .ev__layers button b{font-family:var(--sans);font-size:11px;margin-bottom:10px;letter-spacing:.07em}
.viewer-shell .ev__outcome{font-size:14px;line-height:1.8;margin:0 0 22px;color:#c2d0d2;min-height:51px}
.viewer-shell .ev__row{padding:0;margin:0;border-color:#8fa6aa33;min-height:47px}
.viewer-shell .ev__row button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 8px 12px 1px;background:none;border:0;color:inherit;min-height:46px;font-family:inherit}
.viewer-shell .ev__row .ev__zh{font-size:14px;letter-spacing:0}
.viewer-shell .ev__row.on .ev__dot{box-shadow:none}
.viewer-shell .ev__note .ev__row{padding:12px 0}
.viewer-shell .ev__note .ev__hold{font-size:13px;margin:14px 0 0}
.viewer-shell .ev__note .ev__hold--dim{color:#9db1b9;font-size:12px}
.viewer-shell .ev__sim{font-size:13px;color:var(--gold);padding-block:13px}
.viewer-shell .ev__sim:before{background:#d2876d}
.viewer-shell .ev__stages li{margin:0;font-size:11px}
.viewer-shell .ev__hint{font-size:11px;margin-top:auto;padding-top:18px;color:#9db2b9}
.viewer-shell .ev__motion-note{font-size:12px;line-height:1.7;color:#b4c5ca;margin:12px 0}.viewer-reset{align-self:start;background:none;border:0;border-bottom:1px solid #98aaa866;padding:6px 0;color:#c5d0d1;font:12px/1.6 var(--sans);margin-top:9px}
.viewer-reset:hover{color:var(--gold)}
.viewer-shell .ev__zoom{opacity:1;gap:8px;bottom:25px;right:25px}
.viewer-shell .ev__zoom button{height:38px;width:38px;color:#c8d6d7;border-color:#7f979e88}
.viewer-shell .ev__core .ev__txt{margin-bottom:34px;margin-left:350px}
.viewer-shell .ev__core .ev__txt p{font-size:11px}
@media(min-width:651px) and (max-width:900px){.viewer-shell .ev__panel{position:absolute;width:280px;bottom:0;padding:28px 0 24px 22px;background:none}.viewer-shell .ev__panel:before{display:block}.viewer-shell .ev__layers{gap:12px}.viewer-shell .ev__layers button span{font-size:12px}.viewer-shell .ev__row .ev__zh{font-size:13px}.viewer-shell .ev__core .ev__txt{margin-left:280px}}
@media(max-width:650px){.viewer-shell{min-height:0;margin-top:25px}.viewer-fallback{min-height:400px;padding:18px 20px 26px}.viewer-fallback svg{width:100%;max-height:235px}.viewer-fallback>p{font-size:13px}.viewer-shell .ev{height:350px;margin-bottom:480px;overflow:visible;border-radius:8px 8px 0 0}.viewer-shell .ev__gl{border-radius:8px 8px 0 0;touch-action:pan-y}.viewer-shell .ev__panel{position:absolute;top:350px;left:0;bottom:auto;width:100%;height:480px;padding:25px 20px 22px;background:#1b333f;border-top:1px solid #8fa6aa33;border-radius:0 0 8px 8px}.viewer-shell .ev__panel:before{display:none}.viewer-shell .ev__layers{gap:15px;margin-bottom:17px}.viewer-shell .ev__layers button span{font-size:12px}.viewer-shell .ev__outcome{font-size:13px;min-height:48px;margin-bottom:16px}.viewer-shell .ev__row button{min-height:44px;padding-block:11px}.viewer-shell .ev__row .ev__zh{font-size:13px}.viewer-shell .ev__sim{font-size:13px}.viewer-shell .ev__hint{font-size:11px}.viewer-shell .ev__zoom{bottom:12px;right:12px}.viewer-shell .ev__zoom button{width:34px;height:34px}.viewer-shell .ev__core .ev__txt{margin:0 0 12px;max-width:230px}.viewer-shell .ev__core .ev__txt p{font-size:10px}.viewer-loading .viewer-fallback{height:350px;min-height:350px}.viewer-loading .ev{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.viewer-shell *{transition:none!important;animation:none!important}}
