:root{color:#23235f;font-synthesis:none;background:#b8d594;font-family:Arial,Apple SD Gothic Neo,sans-serif}*{box-sizing:border-box}body{min-width:280px;margin:0}main{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;display:flex}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline-offset:6px;outline:5px solid #ff29ad}button[hidden],[hidden]{display:none!important}#viewport{flex-shrink:0;position:relative;overflow:hidden}#stage{transform-origin:0 0;isolation:isolate;width:2048px;height:1280px;position:absolute;overflow:hidden}.layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.backdrop{z-index:0}.concept-decoration{z-index:0;pointer-events:none;position:absolute}#photo{z-index:1;background:#253044;position:absolute;overflow:hidden}#camera{object-fit:cover;width:100%;height:100%;position:absolute;transform:scaleX(-1)}#frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#welcome{z-index:10;background:#fff;place-items:center;padding:24px;display:grid;position:fixed;inset:0}#camera-status{text-align:center;width:min(600px,85vw);font-size:16px;line-height:1.6;position:absolute;top:calc(50% + 100px);left:50%;transform:translate(-50%)}#start-camera{color:#24245e;background:linear-gradient(#ffffa4,#ffafd6);border:2px solid #fff;border-radius:100px;width:min(560px,80vw);padding:20px 32px;font-size:clamp(24px,5vw,48px);font-weight:700;display:block;box-shadow:0 0 22px #ffb4ec}#start-camera:disabled{opacity:.65;cursor:wait}#start-camera.has-artwork{box-shadow:none;background:0 0;border:0;padding:0}#start-camera img{object-fit:contain;width:100%;height:auto;max-height:65dvh;display:block}.art-button{z-index:4;background:0 0;border:0;padding:0;transition:filter .15s,scale .15s;position:absolute}.art-button img{object-fit:contain;pointer-events:none;width:100%;height:100%}.art-button:hover:not(:disabled),.hand-hover{filter:brightness(1.12)drop-shadow(0 0 13px #ff80d7);scale:1.045}.arrow{border-radius:50%;width:129px;height:129px;top:574px}.prev{left:332px}.next{left:1588px}.arrow-image{pointer-events:none;background-image:url(/booth/arrows.png);background-repeat:no-repeat;background-size:1385px 129px;position:absolute;inset:0}.next .arrow-image{background-position:100%}.shutter{border-radius:50%;width:284px;height:145px;top:1032px;left:880px}.progress{border-radius:inherit;background:conic-gradient(#ff23ad var(--progress,0%),transparent 0);pointer-events:none;position:absolute;inset:-10px;-webkit-mask:radial-gradient(closest-side,#0000 calc(100% - 5px),#000 calc(100% - 4px));mask:radial-gradient(closest-side,#0000 calc(100% - 5px),#000 calc(100% - 4px))}.art-button:disabled{filter:saturate(.7);opacity:.75}#concepts{z-index:4;width:235px;height:119px;position:absolute;top:1044px;left:1675px}.concept-word{-webkit-mask-image:var(--concept-art);mask-image:var(--concept-art);-webkit-mask-image:var(--concept-art);pointer-events:none;background:#fff;position:absolute;inset:0;-webkit-mask-size:100% 300%;mask-size:100% 300%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}#concepts button[aria-current=true] .concept-word{background:#4b4f9e}#concepts button{background:0 0;border:0;border-radius:12px;width:100%;height:33.33%;position:absolute;left:0}#concept-0{top:0}#concept-1{top:33.33%}#concept-2{top:66.66%}.sparkles{pointer-events:none;z-index:3;width:360px;height:210px;position:absolute;top:1015px;left:1610px}#notice{text-align:center;color:#24245e;text-shadow:0 1px 8px #fff;z-index:6;width:1000px;font-size:34px;font-weight:700;position:absolute;top:165px;left:524px}#countdown{pointer-events:none;z-index:5;place-items:center;display:grid;position:absolute;inset:0}#countdown img{object-fit:contain;width:auto;max-width:90%;height:414px;max-height:90%;display:block}#flash{opacity:0;pointer-events:none;z-index:6;background:#fff;position:absolute;inset:0}.flashing{animation:.3s ease-out flash}@keyframes flash{0%{opacity:1}to{opacity:0}}#finger{pointer-events:none;z-index:30;background:#ff23ae;border-radius:50%;width:15px;height:15px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 5px #fff,0 0 15px #ff36b3,0 0 28px #ff67cb}.result{z-index:20;position:absolute;inset:0;overflow:hidden}.result-photo{object-fit:contain;display:block;position:absolute}.save-dialog-anchor{width:1386px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.save-dialog-enter{animation:.45s ease-out both save-enter}.save-dialog-art{aspect-ratio:1950/674;width:100%;animation:4s ease-in-out .45s infinite save-float;position:relative}.save-dialog-image{pointer-events:none;width:100%;height:auto;display:block}.save-choice{color:#0000;background:0 0;border:0;border-radius:50%;padding:0;position:absolute}.save-yes{width:15.8%;height:25%;top:49%;left:30.5%}.save-no{width:15.8%;height:25%;top:49%;left:53.6%}.save-choice:hover,.save-choice.hand-hover{box-shadow:0 0 20px #ff31c9,inset 0 0 10px #fff8}.save-choice .progress{inset:-5px}.save-choice:focus-visible{outline-offset:4px;outline:4px solid #ff20b5}@keyframes save-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes save-float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}#save-fallback{z-index:40;background:#fff;border-radius:22px;justify-content:center;align-items:center;gap:10px;max-width:95vw;padding:12px 18px;font-size:14px;display:flex;position:fixed;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 3px 20px #3334}#fallback-download{color:#fff;white-space:nowrap;background:#333376;border-radius:20px;padding:9px 16px}#dismiss-save{color:#333376;white-space:nowrap;background:0 0;border:0}footer{color:#192450;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;min-height:52px;padding:8px 16px;font-size:12px;display:flex}footer button{color:inherit;background:#fff8;border:1px solid #fff9;border-radius:20px;padding:6px 12px}footer span:last-child{opacity:.8}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:.01ms!important}}html,body,#app{width:100%;overflow-x:hidden}main{width:100%}#viewport{max-width:100vw}#stage{top:0;left:0}.intro-screen{z-index:100;background:#a78baf;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.intro-screen img{object-fit:contain;object-position:center;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;display:block;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.save-dialog-enter,.save-dialog-art{animation:none}}#frame-layers{pointer-events:none;position:absolute;inset:0}#frame-layers img{pointer-events:none;display:block;position:absolute}#finger{will-change:transform;top:0;left:0}
