*{box-sizing:border-box}body{margin:0;background:#07151f;color:#f5f3ee;font:14px/1.5 Arial,sans-serif}button,a,.file-button{font:inherit}a{color:inherit}button,.file-button{cursor:pointer;color:#eaf0f3;background:#102b3b;border:1px solid #416074;padding:10px 14px;white-space:nowrap}button[aria-pressed=true]{background:#ef4a23;color:#07151f;border-color:#ef4a23}button:disabled{opacity:.45;cursor:wait}:focus-visible{outline:3px solid #ff895c;outline-offset:3px}.viewer{max-width:1800px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;gap:20px}header span{font-size:10px;letter-spacing:.14em;color:#ff916f}h1{font-size:26px;line-height:1.2;letter-spacing:-.04em;margin:6px 0 0}header a{font-size:12px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;padding:0 24px 15px}.toolbar i{flex:1}#viewport{position:relative;background:#dce3e7;height:clamp(340px,58vh,680px);min-height:320px}canvas{display:block;width:100%;height:100%;touch-action:none}.hint{position:absolute;bottom:14px;left:16px;right:16px;width:fit-content;background:#07151fcc;padding:7px 12px;color:#fff;font-size:12px;pointer-events:none}#loading{position:absolute;z-index:3;left:20px;top:20px;background:#07151fee;padding:16px;max-width:calc(100% - 40px)}#loading[hidden]{display:none}footer{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:18px 24px}footer strong{font-size:16px}footer p{color:#b9cbd6;margin:5px 0 0}.file-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.file-actions a{padding:10px}.note{padding:0 24px 18px;color:#b9cbd6;font-size:12px;margin:0}@media(max-width:650px){header{padding:16px}h1{font-size:23px}.toolbar{padding:0 16px 14px;gap:6px}.toolbar button{padding:9px 11px;font-size:12px}.toolbar i{display:none}footer{padding:16px;display:block}.file-actions{margin-top:16px}.file-actions>*{font-size:12px}.note{padding:0 16px 18px}#viewport{height:360px}}

#model-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}#model-poster[hidden]{display:none}#viewport canvas{position:relative}

#viewport canvas[hidden]{display:none}
