*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;font-family:-apple-system,Apple SD Gothic Neo,sans-serif}section{display:none}body[data-screen=start] #screen-start{display:flex}body[data-screen=guide] #screen-ar,body[data-screen=survey] #screen-ar,body[data-screen=done] #screen-ar,body[data-screen=marker] #screen-marker,body[data-mode=marker-flow] #screen-marker,body[data-screen=vision] #screen-vision,body[data-screen=direct-survey] #screen-survey-direct{display:block}#screen-start{position:relative;overflow:hidden;height:100dvh;flex-direction:column;justify-content:center;align-items:center;padding:24px;background:radial-gradient(circle at 15% 8%,rgba(255,255,255,.55),transparent 40%),radial-gradient(circle at 85% 88%,rgba(255,140,60,.35),transparent 45%),linear-gradient(160deg,#fff7ef,#ffe3c7 55%,#ffbb70)}.bg-decor{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:0}.decor{position:absolute;will-change:transform}.decor-circle{border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffffffa6,#ff9a3a1f 70%);animation:decorDrift ease-in-out infinite}.deco-c1{width:130px;height:130px;top:4%;left:-36px;animation-duration:10s}.deco-c2{width:76px;height:76px;bottom:20%;right:-16px;animation-duration:8s;animation-delay:1s}.deco-c3{width:44px;height:44px;top:42%;right:10%;animation-duration:7s;animation-delay:.4s}.decor-star{color:#ffffffe6;text-shadow:0 0 10px rgba(255,255,255,.6);animation:decorTwinkle ease-in-out infinite}.deco-s1{top:9%;right:14%;font-size:1.1rem;animation-duration:2.6s}.deco-s2{top:24%;left:9%;font-size:.8rem;animation-duration:2.2s;animation-delay:.6s}.deco-s3{bottom:32%;left:16%;font-size:.75rem;animation-duration:2.8s;animation-delay:1.1s}.decor-paw{font-size:1.15rem;opacity:.45;animation:decorPaw ease-in-out infinite}.deco-p1{bottom:9%;left:7%;animation-duration:6s}.deco-p2{top:13%;right:7%;animation-duration:6.4s;animation-delay:1.4s}@keyframes decorDrift{0%,to{transform:translate(0)}50%{transform:translate(10px,-16px)}}@keyframes decorTwinkle{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}@keyframes decorPaw{0%,to{transform:translateY(0) rotate(-6deg);opacity:.3}50%{transform:translateY(-14px) rotate(6deg);opacity:.55}}.start-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}#start-title{font-size:1.75rem;font-weight:800;letter-spacing:-.01em;background:linear-gradient(90deg,#e8590c,#ff7a1a 70%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:titlePop .8s cubic-bezier(.34,1.56,.64,1) both}.start-subtitle{font-size:.95rem;font-weight:500;color:#7a3a0c;animation:fadeUp .7s ease .15s both}@keyframes titlePop{0%{opacity:0;transform:translateY(14px) scale(.85)}60%{opacity:1;transform:translateY(-4px) scale(1.04)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#start-chars{display:flex;gap:16px;margin-top:2px}.char-card{background:none;border:none;padding:4px;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;animation:charFloat 2.8s ease-in-out infinite;animation-delay:var(--float-delay, 0s)}.char-card img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 10px 14px rgba(232,89,12,.28))}.char-name{font-size:.72rem;font-weight:700;color:#a83c08;background:#ffffffd9;padding:2px 10px;border-radius:999px;box-shadow:0 2px 6px #0000000f}@keyframes charFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.char-card.char-bounce img{animation:charTapBounce .5s ease-out}@keyframes charTapBounce{0%{transform:scale(1)}30%{transform:scale(1.25,.8) translateY(6px)}55%{transform:scale(.9,1.15) translateY(-10px)}75%{transform:scale(1.06,.96)}to{transform:scale(1)}}.start-actions{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:4px}#btn-overlay,#btn-marker,#btn-vision{border:none;border-radius:999px;font-size:1rem;font-family:inherit;display:inline-flex;align-items:center;gap:8px}#btn-overlay{position:relative;isolation:isolate;padding:16px 34px;font-size:1.05rem;font-weight:700;color:#fff;background:linear-gradient(135deg,#ff9d4d,#ff7a1a 55%,#f2540a);box-shadow:0 10px 24px #e8590c66,0 2px 6px #e8590c4d;cursor:pointer;transition:transform .15s ease}#btn-overlay:active{transform:scale(.97)}#btn-overlay:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;z-index:-1;border-radius:inherit;background:inherit;animation:btnGlow 2.2s ease-out infinite}@keyframes btnGlow{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.28)}}.btn-emoji{display:inline-block;animation:emojiWiggle 1.6s ease-in-out infinite}@keyframes emojiWiggle{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}#btn-marker{padding:13px 26px;font-size:.92rem;font-weight:600;background:#eef0f2;color:#606060;cursor:not-allowed}.badge-soon{font-size:.68rem;font-weight:700;padding:2px 8px;border-radius:999px;background:#ffe3c7;color:#7a3a0c;white-space:nowrap}#btn-vision{padding:13px 26px;font-size:.92rem;font-weight:600;background:#e7f0ff;color:#2d4373;cursor:pointer;transition:transform .15s ease}#btn-vision:active{transform:scale(.97)}#btn-vision.btn-loading,#btn-vision:disabled{cursor:wait;opacity:.85}#btn-vision.btn-loading .badge-soon{display:none}.hint{font-size:.8rem;color:#7a3a0c;margin-top:2px}@media(prefers-reduced-motion:reduce){.decor,#start-title,.start-subtitle,.char-card,.char-card.char-bounce img,#btn-overlay:after,.btn-emoji{animation:none!important}}#screen-ar{position:fixed;top:0;right:0;bottom:0;left:0}#bubble{position:absolute;top:calc(max(14px,env(safe-area-inset-top)) + 50px);left:16px;right:16px;background:#fffffff0;border-radius:20px;padding:16px 18px;box-shadow:0 10px 28px #e8590c2e,0 2px 8px #00000014;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:2;pointer-events:none}body[data-screen=survey] #bubble-text,body[data-screen=done] #bubble-text{min-height:auto}#bubble-name{font-weight:700;color:#a83c08;font-size:.85rem;letter-spacing:.01em}#bubble-text{margin-top:4px;font-size:1rem;line-height:1.55;min-height:3em;color:#3a2b1f}#btn-next{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:2;padding:13px 34px;border:none;border-radius:999px;background:#ff7a1a;color:#fff;font-size:1rem;font-weight:700;box-shadow:0 8px 20px #e8590c59}#camera-video,#three-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}#camera-video{object-fit:cover}body.no-camera #camera-video{display:none}body.no-camera #screen-ar{background:linear-gradient(180deg,#2b1a3a,#6b3f8f)}#survey-panel{position:absolute;left:16px;right:16px;bottom:max(28px,env(safe-area-inset-bottom));z-index:3}.survey-progress{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding:0 4px}.survey-progress-bar{flex:1;height:8px;border-radius:999px;background:#ffffff80;overflow:hidden}.survey-progress-fill{height:100%;border-radius:999px;background:#ff7a1a;transition:width .35s ease}.survey-progress-label{font-size:.8rem;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.3)}.survey-card{background:#fffffff5;border-radius:20px;padding:20px 18px;box-shadow:0 8px 24px #00000040;display:flex;flex-direction:column;gap:12px}@keyframes survey-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.survey-slide-in{animation:survey-slide-in .3s ease}@keyframes survey-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.survey-shake{animation:survey-shake .4s ease}.survey-question{font-size:1.05rem;font-weight:700;color:#4a2f19;line-height:1.4}.survey-input{width:100%;padding:12px 14px;border:2px solid #ffd9b3;border-radius:14px;font-size:1rem;font-family:inherit;background:#fffaf4;color:#4a2f19}.survey-input:focus{outline:none;border-color:#ff7a1a}.survey-textarea{resize:vertical;min-height:84px}.survey-choices{display:flex;flex-wrap:wrap;gap:8px}.survey-choice-btn{padding:10px 16px;border:2px solid #ffd9b3;border-radius:999px;background:#fffaf4;color:#7a3a0c;font-size:.92rem;font-weight:600;transition:transform .15s ease,background .15s ease,color .15s ease,border-color .15s ease}.survey-choice-btn:active{transform:scale(.96)}.survey-choice-btn.selected{background:#ff7a1a;border-color:#ff7a1a;color:#fff;transform:scale(1.04)}.survey-stars{display:flex;gap:6px;justify-content:center;padding:6px 0}.survey-star-btn{font-size:2rem;line-height:1;color:#ffe3c7;background:none;border:none;transition:transform .15s ease,color .15s ease}.survey-star-btn.filled{color:#ff7a1a;transform:scale(1.12)}.survey-star-btn:active{transform:scale(.9)}.survey-error{font-size:.82rem;color:#e03131;font-weight:700;margin:-4px 0 0}.survey-next-btn{align-self:stretch;padding:13px;border:none;border-radius:16px;background:#ff7a1a;color:#fff;font-size:1rem;font-weight:700;transition:transform .15s ease}.survey-next-btn:active{transform:scale(.97)}#btn-restart{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:3;padding:12px 32px;border:none;border-radius:24px;background:#ff7a1a;color:#fff;font-size:1rem;font-weight:700;box-shadow:0 6px 18px #ff7a1a66;animation:survey-slide-in .4s ease}#screen-marker{position:fixed;top:0;right:0;bottom:0;left:0;background:#111}#marker-container{position:absolute;top:0;right:0;bottom:0;left:0}#marker-hint{position:absolute;top:max(24px,env(safe-area-inset-top));left:16px;right:16px;z-index:2;text-align:center;background:#ffffffeb;border-radius:20px;padding:14px 18px;font-weight:700;color:#a83c08;box-shadow:0 10px 28px #e8590c2e}#btn-marker-fallback{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:2;padding:12px 22px;border:none;border-radius:999px;background:#0009;color:#fff;font-size:.85rem;font-weight:600}body[data-mode=marker-flow] #camera-video,body[data-mode=marker-flow] #three-canvas,body[data-mode=marker-flow] #btn-capture,body[data-mode=marker-flow] #btn-home{display:none}body[data-mode=marker-flow] #screen-ar{pointer-events:none}body[data-mode=marker-flow] #screen-ar button,body[data-mode=marker-flow] #screen-ar a,body[data-mode=marker-flow] #screen-ar input,body[data-mode=marker-flow] #screen-ar #survey-panel,body[data-mode=marker-flow] #screen-ar #done-panel{pointer-events:auto}#screen-vision{position:fixed;top:0;right:0;bottom:0;left:0;background:#111}#vision-container{position:absolute;top:0;right:0;bottom:0;left:0}.vision-video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}#vision-hint{position:absolute;top:max(24px,env(safe-area-inset-top));left:calc(64px + env(safe-area-inset-left));right:16px;z-index:2;text-align:center;background:#ffffffeb;border-radius:20px;padding:14px 18px;font-weight:700;color:#a83c08;box-shadow:0 10px 28px #e8590c2e}#btn-vision-back{position:absolute;left:max(14px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top));z-index:2;width:40px;height:40px;border:none;border-radius:50%;background:#1e140a8c;color:#fff;font-size:1.1rem;line-height:1;font-family:inherit;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 14px #00000040}#vision-error{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;align-items:center;justify-content:center;gap:16px;padding:24px;background:#111111e0;text-align:center}#vision-error:not([hidden]){display:flex;flex-direction:column}#vision-error-message{color:#fff;font-weight:700;font-size:1rem;max-width:320px}.vision-error-actions{display:flex;flex-direction:column;gap:10px;width:100%;max-width:280px}.vision-error-actions button{padding:12px 22px;border:none;border-radius:999px;background:#ff7a1a;color:#fff;font-size:.92rem;font-weight:700;font-family:inherit}#btn-vision-fallback-survey{background:#ffffff29;color:#fff}#btn-quicklook:not([hidden]){text-decoration:none;display:inline-flex;align-items:center}#btn-quicklook img{display:block;height:15px}#btn-quicklook,#btn-xr{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:calc(max(24px,env(safe-area-inset-bottom)) + 58px);z-index:2;padding:9px 16px;border:none;border-radius:999px;background:#1e140a8c;color:#fff;font-size:.78rem;font-weight:700;font-family:inherit;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 14px #00000040}#btn-xr:disabled{opacity:.6}body[data-mode=xr] #camera-video,body[data-mode=xr] #three-canvas{display:none}#xr-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}#btn-retry{position:absolute;bottom:max(28px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:3;padding:12px 32px;border:none;border-radius:24px;background:#ff7a1a;color:#fff;font-size:1rem;font-weight:700;box-shadow:0 6px 18px #ff7a1a66}#btn-sound{position:absolute;right:max(14px,env(safe-area-inset-right));top:max(14px,env(safe-area-inset-top));z-index:5;width:40px;height:40px;border:none;border-radius:50%;background:#1e140a8c;color:#fff;font-size:1.05rem;line-height:1;font-family:inherit;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 14px #00000040;transition:transform .15s ease,opacity .15s ease}#btn-sound:active{transform:scale(.92)}#btn-sound.is-muted{opacity:.6}@media(prefers-reduced-motion:reduce){#btn-sound{transition:none}}#start-scarcity{font-size:.78rem;font-weight:700;color:#a83c08;background:#ffffffb3;padding:4px 14px;border-radius:999px;animation:fadeUp .7s ease .2s both}#btn-no-camera{font-size:.85rem;font-weight:700;color:#7a3a0c;text-decoration:underline;text-underline-offset:3px;margin-top:2px;cursor:pointer}#btn-no-camera:active{opacity:.7}#onboarding{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.5),transparent 40%),linear-gradient(160deg,#fff7ef,#ffe3c7 55%,#ffbb70)}.onboarding-content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:32px 24px;text-align:center}#onboarding-title{font-size:1.3rem;font-weight:800;color:#a83c08}#onboarding-steps{display:flex;flex-direction:column;gap:14px;width:100%;max-width:320px}.onboarding-step{display:flex;align-items:center;gap:14px;text-align:left;background:#ffffffd9;border-radius:16px;padding:12px 16px;box-shadow:0 6px 16px #e8590c1f}.onboarding-step-icon{font-size:1.6rem;line-height:1}.onboarding-step-text{font-size:.92rem;font-weight:600;color:#4a2f19}#btn-onboarding-start{margin-top:4px;padding:14px 36px;border:none;border-radius:999px;background:linear-gradient(135deg,#ff9d4d,#ff7a1a 55%,#f2540a);color:#fff;font-size:1rem;font-weight:700;font-family:inherit;box-shadow:0 10px 24px #e8590c66}#btn-onboarding-start:active{transform:scale(.97)}#error-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:linear-gradient(160deg,#fff3e8,#ffd9b3)}.error-content{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px;text-align:center}.error-img{width:120px;height:120px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(232,89,12,.3))}.error-message{font-size:1.05rem;font-weight:700;color:#4a2f19}#btn-error-restart{padding:13px 34px;border:none;border-radius:999px;background:#ff7a1a;color:#fff;font-size:1rem;font-weight:700;box-shadow:0 8px 20px #e8590c59}#btn-error-restart:active{transform:scale(.97)}#screen-survey-direct{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,#fff7ef,#ffd9b3 45%,#ff9d4d);overflow-y:auto}.direct-survey-content{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 20px}.direct-survey-content h2{font-size:1.2rem;font-weight:800;color:#7a3a0c;text-align:center}#survey-panel-direct,#direct-done{width:100%;max-width:380px}#direct-done{background:#ffffffeb;border-radius:20px;padding:24px 20px;flex-direction:column;align-items:center;gap:12px;text-align:center;box-shadow:0 8px 24px #00000026}#direct-done:not([hidden]){display:flex}.direct-done-message{font-size:1rem;font-weight:700;color:#4a2f19}#direct-fail-message{font-size:.88rem;color:#e03131;font-weight:600}#btn-direct-restart{padding:12px 32px;border:none;border-radius:24px;background:#ff7a1a;color:#fff;font-size:1rem;font-weight:700;box-shadow:0 6px 18px #ff7a1a66}.google-form-link{padding:10px 20px;border-radius:999px;background:#ffffffe6;color:#a83c08;font-size:.85rem;font-weight:700;text-decoration:none;box-shadow:0 4px 14px #e8590c33}.google-form-link:not([hidden]){display:inline-block}#done-panel{position:absolute;bottom:96px;left:50%;transform:translate(-50%);z-index:3}#done-panel:not([hidden]){display:flex;flex-direction:column;align-items:center;gap:10px}#btn-capture{padding:12px 26px;border:none;border-radius:999px;background:linear-gradient(135deg,#ff9d4d,#ff7a1a 55%,#f2540a);color:#fff;font-size:.95rem;font-weight:700;font-family:inherit;box-shadow:0 8px 20px #e8590c59}#btn-capture:active{transform:scale(.96)}.survey-consent-notice{list-style:none;display:flex;flex-direction:column;gap:6px;background:#fff6ec;border:1px solid #ffd9b3;border-radius:12px;padding:12px 14px;font-size:.82rem;line-height:1.45;color:#5a4433}.survey-consent-notice li:before{content:"· ";color:#a83c08;font-weight:700}.survey-consent-agree{display:flex;align-items:center;gap:10px;padding:10px 4px;font-size:.95rem;font-weight:700;color:#4a2f19;cursor:pointer}.survey-consent-check{width:20px;height:20px;accent-color:#ff7a1a}.brand-line{font-size:.72rem;font-weight:600;color:#7a3a0c;opacity:.85;margin-top:6px}#xr-hint{position:absolute;bottom:84px;left:16px;right:16px;z-index:2;text-align:center;background:#1e140ab8;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:16px;padding:12px 16px;font-size:.85rem;font-weight:600}#btn-marker.btn-loading{cursor:wait}#btn-marker.btn-loading .badge-soon{display:none}@media(prefers-reduced-motion:reduce){#start-scarcity,#btn-onboarding-start:active,#btn-error-restart:active{animation:none!important}}.lang-toggle{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:2;padding:8px 14px;border:none;border-radius:999px;font-family:inherit;background:#ffffffd9;color:#7a3a0c;font-size:.8rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #e8590c26;transition:transform .15s ease}.lang-toggle:active{transform:scale(.94)}button:focus-visible,a:focus-visible,.survey-input:focus-visible,.survey-textarea:focus-visible{outline:3px solid #2a6df5;outline-offset:2px}@media(prefers-reduced-motion:reduce){.lang-toggle{transition:none}}#size-chips{display:flex;gap:8px;margin-top:2px}.size-chip{padding:8px 14px;border:2px solid #ffd9b3;border-radius:999px;background:#fffaf4e6;color:#7a3a0c;font-size:.82rem;font-weight:700;font-family:inherit;transition:transform .15s ease}.size-chip:active{transform:scale(.95)}.size-chip.selected{background:#ff7a1a;border-color:#ff7a1a;color:#fff}.operator-fab{position:absolute;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));z-index:2;width:40px;height:40px;border:none;border-radius:50%;background:#ffffffbf;font-size:1.1rem;box-shadow:0 3px 10px #0000001f}#operator-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#28140573;display:flex;align-items:flex-end;justify-content:center}#operator-sheet[hidden]{display:none}.operator-content{width:100%;max-width:480px;background:#fffaf4;border-radius:24px 24px 0 0;padding:22px 20px max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px}#operator-title{font-size:1.05rem;font-weight:800;color:#a83c08}.operator-row{display:flex;align-items:center;gap:12px;font-size:.92rem;font-weight:600;color:#4a2f19;cursor:pointer}.operator-row input{width:20px;height:20px;accent-color:#ff7a1a}.operator-link{font-size:.92rem;font-weight:700;color:#a83c08;text-decoration:underline;text-underline-offset:3px}#op-apply{padding:13px;border:none;border-radius:14px;background:linear-gradient(135deg,#ff9d4d,#ff7a1a 55%,#f2540a);color:#fff;font-size:.95rem;font-weight:700;font-family:inherit}#op-close{padding:10px;border:none;border-radius:14px;background:#f0e6dc;color:#7a3a0c;font-size:.9rem;font-weight:700;font-family:inherit}.home-fab{position:absolute;left:max(14px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));z-index:5;width:40px;height:40px;border:none;border-radius:50%;background:#1e140a8c;font-size:1.05rem;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 14px #00000040}.home-fab-top{bottom:auto;top:max(14px,env(safe-area-inset-top))}
