:root{--ink:#1b353b;--muted:#687b7c;--line:rgba(32,57,61,.15);--glass:rgba(249,250,247,.88);--accent:#376b6a;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:focus-visible,a:focus-visible,#canvas-host:focus-visible{outline:2px solid #326b70;outline-offset:5px}button{touch-action:manipulation}#viewer{width:100%;height:100%;height:100svh;min-height:400px;position:relative;isolation:isolate;background:#e9eeed}#canvas-host{position:absolute;inset:0;outline:none;touch-action:none}canvas{display:block;width:100%;height:100%;cursor:grab}canvas:active{cursor:grabbing}.masthead{position:absolute;inset:30px 38px auto;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.masthead>*{pointer-events:auto}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink)}.brand>svg{width:32px;height:37px;fill:currentColor}.brand>span{font-family:Georgia,serif;font-size:27px;letter-spacing:-1px}.brand b{font-weight:400}.brand small{display:block;font-family:Arial,sans-serif;letter-spacing:2px;font-size:8px;font-weight:600;margin-top:6px}.header-right{display:flex;align-items:center;gap:22px}.live-label{font-size:10px;letter-spacing:1.8px;font-weight:600;display:flex;align-items:center;gap:7px}.live-label i{width:5px;height:5px;border-radius:50%;background:#3c8380}.round{width:31px;height:31px;border:1px solid var(--line);border-radius:50%;font:italic 17px Georgia;background:rgba(255,255,255,.3)}.intro{position:absolute;left:5%;top:22%;pointer-events:none}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.6px}.intro h1{font:normal clamp(34px,4.2vw,65px)/1.05 Georgia,'Times New Roman',serif;letter-spacing:-2.5px;margin:21px 0;color:#1e373d}.intro p{font-size:13px;line-height:1.8;color:#6b7c7f}.specs{margin-top:42px;display:grid;gap:23px}.specs div>span{display:block;font-size:8px;letter-spacing:1.4px;color:#6b7c7f;margin-bottom:8px}.specs strong{font:normal 23px Georgia;letter-spacing:-.4px}.specs em{font:normal 12px Arial;color:#77888a}.specs .rig-label{font:normal 13px Arial;letter-spacing:0}.scene-controls{position:absolute;right:38px;top:110px;display:grid;gap:18px;justify-items:end}.segmented{display:flex;background:rgba(255,255,255,.45);border:1px solid rgba(70,90,92,.15);padding:4px;border-radius:7px;box-shadow:0 4px 10px #203c3f03}.segmented button{font-size:11px;padding:10px 16px;border-radius:4px;color:#6b7c7f}.segmented .selected{background:#fafbf8;box-shadow:0 1px 5px #21363c12;color:var(--ink)}.small-toggles{display:flex;gap:21px}.toggle{font-size:11px;display:flex;align-items:center;gap:7px;padding:4px 0}.switch{height:14px;width:25px;border-radius:9px;background:#bcc8c6;position:relative;transition:.2s}.switch:after{content:'';width:10px;height:10px;position:absolute;left:2px;top:2px;background:white;border-radius:50%;transition:.2s}.active .switch{background:#356d70}.active .switch:after{transform:translateX(11px)}.side-tools{position:absolute;right:38px;top:44%;padding:5px;background:var(--glass);border:1px solid #fff9;border-radius:8px;box-shadow:0 6px 25px #1b353b0a;display:grid;gap:1px;backdrop-filter:blur(12px)}.tool{display:grid;place-items:center;width:36px;height:36px;border-radius:4px}.tool:hover{background:#e3eae7}.tool svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.divider{height:1px;background:var(--line);margin:4px 8px}.bottom{position:absolute;bottom:25px;left:38px;right:38px;display:flex;flex-direction:column;align-items:center;gap:15px;pointer-events:none}.bottom button,.view-bar{pointer-events:auto}.interaction-hint{display:flex;align-items:center;gap:8px;font-size:10px;color:#667d7f;letter-spacing:.2px}.interaction-hint svg{width:16px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3}.interaction-hint i{font-style:normal;margin:0 7px;opacity:.5}.view-bar{display:flex;align-items:center;gap:3px;padding:6px;border-radius:9px;background:var(--glass);border:1px solid #fff;box-shadow:0 7px 30px #253d3c0c;backdrop-filter:blur(16px)}.view-bar button{padding:12px 19px;font-size:11px;border-radius:5px;transition:background .2s}.view-bar button:hover{background:#e5ece8}.view-bar button.selected{background:var(--ink);color:#fff}.view-bar>span{height:22px;width:1px;background:var(--line);margin:0 6px}#rotate{display:flex;align-items:center;gap:7px}#rotate svg{height:13px;width:13px;fill:none;stroke:currentColor;stroke-width:1.3}#rotate label{pointer-events:none}#rotate.active{background:#dce8e1}.model-caption{position:absolute;bottom:12px;left:0;font-size:8px;letter-spacing:1.3px;color:#748588}.model-caption span{margin:0 9px;opacity:.5}#toast{position:absolute;bottom:139px;left:50%;transform:translateX(-50%) translateY(10px);opacity:0;background:#203b40e8;color:white;font-size:12px;padding:12px 19px;border-radius:7px;pointer-events:none;transition:.2s;white-space:nowrap}#toast.show{opacity:1;transform:translateX(-50%)}#loading{position:absolute;inset:0;z-index:20;background:#e9eeed;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;transition:opacity .6s}.loading-boat{width:42px;fill:#24454d;margin-bottom:15px}#loading strong{font:normal 32px Georgia}#loading>span{font-size:12px;color:var(--muted)}.load-track{width:130px;height:2px;background:#cad7d2;margin-top:15px;overflow:hidden}.load-track i{display:block;width:50%;height:100%;background:#527f7f;animation:load 1.5s infinite ease-in-out}@keyframes load{0%{transform:translateX(-100%)}100%{transform:translateX(300%)}}#error{position:absolute;inset:0;z-index:30;background:#e9eeed;text-align:center;padding:20vh max(20px,calc((100% - 450px)/2))}#error[hidden]{display:none}#error h2{font:normal 32px Georgia}#error p{font-size:14px;line-height:1.7}#error button{padding:12px 24px;background:#203b40;color:white;border-radius:5px}dialog{border:1px solid #fff;border-radius:14px;padding:40px;max-width:490px;width:calc(100% - 32px);color:var(--ink);background:#f7f8f3;box-shadow:0 20px 100px #0b273a38}dialog::backdrop{background:#17333a50;backdrop-filter:blur(8px)}.dialog-close{position:absolute;right:16px;top:12px;font-size:27px;color:#69817f}dialog h2{font:normal 48px Georgia;margin:15px 0}dialog p{font-size:13px;line-height:1.8;color:#607371}dialog dl{margin:23px 0;font-size:12px}dialog dl>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0}dialog dd{margin:0}dialog .fineprint{font-size:11px}dialog a{font-size:12px;color:#2a6769}#hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;display:flex;gap:8px;align-items:center;transform:translate(-7px,-50%);white-space:nowrap;background:#f8faf4e8;border:1px solid #fff9;padding:7px 11px 7px 7px;border-radius:20px;font-size:10px;box-shadow:0 4px 16px #15394112;pointer-events:auto}.hotspot:before{content:'+';width:16px;height:16px;background:#264c52;color:#fff;display:grid;place-items:center;border-radius:50%;font-size:13px}.hotspot:hover{background:#fff}body.embed .intro{display:none}body.embed .masthead{top:20px;left:24px;right:24px}body.embed .brand small{display:none}body.embed .scene-controls{top:78px;right:24px}body.embed .model-caption{display:none}body.embed .side-tools{right:24px}body.embed .bottom{bottom:18px}body.embed .header-right .live-label{display:none}
@media(max-width:1100px){.model-caption{display:none}.intro{left:38px}.intro h1{font-size:44px}.view-bar button{padding:12px 15px}.specs{gap:18px;margin-top:28px}}
@media(max-width:760px){.masthead{inset:20px 20px auto}.brand>span{font-size:24px}.brand>svg{width:27px}.brand small{font-size:6px;letter-spacing:1.5px}.header-right{gap:13px}.live-label{font-size:8px}.intro{top:100px;left:23px}.intro .eyebrow{font-size:7px;letter-spacing:.8px}.intro h1{font-size:32px;letter-spacing:-1px;margin:12px 0}.intro p,.specs{display:none}.scene-controls{top:104px;right:20px}.segmented button{font-size:10px;padding:8px 11px}.small-toggles{gap:17px}.toggle{font-size:10px}.side-tools{right:16px;top:auto;bottom:146px}.tool{height:32px;width:30px}#snapshot{display:none}.bottom{bottom:20px;left:12px;right:12px;gap:14px}.view-bar{width:100%;justify-content:center;padding:5px;gap:0}.view-bar button{padding:12px 10px;font-size:10px}#rotate{padding:10px}#rotate label{display:none}.view-bar>span{margin:0 4px}.interaction-hint{font-size:9px}.hotspot{font-size:9px;padding:5px 8px 5px 5px}.hotspot:before{width:13px;height:13px}.intro{pointer-events:none}.model-caption{display:none}body.embed .scene-controls{top:80px}.view-bar button{flex-shrink:0}}
@media(max-height:610px) and (min-width:761px){.intro{top:24%}.intro h1{font-size:38px}.intro p{display:none}.specs{display:flex;gap:24px;margin-top:20px}.specs div:last-child{display:none}.side-tools{top:30%}.masthead{top:20px}.scene-controls{top:83px}.bottom{bottom:14px;gap:8px}.tool{height:30px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:1101px){.interaction-hint{position:absolute;left:0;bottom:35px}}
#error{padding:0;background:#d9e0dc;z-index:1}#error>img{width:100%;height:100%;object-fit:contain}#error .fallback-message{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);width:min(90%,480px);padding:14px 20px;background:#f9faf4ed;border:1px solid #fff;border-radius:9px;box-shadow:0 7px 30px #253d3c0c}#error strong{font:normal 18px Georgia}#error p{font-size:11px;line-height:1.5;margin:6px 0 10px}#error button{padding:7px 14px;font-size:11px}.fallback .intro,.fallback .scene-controls,.fallback .side-tools,.fallback .bottom,.fallback #hotspots{display:none}.fallback .masthead{z-index:2}.fallback dialog{z-index:30}
