:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--pink: #f29cb0;--pink-deep: #e56d89;--cream: #fff7f0;--ink: #1f1a1f}html,body,#root{width:100vw;min-height:100dvh;margin:0;overflow:hidden;background:#000;color:var(--cream);font-family:Gantari,Source Han Sans CN,Noto Sans SC,system-ui,sans-serif;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}button{font-family:inherit;-webkit-tap-highlight-color:transparent}img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}.app-shell{position:fixed;inset:0;width:100vw;height:100dvh;overflow:hidden;background:#000}.ar-layer{position:fixed;inset:0;width:100vw;height:100dvh;z-index:1;overflow:hidden;background:transparent}.ar-layer a-scene{position:absolute!important;inset:0!important;z-index:1!important;background:transparent!important}.ar-layer video,body>video,video[playsinline]{position:absolute!important;inset:0!important;z-index:0!important;width:100vw!important;height:100dvh!important;object-fit:cover!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important}.ar-layer canvas,.ar-layer .a-canvas,.ar-layer a-scene canvas,body>canvas,body>.a-canvas,canvas.a-canvas{position:absolute!important;inset:0!important;z-index:2!important;width:100vw!important;height:100dvh!important;display:block!important;pointer-events:none!important;background:transparent!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important}.ui-layer{position:fixed;inset:0;z-index:10;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.ui-layer button,.ui-layer [data-interactive=true]{pointer-events:auto}[data-ar-edit-surface=true],[data-ar-gesture-ui=true]{user-select:none;-webkit-user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.screen-container{position:absolute;inset:0;width:100vw;height:100dvh;overflow:hidden}.screen-enter{animation:screen-fade .36s cubic-bezier(.22,1,.36,1) both}.top-controls{position:absolute;top:calc(var(--safe-top) + 12px);left:calc(var(--safe-left) + 16px);right:calc(var(--safe-right) + 16px);display:flex;align-items:center;justify-content:space-between;z-index:20}.bottom-controls{position:absolute;left:calc(var(--safe-left) + 16px);right:calc(var(--safe-right) + 16px);bottom:calc(var(--safe-bottom) + 16px);z-index:20}@keyframes screen-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes mascot-bob{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes face-bob{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-10px) rotate(1.5deg)}}@keyframes scan-sweep{0%{top:0%;opacity:0}8%,92%{opacity:1}50%{top:100%}to{top:0%;opacity:0}}@keyframes loading-bar-fill{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes loading-bar-shimmer{0%{transform:translate(-120%)}to{transform:translate(320%)}}.mascot-bob{animation:mascot-bob 3.6s ease-in-out infinite;transform-origin:50% 100%}@media(orientation:landscape)and (max-height:520px){.top-controls{top:calc(var(--safe-top) + 8px)}.bottom-controls{bottom:calc(var(--safe-bottom) + 10px)}}
