:root{--ink:#07070c;--yellow:#ffce07;--cyan:#08a89f}*{box-sizing:border-box}html,body,#root{background:var(--ink);color:#fff;width:100%;min-height:100%;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}button{font:inherit}.scan-shell,.ar-stage,.ar-interface{position:fixed;inset:0}.scan-shell{background:var(--ink);min-height:100dvh;overflow:hidden}.ar-stage{z-index:1;overflow:hidden}.camera-preview{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.gesture-layer{z-index:3;pointer-events:none;touch-action:none;-webkit-user-select:none;user-select:none;position:fixed;inset:0}.gesture-layer.is-active{pointer-events:auto;cursor:grab}.gesture-layer.is-active:active{cursor:grabbing}.ar-interface{z-index:4;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));pointer-events:none;flex-direction:column;justify-content:space-between;display:flex}.ar-header,.status-line,.mini-brand,.live-chip{align-items:center;display:flex}.ar-header{justify-content:space-between;gap:.75rem}.mini-brand,.live-chip,.status-card{-webkit-backdrop-filter:blur(14px);background:#07070ccc;border:2px solid #ffffffeb}.mini-brand{letter-spacing:.09em;gap:.3rem;padding:.52rem .68rem .52rem .52rem;font-size:.72rem;font-weight:950}.brace{color:var(--yellow);font-size:1.25rem;line-height:.6}.live-chip{color:#ffffffc7;letter-spacing:.08em;gap:.38rem;padding:.55rem .65rem;font-size:.62rem;font-weight:850}.live-chip i{background:#2fe06e;border-radius:50%;width:.5rem;height:.5rem;box-shadow:0 0 0 4px #2fe06e26}.scan-reticle{aspect-ratio:86/56;width:min(84vw,32rem);transition:opacity .25s,transform .25s;position:absolute;top:50%;left:50%;transform:translate(-50%,-53%)}.scan-reticle>i{border-color:var(--cyan);filter:drop-shadow(0 2px 6px #000000b3);border-style:solid;width:2.7rem;height:2.7rem;position:absolute}.scan-reticle>i:first-child{border-width:4px 0 0 4px;top:0;left:0}.scan-reticle>i:nth-child(2){border-width:4px 4px 0 0;top:0;right:0}.scan-reticle>i:nth-child(3){border-width:0 4px 4px 0;bottom:0;right:0}.scan-reticle>i:nth-child(4){border-width:0 0 4px 4px;bottom:0;left:0}.scan-reticle.state-requesting,.scan-reticle.state-loading,.scan-reticle.state-permission,.scan-reticle.state-error{opacity:.35}.scan-reticle.state-tracking{opacity:.18;transform:translate(-50%,-53%)scale(1.05)}.scan-reticle.state-tracking>i{border-color:var(--yellow)}.status-card{width:min(100%,34rem);box-shadow:5px 5px 0 var(--yellow);margin:0 auto;padding:.86rem .95rem;transition:width .22s,padding .22s}.status-line{gap:.55rem;font-size:.9rem}.status-dot{background:var(--yellow);border-radius:50%;flex:none;width:.66rem;height:.66rem;animation:1.4s ease-in-out infinite status-pulse;box-shadow:0 0 0 4px #ffce0726}.status-card p{color:#ffffffb8;margin:.4rem 0 0;font-size:.76rem;line-height:1.45}.status-card button{border:2px solid var(--ink);background:var(--yellow);width:100%;color:var(--ink);cursor:pointer;pointer-events:auto;margin-top:.8rem;padding:.72rem .8rem;font-size:.8rem;font-weight:950;box-shadow:3px 3px #fff}.status-card button:focus-visible{outline:4px solid var(--cyan);outline-offset:3px}.status-card.state-tracking{width:fit-content;max-width:calc(100vw - 2rem);box-shadow:4px 4px 0 var(--cyan);padding:.7rem .85rem}.status-card.state-tracking p{color:#ffffffc2;max-width:24rem}.status-card.state-tracking .status-dot{background:var(--cyan);animation:none;box-shadow:0 0 0 4px #08a89f2e}@keyframes status-pulse{0%,to{opacity:.62;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
