:root{--bg:#0b0b0b;--fg:#fff;--accent:#ef4444;--accent-2:#fde047;--muted:#a3a3a3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}button{color:inherit;cursor:pointer;font-family:inherit}.app-frame{width:100%;height:100dvh;position:relative;overflow:hidden}.scene{flex-direction:column;display:flex;position:absolute;inset:0}.scene-loading{background:#fff;overflow:hidden}.splash-bg{object-fit:cover;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.splash-loading-bar-wrap{flex-direction:column;align-items:center;gap:8px;width:41.2%;display:flex;position:absolute;top:17.6%;left:50%;transform:translate(-50%)}.splash-loading-bar{background:#ffffff1a;border-radius:100px;width:100%;height:4px;overflow:hidden}.splash-loading-bar-fill{background:#fff;border-radius:100px;height:100%;transition:width .2s linear}.splash-loading-label{color:#fff;font-size:14px;font-weight:400;line-height:1.4;transition:opacity .3s}.scene-loading--ready .splash-loading-label{letter-spacing:.1em;font-weight:600;animation:.5s forwards splash-fade-in}.splash-logo{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:74px;height:48px;position:absolute;bottom:9.6%;left:50%;transform:translate(-50%)}.scene-loading--ready{cursor:pointer}@keyframes splash-fade-in{0%{opacity:0}to{opacity:1}}.scene-gate{background:linear-gradient(155.21deg,#a0cbe9 0%,#048cbf 100%);flex-direction:column;align-items:center;gap:10px;padding:7.9dvh 6.5% 3dvh;display:flex;overflow-y:auto}.gate-lang{z-index:10;align-items:center;gap:3px;display:flex;position:absolute;top:3dvh;right:6.4%}.gate-lang-btn{color:#fff;opacity:.55;background:0 0;border:none;padding:2px 4px;font-size:13px;font-weight:400}.gate-lang-btn.active{opacity:1;font-weight:700}.gate-lang-sep{color:#ffffff8c;font-size:13px}.gate-ticket-area{flex-direction:row;flex:none;justify-content:center;align-items:flex-start;width:100%;display:flex}.gate-ticket-container{aspect-ratio:329/786;isolation:isolate;width:calc(100vw - 48px);height:auto;position:relative}.gate-ticket{pointer-events:none;-webkit-user-select:none;user-select:none;z-index:2;width:100%;height:100%;position:absolute;inset:0}.gate-ticket-body{flex-direction:column;align-items:center;padding:0 7%;display:flex;position:absolute;inset:0}.gate-ticket-header-space{flex:0 0 13%}.gate-oval-wrap{aspect-ratio:1080/1920;z-index:1;width:57vw;position:absolute;top:13%;left:50%;overflow:hidden;transform:translate(-50%)}.gate-play-btn{background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;inset:0}.gate-play-icon{object-fit:contain;z-index:1;visibility:hidden;width:32px;height:32px;position:relative}.gate-tap-hint{z-index:3;align-items:center;gap:clamp(4px,1vw,8px);display:flex;position:absolute;bottom:calc(35% + 4px);left:50%;transform:translate(-50%)}.gate-tap-hint img{object-fit:contain;flex-shrink:0;width:clamp(10px,2vh,16px);height:clamp(10px,2vh,16px)}.gate-tap-hint span{color:#000;white-space:nowrap;font-size:clamp(9px,1.6vh,13px);font-weight:700;line-height:1}.gate-fullscreen{z-index:100;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gate-fullscreen video{object-fit:contain;width:100%;height:100%}.gate-fullscreen-close{background:0 0;border:none;width:56px;height:56px;padding:0;line-height:0;position:absolute;top:24px;right:24px}.gate-fullscreen-close img{object-fit:contain;width:56px;height:56px}.gate-oval-wrap video{object-fit:cover;width:100%;height:100%;display:block}.gate-steps{counter-reset:step;z-index:3;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;position:absolute;bottom:1.7vh;left:7%;right:7%}.gate-steps li{color:#000;counter-increment:step;white-space:pre-line;align-items:center;gap:20px;margin-top:1vh;padding:7px 0;font-size:clamp(12px,2vh,18px);font-weight:700;line-height:1.35;display:flex}.gate-step-highlight{color:#0073ef}.gate-steps li:before{content:counter(step, decimal-leading-zero);color:#000;flex-shrink:0;width:clamp(32px,8.5vw,40px);min-width:clamp(32px,8.5vw,40px);font-size:clamp(22px,7.5vw,28px);font-weight:100;line-height:1}.gate-cta{color:#fff;letter-spacing:.04em;z-index:3;white-space:nowrap;background:0 0;border:1.5px solid #fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:8px;width:100%;padding:15px 20px;font-size:15px;font-weight:700;display:flex}.gate-cta-icon{object-fit:contain;flex-shrink:0;width:20px;height:20px}.scene-permission{text-align:center;background:#0b0b0b;justify-content:center;align-items:center;gap:16px;padding:32px}.scene-permission .error{color:#fda4af;font-size:12px}.scene-filter-select{background:#000}.fs-lang{z-index:2;align-items:center;gap:8px;display:flex;position:absolute;top:24px;right:24px}.fs-lang-btn{color:#fff;background:0 0;border:none;padding:0;font-size:14px;font-weight:400;line-height:1}.fs-lang-btn.active{font-weight:700}.fs-title{text-align:center;color:#fff;white-space:pre-line;width:100%;margin:0 0 8px;font-size:24px;font-weight:400;line-height:1.2}.fs-btn-stack{z-index:2;flex-direction:column;gap:10px;width:87%;display:flex;position:absolute;bottom:9.6dvh;left:6.4%}.fs-btn{cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;border-radius:1000px;width:100%;height:80px;padding:8px;position:relative;overflow:hidden;box-shadow:0 4px 10px #0003}.fs-btn-gradient{pointer-events:none;background:linear-gradient(90deg,#9bc9e8,#00aeef);border-radius:1000px;position:absolute;inset:0}.fs-btn-icon{will-change:transform;z-index:1;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .3s;display:flex;position:absolute;top:8px;left:8px;box-shadow:1px 1px 10px #0003}.fs-btn.is-dragging .fs-btn-icon{transition:none}.fs-btn-icon img{filter:invert()}.fs-btn-label{color:#fff;text-align:right;pointer-events:none;z-index:1;font-family:Pretendard,sans-serif;font-size:32px;font-weight:700;line-height:100%;position:absolute;top:50%;right:40px;transform:translateY(-45%)}.fs-btn-ready{color:#fff;pointer-events:none;z-index:1;font-size:24px;font-weight:700;line-height:1;position:absolute;top:50%;left:40px;transform:translateY(-50%)}.fs-hint{text-align:center;color:#fff;z-index:2;width:87%;margin:0;font-size:16px;font-weight:400;line-height:1.4;position:absolute;bottom:4.9dvh;left:50%;transform:translate(-50%)}.filter-bottom{pointer-events:auto;flex-direction:column;align-items:center;gap:12px;display:flex}.exclamation-row{gap:12px;display:flex}.exclamation-btn{color:#0b0b0b;background:#fff;border:none;border-radius:999px;min-width:84px;padding:14px 24px;font-size:16px;font-weight:800}.exclamation-btn:nth-child(2){background:var(--accent);color:#fff}.filter-hint{color:#fff;text-align:center;text-shadow:0 1px 4px #0009;margin:0;font-size:12px}.scene-challenge{background:#000}.challenge-overlays{z-index:3;pointer-events:none;position:absolute;inset:0}.challenge-success-seq{object-fit:contain;pointer-events:none;z-index:5;width:65%;height:65%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.co-filter{aspect-ratio:1;object-fit:cover;width:100%;position:absolute;top:0;left:0}.co-txt{object-fit:contain;object-position:left bottom;width:60%;position:absolute;bottom:22dvh;left:0}.co-street{object-fit:cover;object-position:top;width:100%;height:22dvh;position:absolute;bottom:0;left:0}.co-location{filter:drop-shadow(0 0 3px #000);flex-direction:column;align-items:center;width:100%;padding:10px 24px;display:flex;position:absolute;top:20dvh;left:50%;transform:translate(-50%)}.co-location-text{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.co-location-en{color:#fff;font-size:14px;font-weight:700;line-height:1.4}.co-location-ko{color:#fff;font-size:14px;font-weight:400;line-height:1.4}.challenge-hud{z-index:2;pointer-events:none;flex-direction:column;justify-content:space-between;padding:20px;display:flex;position:absolute;inset:0}.hud-top,.hud-bottom{justify-content:space-between;align-items:center;display:flex}.hud-mid{justify-content:center;display:flex}.sticker{color:#fff;background:#000000a6;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:700}.sticker.location{background:var(--accent)}.sticker.situation{background:#000000b3;border:1px solid #fff;margin-top:12px}.rec{letter-spacing:.1em;background:#0009;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-flex}.rec-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1s infinite blink;display:inline-block}@keyframes blink{50%{opacity:.3}}.round-pill,.time-pill{background:#0009}.stt-log{color:#fff;pointer-events:none;flex-direction:column;gap:3px;max-width:60%;font-family:SFMono-Regular,ui-monospace,Menlo,monospace;font-size:11px;display:flex;position:absolute;bottom:80px;left:12px}.stt-log-title{letter-spacing:.3em;color:var(--muted);margin-bottom:2px;font-size:9px}.stt-log-line{word-break:break-all;background:#0000008c;border-radius:4px;align-items:baseline;gap:6px;padding:3px 8px;line-height:1.3;display:flex}.stt-log-line.interim{opacity:.7;font-style:italic}.stt-log-line.matched{background:#22c55e8c}.stt-log-line.miss{background:#ef444473}.stt-tag{min-width:10px;font-weight:700}.stt-text{flex:1}.stt-sim{opacity:.7;margin-left:4px;font-size:10px}.exclamation-target{text-align:center;letter-spacing:.1em;color:var(--accent-2);text-shadow:0 2px 16px #000000b3;font-size:20px;font-weight:800;position:absolute;bottom:90px;left:0;right:0}.scene-success{text-align:center;background:#2a1f12;justify-content:center;align-items:center;gap:16px;position:relative}.success-seq{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.success-tag{letter-spacing:.3em;color:#fff;font-size:11px}.success-headline{font-size:18px;font-weight:700}.success-big{color:var(--accent-2);text-shadow:0 4px #0b0b0b;font-size:64px;font-weight:900;animation:.4s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.4)}}.scene-result{background:linear-gradient(147deg,#a0cbe9 0%,#048cbf 100%);align-items:center;gap:12px;height:100%;padding:50px 0 32px;overflow-y:auto}.result-ticket{flex-direction:column;width:100%;display:flex}.result-ticket-upper{box-sizing:border-box;background-image:url(/assets/ui/result/ticket-upper.png);background-repeat:no-repeat;background-size:100% 100%;flex-direction:column;align-items:center;width:100%;padding:8% 12.27% 26px;display:flex;position:relative}.result-video-wrap{background:#000;border-radius:15px;flex-shrink:0;width:100%;overflow:hidden}.result-video-wrap video{width:100%;height:auto;display:block}.result-video-placeholder{aspect-ratio:283/613;background:#111;width:100%}.result-ticket-upper:after{content:"";pointer-events:none;border-bottom:1px dashed #d0d0d0;position:absolute;bottom:0;left:12.8%;right:12.8%}.result-ticket-lower{box-sizing:border-box;background-image:url(/assets/ui/result/ticket-lower.png);background-repeat:no-repeat;background-size:100% 100%;flex-direction:column;align-items:center;width:100%;padding:14px 11.73% 8%;display:flex}.result-social-prompt{color:#000;white-space:pre-line;width:100%;margin:0;padding:0;font-size:16px;font-weight:400;line-height:1.4}.result-info-rows{flex-direction:column;width:100%;margin-top:28px;display:flex}.result-info-row{align-items:center;gap:10px;height:76px;padding:8px 0;display:flex}.result-info-icon-wrap{flex-shrink:0;justify-content:center;align-items:center;width:83px;height:60px;display:flex}.result-info-icon{object-fit:contain;max-width:100%;max-height:100%}.result-info-text{color:#000;white-space:pre-line;flex:1;margin:0;font-size:clamp(11px,3vw,14px);font-weight:700;line-height:1.4}.result-actions{box-sizing:border-box;flex-direction:column;gap:10px;width:100%;padding:0 24px;display:flex}.cta-retry,.cta-share,.cta-download{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:100%;padding:16px;font-size:16px;font-weight:700;display:flex}.cta-btn-icon{flex-shrink:0;width:16px;height:16px}.cta-share .cta-btn-icon{filter:invert()}.cta-download{color:#000;background:#fff;border:none}.cta-download:disabled{opacity:.5}.cta-share{color:#000;background:#fff;border:none}.cta-share:disabled{opacity:.5}.cta-retry{color:#fff;background:0 0;border:1px solid #fff}
