:root{--bg: #0a0a12;--fg: #eae6ff;--accent: #8affc1;color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,sans-serif;-webkit-user-select:none;user-select:none}#ar-canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none}#ui-root{position:fixed;inset:0;pointer-events:none;display:grid;place-items:center}.landing{pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;text-align:center;max-width:26rem}.landing h1{font-size:2.6rem;letter-spacing:.08em;background:linear-gradient(120deg,#8affc1,#b18aff,#ff8ad4);-webkit-background-clip:text;background-clip:text;color:transparent}.landing p{opacity:.75;line-height:1.5}.landing button{font-size:1.1rem;padding:.9rem 2.6rem;border:1px solid var(--accent);border-radius:999px;background:transparent;color:var(--accent);cursor:pointer}.landing button:active{background:color-mix(in srgb,var(--accent) 20%,transparent)}.landing .attribution{margin-top:1rem;opacity:.6}.landing .attribution img{height:1.4rem}.status-pill{pointer-events:none;position:fixed;top:max(1rem,env(safe-area-inset-top));left:50%;transform:translate(-50%);padding:.4rem 1rem;border-radius:999px;background:#0a0a12b3;font-size:.85rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hidden{display:none!important}.clue-panel{pointer-events:auto;position:fixed;inset:0;display:grid;place-items:end center;padding-bottom:max(2rem,env(safe-area-inset-bottom));background:linear-gradient(transparent 40%,#0a0a12bf);animation:clue-in .6s ease-out}@keyframes clue-in{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:none}}.clue-card{max-width:22rem;margin:0 1.5rem;padding:1.5rem;border:1px solid var(--accent);border-radius:1.2rem;background:color-mix(in srgb,var(--bg) 88%,var(--accent));text-align:center;display:flex;flex-direction:column;gap:.8rem}.clue-progress{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;opacity:.6}.clue-card h2{font-size:1.5rem;background:linear-gradient(120deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}.clue-text{line-height:1.5;opacity:.9}.clue-venue{color:var(--accent);text-decoration:none;border-bottom:1px dashed var(--accent);align-self:center}.clue-close{margin-top:.4rem;padding:.7rem 1.8rem;border-radius:999px;border:1px solid var(--accent);background:transparent;color:var(--accent);align-self:center;cursor:pointer}
