*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;color:#fff;touch-action:manipulation}#root{width:100%;height:100%}button{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}@supports (-webkit-touch-callout: none){body{position:fixed;width:100%;height:100%}}@media(pointer:coarse){*:focus{outline:none}}@viewport{width:device-width;zoom:1}.ar-status{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:100;pointer-events:none;animation:fadeIn .3s ease-in}.ar-status__content{display:flex;align-items:center;gap:12px;padding:16px 24px;background:#000c;backdrop-filter:blur(10px);border-radius:50px;box-shadow:0 8px 24px #0006}.ar-status__emoji{font-size:24px;line-height:1}.ar-status__text{color:#fff;font-size:16px;font-weight:600;letter-spacing:.3px}.ar-status--initializing .ar-status__content{background:#ffc107e6}.ar-status--ready .ar-status__content{background:#4caf50e6}.ar-status--scanning .ar-status__content{background:#2196f3e6}.ar-status--tracking .ar-status__content{background:#4caf50e6;animation:pulse 2s ease-in-out infinite}.ar-status--error .ar-status__content{background:#f44336e6}.target-preview{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:90;pointer-events:none;animation:targetFadeIn .5s ease-out}.target-preview__container{display:flex;flex-direction:column;align-items:center;gap:20px}.target-preview__image{width:80vw;max-width:350px;height:auto;opacity:.75;border-radius:16px;box-shadow:0 10px 40px #0000004d,0 0 0 3px #fff3,0 0 20px #2196f366;animation:targetPulse 2s ease-in-out infinite;object-fit:contain}.target-preview__label{display:flex;align-items:center;justify-content:center}.target-preview__icon{display:none}.target-preview__text{color:#fff;font-size:28px;font-weight:600;letter-spacing:4px;text-transform:uppercase;background:none;border:none;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:linear-gradient(180deg,#fff,#ffffffd9,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 2px 4px rgba(0,0,0,.3),0 0 30px rgba(255,255,255,.4),0 4px 20px rgba(0,0,0,.6);filter:drop-shadow(0 2px 8px rgba(0,0,0,.4))}.target-preview--fade-out{animation:targetFadeOut .6s ease-out forwards}.target-preview--fade-out .target-preview__image{animation:targetScaleOut .6s ease-out forwards}.target-preview--fade-out .target-preview__label{animation:labelSlideOut .4s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}@keyframes targetFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes targetPulse{0%,to{opacity:.75;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}@keyframes searchPulse{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-5deg)}50%{transform:scale(1.2) rotate(0)}75%{transform:scale(1.1) rotate(5deg)}}@keyframes targetFadeOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.2)}}@keyframes targetScaleOut{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes labelSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}@media screen and (max-width:768px){.ar-status{top:16px}.ar-status__content{padding:12px 20px;gap:10px}.ar-status__emoji{font-size:20px}.ar-status__text{font-size:14px}.target-preview__image{width:75vw;max-width:300px}.target-preview__text{font-size:24px;letter-spacing:3px}}@media screen and (max-width:480px){.ar-status__content{padding:10px 16px;gap:8px}.ar-status__emoji{font-size:18px}.ar-status__text{font-size:13px}.target-preview__image{width:70vw;max-width:250px}.target-preview__text{font-size:20px;letter-spacing:2.5px}}.ar-controls{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:100;display:flex;gap:16px}.ar-button{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 36px;font-size:18px;font-weight:700;letter-spacing:.5px;border:none;border-radius:60px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #0000004d;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);-webkit-tap-highlight-color:transparent;user-select:none;position:relative;overflow:hidden}.ar-button:active{transform:scale(.96)}.ar-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.button-icon{font-size:24px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.ar-button--start{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.ar-button--start:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#653a8e);box-shadow:0 12px 32px #667eea66}.ar-button--start:active:not(:disabled){box-shadow:0 4px 16px #667eea66}.ar-button--stop{background:#f4433626;border:1.5px solid rgba(255,100,100,.3);color:#fff;text-shadow:0 4px 12px rgba(0,0,0,.6),0 2px 4px rgba(0,0,0,.8),0 0 20px rgba(255,150,150,.4);box-shadow:0 8px 32px #f4433640,0 0 0 1px #ff64641a inset,0 2px 8px #ff96961a inset}.ar-button--stop:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,100,100,.2),transparent);animation:buttonShine 4s ease-in-out infinite}.ar-button--stop:hover{background:#f4433640;border-color:#ff646473;box-shadow:0 12px 40px #f4433659,0 0 0 1px #ff646426 inset,0 2px 12px #ff969626 inset;transform:translateY(-2px)}.ar-button--stop:active{transform:translateY(0) scale(.96);box-shadow:0 4px 16px #f443364d,0 0 0 1px #ff64641a inset}@keyframes buttonShine{0%{left:-100%}50%,to{left:100%}}.button-spinner{display:inline-block;width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media screen and (max-width:768px){.ar-controls{bottom:32px}.ar-button{padding:16px 32px;font-size:16px;gap:10px}.button-icon{font-size:22px}}@media screen and (max-width:480px){.ar-controls{bottom:24px}.ar-button{padding:14px 28px;font-size:15px;gap:10px}.button-icon{font-size:20px}}@supports (padding-bottom: env(safe-area-inset-bottom)){.ar-controls{bottom:calc(40px + env(safe-area-inset-bottom))}@media screen and (max-width:768px){.ar-controls{bottom:calc(32px + env(safe-area-inset-bottom))}}@media screen and (max-width:480px){.ar-controls{bottom:calc(24px + env(safe-area-inset-bottom))}}}.ar-experience{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;background-color:#000}.ar-container{width:100%;height:100%;z-index:1}.ar-container canvas{display:block;width:100%;height:100%;object-fit:cover;z-index:1}@media screen and (max-width:768px){.ar-experience{position:fixed;width:100vw;height:100vh;height:100dvh}}.app{width:100%;height:100vh;height:100dvh;overflow:hidden}.landing{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;box-sizing:border-box}.landing__content{max-width:600px;width:100%;text-align:center;color:#fff;animation:fadeInUp .6s ease-out}.landing__title{font-size:48px;font-weight:800;margin:0 0 16px;line-height:1.2}.title__emoji{display:inline-block;animation:bounce 2s ease-in-out infinite}.landing__description{font-size:20px;line-height:1.6;margin:0 0 40px;opacity:.95}.landing__button{display:inline-flex;align-items:center;gap:12px;padding:18px 40px;font-size:20px;font-weight:700;color:#667eea;background:#fff;border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 12px 40px #0003;-webkit-tap-highlight-color:transparent}.landing__button:hover{transform:translateY(-2px);box-shadow:0 16px 48px #00000040}.landing__button:active{transform:translateY(0);box-shadow:0 8px 32px #0003}.button__icon{font-size:28px;line-height:1}.landing__instructions{margin-top:60px;padding:32px;background:#ffffff1a;backdrop-filter:blur(10px);border-radius:20px;text-align:left}.landing__instructions h3{margin:0 0 20px;font-size:24px;font-weight:700;text-align:center}.landing__instructions ol{margin:0 0 20px;padding-left:24px;font-size:18px;line-height:2}.landing__instructions li{margin-bottom:8px}.instructions__note{margin:0;padding:16px;background:#ffffff26;border-radius:12px;font-size:14px;line-height:1.6}.instructions__note strong{font-weight:700;color:#fff}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media screen and (max-width:768px){.landing__title{font-size:36px}.landing__description{font-size:18px;margin-bottom:32px}.landing__button{padding:16px 32px;font-size:18px;gap:10px}.button__icon{font-size:24px}.landing__instructions{margin-top:48px;padding:24px}.landing__instructions h3{font-size:20px}.landing__instructions ol{font-size:16px;padding-left:20px}}@media screen and (max-width:480px){.landing{padding:16px}.landing__title{font-size:32px}.landing__description{font-size:16px;margin-bottom:28px}.landing__button{padding:14px 28px;font-size:17px}.button__icon{font-size:22px}.landing__instructions{margin-top:40px;padding:20px}.landing__instructions h3{font-size:18px;margin-bottom:16px}.landing__instructions ol{font-size:15px;line-height:1.8}.instructions__note{padding:12px;font-size:13px}}
