:root{color:#111827;background:#e9eef2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#app{min-height:100%;width:100%;height:100%;margin:0}body{min-width:320px;overflow-x:hidden;overflow-y:auto}body.xr-active{background:transparent;overflow:hidden}body.xr-active,body.xr-active #app{background:transparent}body.xr-active canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:transparent}button,input,select,textarea{font:inherit}canvas{display:block}.page-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,640px) minmax(300px,420px);gap:24px;align-items:stretch;justify-content:center;padding:48px 20px}.landing-page{grid-template-columns:minmax(0,760px);align-items:start}.landing-panel,.landing-info,.debug-panel{background:#fff;border:1px solid #d8dee8;border-radius:8px;box-shadow:0 20px 60px #0f172a1f;padding:28px}.landing-panel{width:100%}.landing-hero{position:relative;display:flex;min-height:min(620px,calc(100vh - 96px));flex-direction:column;justify-content:center;border-color:#bfd8d4;background:linear-gradient(135deg,#0f766e14,#fff0 46%),#fff}.landing-logo{position:absolute;top:22px;right:22px;width:clamp(54px,12vw,92px);height:auto}.landing-page .landing-hero{min-height:auto;justify-content:start}.landing-info{display:grid;align-content:start;gap:24px}.eyebrow{margin:0 0 10px;color:#0f766e;font-size:.82rem;font-weight:800;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(2.75rem,8vw,5.5rem);line-height:.95;letter-spacing:0}h2{margin-bottom:12px;font-size:1rem}.project-subtitle{margin-bottom:22px;color:#0f766e;font-size:clamp(1.15rem,3vw,1.55rem);font-weight:800;line-height:1.2}.lede{max-width:56ch;color:#374151;font-size:1.08rem;line-height:1.6}.ar-unavailable{margin-bottom:0;color:#b91c1c;font-size:.98rem;font-weight:800;line-height:1.35}.device-note,.support-note{margin:18px 0 0;border-left:4px solid #64748b;background:#f8fafc;padding:14px 16px;line-height:1.45}.device-note.ok{border-color:#059669}.device-note.warning{border-color:#d97706}.device-note.unsupported{border-color:#dc2626}.instructions{margin-top:0;color:#1f2937}.about-project p{color:#374151;line-height:1.55}.about-project a{color:#0f766e;font-weight:800;text-decoration-thickness:2px;text-underline-offset:3px}.project-links{margin-bottom:0}.instructions ol,.instructions ul{margin:0;padding-left:1.35rem;line-height:1.75}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.landing-actions{margin-top:20px}.button{min-height:44px;border:1px solid transparent;border-radius:6px;padding:10px 16px;cursor:pointer;font-weight:800}.button-primary{background:#111827;color:#fff}.button-secondary{border-color:#cbd5e1;background:#fff;color:#111827}.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #38bdf8;outline-offset:2px}.viewer-shell{width:100vw;height:100vh;overflow:hidden;background:#f3f4f6}.viewer-toolbar{position:fixed;z-index:2;top:16px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.viewer-toolbar>*{pointer-events:auto}.viewer-actions{display:flex;gap:10px}.viewer-title{border:1px solid #d8dee8;border-radius:6px;background:#ffffffeb;padding:10px 12px;font-weight:800}.viewer-canvas{width:100%;height:100%}.viewer-status{position:fixed;left:50%;bottom:18px;transform:translate(-50%,-50%);border:1px solid #d8dee8;border-radius:6px;background:#fff;padding:14px 16px;text-align:center}.viewer-status-loaded{top:auto;transform:translate(-50%)}.xr-overlay{position:fixed;z-index:20;left:50%;bottom:18px;width:min(92vw,560px);transform:translate(-50%);border:1px solid rgb(255 255 255 / 28%);border-radius:8px;background:#111827d1;color:#fff;padding:14px}.xr-overlay-message{margin:0;line-height:1.45}.xr-overlay-debug{margin:10px 0 0;border-top:1px solid rgb(255 255 255 / 18%);padding-top:10px;color:#bfdbfe;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.76rem;line-height:1.45;white-space:pre-wrap}.xr-overlay-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.xr-overlay .button-secondary{border-color:#ffffff47;background:#ffffff1f;color:#fff}.debug-panel{position:sticky;top:20px}.debug-fields{display:grid;gap:10px}.debug-field{display:grid;gap:6px;color:#374151;font-size:.9rem;font-weight:700}.debug-field input,.debug-field select,.debug-output{width:100%;border:1px solid #cbd5e1;border-radius:6px;background:#fff;padding:9px 10px}.debug-output{min-height:220px;margin-top:12px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem}.debug-panel .button{width:100%;margin-top:12px}@media (max-width: 900px){.page-shell{grid-template-columns:minmax(0,680px);padding:24px 14px calc(88px + env(safe-area-inset-bottom,0px))}.landing-panel,.landing-info,.debug-panel{padding:22px}.landing-hero{min-height:auto;justify-content:start}.debug-panel{position:static}.landing-actions{position:fixed;z-index:10;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));margin-top:0}.landing-actions .button-primary{width:100%;box-shadow:0 12px 30px #0f172a3d}}@media (max-width: 520px){h1{font-size:2.4rem}.landing-logo{top:16px;right:16px;width:52px}.actions,.xr-overlay-actions{display:grid}.button{width:100%}.viewer-toolbar{align-items:stretch}}.button:disabled{cursor:not-allowed;opacity:.55}
