:root{color:#fff;font-synthesis:none;text-rendering:optimizelegibility;--glass:#0c0c0cbd;--line:#ffffff38;--quiet:#ffffffb8;--focus:#fff;background:#000;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app,.ar-shell{width:100%;min-width:320px;height:100%;min-height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;background:#000}button,input{font:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}.ar-shell{isolation:isolate;background:#000;position:fixed;inset:0}.ar-camera{opacity:0;touch-action:none;width:100%;height:100%;transition:opacity .12s linear;display:block;position:absolute;inset:0}.ar-header{z-index:6;padding:calc(.75rem + env(safe-area-inset-top)) calc(.75rem + env(safe-area-inset-right)) 0 calc(.75rem + env(safe-area-inset-left));pointer-events:none;justify-content:flex-end;display:flex;position:absolute;top:0;left:0;right:0}.icon-button,.control-button,.primary-action{color:#fff;border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(115%);backdrop-filter:blur(16px)saturate(115%);cursor:pointer;min-height:3rem}.icon-button{pointer-events:auto;border-radius:50%;width:3rem;padding:0;font:300 1.8rem/1 system-ui,sans-serif}.ar-preflight{z-index:5;text-align:center;justify-items:center;gap:.9rem;width:min(26rem,100% - 2rem);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tracking-mark{border:2px solid #ffffff47;border-top-color:#fff;border-radius:50%;width:2.75rem;height:2.75rem;display:block}.ar-status{color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#00000094;border:1px solid #ffffff1f;border-radius:999px;max-width:30ch;margin:0;padding:.65rem .9rem;font-size:.9rem;font-weight:600;line-height:1.35;box-shadow:0 .35rem 1.5rem #00000038}.primary-action{border-radius:999px;min-width:9rem;padding:0 1.2rem;font-weight:750}.primary-action:disabled{cursor:wait;opacity:.65}.ar-controls{z-index:5;right:max(.75rem, env(safe-area-inset-right));bottom:calc(2.8rem + env(safe-area-inset-bottom));left:max(.75rem, env(safe-area-inset-left));border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(115%);backdrop-filter:blur(18px)saturate(115%);border-radius:1.2rem;grid-template-columns:auto minmax(8rem,1fr);gap:.5rem;width:min(32rem,100% - 1.5rem);margin:0 auto;padding:.45rem;display:none;position:absolute}.control-button{border-radius:.85rem;align-items:center;gap:.4rem;padding:0 .85rem;font-size:.82rem;font-weight:700;display:flex}.scale-control{color:var(--quiet);grid-template-columns:auto 1fr;align-items:center;gap:.65rem;padding:0 .65rem;font-size:.75rem;font-weight:650;display:grid}.ar-scale{accent-color:#fff;width:100%}.surface-reticle{z-index:4;border:1.5px solid #ffffffd1;border-radius:50%;width:5.25rem;height:1.7rem;display:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000038,0 0 1.2rem #ffffff24}.surface-reticle span{background:#fff;border-radius:50%;width:.35rem;height:.35rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.engine-notice{z-index:6;right:max(.6rem, env(safe-area-inset-right));bottom:max(.35rem, env(safe-area-inset-bottom));left:max(.6rem, env(safe-area-inset-left));color:#ffffff94;text-align:center;pointer-events:none;font-size:.58rem;line-height:1.3;position:absolute}.engine-notice a{color:#ffffffc2;pointer-events:auto}.ar-shell[data-state=active] .ar-camera{opacity:1}.ar-shell[data-state=active] .ar-preflight{display:none}.ar-shell[data-state=active] .ar-controls{display:grid}.ar-shell[data-state=active] .surface-reticle{display:block}.ar-shell[data-state=error] .tracking-mark{display:none}.ar-shell[data-state=error] .ar-status{border-color:#ffffff4d}@media (max-width:420px){.ar-controls{grid-template-columns:1fr}.control-button{justify-content:center}}@media (prefers-reduced-motion:no-preference){.ar-shell:not([data-state=idle]):not([data-state=active]):not([data-state=error]):not([data-state=exited]) .tracking-mark{animation:.8s linear infinite tracking-spin}.surface-reticle{animation:1.8s ease-in-out infinite reticle-pulse}}@keyframes tracking-spin{to{transform:rotate(360deg)}}@keyframes reticle-pulse{0%,to{opacity:.65}50%{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
