*{box-sizing:border-box}
:root{--paper:#788583;--ink:#080a09;--radius:12px}
html,body{margin:0;width:100%;min-height:100%;background:var(--paper);color:var(--ink);font:16px Arial,Helvetica,sans-serif}
#welcome{max-width:620px;min-height:100svh;margin:auto;padding:clamp(32px,7vh,72px) 24px max(28px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;text-align:center;gap:28px}
header{width:100%}
h1{font-size:clamp(68px,19vw,124px);font-weight:900;font-style:italic;line-height:.95;letter-spacing:-.075em;margin:0 0 24px;padding-right:.075em}
.eyebrow{font-size:clamp(17px,4.4vw,25px);font-weight:700;line-height:1.25;margin:0 0 10px}
.credit{font-size:clamp(14px,3.6vw,19px);line-height:1.45;margin:0;text-wrap:balance}
.welcome-actions{width:100%;margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:16px}
#status{margin:0;line-height:1.4;font-size:15px;min-height:1.4em}
button{font:700 15px Arial,Helvetica,sans-serif;border:0;border-radius:var(--radius);background:var(--ink);color:var(--paper);padding:14px 18px;min-height:44px;cursor:pointer}
#start{width:100%;font-size:22px;padding:20px 24px}
button:disabled{opacity:.55;cursor:wait}
small{font-size:12px;line-height:1.5}
a-scene{position:fixed!important;inset:0;z-index:1;width:100vw!important;height:100dvh!important}
body>video{z-index:0!important}
#hud{position:fixed;inset:0;z-index:5;pointer-events:none}
#hud button{pointer-events:auto}
#note{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);background:var(--paper);color:var(--ink);padding:14px 18px;border-radius:var(--radius);text-align:center;width:max-content;max-width:calc(100vw - 32px);font-size:14px;line-height:1.4;margin:0}
.bottom{position:absolute;left:16px;right:16px;bottom:max(18px,env(safe-area-inset-bottom));display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;background:transparent;padding:0}
.bottom span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;font-size:22px;font-weight:900;font-style:italic;letter-spacing:-.06em;margin-right:auto}
.bottom span,.bottom button{border:1px solid #080a0966;border-radius:var(--radius);background:rgba(120,133,131,.62);color:var(--ink);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.bottom button{font-size:12px;padding:12px}
[hidden]{display:none!important}
button:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
@media(max-width:360px){#welcome{padding-left:16px;padding-right:16px;gap:22px}.bottom{left:10px;right:10px;gap:6px}.bottom span{padding:8px 10px}.bottom button{padding:12px 10px}}

#camerafeed{position:fixed;inset:0;width:100%;height:100%;z-index:1} .engine-credit{font-size:10px;opacity:.75}.engine-credit a{color:inherit}
#scan-guide{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(68vw,280px,48vh);aspect-ratio:1;color:#fff;filter:drop-shadow(0 1px 3px #0009)}
.scan-corner{position:absolute;width:28px;height:28px;border:3px solid currentColor}
.top-left{top:0;left:0;border-right:0;border-bottom:0;border-top-left-radius:8px}
.top-right{top:0;right:0;border-left:0;border-bottom:0;border-top-right-radius:8px}
.bottom-left{bottom:0;left:0;border-right:0;border-top:0;border-bottom-left-radius:8px}
.bottom-right{bottom:0;right:0;border-left:0;border-top:0;border-bottom-right-radius:8px}
.scan-line{position:absolute;left:8px;right:8px;top:8px;height:2px;background:linear-gradient(90deg,transparent,#fff 18%,#fff 82%,transparent);box-shadow:0 0 12px #ffffff65;animation:scan-sweep 2.6s ease-in-out infinite alternate}
@keyframes scan-sweep{to{top:calc(100% - 10px)}}
#augment-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:24px;background:#080a09c9;color:#fff;font-size:12px;white-space:nowrap}
.loading-ring{width:18px;height:18px;flex-shrink:0;border:2px solid #ffffff45;border-top-color:#fff;border-radius:50%;animation:loading-spin .8s linear infinite}
@keyframes loading-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.scan-line{animation:none;top:50%}.loading-ring{animation:none;border-style:dotted}}

#refresh-draft{position:fixed;top:max(14px,env(safe-area-inset-top));right:14px;z-index:30;background:#fff;color:#14291d;border:1px solid #aaa;border-radius:12px;padding:10px 14px;font:14px system-ui;max-width:60vw}body:has(#refresh-draft:not([hidden])) #note{margin-top:64px}

.exhibition-intro{width:100%;max-width:470px;text-align:left;margin:8px 0 16px}.exhibition-intro p{font-size:clamp(16px,4.1vw,20px);line-height:1.55;margin:0 0 22px}.exhibition-intro .instructions{font-size:clamp(15px,3.8vw,18px);border-top:1px solid #080a0945;padding-top:20px}#welcome{gap:24px;padding-top:clamp(48px,8vh,76px)}
