:root{color:#f4f7fb;background:#071018;font-family:Trebuchet MS,Verdana,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(69,103,148,.28),transparent 34rem),linear-gradient(135deg,#061019,#0d1620 52%,#111b25);overflow-x:hidden}button{border:1px solid #33415a;border-radius:999px;padding:.85rem 1.2rem;color:#f4f7fb;background:#111b29;font:inherit;touch-action:manipulation;-webkit-touch-callout:none}button:active{transform:translateY(1px)}.app-shell{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.75rem;width:min(100%,62rem);min-height:100dvh;margin:0 auto;padding:clamp(.75rem,2.2vw,1.75rem)}.reset-progress-button{padding:.65rem .95rem;border-color:#52637f;color:#dbe7f8;background:#111b29c7;font-size:clamp(.9rem,3vw,1rem)}.app-subtitle,.app-status{color:#b8c3d4;font-size:clamp(.95rem,3.3vw,1.25rem);line-height:1.35}.app-stage{display:flex;flex-direction:column;gap:.75rem;min-height:0;align-content:start}.app-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;min-height:2.5rem}.app-ar-host,.app-content,.scene-error,.scene-card,.scene-complete{border:1px solid #2c3950;border-radius:2rem;background:#070d15ad;box-shadow:0 1rem 4rem #0000003d}.app-ar-host{height:clamp(12rem,33vh,23rem);overflow:hidden}[data-view=intro] .app-ar-host,[data-view=start] .app-ar-host,[data-view=read] .app-ar-host,[data-view=complete] .app-ar-host{display:none}[data-view=scan] .app-shell{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;min-height:100dvh;max-width:none;padding:0;margin:0}[data-view=scan] .app-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;gap:0}[data-view=scan] .app-ar-host{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:0;box-shadow:none}[data-view=scan] .app-ar-host .ar-viewport,[data-view=scan] .app-ar-host .ar-viewport>a-scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}[data-view=scan] .app-ar-host .ar-viewport video,[data-view=scan] .app-ar-host .ar-viewport canvas{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}[data-view=scan] .app-ar-host .ar-viewport video{object-fit:cover!important;object-position:center center!important}[data-view=scan] .app-footer{position:fixed;left:0;right:0;bottom:calc(.6rem + env(safe-area-inset-bottom));z-index:20;display:grid;gap:.55rem;padding:0 .6rem;pointer-events:none}[data-view=scan] .app-footer>*{pointer-events:auto}[data-view=scan] .app-status{padding:.9rem 1rem;border:1px solid rgba(184,195,212,.24);border-radius:1rem;background:#04090fb8;color:#edf2fa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}[data-view=scan] .reset-progress-button{width:100%;background:#04090fb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-content{display:flex;flex-direction:column;flex:1;min-height:0}[data-view=read] .app-shell{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;max-width:none;min-height:100dvh;padding:0;margin:0;overflow:hidden}[data-view=read] .app-stage{position:relative;display:block;min-height:100dvh;overflow:hidden}[data-view=read] .app-content{position:absolute;top:0;right:0;bottom:0;left:0;display:block;min-height:0}[data-view=read] .app-footer{display:none}[data-view=complete] .app-stage,[data-view=complete] .app-content{justify-content:center}.scene-error,.scene-card,.scene-complete,.start-gate{padding:clamp(1rem,4vw,1.75rem)}.start-gate{display:grid;gap:.85rem;align-content:start}.start-gate--centered{flex:1;min-height:100%;align-content:center}.start-gate__button{justify-self:start;padding-inline:1.4rem;background:linear-gradient(135deg,#ffd1662e,#ff7e671a),#111b29;border-color:#ffda7961;box-shadow:0 .8rem 1.8rem #ffbb5424}.start-gate__button--hero{justify-self:center;min-width:min(15rem,78vw);padding:1.05rem 2rem;font-size:clamp(1.25rem,5vw,1.6rem)}.scene-player{position:relative;display:flex;flex:1;min-height:0;overflow:hidden;border:1px solid #2c3950;border-radius:2rem;background:#070d15ad;box-shadow:0 1rem 4rem #0000003d}[data-view=read] .scene-player{position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-radius:0;box-shadow:none;background:transparent}.scene-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(circle at 20% 12%,rgba(255,214,102,.16),transparent 24rem),linear-gradient(180deg,#0b121d80,#05090ee6)}.scene-backdrop__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center center}.scene-backdrop__veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#11091deb,#180c26b8 18%,#1b0d2c5c 42%,#1b0d2c00 64%)}.scene-backdrop--intro{background:radial-gradient(circle at 20% 15%,rgba(255,214,102,.18),transparent 14rem),radial-gradient(circle at 80% 20%,rgba(123,216,255,.16),transparent 18rem),linear-gradient(145deg,#0d1723,#061018 60%,#03070c)}.scene-backdrop__glow{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 28%,rgba(255,214,102,.26),transparent 12rem),radial-gradient(circle at 50% 38%,rgba(255,129,103,.18),transparent 16rem);filter:blur(1px)}.scene-backdrop__pulses{position:absolute;top:0;right:0;bottom:0;left:0}.scene-backdrop__pulse{position:absolute;left:50%;top:31%;width:clamp(6rem,16vw,11rem);height:clamp(6rem,16vw,11rem);border:1px solid rgba(255,218,121,.18);border-radius:50%;transform:translate(-50%,-50%) scale(calc(1 + (var(--pulse-index) * .15)));opacity:calc(.25 - (var(--pulse-index) * .03));animation:pulse-breathe 5s ease-in-out infinite;animation-delay:calc(var(--pulse-index) * .14s)}.scene-backdrop__wanted-stars{position:absolute;left:50%;top:clamp(7.5rem,24%,12rem);display:flex;gap:clamp(.35rem,1.4vw,.65rem);transform:translate(-50%);filter:drop-shadow(0 0 12px rgba(255,211,79,.52))}.scene-backdrop__wanted-star{color:#ffd64f;font-size:clamp(1.25rem,5vw,2.4rem);line-height:1;text-shadow:0 0 .25rem rgba(255,246,188,.7),0 0 1rem rgba(255,184,61,.46);transform:translateY(var(--star-lift));animation:wanted-star-pulse 1.8s ease-in-out infinite;animation-delay:calc(var(--star-index) * 90ms)}.scene-player__overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:flex-end;justify-content:center;min-height:0;padding:clamp(1rem,3.5vw,1.5rem)}.scene-player__overlay--gradient:before{position:absolute;inset:auto 0 0;height:min(68%,32rem);content:"";background:linear-gradient(0deg,#090512fa,#12081fe6 28%,#220f328a 58%,#220f3200);pointer-events:none}[data-view=read] .scene-player__overlay{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.scene-player__panel{position:relative;z-index:1;display:grid;gap:.75rem;width:min(100%,42rem);padding:clamp(1rem,3.5vw,1.5rem);border:0;border-radius:0;background:transparent;box-shadow:none;margin-top:auto}.scene-body{margin:0;color:#edf2fa;font-size:clamp(1.1rem,4vw,1.65rem);line-height:1.42}.scene-title{margin:0;font-size:clamp(1.65rem,6vw,2.6rem);line-height:1.05}.scene-complete--centered{display:grid;gap:clamp(1rem,3.4vw,1.5rem);justify-items:center;text-align:center}.scene-complete__dance{justify-self:center;width:min(22rem,82vw);height:auto}.scene-actions{display:flex;gap:.75rem;padding-top:.25rem}.scene-actions--end{justify-content:flex-end}.scene-clues{margin:0;padding-left:1.2rem;color:#d9e4f3;font-size:clamp(.95rem,3.4vw,1.2rem);line-height:1.45}.test-controls{position:fixed;right:1rem;bottom:1rem;z-index:20;display:grid;gap:.5rem;max-width:min(18rem,calc(100vw - 2rem));padding:.75rem;border:1px solid #33415a;border-radius:1rem;background:#05090ee0}.test-controls button{padding:.55rem .75rem;font-size:.9rem}a-scene{width:100%;min-height:100%}.ar-viewport{position:relative;width:100%;height:100%;padding:0;overflow:hidden;background:#05090e}.ar-viewport>video{z-index:0!important;width:100%!important;height:100%!important;object-fit:cover}.ar-viewport>a-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;min-height:100%;background:transparent}.ar-hint{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:2;padding:.85rem 1rem;border:1px solid rgba(184,195,212,.28);border-radius:1rem;background:#05090eb8;font-size:clamp(1rem,3.6vw,1.35rem);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.success-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-items:center;padding:1rem;pointer-events:none;opacity:0;transition:opacity .18s ease;background:radial-gradient(circle at center,rgba(255,255,255,.22),transparent 30%),radial-gradient(circle at 20% 25%,rgba(255,214,102,.2),transparent 28%),radial-gradient(circle at 80% 30%,rgba(123,216,255,.18),transparent 26%),#03080e59}.success-overlay.is-visible{opacity:1}.success-overlay__burst{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.success-overlay__burst span{position:absolute;left:50%;top:50%;width:.45rem;height:1.1rem;border-radius:999px;background:linear-gradient(180deg,#fff7d1,#ffd55a 55%,#ff8b4a);box-shadow:0 0 16px #ffe59499;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(0);animation:spark-fly 1.1s ease-out var(--spark-delay) forwards}.success-overlay__panel{position:relative;z-index:1;display:grid;gap:.35rem;width:min(26rem,calc(100vw - 2rem));padding:1.25rem 1.35rem;border:1px solid rgba(255,255,255,.22);border-radius:1.4rem;background:#04090f9e;box-shadow:0 1.2rem 4rem #0000004d;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.success-overlay__title{margin:0;color:#fff7e8;font-size:clamp(1.35rem,5vw,2rem);font-weight:700;text-align:center}.success-overlay__subtitle{margin:0;color:#dbe7f8;font-size:clamp(.95rem,3.4vw,1.15rem);text-align:center}@keyframes spark-fly{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(0) scale(.35)}15%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--spark-angle)) translateY(var(--spark-distance)) scale(.15)}}@keyframes pulse-breathe{0%,to{transform:translate(-50%,-50%) scale(calc(1 + (var(--pulse-index) * .15)))}50%{transform:translate(-50%,-50%) scale(calc(1.08 + (var(--pulse-index) * .15)))}}@keyframes wanted-star-pulse{0%,to{opacity:.72;transform:translateY(var(--star-lift)) scale(1)}50%{opacity:1;transform:translateY(var(--star-lift)) scale(1.08)}}@media (max-width: 640px){.app-shell{gap:.6rem;padding:.6rem}[data-view=read] .app-shell{padding:0}[data-view=read] .app-stage{min-height:100dvh}.app-ar-host{height:clamp(10.5rem,30vh,18rem)}.app-footer{flex-direction:column;align-items:stretch}.reset-progress-button{width:100%}.scene-error,.scene-complete,.start-gate{padding:.95rem}[data-view=scan] .app-status{padding:.8rem .9rem}}@media (max-height: 760px){.app-shell{padding-top:.5rem;padding-bottom:.5rem}.scene-actions{padding-top:0}}
