:root{--app-max-width:430px;--app-x:clamp(20px, 6.5vw, 28px);--app-safe-top:env(safe-area-inset-top,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-space-xs:clamp(6px, 1dvh, 10px);--app-space-sm:clamp(10px, 1.6dvh, 16px);--app-space-md:clamp(16px, 2.6dvh, 24px);--app-space-lg:clamp(24px, 4dvh, 40px);--app-space-xl:clamp(36px, 6dvh, 64px);--app-bottom-button-height:clamp(52px, 7dvh, 60px);--app-bottom-nav-height:58px}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;padding:0}body{color:#333;-webkit-text-size-adjust:100%;background:#fff;font-family:Inter,system-ui,sans-serif;overflow-x:hidden}button,input,textarea{font:inherit}.app-page{width:100%;max-width:var(--app-max-width);min-height:100dvh;margin:0 auto;overflow-x:hidden}.app-screen{min-height:100dvh;padding:calc(var(--app-safe-top) + var(--app-space-lg)) var(--app-x) calc(var(--app-safe-bottom) + var(--app-space-md))}.app-screen-grid{min-height:100dvh;padding:calc(var(--app-safe-top) + var(--app-space-lg)) var(--app-x) calc(var(--app-safe-bottom) + var(--app-space-md));gap:var(--app-space-md);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.app-bottom-actions{flex-shrink:0;gap:12px;width:100%;display:flex;position:static}.app-bottom-actions button{min-height:var(--app-bottom-button-height);flex:1}.start-page{color:#121212;background:#fff;width:100%;min-height:100dvh;font-family:Pretendard Variable,Pretendard,Inter,system-ui,sans-serif}.start-page-shell{width:min(100%, var(--app-max-width));min-height:100dvh;padding:calc(var(--app-safe-top) + clamp(24px, 4dvh, 34px)) var(--app-x) calc(var(--app-safe-bottom) + var(--app-space-md));grid-template-rows:1fr auto auto;align-items:end;margin:0 auto;display:grid}.start-main-image{object-fit:contain;place-self:center;width:min(78vw,330px);max-height:48dvh;display:block}.start-guide-text{color:#333;letter-spacing:0;text-align:center;margin:0 0 clamp(24px,4dvh,34px);font-size:clamp(20px,5.4vw,24px);font-weight:800;line-height:1.45}.start-festival-button{color:#fff;letter-spacing:0;cursor:pointer;background:#121212;border:0;border-radius:18px;width:100%;min-height:clamp(60px,8dvh,72px);font-size:clamp(19px,5.2vw,22px);font-weight:800;line-height:1.2}.start-festival-button:active{transform:translateY(2px)}.start-festival-button:disabled{cursor:wait;opacity:.78}.ar-permission-backdrop{z-index:10000;background:#000000eb;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.ar-permission-dialog{color:#101010;text-align:center;background:#fff;border-radius:23px;flex-direction:column;justify-content:center;align-items:center;width:min(74vw,328px);min-height:212px;padding:clamp(20px,5vw,32px) clamp(16px,4vw,34px) clamp(18px,4vw,26px);display:flex;box-shadow:0 26px 70px #00000057}.ar-permission-dialog.blocked{min-height:162px}.ar-permission-dialog h2{color:#0d0d0d;letter-spacing:0;margin:0;font-size:clamp(15px,4.1vw,23px);font-weight:900;line-height:1.45}.ar-permission-dialog h2 span{color:#ff5638}.ar-permission-dialog p{color:#151515;letter-spacing:0;margin:clamp(12px,3vw,16px) 0 clamp(14px,4vw,20px);font-size:clamp(11px,3vw,16px);font-weight:700;line-height:1.5}.ar-permission-primary{color:#fff;letter-spacing:0;cursor:pointer;background:#ff5638;border:0;border-radius:999px;justify-content:center;align-items:center;min-width:min(100%,168px);min-height:44px;padding:0 16px;font-size:clamp(11px,3vw,15px);font-weight:900;line-height:1.15;display:inline-flex;box-shadow:0 10px 24px #ff563838}.ar-permission-primary:active{transform:translateY(2px)}.ar-permission-primary:disabled{cursor:wait;opacity:.72}.home-page{color:#121212;background:#fff;width:100%;min-height:100dvh;font-family:Pretendard Variable,Pretendard,Inter,system-ui,sans-serif;overflow-x:hidden}.home-page.loading{background:#f8fafc;justify-content:center;align-items:center;display:grid}.loading-spinner{color:#111827;font-size:16px;font-weight:700}.home-app-shell{width:100%;min-height:100dvh;padding-bottom:calc(var(--app-bottom-nav-height) + var(--app-safe-bottom) + var(--app-space-md));background:#fff;position:relative;overflow-x:hidden}.home-content-gutter{width:100%;padding-left:max(var(--app-x), env(safe-area-inset-left,0px));padding-right:max(var(--app-x), env(safe-area-inset-right,0px))}.home-topbar{width:100%;padding:calc(var(--app-safe-top) + var(--app-space-md)) var(--app-x) 0;background:#fff}.home-topbar .home-content-gutter{padding-left:0;padding-right:0}.home-topbar-content{justify-content:space-between;align-items:center;height:auto;display:flex}.home-topbar h1{color:#111;letter-spacing:0;margin:0;font-size:20px;font-weight:700;line-height:1}.help-guide-btn{color:#111;letter-spacing:-.03em;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:auto;padding:0;font-size:14px;font-weight:800;line-height:1;display:inline-flex;transform:translateY(-5px)}.help-guide-btn svg{stroke-width:2.4px;flex-shrink:0;width:16px;height:16px}.help-guide-btn span{line-height:1}.help-guide-backdrop{z-index:9999;background:#00000073;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.help-guide-popup{color:#111;text-align:center;background:#fff;border-radius:28px;width:min(100%,360px);padding:34px 22px 22px;position:relative;box-shadow:0 18px 50px #00000047}.help-guide-popup h2{margin:4px 0 20px;font-size:24px;font-weight:900}.help-guide-list{text-align:left;flex-direction:column;gap:10px;display:flex}.help-guide-list p{color:#111;background:#f5f8ff;border-radius:16px;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-size:15px;font-weight:700;line-height:1.45;display:flex}.help-guide-list strong{color:#fff;background:#0066d9;border-radius:999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:900;display:inline-flex}.help-guide-notice{color:#6b4300;text-align:left;background:#fff7e6;border-radius:16px;margin-top:14px;padding:14px;font-size:14px;font-weight:800;line-height:1.45}.help-guide-confirm{color:#fff;cursor:pointer;background:#0066d9;border:0;border-radius:999px;width:100%;height:52px;margin-top:22px;font-size:17px;font-weight:900}.home-poster{background:#fff;place-items:center;width:100%;max-width:100%;min-height:clamp(240px,38dvh,320px);display:grid;overflow:hidden}.home-poster img{object-fit:contain;width:100%;height:auto;display:block}.home-poster p{color:#000;text-align:center;letter-spacing:0;margin:0;font-size:clamp(22px,6vw,26px);font-weight:700;line-height:1.5}.home-stamp-panel{margin-top:var(--app-space-sm);background:#f7f7f7;border-radius:12px;padding:22px 20px 24px}.home-stamp-panel h2{letter-spacing:0;margin:0 0 18px;font-size:clamp(20px,5.4vw,24px);font-weight:800;line-height:1}.home-stamp-grid{grid-template-columns:repeat(4,1fr);justify-items:center;gap:16px 12px;display:grid}.home-stamp-slot{color:#fff;background:#ddd;border-radius:50%;place-items:center;width:clamp(56px,16.5vw,72px);min-width:56px;height:clamp(56px,16.5vw,72px);min-height:56px;display:grid;overflow:hidden}.home-stamp-slot.filled{background:#737373;border:0}.home-stamp-slot.reward{color:#121212;background:#fff}.home-bottom-nav{width:100%;min-height:calc(var(--app-bottom-nav-height) + var(--app-safe-bottom));padding-bottom:var(--app-safe-bottom);z-index:30;background:#fff;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 10px #0000000d}.home-bottom-nav-content{width:100%;height:var(--app-bottom-nav-height);padding:0 max(18px, env(safe-area-inset-right,0px)) 2px max(18px, env(safe-area-inset-left,0px));grid-template-columns:repeat(3,1fr);place-items:center;display:grid}.home-nav-btn{color:#121212;letter-spacing:0;white-space:nowrap;cursor:pointer;background:#fff;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:72px;height:44px;padding:0;font-size:11px;font-weight:600;display:inline-flex}.home-nav-btn svg{color:#121212}.home-nav-btn.active{font-weight:700}.home-ar-btn{color:#f1f1f1;letter-spacing:0;cursor:pointer;background:#121212;border:0;border-radius:999px;flex-direction:column;justify-content:center;justify-self:center;align-items:center;gap:1px;width:66px;height:66px;margin-top:-22px;padding-top:0;font-size:11px;font-weight:600;display:inline-flex;box-shadow:0 -1px 9px #0000000d}.home-ar-btn svg{color:#fff}.home-nav-btn:active,.home-ar-btn:active{transform:translateY(2px)}.radar-page{background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;max-width:100%;min-height:100vh;margin:0 auto;padding:16px 16px 48px;display:flex;position:relative}.radar-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.radar-icon-btn{cursor:pointer;touch-action:manipulation;background:#ffffffe0;border:0;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex;box-shadow:0 4px 14px #0f172a1f}.radar-icon-btn:active{transform:translateY(1px)}.progress-text{color:#333;font-size:clamp(16px,4vw,18px);font-weight:700}.progress-bar-bg{background:#fff;border:1px solid #ff7b60;border-radius:999px;width:100px;height:14px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#ff7b60,#ffa38d);border-radius:999px;height:100%;transition:width .3s}.radar-container{flex:1;justify-content:center;align-items:center;min-height:0;margin-top:24px;display:flex}.radar{aspect-ratio:1;background:#fff;border-radius:999px;width:min(80vw,500px);min-width:min(70vw,320px);position:relative;overflow:visible}.radar-trail-canvas{z-index:12;pointer-events:none;clip-path:none;width:100%;height:100%;position:absolute;inset:0}.ring{clip-path:none;border:clamp(1px,.4vw,2px) solid #e5e7eb;border-radius:999px;justify-content:center;align-items:flex-start;display:flex;position:absolute}.ring.r100{inset:0}.ring.r66{inset:16.67%}.ring.r33{inset:33.33%}.ring.r50{border-color:#0000;inset:50%}.sweep{z-index:5;pointer-events:none;clip-path:none;background:conic-gradient(#ffbf0040,#0000 60deg);border-radius:999px;animation:4s linear infinite spin;position:absolute;inset:0}@keyframes spin{to{transform:rotate(360deg)}}.ring-label{color:#9ca3af;white-space:nowrap;padding:0 clamp(4px,1.5vw,6px);font-size:clamp(11px,3vw,15px);font-weight:600;transform:translateY(-50%)}.user-dot{z-index:10;clip-path:none;background:#ffedd5;border:clamp(2px,.5vw,2.5px) solid #fdba74;border-radius:50%;justify-content:center;align-items:center;width:clamp(48px,12vw,72px);height:clamp(48px,12vw,72px);font-size:clamp(24px,6vw,36px);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 15px #fdba7466}.marker{z-index:15;cursor:pointer;pointer-events:auto;backface-visibility:hidden;will-change:transform;clip-path:none;background:0 0;border:none;flex-direction:column;align-items:center;gap:clamp(4px,1vw,6px);width:fit-content;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.marker.undiscovered{z-index:16}.marker-icon-wrap{background:#fff;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;width:clamp(48px,12vw,64px);height:clamp(48px,12vw,64px);font-size:clamp(24px,6vw,32px);transition:transform .2s;display:flex;position:relative;box-shadow:0 4px 12px #00000014}.marker.undiscovered .marker-icon-wrap{background:radial-gradient(circle at 30% 30%,#c7f6fffa,#7fd8fff2 55%,#3b82f6b8 100%);border:1px solid #bfeaffeb;width:clamp(54px,13vw,70px);height:clamp(54px,13vw,70px);animation:2.8s ease-in-out infinite crystal-float,7s linear infinite crystal-rotate;box-shadow:0 0 0 5px #7fd8ff1a,0 0 26px #7fd8ff8c,inset 0 1px #ffffffa6}.crystal-marker{clip-path:none;width:100%;height:100%;position:relative}.crystal-aura,.crystal-core,.crystal-ring,.crystal-spark{margin:auto;position:absolute;inset:0}.crystal-aura{filter:blur(2px);background:radial-gradient(circle,#7fd8ff6b,#7fd8ff00);border-radius:50%;width:100%;height:100%;animation:1.8s ease-in-out infinite crystal-pulse}.crystal-core{clip-path:polygon(50% 0%,84% 16%,100% 54%,74% 100%,26% 100%,0% 54%,16% 16%);background:linear-gradient(#fffffffa,#7fd8ffe6 28%,#4a90e2eb 100%);width:40%;height:58%;animation:1.8s ease-in-out infinite crystal-core-flicker;transform:translateY(-1px);box-shadow:0 0 16px #ffffffe6}.crystal-ring{opacity:.85;border:2px solid #e0f8ffe6;border-radius:50%;width:88%;height:88%;box-shadow:0 0 14px #7fd8ff73}.crystal-spark{background:#ecfeff;border-radius:50%;width:8px;height:8px;animation:1.9s ease-in-out infinite crystal-spark;box-shadow:0 0 10px #ffffffe6,0 0 18px #7fd8ffe6}.crystal-spark-a{transform:translate(-22px,-20px)}.crystal-spark-b{animation-delay:.5s;transform:translate(20px,-10px)}.crystal-spark-c{animation-delay:1s;transform:translate(-10px,20px)}@keyframes crystal-float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.03)}}@keyframes crystal-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes crystal-pulse{0%,to{opacity:.45;transform:scale(.92)}50%{opacity:.9;transform:scale(1.06)}}@keyframes crystal-core-flicker{0%,to{filter:brightness()}50%{filter:brightness(1.18)}}@keyframes crystal-spark{0%,to{opacity:.2;transform:scale(.75)}50%{opacity:1;transform:scale(1.15)}}.marker:hover .marker-icon-wrap{transform:scale(1.1)}.marker.near .marker-icon-wrap{border-color:#ffedd5;box-shadow:0 0 0 clamp(3px,1vw,4px) #fdba74,0 4px 12px #00000014}.marker.character.trace-far .marker-icon-wrap{opacity:.48}.marker.character.trace-mid .marker-icon-wrap{border-color:#67e8f9;box-shadow:0 0 14px #22d3ee61,0 4px 12px #00000014}.marker.character.trace-near .marker-icon-wrap,.marker.character.trace-ready .marker-icon-wrap{border-color:#fbbf24;animation:.9s ease-in-out infinite alternate trace-pulse;box-shadow:0 0 0 5px #fbbf2440,0 0 22px #fbbf2485}@keyframes trace-pulse{to{transform:scale(1.08)}}.marker.out-of-range .marker-icon-wrap.out-of-range-blink{background:#fff;border:clamp(2px,.5vw,3px) solid #06b6d4;animation:1s ease-in-out infinite alternate blink-cyan;box-shadow:0 0 0 clamp(3px,1vw,4px) #06b6d44d,0 4px 12px #00000014}@keyframes blink-cyan{0%{border-color:#06b6d4;box-shadow:0 0 0 clamp(3px,1vw,4px) #06b6d44d,0 4px 12px #00000014}to{border-color:#22d3ee;box-shadow:0 0 0 clamp(6px,1.5vw,8px) #06b6d499,0 4px 20px #06b6d466}}.marker-emoji{font-size:clamp(24px,6vw,32px);font-weight:800;line-height:1}.marker.character .marker-icon-wrap,.marker.item .marker-icon-wrap,.marker.shop .marker-icon-wrap{overflow:hidden}.marker-image{object-fit:cover;width:100%;height:100%;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.marker-info{pointer-events:none;flex-direction:column;align-items:center;display:flex}.marker-label{color:#111827;text-shadow:0 1px 2px #fff,0 -1px 2px #fff,1px 0 2px #fff,-1px 0 2px #fff;font-size:clamp(12px,3vw,14px);font-weight:700}.marker-distance{color:#6b7280;font-size:clamp(11px,2.5vw,13px);font-weight:600}.marker-hint{color:#7c2d12;text-shadow:0 1px 2px #fff,0 -1px 2px #fff,1px 0 2px #fff,-1px 0 2px #fff;width:min(42vw,168px);margin-top:2px;font-size:11px;font-weight:800;line-height:1.25}.exchange-btn{color:#fff;cursor:pointer;touch-action:manipulation;background:#ff7b60;border:none;border-radius:999px;align-items:center;gap:clamp(8px,2vw,10px);min-height:48px;padding:clamp(14px,4vw,18px) clamp(28px,7vw,36px);font-size:clamp(16px,4.5vw,20px);font-weight:800;display:inline-flex;box-shadow:0 4px 14px #ff7b6066}.exchange-btn:active{transform:translateY(2px);box-shadow:0 2px 8px #ff7b6066}.pill-zoom-control{z-index:20;background:#fff;border:1px solid #e5e7eb;border-radius:999px;flex-direction:column;display:flex;position:absolute;top:50%;right:clamp(16px,4vw,24px);transform:translateY(-50%);box-shadow:0 4px 12px #0000001a}.zoom-btn{color:#374151;cursor:pointer;touch-action:manipulation;background:0 0;border:none;justify-content:center;align-items:center;width:clamp(44px,11vw,52px);height:clamp(48px,12vw,56px);font-size:clamp(22px,6vw,26px);display:flex}.zoom-btn:disabled{color:#d1d5db}.zoom-divider{background:#e5e7eb;width:20px;height:1px;margin:0 auto}.ar-scene{z-index:100;background:#000;width:100%;height:100dvh;position:fixed;top:0;left:0}.ar-loading-overlay{z-index:50;justify-content:center;align-items:center;gap:var(--app-space-md);background:radial-gradient(#0a0a1a 0%,#000 100%);flex-direction:column;display:flex;position:absolute;inset:0}.ar-loading-ring{border:2px solid #0000;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ar-loading-ring.ring-1{border-top-color:#06b6d4;border-right-color:#06b6d4;width:clamp(132px,38vw,160px);height:clamp(132px,38vw,160px);animation:1.6s linear infinite ar-spin-cw;box-shadow:0 0 18px #06b6d466}.ar-loading-ring.ring-2{border-bottom-color:#a855f7;border-left-color:#a855f7;width:clamp(96px,29vw,120px);height:clamp(96px,29vw,120px);animation:1.2s linear infinite ar-spin-ccw;box-shadow:0 0 14px #a855f766}.ar-loading-ring.ring-3{border-top-color:#f59e0b;border-right-color:#f59e0b;width:clamp(64px,20vw,80px);height:clamp(64px,20vw,80px);animation:.9s linear infinite ar-spin-cw;box-shadow:0 0 10px #f59e0b66}.ar-loading-core{background:radial-gradient(circle,#22d3ee 0%,#06b6d4 40%,#0000 100%);border-radius:50%;width:clamp(30px,9vw,36px);height:clamp(30px,9vw,36px);animation:1.4s ease-in-out infinite alternate ar-core-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ar-loading-sparkle{background:radial-gradient(circle,#22d3ee4d 0%,#0000 70%);border-radius:50%;animation:1.4s ease-in-out infinite alternate-reverse ar-core-pulse;position:absolute;inset:-6px}.ar-loading-text{color:#ffffffb3;letter-spacing:.05em;white-space:nowrap;font-size:14px;font-weight:600;animation:1.4s ease-in-out infinite alternate ar-text-fade;position:absolute;bottom:calc(50% - clamp(100px,28vw,120px));left:50%;transform:translate(-50%)}@keyframes ar-spin-cw{to{transform:translate(-50%,-50%)rotate(360deg)}}@keyframes ar-spin-ccw{to{transform:translate(-50%,-50%)rotate(-360deg)}}@keyframes ar-core-pulse{0%{opacity:.6;transform:translate(-50%,-50%)scale(.85)}to{opacity:1;transform:translate(-50%,-50%)scale(1.15)}}@keyframes ar-text-fade{0%{opacity:.4}to{opacity:.9}}.ar-header{padding:calc(var(--app-safe-top) + var(--app-space-md)) var(--app-x) 0;z-index:50;justify-content:flex-start;align-items:flex-start;display:flex;position:absolute;top:0;left:0;right:0}.ar-back-btn{cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:clamp(44px,12vw,48px);height:clamp(44px,12vw,48px);transition:background-color .2s;display:flex;box-shadow:0 2px 8px #0003}.ar-back-btn:hover{background:#fff}.seal-record-bar{top:calc(var(--app-safe-top) + var(--app-space-md));z-index:70;background:#ffffffe6;border-radius:999px;gap:8px;padding:8px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #0000002e}.seal-record-slot{background:#f8fafce6;border:2px dashed #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:clamp(36px,10vw,42px);height:clamp(36px,10vw,42px);font-size:24px;display:flex;overflow:hidden}.seal-record-slot.filled{border-style:solid;border-color:#f59e0b;box-shadow:0 0 14px #f59e0b59}.seal-record-slot img{object-fit:cover;width:100%;height:100%}.seal-empty{background:#e5e7eb;border-radius:50%;width:14px;height:14px}.ar-video{object-fit:cover;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.seal-effect-layer{z-index:45;pointer-events:none;position:absolute;inset:0}.seal-magic-ring{aspect-ratio:1;border:3px solid #fbbf24eb;border-radius:50%;width:min(72vw,320px);animation:1.3s ease-in-out infinite seal-ring;position:absolute;top:58%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 28px #fbbf24a6,inset 0 0 26px #22d3ee57}.seal-light-core{background:radial-gradient(circle,#fffffff2,#fbbf24b8 45%,#0000 72%);border-radius:50%;width:clamp(76px,24vw,96px);height:clamp(76px,24vw,96px);animation:1.3s ease-in-out infinite alternate seal-core;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.seal-particle{transform-origin:0 -96px;background:#fff7ed;border-radius:50%;width:clamp(8px,3vw,12px);height:clamp(8px,3vw,12px);animation:1.1s linear infinite seal-orbit;position:absolute;top:54%;left:50%;box-shadow:0 0 16px #fbbf24}.particle-b{background:#cffafe;animation-delay:-.35s;box-shadow:0 0 16px #22d3ee}.particle-c{background:#fef3c7;animation-delay:-.7s}@keyframes seal-ring{0%{opacity:.35;transform:translate(-50%,-50%)scale(.82)rotate(0)}to{opacity:1;transform:translate(-50%,-50%)scale(1.05)rotate(180deg)}}@keyframes seal-core{to{opacity:.85;transform:translate(-50%,-50%)scale(1.35)}}@keyframes seal-orbit{to{transform:rotate(360deg)}}.seal-stone-popup{z-index:72;color:#fff;background:#111827db;border-radius:999px;align-items:center;gap:10px;padding:12px 16px;font-size:15px;animation:.42s ease-out seal-popup;display:flex;position:absolute;top:64%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #00000052}.seal-stone-icon{font-size:26px}.seal-stone-image{object-fit:contain;filter:drop-shadow(0 3px 5px #00000047);width:32px;height:32px}@keyframes seal-popup{0%{opacity:0;transform:translate(-50%,-42%)scale(.82)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.ar-speech-bubble{top:calc(var(--app-safe-top) + clamp(72px, 10dvh, 84px));z-index:60;color:#6b3f1f;text-align:center;pointer-events:none;background:#fff8e8f0;border:2px solid #7a4a25;border-radius:18px;width:min(100vw - 48px,360px);padding:13px 18px;font-size:16px;font-weight:800;line-height:1.35;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #4d2d1738}.ar-speech-bubble.interactive{pointer-events:auto;padding:16px 16px 18px}.ar-quiz-card{text-align:left;flex-direction:column;gap:12px;display:flex}.ar-quiz-card.is-wrong{animation:.36s ar-quiz-shake}.ar-quiz-character{letter-spacing:.04em;color:#b45309;font-size:13px;font-weight:900}.ar-quiz-question{color:#6b3f1f;margin:0;font-size:16px;line-height:1.45}.ar-quiz-options,.ar-quiz-subjective{flex-direction:column;gap:10px;display:flex}.ar-quiz-option,.ar-quiz-input{border-radius:14px;width:100%;min-height:50px;font-size:16px}.ar-quiz-option{color:#3f2410;text-align:center;background:#fffffff5;border:1px solid #7a4a2533;font-weight:800;line-height:1.2;box-shadow:0 4px 12px #7a4a2514}.ar-quiz-option:disabled{opacity:.65}.ar-quiz-input{color:#3f2410;background:#fffffff0;border:1px solid #7a4a2538;padding:0 14px;font-weight:700}.ar-quiz-feedback{border-radius:14px;padding:10px 12px;font-size:14px;font-weight:900;line-height:1.4;position:relative;overflow:hidden}.ar-quiz-feedback.correct{color:#166534;background:#22c55e24}.ar-quiz-feedback.wrong{color:#b91c1c;background:#ef444424}.ar-quiz-burst{background:radial-gradient(circle,#facc15e6,#facc151a 55%,#0000 70%);border-radius:50%;width:54px;height:54px;animation:.7s ease-out both ar-quiz-burst;position:absolute;inset:-10px auto auto 65%}.ar-quiz-cta{color:#7c2d12;text-align:center;font-size:13px;font-weight:800}.ar-speech-bubble:after{content:"";background:#fff8e8f0;border-bottom:2px solid #7a4a25;border-right:2px solid #7a4a25;width:16px;height:16px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)rotate(45deg)}@keyframes ar-quiz-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}@keyframes ar-quiz-burst{0%{opacity:0;transform:scale(.3)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.ar-bottom-action{left:0;right:0;bottom:calc(var(--app-safe-bottom) + var(--app-space-lg));z-index:60;pointer-events:none;justify-content:center;padding:0 24px;display:flex;position:absolute}.ar-stamp-btn{width:min(100%,360px);min-height:var(--app-bottom-button-height);color:#fff;cursor:pointer;pointer-events:auto;touch-action:manipulation;background:#22c55e;border:none;border-radius:999px;font-size:18px;font-weight:800;transition:transform .2s,box-shadow .2s,background-color .2s;box-shadow:0 10px 24px #22c55e5c}.ar-stamp-btn:active{transform:translateY(2px);box-shadow:0 6px 16px #22c55e52}.ar-stamp-btn:disabled{box-shadow:none;cursor:not-allowed;background:#9ca3af}.camera-layer{top:calc(var(--app-safe-top) + clamp(68px, 10dvh, 80px));color:#fff;z-index:30;pointer-events:none;background:#0009;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;display:flex;position:absolute;left:50%;transform:translate(-50%)}.reward-page{width:100%;min-height:100dvh;padding:calc(var(--app-safe-top) + var(--app-space-md)) var(--app-x) calc(var(--app-safe-bottom) + var(--app-bottom-nav-height) + var(--app-space-lg));max-width:var(--app-max-width);background:#fff;flex-direction:column;margin:0 auto;display:flex}.reward-header{margin-bottom:var(--app-space-lg);border-bottom:0;justify-content:space-between;align-items:center;padding:0;display:flex}.reward-page .back-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:background-color .2s;display:flex}.reward-page .back-btn:hover{background-color:#f3f4f6}.reward-title{color:#111;letter-spacing:0;margin:0;font-size:20px;font-weight:700}.reward-stamp-summary{margin-bottom:var(--app-space-md);color:#ff4f36;letter-spacing:0;font-size:16px;font-weight:800;line-height:1.35;display:block}.reward-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,4vw,17px) clamp(12px,4vw,16px);display:grid}.empty-state{text-align:center;padding:clamp(44px, 8dvh, 60px) var(--app-x);color:#9ca3af;grid-column:1/-1;font-size:16px}.reward-card{min-width:0;box-shadow:none;background:#fff;border:0;border-radius:0;flex-direction:column;gap:9px;padding:0;transition:box-shadow .2s,transform .2s;display:flex;position:relative}.reward-card:hover{box-shadow:none;transform:none}.reward-image-wrap{aspect-ratio:1;background:#fff;border:1px solid #eee;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.reward-image-wrap img{object-fit:contain;width:78%;height:78%}.reward-content{flex-direction:column;gap:3px;min-width:0;display:flex}.reward-name{color:#111;letter-spacing:0;white-space:pre-line;font-size:15px;font-weight:800;line-height:1.35}.stamp-cost{z-index:1;color:#fff;white-space:nowrap;background:#ff5a3d;border-radius:6px;padding:9px 12px;font-size:14px;font-weight:800;line-height:1;position:absolute;top:8px;left:8px}.reward-description{color:#111;white-space:pre-line;margin:0;font-size:13px;font-weight:700;line-height:1.35}.reward-stock{color:#555;margin:3px 0 0;font-size:12px;font-weight:500;line-height:1.35}.reward-stock span{color:#ff3d28}.exchange-btn-small{color:#fff;cursor:pointer;margin-top:var(--app-space-xs);background:#ff5a3d;border:none;border-radius:6px;align-self:flex-start;padding:9px 12px;font-size:13px;font-weight:700;transition:background-color .2s,transform .1s}.exchange-btn-small:hover:not(:disabled){background:tomato;transform:translateY(-1px)}.exchange-btn-small:active:not(:disabled){transform:translateY(0)}.exchange-btn-small:disabled{cursor:not-allowed;color:#9ca3af;background:#d1d5db}.radar-ring-glow{pointer-events:none;z-index:8;clip-path:none;border-radius:50%;position:absolute;inset:0}.ring-glow-segment{border-radius:50%;width:100%;height:100%;animation:1.2s ease-in-out infinite alternate ring-pulse;position:absolute}@keyframes ring-pulse{0%{opacity:.4;box-shadow:0 0 #06b6d400}to{opacity:1;box-shadow:0 0 clamp(10px,3vw,20px) #06b6d499,0 0 clamp(20px,5vw,40px) #06b6d44d}}.radar-cluster-badge{z-index:20;pointer-events:auto;cursor:pointer;position:absolute;transform:translate(-50%,-50%)}.radar-quadrant-badge{z-index:20;pointer-events:auto;cursor:pointer;clip-path:none;position:absolute}.quadrant-top-left{top:10%;left:10%}.quadrant-top-right{top:10%;right:10%}.quadrant-bottom-right{bottom:10%;right:10%}.quadrant-bottom-left{bottom:10%;left:10%}.badge-circle{background:#fff;border:clamp(2px,.5vw,3px) solid #06b6d4;border-radius:50%;justify-content:center;align-items:center;width:clamp(36px,9vw,42px);height:clamp(36px,9vw,42px);animation:1s ease-in-out infinite alternate badge-pulse;display:flex;box-shadow:0 0 12px #06b6d480,0 4px 8px #0000001a}@keyframes badge-pulse{0%{border-color:#06b6d4;box-shadow:0 0 8px #06b6d466,0 4px 8px #0000001a}to{border-color:#22d3ee;box-shadow:0 0 16px #06b6d4b3,0 6px 12px #00000026}}.badge-count{color:#06b6d4;font-size:clamp(14px,4vw,16px);font-weight:800;line-height:1}.stamp-page{width:100%;min-height:100dvh;max-width:var(--app-max-width);background:#f9fafb;margin:0 auto;overflow-x:hidden}.stamp-page-header{min-height:calc(clamp(64px, 9dvh, 72px) + var(--app-safe-top));padding:calc(var(--app-safe-top) + var(--app-space-sm)) var(--app-x) var(--app-space-sm);z-index:10;background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:16px;display:flex;position:sticky;top:0}.stamp-page-header h1{color:#111827;flex:1;margin:0;font-size:clamp(22px,6vw,26px);font-weight:700}.stamp-page .back-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;min-width:48px;min-height:48px;padding:10px 14px;font-size:clamp(16px,4.4vw,18px);font-weight:600;transition:background-color .2s}.stamp-page .back-btn:hover{background:#f3f4f6}.stamp-page-content{width:100%;padding:var(--app-space-md) 0 calc(var(--app-safe-bottom) + var(--app-space-lg))}.stamp-board-container{width:min(100%, var(--app-max-width));background:#fff;border-radius:16px;margin:0 auto;padding:clamp(16px,4.6vw,20px);box-shadow:0 2px 8px #0000000a}.stamp-board{border-radius:12px;overflow:hidden}.stamp-mark{animation:.3s ease-out stampAppear}@keyframes stampAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.stamp-info{margin-top:var(--app-space-md);padding-top:var(--app-space-md);border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;display:flex}.stamp-info h2{color:#111827;align-items:center;gap:8px;margin:0;font-size:clamp(20px,5.4vw,24px);font-weight:700;display:flex}.stamp-count-badge{color:#ff7b60;background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;align-items:center;min-height:40px;padding:8px 16px;font-size:clamp(16px,4.6vw,18px);font-weight:700;display:inline-flex}.stamp-btn{color:#fff;cursor:pointer;touch-action:manipulation;background:#8b5cf6;border:none;border-radius:999px;align-items:center;gap:clamp(8px,2vw,10px);min-height:48px;padding:clamp(14px,4vw,18px) clamp(28px,7vw,36px);font-size:clamp(16px,4.5vw,20px);font-weight:800;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 4px 14px #8b5cf666}.stamp-btn:active{transform:translateY(2px);box-shadow:0 2px 8px #8b5cf666}.main-stamp-count{background:#ffffff38;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:14px;line-height:1;display:inline-flex}.toast-overlay{z-index:9999;pointer-events:none;animation:2s forwards toast-in-out;position:fixed;bottom:clamp(80px,18vw,120px);left:50%;transform:translate(-50%)}.toast-message{color:#fff;white-space:nowrap;-webkit-backdrop-filter:blur(8px);background:#000000d1;border-radius:100px;padding:12px 24px;font-size:clamp(14px,3.5vw,16px);font-weight:600;box-shadow:0 4px 20px #00000040}@keyframes toast-in-out{0%{opacity:0;transform:translate(-50%)translateY(16px)}15%{opacity:1;transform:translate(-50%)translateY(0)}75%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-8px)}}.ar-specialty-slots{z-index:100;pointer-events:none;gap:12px;display:flex;position:absolute;bottom:clamp(70px,16vw,90px);left:50%;transform:translate(-50%)}.specialty-slot{background:#ffffffe6;border:3px solid #ffb347;border-radius:12px;justify-content:center;align-items:center;width:clamp(60px,15vw,80px);height:clamp(60px,15vw,80px);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #00000026}.specialty-slot-empty{background:linear-gradient(135deg,#fff5e6 0%,#ffe4cc 100%);border-radius:9px;width:100%;height:100%}.specialty-slot-image{object-fit:contain;z-index:1;background:#fff8ec;border-radius:9px;width:calc(100% - 8px);height:calc(100% - 8px)}.clear-stamp-overlay{object-fit:contain;opacity:.94;pointer-events:none;z-index:2;filter:drop-shadow(0 3px 5px #00000059);width:88%;height:88%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-15deg)}.seal-result-screen{z-index:200;background:#0f172ab8;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.seal-result-content{text-align:center;background:#fff;border-radius:8px;width:min(100%,420px);padding:24px 20px;box-shadow:0 24px 60px #00000052}.seal-result-kicker{color:#92400e;margin:0 0 12px;font-size:17px;font-weight:900}.seal-result-characters{justify-content:center;gap:10px;margin-bottom:18px;display:flex}.seal-result-character{background:#fff7ed;border:2px solid #f59e0b;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;display:flex;overflow:hidden}.seal-result-character img{object-fit:cover;width:100%;height:100%}.stamp-impact{background:radial-gradient(circle,#fbbf2438,#22d3ee24 58%,#0000 70%);border-radius:50%;justify-content:center;align-items:center;width:150px;height:150px;margin:4px auto 12px;animation:.62s cubic-bezier(.2,1.5,.3,1) both stamp-impact;display:flex}.stamp-impact img{object-fit:contain;filter:drop-shadow(0 8px 12px #0000003d);width:118px;height:118px}@keyframes stamp-impact{0%{opacity:0;transform:scale(1.55)rotate(-8deg)}60%{opacity:1;transform:scale(.92)rotate(2deg)}74%{transform:scale(1.02)translate(-3px)}86%{transform:scale(1)translate(3px)}to{transform:scale(1)translate(0)}}.seal-result-content h2{color:#111827;margin:0 0 8px;font-size:24px}.seal-result-content p{color:#4b5563;margin:6px 0;font-weight:700;line-height:1.45}.seal-total-stamps{background:#f5f3ff;border-radius:999px;padding:7px 12px;display:inline-flex;color:#6d28d9!important;margin-top:10px!important}.seal-result-actions{gap:9px;margin-top:18px;display:grid}.seal-result-actions button{color:#fff;cursor:pointer;background:#ff7b60;border:0;border-radius:8px;min-height:46px;font-size:15px;font-weight:900}.seal-result-actions button.secondary{color:#374151;background:#f3f4f6}.character-mission-panel{left:50%;bottom:calc(74px + env(safe-area-inset-bottom));z-index:58;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f4f7fff5;border:1px solid #1018281f;border-radius:8px 8px 0 0;width:min(100vw - 24px,430px);position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 -8px 26px #0f172a2e}.mission-panel-top{justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 7px;display:flex}.mission-panel-top div{gap:2px;display:grid}.mission-panel-top span{color:#475569;font-size:11px;font-weight:900}.mission-panel-top strong{color:#0f172a;font-size:15px;font-weight:950}.mission-panel-top img{object-fit:cover;background:#fff;border-radius:8px;width:38px;height:38px}.mission-panel-body{grid-template-columns:58px 1fr 118px;align-items:center;gap:10px;padding:0 12px 12px;display:grid}.mission-target-image{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:relative;overflow:hidden}.mission-target-image img{object-fit:cover;width:100%;height:100%}.mission-target-image.trace-on:after{content:"";border:2px dashed #0ea5e9b8;border-radius:50%;animation:2.2s linear infinite mission-trace-spin;position:absolute;inset:-6px}.mission-direction{color:#0f172a;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;gap:2px;min-height:68px;display:grid}.mission-direction svg{transform-origin:50%;fill:#0f172a}.mission-direction strong{font-size:28px;font-weight:950;line-height:1}.mission-state{gap:4px;min-width:0;display:grid}.mission-state span{color:#475569;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900;overflow:hidden}.mission-state strong{color:#0f172a;font-size:13px;font-weight:950;line-height:1.25}@keyframes mission-trace-spin{to{transform:rotate(360deg)}}@media (width<=380px){.mission-panel-body{grid-template-columns:48px 1fr 104px;gap:7px}.mission-target-image{width:46px;height:46px}.mission-direction strong{font-size:24px}}.radar-page{background-color:#d9d9d9;background-image:linear-gradient(#ffffff52 0%,#fff0 30%),linear-gradient(#0000 64%,#00000029 100%),radial-gradient(circle at 22% 28%,#ffffffb8 0 5px,#0000 6px),radial-gradient(circle at 76% 38%,#ffffffb3 0 4px,#0000 5px),linear-gradient(135deg,#eef2f0 0%,#cdd8cf 46%,#e7d9be 100%);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;max-width:none;min-height:100dvh;padding:0;font-family:Pretendard Variable,Pretendard,Inter,system-ui,sans-serif;overflow:hidden}.radar-page:before{content:"";z-index:0;pointer-events:none;opacity:.35;background-color:#0000;background-image:linear-gradient(90deg,#ffffff2e 1px,#0000 1px),linear-gradient(0deg,#ffffff2e 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:72px 72px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.radar-page:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(#ffffff5c 0%,#fff0 28%),linear-gradient(#0000 64%,#00000029 100%);position:absolute;inset:0}.radar-page[style]{background-position:50%;background-size:cover}.radar-header{z-index:70;padding:calc(var(--app-safe-top) + var(--app-space-md)) var(--app-x) 0;justify-content:space-between;align-items:center;gap:12px;margin:0;display:flex;position:fixed;top:0;left:0;right:0}.radar-icon-btn{color:#121212;background:#fff;border-radius:999px;width:52px;height:52px;box-shadow:0 6px 20px #00000014}.real-view-toggle{color:#fff;letter-spacing:0;white-space:nowrap;background:#ff8a00;border:0;border-radius:9999px;min-width:108px;min-height:44px;padding:0 24px;font-size:16px;font-weight:800;line-height:1;box-shadow:0 8px 20px #ff8a004d}.real-view-toggle.active{background:#f97316;box-shadow:0 8px 22px #f973165c}.real-view-video{z-index:1;object-fit:cover;opacity:0;pointer-events:none;background:#000;width:100vw;height:100dvh;position:fixed;inset:0}.radar-page.real-view-mode{background-color:#000;background-image:none!important}.radar-page.real-view-mode:before,.radar-page.real-view-mode:after{display:none}.radar-page.real-view-mode .real-view-video{opacity:1}.real-view-mission-model{z-index:42;touch-action:manipulation;background:0 0;border:0;border-radius:50%;width:min(72vw,360px);height:min(72vw,360px);padding:0;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.real-view-mission-model:after{content:"";pointer-events:none;border:2px solid #ffffffb8;border-radius:50%;animation:1.6s ease-in-out infinite real-view-target-pulse;position:absolute;inset:10%;box-shadow:0 0 18px #ffffff57,inset 0 0 18px #ffffff2e}.real-view-mission-model canvas{display:block;width:100%!important;height:100%!important}@keyframes real-view-target-pulse{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.03)}}.radar-container.hidden-for-real-view{visibility:hidden;pointer-events:none}.radar-sensor-status{left:max(var(--app-x), env(safe-area-inset-left,0px));right:max(var(--app-x), env(safe-area-inset-right,0px));top:calc(var(--app-safe-top) + clamp(70px, 10dvh, 78px));z-index:69;max-width:var(--app-max-width);color:#fff;-webkit-backdrop-filter:blur(10px);background:#121212c2;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;margin:0 auto;padding:10px 12px;display:flex;position:fixed;box-shadow:0 8px 24px #00000029}.radar-sensor-copy{gap:3px;min-width:0;display:grid}.radar-sensor-copy p{color:#fff;letter-spacing:0;margin:0;font-size:12px;font-weight:600;line-height:1.35}.radar-sensor-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;display:flex}.radar-sensor-actions button{color:#121212;letter-spacing:0;white-space:nowrap;background:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:7px 10px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.radar-container{z-index:1;width:100%;height:100dvh;min-height:100dvh;padding:calc(var(--app-safe-top) + clamp(64px, 10dvh, 76px)) 0 calc(var(--app-safe-bottom) + clamp(190px, 26dvh, 218px));flex:none;justify-content:center;align-items:flex-start;margin:0;position:relative;overflow:visible}.radar{width:clamp(336px, 106vw, var(--app-max-width));aspect-ratio:1;-webkit-backdrop-filter:blur(2px);background:#ffffffb3;border-radius:50%;min-width:0;max-width:none;margin:4px auto 0;box-shadow:inset 0 0 0 1px #ffffff94,0 18px 54px #00000014}.radar:before,.radar:after{content:"";z-index:1;pointer-events:none;background:#ffffff85;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #ffffff7a}.radar:before{width:70.6%;height:70.6%}.radar:after{width:36.2%;height:36.2%}.radar .ring{z-index:2;pointer-events:none;background:0 0;border:0}.radar .ring.r100,.radar .ring.r66,.radar .ring.r33{inset:0}.radar .ring.r50{display:none}.radar .ring-label{color:#121212;letter-spacing:-.26px;text-shadow:none;padding:0;font-size:clamp(14px,3.9vw,16px);font-weight:500;line-height:17.6px;position:absolute;top:auto;left:50%;transform:translate(-50%)}.radar .r33 .ring-label{bottom:29%}.radar .r66 .ring-label{bottom:12%}.radar .r100 .ring-label{color:#fff;bottom:-4%}.radar-trail-canvas{z-index:9}.radar-ring-glow{z-index:8}.sweep{display:none}.user-dot{z-index:12;color:#fff;background:#545454;border:0;width:clamp(76px,20vw,88px);height:clamp(76px,20vw,88px);box-shadow:0 10px 24px #00000038}.user-dot span{color:#fff;letter-spacing:-.24px;white-space:nowrap;font-size:14px;font-weight:500;line-height:18px}.marker{z-index:16}.marker-icon-wrap{color:#121212;width:clamp(78px,20.5vw,88px);height:clamp(78px,20.5vw,88px);box-shadow:none;background:#f1f1f1;border:4px dashed #545454}.marker.character:not(.undiscovered) .marker-icon-wrap,.marker.item .marker-icon-wrap,.marker.shop .marker-icon-wrap{background:#545454;border-style:solid;border-color:#121212}.marker.undiscovered .marker-icon-wrap{width:clamp(78px,20.5vw,88px);height:clamp(78px,20.5vw,88px);box-shadow:none;background:#f1f1f1;border:4px dashed #ff4848;animation:none}.marker.undiscovered.trace-far .marker-icon-wrap,.marker.undiscovered.trace-mid .marker-icon-wrap,.marker.undiscovered.trace-near .marker-icon-wrap,.marker.undiscovered.trace-ready .marker-icon-wrap{opacity:1}.marker.undiscovered .crystal-marker{display:none}.marker.undiscovered .marker-icon-wrap:after{content:"?";color:#ff4848;font-size:clamp(28px,7.4vw,34px);font-weight:700;line-height:1}.marker.near .marker-icon-wrap,.marker.character.trace-near .marker-icon-wrap,.marker.character.trace-ready .marker-icon-wrap{border-color:#ff4848;animation:none;box-shadow:0 0 0 5px #ff484829}.marker-image{border-radius:50%;width:100%;height:100%}.marker-emoji{color:#fff;font-size:clamp(30px,8vw,36px)}.pill-zoom-control{z-index:65;top:calc(var(--app-safe-top) + clamp(260px, 39dvh, 306px));background:#ffffffeb;border:0;border-radius:22px 0 0 22px;bottom:auto;right:0;overflow:hidden;transform:translateY(-50%);box-shadow:0 10px 24px #0000001f}.zoom-btn{width:52px;height:52px;font-size:26px}.character-mission-panel{left:50%;bottom:calc(clamp(-236px, -28dvh, -220px) + var(--app-safe-bottom));z-index:58;width:100%;height:min(102vw,438px);padding:clamp(28px, 4dvh, 34px) var(--app-x) 0;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:flex-start;gap:clamp(18px,5vw,24px);display:flex;overflow:visible}.mission-panel-ellipse{z-index:0;-webkit-backdrop-filter:blur(12.5px);pointer-events:none;background:#ffffffb3;border:1px solid #fff;border-radius:50%;width:min(112vw,438px);height:min(112vw,438px);position:absolute;top:0;left:50%;transform:translate(-50%)}.mission-nav-card{z-index:1;flex-direction:column;align-items:center;gap:6px;width:clamp(86px,24vw,96px);min-width:0;display:flex;position:relative}.mission-target-image,.mission-clue-box{background:#f6f6f6;border:3px solid #656565;border-radius:15px;width:clamp(86px,23vw,96px);height:clamp(86px,23vw,96px)}.mission-target-image{overflow:hidden}.mission-target-image.trace-on:after{display:none}.mission-clue-box{place-items:center;display:grid}.mission-clue-box span{color:#121212;font-size:clamp(28px,7.2vw,34px);font-weight:800;line-height:1}.mission-nav-card strong,.mission-nav-card span{color:#000;letter-spacing:-.26px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:clamp(100px,28vw,116px);font-size:14px;font-weight:500;line-height:17.6px;overflow:hidden}.mission-nav-card strong{order:2}.mission-nav-card>span{order:3}.mission-direction{z-index:1;color:#000;background:0 0;border-radius:0;gap:0;min-width:clamp(116px,31vw,132px);min-height:112px;padding:2px 0 0;position:relative}.mission-direction svg{color:#121212;fill:#121212;stroke-width:2.2px;backface-visibility:hidden;transform-origin:50%;will-change:transform;width:32px;height:48px}.mission-direction strong{color:#000;letter-spacing:-.74px;margin-top:3px;font-size:clamp(40px,10.8vw,46px);font-weight:500;line-height:50px}@media (width>=431px){.radar-container{padding-top:calc(var(--app-safe-top) + clamp(68px, 10dvh, 80px))}.character-mission-panel{width:430px}}@media (height<=760px){.radar-container{padding-top:calc(var(--app-safe-top) + clamp(56px, 9dvh, 64px));padding-bottom:calc(var(--app-safe-bottom) + clamp(176px, 25dvh, 192px))}.radar{width:clamp(336px,100vw,398px)}.pill-zoom-control{top:calc(var(--app-safe-top) + clamp(238px, 37dvh, 276px));bottom:auto}.character-mission-panel{bottom:calc(clamp(-248px, -31dvh, -236px) + var(--app-safe-bottom))}}.question-page{color:#121212;width:100%;min-height:100dvh;padding:calc(var(--app-safe-top) + clamp(48px, 10dvh, 104px)) var(--app-x) calc(var(--app-safe-bottom) + var(--app-space-md));background:#fff;grid-template-rows:minmax(0,1fr) auto;font-family:Pretendard Variable,Pretendard,Inter,system-ui,sans-serif;display:grid;overflow-x:hidden}.question-page-content{align-content:start;min-height:0;display:grid}.question-title-area{text-align:center}.question-title-area h1{color:#1f1f1f;letter-spacing:-.02em;margin:0;font-size:24px;font-weight:800;line-height:1.3}.question-title-area p{color:#333;letter-spacing:-.02em;margin:10px 0 0;font-size:18px;font-weight:500;line-height:1.35}.question-option-list{justify-content:center;gap:clamp(12px,4vw,16px);margin-top:clamp(28px,5dvh,39px);display:flex}.question-option-card{aspect-ratio:1;cursor:pointer;background:#fff;border:2px solid #ddd;border-radius:25px;justify-content:center;align-items:center;width:clamp(112px,34vw,132px);padding:17px;display:flex;overflow:hidden}.question-option-card img{object-fit:contain;width:100%;height:100%;display:block}.question-option-emoji{font-size:72px;line-height:1}.question-option-card.selected{border-color:#ff5638;box-shadow:0 0 0 3px #ff563824}.question-option-card:active{transform:translateY(2px)}.question-bottom-action{z-index:20;background:#fff;width:100%;padding:0;position:static}.question-cta-button{color:#fff;cursor:pointer;background:#ff5638;border:0;border-radius:14px;width:100%;min-height:60px;font-size:20px;font-weight:800;line-height:1}.question-cta-button:active{transform:translateY(2px)}.combine-page{color:#111;background:#9b541c;flex-direction:column;width:100%;min-height:100dvh;font-family:Pretendard Variable,Pretendard,Inter,system-ui,sans-serif;display:flex;position:relative;overflow:hidden auto}.combine-hero{min-height:0;padding:calc(var(--app-safe-top) + clamp(56px, 8svh, 92px)) clamp(18px, 5vw, 28px) clamp(24px, 4svh, 40px);box-sizing:border-box;flex-direction:column;flex:auto;align-items:center;display:flex;position:relative}.combine-speech{color:#111;letter-spacing:-.04em;text-align:center;word-break:keep-all;background:#fff;border-radius:999px;width:fit-content;max-width:min(88vw,420px);padding:clamp(13px,2.4svh,16px) clamp(24px,8vw,34px);font-size:clamp(18px,5vw,22px);font-weight:900;line-height:1.2;position:relative;box-shadow:0 8px 18px #0000001f}.combine-speech:after{content:"";border-top:22px solid #fff;border-left:12px solid #0000;border-right:12px solid #0000;width:0;height:0;position:absolute;bottom:-17px;right:76px;transform:rotate(24deg)}.combine-speech.large{margin-top:0;padding:clamp(18px,3svh,24px) clamp(38px,12vw,58px);font-size:clamp(19px,5vw,22px)}.combine-character{background:radial-gradient(circle at 50% 40%,#ffffff3d,#0000 56%),#ffffff1c;border:2px dashed #ffffff47;border-radius:50%;flex:none;width:clamp(104px,28vw,132px);height:clamp(104px,28vw,132px);margin-top:clamp(28px,5svh,48px)}.combine-chip{color:#fff;letter-spacing:-.03em;background:#bd6b28;border:0;border-radius:999px;flex:none;margin-top:clamp(18px,3.6svh,28px);padding:11px clamp(24px,7vw,30px);font-size:clamp(16px,4.4vw,18px);font-weight:900}.combine-item-row{flex:none;justify-content:center;gap:clamp(12px,4vw,22px);width:100%;margin-top:clamp(22px,4svh,34px);display:flex}.combine-item-card{cursor:pointer;box-sizing:border-box;background:#e18735;border:clamp(5px,1.5vw,6px) solid #703a126b;border-radius:clamp(18px,5vw,22px);justify-content:center;align-items:center;width:clamp(76px,24vw,96px);height:clamp(76px,24vw,96px);display:flex}.combine-item-card:active{transform:translateY(2px)}.combine-item-placeholder{background:#ffffff38;border:2px dashed #ffffff5c;border-radius:14px;width:clamp(40px,13vw,52px);height:clamp(40px,13vw,52px);display:block}.combine-workbench{width:100%;padding:clamp(30px, 5svh, 44px) clamp(20px, 6vw, 28px) calc(var(--app-safe-bottom) + clamp(28px, 5svh, 52px));box-sizing:border-box;background:#aa5d20;border-radius:32px 32px 0 0;flex:none;margin-top:auto;position:relative}.combine-bowl-row{justify-content:center;gap:clamp(22px,8vw,40px);margin-bottom:clamp(30px,5svh,54px);display:flex}.combine-bowl{background:radial-gradient(circle at 50% 0,#dba35c 0 36%,#0000 37%),#8d4e22;border-radius:0 0 52px 52px;width:clamp(74px,23vw,94px);height:clamp(54px,17vw,70px);box-shadow:inset 0 -10px #00000024,0 8px #00000014}.combine-primary-button{color:#fff;letter-spacing:-.04em;cursor:pointer;background:#050505;border:0;border-radius:16px;width:100%;min-height:clamp(58px,8svh,68px);font-size:clamp(19px,5vw,22px);font-weight:900}.combine-primary-button:active{transform:translateY(2px)}@media (height<=700px){.combine-hero{padding-top:calc(var(--app-safe-top) + clamp(36px, 7dvh, 44px));padding-bottom:var(--app-space-md)}.combine-character{margin-top:var(--app-space-md);width:clamp(84px,25vw,96px);height:clamp(84px,25vw,96px)}.combine-chip{margin-top:var(--app-space-sm)}.combine-item-row{margin-top:var(--app-space-md)}.combine-item-card{width:clamp(68px,22vw,72px);height:clamp(68px,22vw,72px)}.combine-workbench{padding-top:26px;padding-bottom:calc(var(--app-safe-bottom) + var(--app-space-md))}.combine-bowl-row{margin-bottom:var(--app-space-lg)}.combine-bowl{width:clamp(64px,20vw,70px);height:clamp(48px,15vw,52px)}.combine-primary-button{min-height:56px}}.combine-game{min-height:100dvh;padding:calc(var(--app-safe-top) + clamp(56px, 11dvh, 98px)) var(--app-x) 0;color:#fff;text-align:center;box-sizing:border-box;background:#9b541c;position:relative}.combine-game h1{color:#fff;letter-spacing:-.04em;margin:0;font-size:28px;font-weight:900;line-height:1.25}.combine-perfect{letter-spacing:-.05em;-webkit-text-stroke:4px #ff6b3d;paint-order:stroke fill;text-shadow:0 5px #d84b25,0 12px 22px #5e210852;font-weight:900;line-height:1;color:#fff!important}.combine-jar{aspect-ratio:1;background:#ffb83f2e;border-radius:50%;justify-content:center;align-items:center;width:clamp(190px,58vw,250px);margin:clamp(44px,9dvh,76px) auto 0;display:flex;position:relative}.combine-jar:before{content:"?";color:#fff;font-size:88px;font-weight:900}.combine-jar.fail{background:#00000038}.combine-jar.fail:before{content:"";background:linear-gradient(#ffffff14,#fff0 24%),#00000085;border-radius:46px 46px 36px 36px;width:47.2%;height:57.6%;box-shadow:0 14px 26px #00000038}.combine-jar.success{background:radial-gradient(circle,#ffebaa8a,#ffb83f24)}.combine-jar.success:before{content:"";background:linear-gradient(#ffffff59,#fff0 24%),#e84735;border-radius:46px 46px 36px 36px;width:52.8%;height:61.6%;box-shadow:0 12px 28px #00000038,inset 0 0 0 8px #ffffff1f}.combine-bottom-panel{min-height:clamp(190px,27dvh,228px);padding:clamp(24px, 4dvh, 34px) var(--app-x) calc(var(--app-safe-bottom) + var(--app-space-lg));color:#111;background:#fff;border-radius:28px 28px 0 0;position:absolute;bottom:0;left:0;right:0}.combine-bottom-panel p{color:#111;letter-spacing:-.04em;margin:0 0 28px;font-size:22px;font-weight:900}.combine-timing-bar{background:repeating-linear-gradient(45deg,#ffffff52 0 6px,#0000 6px 12px),#ffaca3;border:4px solid #f65;border-radius:999px;width:100%;height:clamp(28px,4dvh,34px);position:relative;overflow:hidden}.combine-timing-zone{background:#8cf16f;width:20%;position:absolute;top:0;bottom:0;left:42%}.combine-timing-marker{background:#111;width:5px;animation:1.25s linear infinite alternate combineTimingMove;position:absolute;top:-10px;bottom:-10px;left:0%;transform:translate(-50%)}.combine-timing-marker.stopped{animation-play-state:paused}.combine-timing-marker.result{animation:none;display:none}@keyframes combineTimingMove{0%{left:4%}to{left:96%}}.combine-stop-button{color:#fff;cursor:pointer;background:#050505;border:0;border-radius:16px;min-width:134px;min-height:clamp(56px,8dvh,66px);margin-top:clamp(20px,4dvh,30px);font-size:20px;font-weight:900}.combine-stop-button:disabled{opacity:.75;cursor:default}.combine-stop-button:active:not(:disabled){transform:translateY(2px)}.combine-celebrate{width:100%;min-height:100dvh;padding:calc(var(--app-safe-top) + clamp(54px, 10dvh, 86px)) var(--app-x) calc(var(--app-safe-bottom) + var(--app-space-lg));box-sizing:border-box;background:#9b541c;position:relative;overflow:hidden}.combine-celebrate .combine-speech.large{z-index:4;color:#111;letter-spacing:-.04em;background:#fff;border-radius:999px;width:fit-content;margin:0 auto;padding:24px 58px;font-size:22px;font-weight:900;line-height:1.2;position:relative}.combine-celebrate .combine-speech.large:after{content:"";border-top:22px solid #fff;border-left:12px solid #0000;border-right:12px solid #0000;width:0;height:0;position:absolute;bottom:-17px;right:54px;transform:rotate(-24deg)}.combine-character.celebrate{aspect-ratio:1;z-index:1;background:radial-gradient(circle at 50% 42%,#ffffff47,#0000 58%),#ffffff1f;border:3px dashed #ffffff47;border-radius:50%;width:clamp(176px,58vw,230px);margin:0;position:absolute;bottom:clamp(142px,23dvh,174px);right:clamp(20px,10vw,42px)}.combine-product{aspect-ratio:74/83;z-index:3;background:linear-gradient(#ffffff59,#fff0 24%),#e84735;border-radius:46px 46px 36px 36px;width:clamp(112px,37vw,148px);position:absolute;bottom:clamp(174px,27dvh,210px);left:clamp(36px,18vw,76px);box-shadow:0 16px 26px #00000042,inset 0 0 0 8px #ffffff1f}.combine-product:before{content:"";background:repeating-linear-gradient(45deg,#f8f8f8 0 10px,#e84735 10px 20px);border-radius:18px 18px 10px 10px;height:40px;position:absolute;top:-20px;left:14px;right:14px;box-shadow:0 6px 10px #0000002e}.combine-product:after{content:"";background:#ffffffd1;border:3px solid #ffd278e6;border-radius:50%;height:46px;position:absolute;top:62px;left:34px;right:34px}.combine-celebrate .combine-primary-button{left:var(--app-x);right:var(--app-x);bottom:calc(var(--app-safe-bottom) + var(--app-space-lg));color:#fff;letter-spacing:-.04em;z-index:5;background:#050505;border:0;border-radius:16px;width:auto;min-height:60px;font-size:20px;font-weight:900;position:absolute}.combine-success-screen{cursor:pointer;padding-top:calc(var(--app-safe-top) + clamp(88px, 15dvh, 132px))}.combine-success-screen .combine-perfect{font-size:52px}.combine-success-screen .combine-jar.success{width:clamp(240px,72vw,310px);height:auto;margin-top:clamp(40px,7dvh,58px)}.combine-success-screen .combine-jar.success:before{width:54.8%;height:63.8%}.combine-success-hint{left:50%;bottom:calc(var(--app-safe-bottom) + var(--app-space-lg));color:#fff;-webkit-backdrop-filter:blur(6px);text-align:center;white-space:nowrap;text-shadow:0 1px 3px #0000003d;background:#461e0857;border-radius:999px;width:fit-content;max-width:calc(100vw - 48px);margin:0;padding:10px 16px;font-size:15px;font-weight:800;line-height:1.35;position:absolute;transform:translate(-50%)}.photo-page{--photo-frame-ratio:3 / 4;--photo-card-width:min(432px, 100%);--photo-result-card-width:min(300px, calc(100vw - 88px));color:#222;background:#fff;width:100%;min-height:100dvh;font-family:Pretendard Variable,Pretendard,Inter,system-ui,sans-serif;overflow-x:hidden}.photo-input-screen{min-height:100dvh;padding:calc(var(--app-safe-top) + clamp(56px, 12dvh, 126px)) var(--app-x) calc(var(--app-safe-bottom) + var(--app-space-md));box-sizing:border-box;gap:var(--app-space-lg);grid-template-rows:minmax(0,1fr) auto;display:grid;position:relative}.photo-input-content h1{text-align:center;color:#222;letter-spacing:-.05em;margin:0;font-size:28px;font-weight:900;line-height:1.35}.photo-input-meta{color:#ff5638;justify-content:space-between;align-items:center;margin-top:clamp(32px,8dvh,86px);font-size:15px;font-weight:700;display:flex}.photo-message-field{box-sizing:border-box;border:1.5px solid #ff5638;border-radius:10px;align-items:center;min-height:50px;margin-top:10px;padding:0 8px 0 14px;display:flex}.photo-message-field input{color:#111;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:17px;font-weight:500}.photo-message-field button{color:#111;background:#eee;border:0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.photo-primary-button{width:100%;min-height:var(--app-bottom-button-height);color:#fff;letter-spacing:-.04em;background:#ff5638;border:0;border-radius:12px;font-size:18px;font-weight:900;position:static}.photo-primary-button:disabled{opacity:.45}.photo-primary-button:active:not(:disabled){transform:translateY(2px)}.photo-camera-screen{background:#050505;grid-template-rows:minmax(0,1fr) auto;width:100%;min-height:100dvh;display:grid;overflow:hidden}.photo-camera-card{width:var(--photo-card-width);box-sizing:border-box;background:#fff;align-self:center;max-height:100%;margin:0 auto;padding:clamp(16px,4dvh,24px) clamp(16px,5vw,24px) clamp(12px,3dvh,18px)}.photo-camera-preview{width:100%;aspect-ratio:var(--photo-frame-ratio);background:linear-gradient(#0000000a,#0000000a),#d7e8f5;position:relative;overflow:hidden}.photo-camera-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-camera-background{background:radial-gradient(circle at 30% 28%,#fffc,#0000 20%),linear-gradient(#bfe4ff 0%,#e8f5ff 42%,#d8c2a4 43%,#c9aa80 100%);position:absolute;inset:0}.photo-camera-error{z-index:5;color:#fff;text-align:center;background:#0000009e;border-radius:14px;padding:16px;font-size:15px;font-weight:800;position:absolute;top:50%;left:24px;right:24px;transform:translateY(-50%)}.photo-logo-placeholder{margin-top:var(--app-space-sm);text-align:center;color:#3ba51f;font-size:20px;font-weight:900;line-height:1.1}.photo-logo-placeholder-camera{justify-content:center;align-items:center;min-height:clamp(36px,6dvh,48px);display:flex}.photo-camera-controls{min-height:clamp(110px,17dvh,150px);padding-top:var(--app-space-sm);padding-bottom:calc(var(--app-safe-bottom) + var(--app-space-sm));box-sizing:border-box;background:#050505;justify-content:center;align-items:flex-start;display:flex;position:relative}.photo-shutter-button{color:#111;background:#fff;border:7px solid #ffffff73;border-radius:50%;justify-content:center;align-items:center;width:clamp(68px,18vw,78px);height:clamp(68px,18vw,78px);display:flex}.photo-rotate-button{right:max(var(--app-x), calc(50% - 172px));color:#111;background:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;width:clamp(44px,12vw,48px);height:clamp(44px,12vw,48px);display:flex;position:absolute;top:clamp(26px,4dvh,33px)}.photo-speech-bubble{box-sizing:border-box;color:#111;text-align:center;white-space:normal;word-break:break-all;overflow-wrap:anywhere;z-index:4;background:#fff;border-radius:999px;min-width:0;max-width:min(210px,58%);padding:clamp(12px,4vw,18px) clamp(18px,7vw,28px);font-size:18px;font-weight:800;line-height:1.25;position:absolute;top:clamp(18px,7%,28px);left:clamp(18px,9%,34px)}.photo-speech-bubble:after{content:"";border-top:16px solid #fff;border-left:9px solid #0000;border-right:9px solid #0000;position:absolute;bottom:-12px;right:28px;transform:rotate(-22deg)}.photo-speech-bubble.small{white-space:normal;word-break:break-word;overflow-wrap:anywhere;text-align:center;min-width:0;max-width:158px;padding:12px 18px;font-size:13px;line-height:1.25;top:22px;left:34px}.photo-speech-bubble.small:after{border-top-width:13px;border-left-width:8px;border-right-width:8px;bottom:-9px;right:22px}.photo-speech-bubble.editable{appearance:none;cursor:pointer;color:#111;background:#fff;border:0;font-family:inherit}.photo-speech-bubble.editable:active{transform:translateY(1px)}.photo-speech-bubble.editing{color:#111;background:#fff;border:0;flex-direction:column;gap:8px;font-family:inherit;display:flex}.photo-speech-bubble.editing input{color:#111;width:100%;min-width:0;font:inherit;text-align:center;background:0 0;border:0;outline:none;font-weight:900;line-height:1.25}.photo-message-edit-actions{justify-content:center;gap:6px;display:flex}.photo-message-edit-actions button{color:#111;cursor:pointer;background:#eee;border:0;border-radius:999px;min-height:24px;padding:0 8px;font-family:inherit;font-size:11px;font-weight:800}.photo-message-edit-actions button:last-child{color:#fff;background:#ff5638}.photo-message-edit-actions button:disabled{opacity:.45;cursor:not-allowed}.photo-sticker{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:3;background:#ffffff2e;border:2px dashed #ffffff80;position:absolute}.photo-sticker.character{aspect-ratio:1;border-radius:50%;width:clamp(92px,35%,132px);bottom:7%;left:26%}.photo-sticker.product{aspect-ratio:6/7;background:#ff5638b8;border-radius:32px 32px 24px 24px;width:clamp(58px,26%,96px);bottom:4%;left:0}.photo-sticker.item-one{aspect-ratio:1;background:#ffbe38a6;border-radius:18px;width:clamp(48px,20%,72px);bottom:7%;right:5%}.photo-sticker.item-two{aspect-ratio:1;background:#ff5638a6;border-radius:18px;width:clamp(36px,16%,58px);bottom:44%;right:20%}.photo-sticker.small.character{width:clamp(72px,30%,92px);bottom:5%;left:20%}.photo-sticker.small.product{width:clamp(46px,19%,58px);bottom:3%;left:0}.photo-sticker.small.item-one{width:clamp(38px,16%,48px);bottom:5%;right:4%}.photo-sticker.small.item-two{width:clamp(28px,12%,36px);bottom:42%;right:17%}.photo-result-screen{min-height:100dvh;padding:calc(var(--app-safe-top) + clamp(28px, 5dvh, 48px)) var(--app-x) calc(var(--app-safe-bottom) + var(--app-space-md));box-sizing:border-box;background:#fff3e7;grid-template-rows:minmax(0,1fr) auto;gap:clamp(14px,2.6dvh,22px);display:grid;position:relative}.photo-result-content{grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;min-height:0;display:grid}.photo-result-content h1{text-align:center;color:#111;letter-spacing:-.04em;margin:0;font-size:28px;font-weight:900}.photo-result-content p{text-align:center;color:#ff5638;margin:clamp(8px,1.6dvh,14px) 0 0;font-size:15px;font-weight:700;line-height:1.55}.photo-result-card-stage{place-items:center;min-height:0;padding-top:clamp(8px,1.8dvh,16px);padding-bottom:clamp(8px,1.6dvh,14px);display:grid}.photo-result-card-preview{width:var(--photo-result-card-width);flex-direction:column;justify-content:center;max-height:min(58dvh,560px);margin:0 auto;padding:clamp(16px,4.2vw,24px) clamp(16px,4.2vw,24px) clamp(16px,3.4dvh,24px);display:flex;transform:translateY(clamp(0px,.4dvh,4px))}.photo-result-card-preview .photo-camera-preview{flex:0 auto;max-height:min(46dvh,440px)}.photo-result-card-preview .photo-logo-placeholder-camera{min-height:clamp(34px,5dvh,44px);margin-top:clamp(8px,1.8dvh,14px)}.photo-result-card{width:var(--photo-result-card-width);box-shadow:none;box-sizing:border-box;background:#fff;margin:28px auto 0;padding:20px 20px 18px;overflow:hidden}.photo-result-image{width:100%;aspect-ratio:var(--photo-frame-ratio);background:linear-gradient(#bfe4ff 0%,#e8f5ff 42%,#d8c2a4 43%,#c9aa80 100%);position:relative;overflow:hidden}.photo-result-captured-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-result-captured-fallback{background:linear-gradient(#bfe4ff 0%,#e8f5ff 42%,#d8c2a4 43%,#c9aa80 100%);position:absolute;inset:0}.photo-result-actions{gap:clamp(10px,3.5vw,14px);width:100%;display:flex;position:static}.photo-result-actions button{min-height:var(--app-bottom-button-height);border-radius:12px;flex:1;font-family:inherit;font-size:16px;font-weight:900}.photo-result-actions button:first-child{color:#222;background:#fff;border:1.5px solid #ff5638}.photo-result-actions button:last-child{color:#fff;background:#ff5638;border:0}.photo-result-actions button:disabled{opacity:.55;cursor:not-allowed}.photo-result-actions button:active:not(:disabled){transform:translateY(1px)}.photo-complete-screen{background:#fff3e7;min-height:100dvh;position:relative}.photo-complete-backdrop{padding:var(--app-x);background:#000000ad;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-complete-dialog{width:100%;max-width:min(360px, calc(100vw - (var(--app-x) * 2)));text-align:center;color:#fff}.photo-complete-dialog h1{margin:0 0 var(--app-space-lg);font-size:30px;font-weight:900}.photo-complete-badge{width:clamp(104px,32vw,126px);height:clamp(104px,32vw,126px);margin:0 auto var(--app-space-lg);color:#fff;background:#ff5638;border-radius:50%;justify-content:center;align-items:center;font-size:72px;font-weight:900;display:flex;box-shadow:0 0 0 8px #ff563859,0 12px 24px #00000052}.photo-complete-dialog p{margin:0 0 var(--app-space-lg);font-size:18px;font-weight:800}.photo-complete-actions{gap:12px;display:flex}.photo-complete-actions button{min-height:var(--app-bottom-button-height);border:0;border-radius:12px;flex:1;font-size:16px;font-weight:900}.photo-complete-actions button:first-child{color:#111;background:#fff}.photo-complete-actions button:last-child{color:#fff;background:#ff5638}.reward-otp-page{color:#111;background:#fff;width:100%;min-height:100dvh;font-family:Pretendard Variable,Pretendard,Inter,system-ui,sans-serif;position:relative;overflow:hidden}.reward-otp-content{padding:calc(var(--app-safe-top) + clamp(92px, 18dvh, 172px)) var(--app-x) 0;text-align:center}.reward-otp-content h1{color:#111;letter-spacing:-.04em;margin:0;font-size:24px;font-weight:900;line-height:1.38}.reward-otp-box-row{justify-content:center;gap:clamp(6px,2vw,8px);margin-top:clamp(32px,6dvh,46px);display:flex}.reward-otp-box{color:#111;box-sizing:border-box;background:#fff;border:2px solid #ddd;border-radius:10px;justify-content:center;align-items:center;width:clamp(40px,12vw,48px);height:clamp(48px,14vw,56px);font-size:24px;font-weight:900;display:flex}.reward-otp-box.filled{border-color:#ff4f38}.reward-keypad{height:clamp(300px,47dvh,420px);padding:clamp(20px, 4dvh, 28px) clamp(32px, 12vw, 48px) calc(var(--app-safe-bottom) + clamp(44px, 7dvh, 52px));box-sizing:border-box;background:#000;position:absolute;bottom:0;left:0;right:0}.reward-keypad-grid{grid-template-columns:repeat(3,1fr);place-items:center;gap:8px 42px;height:100%;display:grid}.reward-keypad-button{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:16px;width:clamp(58px,18vw,72px);height:clamp(48px,8dvh,58px);font-size:28px;font-weight:800}.reward-keypad-button:active{background:#ffffff1f;transform:translateY(2px)}.reward-otp-complete-button{left:var(--app-x);right:var(--app-x);bottom:calc(var(--app-safe-bottom) + var(--app-space-lg));min-height:var(--app-bottom-button-height);color:#fff;cursor:pointer;background:#000;border:0;border-radius:14px;font-size:18px;font-weight:900;position:absolute}.reward-otp-complete-button:active{transform:translateY(2px)}
