:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lime:#caff35;--purple:#8e69ff;--violet:#c34cff;--ink:#190e2a;background:#10071b;font-family:Trebuchet MS,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}body{background:radial-gradient(at 50% 0,#352058 0%,#180e2b 52%,#0c0814 100%);min-height:100dvh}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--lime);outline-offset:3px}[hidden]{display:none!important}.app-shell{isolation:isolate;background:#160a25;width:min(100%,560px);min-height:100dvh;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 0 100px #0a0611aa}.welcome-screen,.photo-screen,.message-screen{min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 24px max(22px, env(safe-area-inset-bottom));flex-direction:column;display:flex;position:relative}.welcome-screen{min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) 20px max(17px, env(safe-area-inset-bottom));isolation:isolate;background:#160a25;overflow:hidden}.welcome-screen:before{content:"";z-index:0;pointer-events:none;transform-origin:50%;background:url(/art/monstruofertas-halloween.webp) 50% 39%/cover no-repeat;animation:28s ease-in-out infinite alternate scene-drift;position:absolute;inset:-1.5%;transform:scale(1.035)}.welcome-screen:after{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 62% 8%,#fff0c52b 0,#0000 18%),linear-gradient(#10071b78 0%,#15082236 24%,#17092720 53%,#10071ba8 100%);position:absolute;inset:0}.welcome-screen>*{z-index:1;position:relative}.brand-row{border-bottom:1px solid #ffffff26;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding-bottom:7px;display:flex}.brand-lockup{align-items:center;gap:9px;min-width:0;display:flex}.brand-mark{color:#1e0c30;background:linear-gradient(145deg, #deff74, var(--lime));border-radius:14px 14px 14px 5px;flex:none;place-items:center;width:42px;height:42px;font-size:26px;display:grid;box-shadow:0 0 22px #caff3566,0 5px 20px #caff3529}.brand-name{white-space:nowrap;flex-direction:column;gap:3px;line-height:1;display:flex}.brand-name strong{color:#fff;letter-spacing:.11em;text-shadow:0 1px 8px #140721;font-size:11px;font-weight:900}.brand-name small{color:var(--lime);letter-spacing:.25em;font-size:8px;font-weight:900}.brand-divider{background:#ffffff38;flex:none;width:1px;height:38px}.partner-logo{z-index:0;isolation:isolate;flex:none;place-items:center;width:236px;height:86px;padding:3px 6px;display:grid;position:relative}.partner-logo:before{content:"";z-index:-1;filter:drop-shadow(0 8px 14px #09031182);background:linear-gradient(108deg,#fff 0 77%,#ffc43d 79% 85%,#a52bff 88% 92%,#0000 94%);border-radius:58% 0 0 54%/92% 0 0 56%;position:absolute;inset:-14px -24px -14px -32px;transform:skew(-9deg)}.partner-logo img{object-fit:contain;width:100%;height:100%;display:block;position:relative}.welcome-copy{z-index:2;text-align:center;margin-top:clamp(22px,3.6vh,34px);position:relative}.eyebrow{color:#fff4ff;letter-spacing:.14em;text-shadow:0 0 10px #f2a0ff85;background:#210c36d9;border:1px solid #f47cffad;border-radius:999px;align-items:center;min-height:32px;padding:7px 13px;font-size:9px;font-weight:900;display:inline-flex;box-shadow:0 0 18px #d634ff45,inset 0 1px #ffffff26}h1{letter-spacing:-.045em;font-family:Trebuchet MS,system-ui,sans-serif}.welcome-copy h1{color:#fff;text-shadow:0 2px #6a32a2,0 5px #48206f,0 10px 18px #100518a8;max-width:470px;margin:13px auto 12px;font-size:clamp(40px,10.7vw,58px);line-height:.91}.welcome-copy h1 em{color:var(--lime);text-shadow:0 2px #86b817,0 5px #476d0a,0 10px 18px #100518a8;font-style:normal}.welcome-copy p{color:#f1e9fa;text-shadow:0 2px 10px #12071fcc;max-width:325px;margin:0 auto;font-size:14px;line-height:1.48}.welcome-art{isolation:isolate;height:clamp(270px,39svh,360px);min-height:250px;margin:0 -20px;position:relative;overflow:visible}.portal-stage{z-index:0;aspect-ratio:1;pointer-events:none;width:min(88vw,360px);max-width:calc(100% - 12px);position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)}.portal-halo{filter:blur(11px);background:radial-gradient(circle,#f5a1ff32 0 19%,#b840ff42 35%,#6820d237 52%,#0000 72%);border-radius:50%;animation:4.6s ease-in-out infinite portal-breathe;position:absolute;inset:8%}.portal-ring{mix-blend-mode:screen;border-radius:50%;position:absolute}.portal-ring-outer{background:conic-gradient(from 0deg, transparent 0 12%, #f1a8ff8c 17%, transparent 23% 42%, #d979ff9c 49%, transparent 57% 75%, #ffa0f199 84%, transparent 92%);border:1px solid #f5caff9c;animation:22s linear infinite portal-rotate;inset:7%;box-shadow:0 0 17px #ce65ff85,inset 0 0 24px #bd4aff58;-webkit-mask:radial-gradient(circle,#0000 60%,#000 62%);mask:radial-gradient(circle,#0000 60%,#000 62%)}.portal-ring-inner{border:2px solid #e98affb0;border-color:#e98affb0 #e98affb0 #a735ffb0 #ffffffb5;animation:15s linear infinite reverse portal-rotate;inset:19%;transform:rotateX(10deg);box-shadow:0 0 21px #df65ff8c,inset 0 0 22px #b44bff45}.portal-core{filter:blur(5px);background:radial-gradient(circle,#f39cff23,#8f2dff1c 50%,#0000 74%);border-radius:50%;position:absolute;inset:31%}.portal-particle{z-index:2;background:#f9dcff;border-radius:50%;width:6px;height:6px;animation:4.2s ease-in-out infinite particle-float;position:absolute;box-shadow:0 0 13px 4px #dc75ffad}.particle-one{top:18%;left:22%}.particle-two{width:4px;height:4px;animation-delay:-1.3s;top:33%;right:14%}.particle-three{background:var(--lime);width:5px;height:5px;animation-delay:-2.2s;bottom:29%;left:13%;box-shadow:0 0 15px 5px #caff3573}.portal-platform{z-index:1;background:radial-gradient(#ed9eff66 0,#7127aa35 51%,#290d4a 76%);border:2px solid #f19aff;border-radius:50%;width:74%;height:14%;position:absolute;bottom:9%;left:50%;transform:translate(-50%)perspective(240px)rotateX(62deg);box-shadow:0 0 13px #f064ffb8,0 0 35px #9e32ff85,inset 0 0 17px #ffbbff83}.scene-canvas{z-index:2;width:100%;height:100%;position:relative;overflow:hidden}.character-canvas{outline:none;width:100%;height:100%;display:block}.welcome-art .scene-canvas{z-index:2}.welcome-art .character-canvas{transform-origin:50% 55%;filter:drop-shadow(0 18px 20px #090514aa);animation:4.6s ease-in-out infinite mascot-breathe;transform:scale(1.22)}.welcome-spark{color:var(--lime);z-index:3;opacity:.95;text-shadow:0 0 18px;font-size:24px;animation:5s ease-in-out infinite particle-float;position:absolute}.spark-one{top:28%;left:18%}.spark-two{color:#e3bdff;font-size:17px;animation-delay:-1.5s;top:38%;right:18%}.spark-three{color:#fff0ff;font-size:28px;animation-delay:-2.6s;top:19%;right:29%}.art-chip{z-index:4;white-space:nowrap;color:#fff1ff;letter-spacing:.13em;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#170821dc;border:1px solid #e38cff9c;border-radius:20px;align-items:center;gap:8px;padding:9px 15px;font-size:8px;font-weight:900;display:flex;position:absolute;bottom:2px;left:50%;transform:translate(-50%);box-shadow:0 0 20px #ba42ff54,inset 0 1px #fff2}.chip-pulse,.live-indicator>span{background:var(--lime);border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #caff35bb}.load-status{z-index:4;white-space:nowrap;color:#fff0ff;text-shadow:0 1px 6px #100516;background:#170a2b9c;border:1px solid #f0a1ff40;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:10px;transition:color .2s;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.load-status.is-ready{color:#e0ffc0}.loader-dot,.hint-spinner,.button-spinner{border:2px solid #ffffff50;border-top-color:var(--lime);border-radius:50%;width:13px;height:13px;animation:.8s linear infinite spin}.welcome-actions{z-index:4;margin-top:0;padding-top:3px;position:relative}.button{letter-spacing:.08em;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:56px;font-size:12px;font-weight:800;text-decoration:none;transition:transform .16s,filter .16s,opacity .16s;display:flex}.button:active{transform:scale(.985)}.button:disabled{cursor:progress;opacity:.72;filter:none}.button-primary{color:#201333;background:linear-gradient(105deg,#d6ff54,#bbf936);border:1px solid #efff81;position:relative;box-shadow:0 0 0 2px #7db61b62,0 10px 32px #bef7352e,inset 0 1px #ffffff80}.welcome-actions .button-primary{background:linear-gradient(105deg,#dfff4d,#c3fa26 58%,#a9ec18);border:1px solid #f2ff77;border-radius:999px;min-height:64px;animation:3.8s ease-in-out infinite button-glow;box-shadow:0 0 0 3px #7db61b8c,0 0 34px #d0ff3570,inset 0 2px #ffffffa3,inset 0 -3px #81b90055}.welcome-actions .button-primary:hover{filter:brightness(1.07)}.button-camera{background:#ffffff54;border:1px solid #32184132;border-radius:50%;place-items:center;width:42px;height:42px;font-size:19px;display:grid;position:absolute;left:15px;box-shadow:inset 0 1px #ffffff82}.welcome-actions .button-primary .button-arrow{font-size:26px;position:absolute;right:20px}.welcome-actions .button-primary>span:nth-child(2){color:#190c29;text-shadow:0 1px #ffffff45;padding:0 47px}.welcome-actions .button-ar{text-shadow:0 1px #ffffff45;background:linear-gradient(105deg,#dfff4d,#c3fa26 58%,#a9ec18);border:1px solid #efff81;border-radius:999px;min-height:68px;margin-top:0;box-shadow:0 0 0 3px #7db61b8c,0 0 34px #d0ff3570,inset 0 2px #ffffffa3,inset 0 -3px #81b90055}.welcome-actions .button-ar>span:first-child{padding:0 46px}.welcome-actions .button-ar>span:nth-child(2){color:#190c29;padding:0}.welcome-actions .button-ar:disabled{color:#e5fa9b;text-shadow:0 0 10px #caff3544;opacity:.8;cursor:not-allowed;background:linear-gradient(108deg,#333d1f,#282d1d 58%,#241733);border-color:#bbdf5e9c;animation:none;box-shadow:0 0 0 2px #889e3540,0 0 18px #caff3522,inset 0 1px #ffffff20}.button-start-camera{color:#fff;background:linear-gradient(108deg,#28153fdf,#1c102fe8 58%,#241239df);border:1px solid #d49aff9c;min-height:58px;margin-top:10px;position:relative;box-shadow:0 8px 26px #10041d66,inset 0 1px #ffffff25}.button-start-camera:hover:not(:disabled){background:linear-gradient(108deg,#3c205b,#25143d 58%,#32184b);border-color:#e9bdff}.button-start-camera>span:nth-child(2){padding:0 46px}.button-start-camera .button-arrow{color:var(--lime);position:absolute;right:20px}.button-start-camera.button-primary{color:#201333;background:linear-gradient(105deg,#d6ff54,#bbf936);border:1px solid #efff81;box-shadow:0 0 0 2px #7db61b62,0 10px 32px #bef7352e,inset 0 1px #ffffff80}.install-button{min-height:42px;margin:0 auto}.button-ar:hover:not(:disabled),.button-start-camera:active{filter:brightness(1.08)}.ar-support-note{color:#f1e2fc;text-align:center;text-shadow:0 1px 8px #11051c;margin:8px 4px 0;font-size:10px;line-height:1.45}.button-arrow{font-size:21px;line-height:1}.camera-note{color:#f5eaff;background:#200d37c9;border:1px solid #d69bff66;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:fit-content;max-width:100%;margin:12px auto 0;padding:9px 14px;font-size:10px;display:flex;box-shadow:0 0 18px #9835ff26,inset 0 1px #ffffff1d}.camera-note span{color:var(--lime);text-shadow:0 0 10px #caff35;font-size:15px}.welcome-footer{color:#ded0f2;letter-spacing:.13em;text-shadow:0 1px 8px #11051c;justify-content:space-between;gap:10px;margin-top:auto;padding-top:18px;font-size:8px;font-weight:900;display:flex}.experience-screen{z-index:10;background:#160d25;position:fixed;inset:0}.experience-stage{isolation:isolate;width:min(100%,480px);height:100svh;margin:0 auto;position:relative;overflow:hidden}.stage-background{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.camera-video{transform:none}.experience-stage.is-mirrored .camera-video,.experience-stage.is-mirrored .character-canvas{transform:scaleX(-1)}.experience-stage>.scene-canvas{z-index:2;position:absolute;inset:0}.stage-vignette{z-index:3;pointer-events:none;background:linear-gradient(#13091e9c 0%,#0000 22% 72%,#12091a50 83%,#13091ee0 100%);position:absolute;inset:0}.experience-stage.is-ar{background:0 0}.experience-stage.is-ar .stage-vignette{display:none}.ar-ui-layer{z-index:4;pointer-events:none;position:absolute;inset:0}.ar-ui-layer .controls-panel{pointer-events:none}.ar-ui-layer button,.ar-ui-layer input{pointer-events:auto}.ar-mode-badge{color:var(--lime)}.experience-stage.is-ar .controls-panel{background:linear-gradient(#0000,#140b209c 25%,#140b20d9)}.experience-stage.is-ar .icon-button,.experience-stage.is-ar .live-indicator,.experience-stage.is-ar .mode-badge,.experience-stage.is-ar .stage-hint{-webkit-backdrop-filter:none;backdrop-filter:none}.stage-topbar{z-index:5;inset:max(15px, env(safe-area-inset-top)) 17px auto;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute}.icon-button{width:44px;height:44px;color:var(--lime);-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);cursor:pointer;pointer-events:auto;background:linear-gradient(145deg,#281641e8,#170b29e8);border:1px solid #d49aff80;border-radius:16px;padding:0;font-size:24px;transition:transform .16s,border-color .16s,background .16s;box-shadow:0 0 18px #8d3acf36,inset 0 1px #ffffff24}.icon-button:hover{background:linear-gradient(145deg,#3a2057,#201133);border-color:#f0c9ff;transform:translateY(-1px)}.live-indicator,.mode-badge{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;letter-spacing:.12em;background:#1b0d2fe0;border:1px solid #d49aff70;border-radius:999px;align-items:center;gap:8px;padding:9px 12px;font-size:8px;font-weight:800;display:flex;box-shadow:inset 0 1px #ffffff1b,0 5px 20px #09031155}.live-indicator b{font-size:8px}.mode-badge{color:var(--lime);white-space:nowrap;font-size:8px;position:absolute;left:50%;transform:translate(-50%)}.mode-badge span{background:var(--lime);border-radius:50%;width:6px;height:6px}.stage-hint{z-index:5;top:max(70px, calc(env(safe-area-inset-top) + 64px));color:#fff;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#1b0d2fe8;border:1px solid #d49aff70;border-radius:999px;align-items:center;gap:7px;width:max-content;max-width:90%;padding:10px 15px;font-size:10px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #09031166,inset 0 1px #ffffff1b}.stage-hint>span:first-child{color:var(--lime)}.stage-hint .hint-spinner{width:11px;height:11px}.photo-countdown{z-index:19;color:#fff;text-align:center;pointer-events:none;background:radial-gradient(circle,#2e1455a8,#150b27b0 62%,#0c0614a6);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.photo-countdown[hidden]{display:none}.countdown-number{aspect-ratio:1;color:#d6ff50;text-shadow:0 0 26px #caff3599;background:radial-gradient(circle,#caff3540,#6c3bb42b 68%);border:1px solid #eaff8a;border-radius:50%;place-items:center;width:clamp(104px,30vw,158px);font-size:clamp(56px,18vw,92px);font-weight:900;line-height:1;display:grid;box-shadow:0 0 0 8px #caff351a,0 0 46px #caff3566,inset 0 0 24px #ffffff21}.countdown-number.is-counting{animation:.72s cubic-bezier(.16,1,.3,1) both countdown-pop}.photo-countdown p{letter-spacing:.04em;background:#1a0d2de8;border:1px solid #d49aff5c;border-radius:999px;margin:0;padding:8px 14px;font-size:12px;font-weight:700}@keyframes countdown-pop{0%{opacity:.35;transform:scale(.64)}to{opacity:1;transform:scale(1)}}.controls-panel{z-index:6;padding:15px 18px max(19px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);background:linear-gradient(#291641e8,#1b0d2ff5 30%,#140b20fc);border:1px solid #d49aff70;border-bottom:0;border-radius:28px 28px 0 0;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -14px 44px #0a041d99,inset 0 1px #fff2}.control-sliders{grid-template-columns:1fr 1fr;gap:16px;padding:7px 3px 10px;display:grid}.slider-control{color:#eadcf6;letter-spacing:.15em;gap:6px;font-size:9px;font-weight:900;display:grid}.slider-control>span{color:#e5c4ff;text-shadow:0 0 12px #bd61ff55}input[type=range]{width:100%;accent-color:var(--lime);touch-action:pan-y;cursor:pointer;height:16px;margin:0}.control-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:11px;display:flex}.secondary-button{color:#f8f0ff;letter-spacing:.055em;cursor:pointer;background:linear-gradient(135deg,#33204aeb,#1b102ce8);border:1px solid #c37df27a;border-radius:999px;min-height:44px;padding:0 13px;font-size:9px;font-weight:900;transition:transform .16s,border-color .16s,background .16s,color .16s;box-shadow:inset 0 1px #ffffff18,0 5px 16px #08030f45}.secondary-button:hover{color:#fff;background:linear-gradient(135deg,#492766,#27153d);border-color:#e4aaff}.secondary-button:active{border-color:var(--lime);transform:scale(.97)}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.secondary-button span{color:var(--lime);vertical-align:-1px;text-shadow:0 0 12px #caff3577;margin-right:3px;font-size:14px}.button-capture{color:#241538;letter-spacing:.1em;background:linear-gradient(105deg,#dfff4d,#c3fa26 58%,#a9ec18);border:1px solid #efff81;border-radius:999px;min-height:62px;font-weight:900;box-shadow:0 0 0 2px #7db61b62,0 8px 30px #b8ef3548,inset 0 2px #ffffffa3,inset 0 -3px #81b90055}.button-capture:hover:not(:disabled){filter:brightness(1.07)}.button-capture:active{transform:scale(.985)}.shutter-icon{border:2px solid #241538;border-radius:50%;width:20px;height:20px;position:relative}.shutter-icon:after{content:"";background:#241538;border-radius:50%;position:absolute;inset:4px}.privacy-note{text-align:center;color:#d7c8e6;margin:10px 0 0;font-size:9px}.privacy-note span{color:var(--lime);padding-right:4px}.capture-flash{z-index:20;opacity:0;pointer-events:none;background:#fff;position:absolute;inset:0}.is-capturing .capture-flash{animation:.3s ease-out flash}.toast{z-index:30;left:50%;bottom:max(95px, calc(env(safe-area-inset-bottom) + 90px));opacity:0;pointer-events:none;color:#fff;text-align:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#302044f2,#190e2df5);border:1px solid #d49aff70;border-radius:999px;max-width:calc(100vw - 32px);padding:12px 16px;font-size:12px;transition:transform .2s,opacity .2s;position:fixed;transform:translate(-50%,12px);box-shadow:0 10px 35px #08030f88,inset 0 1px #ffffff1b}.toast.is-visible{opacity:1;transform:translate(-50%)}.test-diagnostics{z-index:40;top:max(108px, calc(env(safe-area-inset-top) + 102px));color:#fff;pointer-events:none;background:#120a20e8;border:1px solid #ffffff35;border-radius:10px;width:min(190px,48vw);padding:8px 9px;font:9px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;right:7px;box-shadow:0 5px 18px #0006}.test-diagnostics>strong{color:var(--lime);letter-spacing:.1em;font-size:8px}.test-diagnostics dl{gap:2px;margin:5px 0 0;display:grid}.test-diagnostics dl>div{grid-template-columns:42px 1fr;gap:5px;min-width:0;display:grid}.test-diagnostics dt{color:#cbbde0}.test-diagnostics dd{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.message-screen{text-align:center;justify-content:center;align-items:center}.message-icon{width:76px;height:76px;color:var(--lime);background:#caff3512;border:1px solid #d0ff5a77;border-radius:24px 24px 24px 8px;place-items:center;margin-bottom:25px;font-size:34px;display:grid}.message-screen h1{max-width:360px;margin:12px 0 8px;font-size:34px;line-height:1.05}.message-screen p{color:#cbbfd9;max-width:320px;margin:0 0 24px;font-size:14px;line-height:1.5}.text-button{color:#d3c4e5;cursor:pointer;background:0 0;border:0;min-height:44px;margin:6px auto;padding:11px 9px;font-size:11px;font-weight:700;transition:color .16s,text-shadow .16s;display:block}.text-button:hover{color:var(--lime);text-shadow:0 0 12px #caff354d}.button:focus-visible,.icon-button:focus-visible,.secondary-button:focus-visible,.text-button:focus-visible,input[type=range]:focus-visible{outline-offset:3px;outline:2px solid #f0ff9a}.photo-screen{align-items:center}.photo-header{text-align:center;width:100%;color:var(--lime);letter-spacing:.17em;grid-template-columns:42px 1fr 42px;align-items:center;font-size:11px;font-weight:800;display:grid}.photo-header .icon-button{justify-self:start}.photo-spark{color:#d9b9ff;justify-self:end;font-size:25px}.photo-frame{background:#2a1941;border:1px solid #d49aff70;border-radius:24px;width:min(100%,390px);max-height:min(57svh,580px);margin:auto 0 9px;overflow:hidden;box-shadow:0 0 0 3px #7135a33d,0 20px 60px #09050e88}.photo-frame img{object-fit:contain;width:100%;height:100%;max-height:min(57svh,580px);display:block}.photo-caption{color:#d6c9e6;margin:7px 0 16px;font-size:12px}.photo-actions{gap:8px;width:100%;margin-bottom:auto;display:grid}.download-button{color:#201333}.button-outline{color:#fff;background:linear-gradient(108deg,#28153fdf,#1c102fe8 58%,#241239df);border:1px solid #d49aff9c;box-shadow:0 8px 26px #10041d66,inset 0 1px #ffffff25}.button-outline:hover{background:linear-gradient(108deg,#3c205b,#25143d 58%,#32184b);border-color:#e9bdff}.photo-actions .text-button{margin:0 auto}.brand-frame-toggle{color:#f7efff;cursor:pointer;background:linear-gradient(110deg,#291641,#1d102e);border:1px solid #d49aff70;border-radius:16px;align-items:center;gap:12px;min-height:56px;padding:10px 14px;display:flex}.brand-frame-toggle:focus-within{outline:2px solid var(--lime);outline-offset:2px}.brand-frame-toggle input{width:20px;height:20px;accent-color:var(--lime);flex:none}.brand-frame-toggle span{text-align:left;gap:3px;display:grid}.brand-frame-toggle strong{color:var(--lime);letter-spacing:.1em;font-size:10px}.brand-frame-toggle small{color:#d6c9e6;font-size:10px;line-height:1.3}.photo-screen .welcome-footer{width:100%;margin-top:18px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes flash{0%{opacity:.85}to{opacity:0}}@keyframes scene-drift{0%{transform:scale(1.035)translate(-3px,2px)}to{transform:scale(1.055)translate(3px,-3px)}}@keyframes portal-rotate{to{rotate:360deg}}@keyframes portal-breathe{0%,to{opacity:.58;transform:scale(.94)}50%{opacity:1;transform:scale(1.04)}}@keyframes particle-float{0%,to{opacity:.5;translate:0 3px}50%{opacity:1;translate:0 -9px}}@keyframes mascot-breathe{0%,to{transform:scale(1.22)translateY(0)}50%{transform:scale(1.245)translateY(-2px)}}@keyframes button-glow{0%,to{box-shadow:0 0 0 3px #7db61b8c,0 0 24px #d0ff3550,inset 0 2px #ffffffa3,inset 0 -3px #81b90055}50%{box-shadow:0 0 0 3px #a3dc2eaa,0 0 39px #d0ff3599,inset 0 2px #ffffffbd,inset 0 -3px #81b90055}}@keyframes hero-enter{0%{opacity:0;translate:0 12px}to{opacity:1;translate:0}}.brand-row{animation:.72s cubic-bezier(.18,.72,.25,1) both hero-enter}.welcome-copy{animation:.78s cubic-bezier(.18,.72,.25,1) 80ms both hero-enter}.welcome-art{animation:.86s cubic-bezier(.18,.72,.25,1) .16s both hero-enter}.welcome-actions{animation:.8s cubic-bezier(.18,.72,.25,1) .24s both hero-enter}.welcome-footer{animation:.8s cubic-bezier(.18,.72,.25,1) .32s both hero-enter}@media (width>=600px){body{padding:20px 0}.app-shell{border:1px solid #ffffff24;border-radius:30px;min-height:calc(100dvh - 40px)}.welcome-screen{min-height:calc(100dvh - 40px);padding:22px 27px 20px}.welcome-screen,.photo-screen,.message-screen{min-height:calc(100dvh - 40px)}.welcome-art{height:clamp(310px,40svh,390px);margin-left:-27px;margin-right:-27px}.portal-stage{width:min(72vw,390px)}.welcome-copy h1{font-size:clamp(50px,7vw,64px)}.experience-screen{position:fixed}.experience-stage{border-radius:20px;height:min(100svh,900px);margin:0 auto}}@media (height<=720px) and (width>=480px){.welcome-screen{padding-top:max(12px, env(safe-area-inset-top));padding-bottom:max(12px, env(safe-area-inset-bottom))}.welcome-art{height:250px;min-height:225px}.welcome-copy{margin-top:16px}.welcome-copy h1{margin-top:9px;margin-bottom:8px;font-size:45px}.welcome-actions .button-primary,.button-ar{min-height:54px}.camera-note{margin-top:8px;padding-block:7px}.welcome-footer{padding-top:10px}}@media (width<=440px){.brand-row{gap:0}.brand-divider{display:none}.brand-name strong{letter-spacing:.06em;font-size:9px}.brand-name small{letter-spacing:.2em;font-size:7px}.partner-logo{width:176px;height:64px;padding:3px 5px}.partner-logo:before{inset:-8px -10px -10px 0}}@media (width<=380px){.welcome-screen{padding-left:16px;padding-right:16px}.brand-row{gap:0}.brand-mark{width:38px;height:38px;font-size:23px}.brand-name strong{font-size:9px}.brand-name small{font-size:7px}.brand-divider{height:31px}.partner-logo{width:176px;height:64px;padding:3px 5px}.welcome-copy h1{font-size:clamp(37px,10.5vw,42px)}.welcome-copy p{font-size:13px}.welcome-art{height:clamp(255px,36svh,300px);margin-left:-16px;margin-right:-16px}.portal-stage{width:min(88vw,320px)}.welcome-actions .button-primary{min-height:58px;font-size:11px}.button-camera{width:36px;height:36px;left:11px}.welcome-actions .button-primary .button-arrow{right:15px}.button-ar{min-height:54px;font-size:10px}.camera-note{padding-inline:10px;font-size:9px}.welcome-footer{letter-spacing:.09em;font-size:7px}}@media (orientation:landscape) and (height<=520px){.experience-screen{overflow:hidden}.experience-stage{border-radius:0;width:100%;max-width:960px;height:100dvh}.controls-panel{left:auto;right:max(10px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(18px)saturate(1.15);backdrop-filter:blur(18px)saturate(1.15);background:linear-gradient(145deg,#291641ed,#140b20ef);border:1px solid #d49aff70;border-radius:24px;width:min(250px,30vw);max-height:calc(100dvh - 16px);padding:12px;top:50%;bottom:auto;overflow-y:auto;transform:translateY(-50%);box-shadow:0 10px 35px #08030f99,inset 0 1px #fff2}.control-sliders{grid-template-columns:1fr;gap:8px;padding:4px 2px 8px}.control-actions{flex-wrap:wrap;gap:6px;margin-bottom:8px}.secondary-button{flex:auto}.button-capture{min-height:50px}.privacy-note{margin-top:6px;font-size:8px}.stage-hint{text-align:left;width:auto;max-width:calc(100vw - 290px);left:14px;transform:none}.stage-topbar{right:12px}.mode-badge{left:70px;transform:none}.photo-screen .photo-frame,.photo-screen .photo-frame img{max-height:min(66dvh,360px)}}html[data-visual-effects=lite] .welcome-screen:before,html[data-visual-effects=lite] .portal-halo,html[data-visual-effects=lite] .portal-ring,html[data-visual-effects=lite] .welcome-art .character-canvas,html[data-visual-effects=lite] .welcome-spark,html[data-visual-effects=lite] .welcome-actions .button-primary{animation:none}html[data-visual-effects=lite] .portal-halo{filter:none;opacity:.72}html[data-visual-effects=lite] .portal-particle{display:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
