*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:#193a56;color:#f2eee7;font-family:Arial,sans-serif}#viewer{position:relative;width:100%;height:100svh;min-height:360px;overflow:hidden;background:#193a56}#viewer:not([data-state]),#viewer[data-state=poster]{background:#032840}#scene{position:absolute;inset:0;touch-action:pan-y}canvas{display:block;width:100%;height:100%}#scene canvas{touch-action:pan-y!important}#poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}button,select{font:inherit;color:inherit;background:#102c43db;border:1px solid #ffffff48;cursor:pointer;min-height:42px;border-radius:22px}button:hover,select:hover{background:#31536e}button:disabled,select:disabled{opacity:.5;cursor:wait}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #e2c496;outline-offset:4px}[hidden]{display:none!important}#choose{position:absolute;left:22px;top:22px;z-index:4}select{padding:8px 34px 8px 17px}select option{background:#193a56}#start{position:absolute;bottom:10%;left:50%;transform:translateX(-50%);padding:12px 24px;background:#e1c69d;color:#142a3b;border:0;box-shadow:0 7px 28px #0003}#start:hover{background:#eedcc2}#loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:13px;padding:12px 20px;border:1px solid #ffffff35;border-radius:30px;background:#102c43ed}#tools{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100% - 24px);padding:10px 13px 4px;border-radius:26px;background:#102c43a6;border:1px solid #ffffff22;backdrop-filter:blur(12px)}.row{display:flex;gap:7px;align-items:center}#operate{padding:8px 22px;min-width:100px;border-color:#e2c49678}.icon{width:42px;font-size:22px;line-height:1;padding:0}input{accent-color:#ddc196;width:100%;cursor:pointer;height:30px}.range{display:block;padding:1px 9px}#status:not(.sr-only){position:absolute;top:15%;left:15%;right:15%;padding:15px;background:#102c43e8;border-radius:10px;text-align:center;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:420px){#tools{padding:8px 9px 2px}.row{gap:5px}.icon{width:35px;min-height:38px;font-size:20px}#operate{min-width:76px;padding:8px 13px}#choose{top:14px;left:14px}}
