body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-page{align-items:center;background:linear-gradient(180deg,#f5efe5,#ebe2d4);display:flex;justify-content:center;margin:0 auto;max-width:375px;min-height:812px;padding:20px 0;position:relative}.login-card{animation:loginDropIn .52s ease-out both;background:#fffbf2;border-radius:24px;box-shadow:0 18px 36px #241c1229,inset 0 0 0 2px #2b2b2b14;margin:0 16px;padding:20px 20px 24px;text-align:center;width:100%}@keyframes loginDropIn{0%{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:translateY(0)}}.login-hero{align-items:center;background:#0000;border-radius:50%;display:flex;height:220px;justify-content:center;margin:0 auto 6px;width:220px}.login-character{width:190px}.login-title{color:#2b2b2b;font-size:24px;font-weight:900;margin-bottom:6px}.login-subtitle{color:#6b7280;font-size:13px;margin-bottom:18px}.login-actions{gap:12px}.login-actions,.login-field{display:flex;flex-direction:column}.login-field{gap:6px}.login-label{color:#6b7280;font-size:13px;font-weight:700;text-align:left}.login-input{background:#fffdf7;border:1px solid #2b2b2b1f;border-radius:14px;box-shadow:none;caret-color:#a7721e;font-size:15px;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.login-input:focus{border-color:#f4b63a;box-shadow:0 0 0 2px #f4b63a2e;outline:none}.login-field:focus-within .login-label{color:#a7721e}.login-button{--btn-padding:14px 16px;--btn-radius:18px;--btn-font-size:17px;--btn-font-weight:900;--btn-letter-spacing:0.02em;--btn-bg:#f4b63a;--btn-bg-hover:#f9c453;--btn-bg-active:#e8a92f;--btn-shadow:#b97818;--btn-text:#1f1f1f;box-shadow:0 8px 0 var(--btn-shadow),0 14px 22px #1a140a33;width:100%}.signup-text{--btn-padding:10px 12px;--btn-radius:16px;--btn-font-size:14px;--btn-font-weight:700;--btn-letter-spacing:0.02em;--btn-bg:#0000;--btn-bg-hover:#0000;--btn-bg-active:#0000;--btn-shadow:#0000;--btn-text:#6b7280;box-shadow:none;width:100%}.signup-text:hover:not(:disabled){text-decoration:underline;transform:none}.signup-text:active:not(:disabled){box-shadow:none;transform:none}.google-login-btn{--btn-padding:14px;--btn-radius:14px;--btn-font-size:14px;--btn-font-weight:700;--btn-letter-spacing:0.02em;align-items:center;display:flex;gap:10px;justify-content:center;width:100%}.google-login-btn img{width:18px}.loading-page{align-items:center;background:var(--bg-cream);display:flex;flex-direction:column;justify-content:center;margin:0 auto;max-width:375px;min-height:812px}.loading-model{display:block;height:180px;width:180px}.loading-text{color:var(--text-muted);font-weight:800;margin-top:12px}.ranking-wrapper{background:linear-gradient(180deg,#f6f1e8,#ede6da);font-family:CookieRun,Apple SD Gothic Neo,Pretendard,sans-serif;margin:0 auto;max-width:375px;min-height:812px}.ranking-layout{display:flex;flex-direction:column;min-height:812px}.ranking-content{padding:6px 0 32px}.ranking-section{background:#ffffffa6;border:1px solid #3828140f;border-radius:22px;box-shadow:0 10px 18px #241c121a;margin:14px 12px 18px;padding:14px 12px 10px}.ranking-section-title{color:#1f2937;font-size:13px;font-weight:900;letter-spacing:.6px;margin:2px 6px 6px}.ranking-section-subtitle{color:#6b7280;font-size:11px;font-weight:800;margin:0 6px 12px}.ranking-topbar{align-items:center;background:#2e4f9f;box-shadow:0 6px 16px #1e325a33;color:#fff;display:grid;font-family:CookieRun,Apple SD Gothic Neo,Pretendard,sans-serif;grid-template-columns:44px 1fr 44px;padding:14px 12px 8px}.ranking-topbar .title{font-size:19px;font-weight:800;text-align:center}.icon-btn{--btn-padding:0;--btn-radius:12px;--btn-font-size:0;--btn-font-weight:700;--btn-letter-spacing:0;--btn-bg:#ffffff59;--btn-bg-hover:#ffffff8c;--btn-bg-active:#ffffff4d;--btn-shadow:#241c120f;align-items:center;display:flex;height:40px;justify-content:center;width:40px}.icon-btn img{display:block;height:22px;width:22px}.ranking-tabs{grid-gap:6px;background:#ffffff8c;border-radius:14px;box-shadow:0 6px 12px #241c1214;display:grid;gap:6px;grid-template-columns:1fr 1fr;margin:10px 14px 6px;padding:6px}.tab{background:#f9f6efd9;border:none;border-radius:12px;box-shadow:inset 0 0 0 2px #3828140d;color:#6b7280;font-family:CookieRun,Apple SD Gothic Neo,Pretendard,sans-serif;font-size:15px;font-weight:800;padding:10px 0}.tab.active{background:#f3c24f;box-shadow:0 7px 0 #c48b28,0 12px 20px #1a140a2e;color:#1f1f1f}.podium{align-items:flex-end;display:flex;gap:10px;justify-content:center;margin:12px 0 6px}.podium-item-wrap{align-items:center}.podium-card,.podium-item-wrap{display:flex;flex-direction:column}.podium-card{border:1px solid #3828140f;border-radius:18px;box-shadow:0 6px 10px #241c1214;font-family:CookieRun,Apple SD Gothic Neo,Pretendard,sans-serif;gap:4px;padding:10px 8px 12px;position:relative;text-align:center;width:102px}.podium-card .rank-badge{background:#fff;border-radius:16px;color:#1f2937;display:grid;font-size:20px;font-weight:900;height:42px;margin:0 auto;place-items:center;width:42px}.podium-card .name{color:#1f2a44;font-size:12px;font-weight:800}.podium-card .eye{color:#7b879d;font-size:11px;font-weight:800}.podium-gap{color:#546170;font-size:10px;font-weight:800}.podium-card .score{font-feature-settings:"tnum";color:#1f2937;font-size:18px;font-variant-numeric:tabular-nums;font-weight:900}.podium-card.rank-1{background:#f6d784;border-color:#c6871b4d;box-shadow:0 14px 22px #b4781438;transform:scale(1.08)}.podium-card.rank-1 .rank-badge{background:#fff2c6;font-size:22px;height:50px;width:50px}.podium-card.rank-2{background:#f7e2ad;border-color:#c6871b38;box-shadow:0 10px 16px #b478142e;transform:scale(1.01)}.podium-card.rank-3{background:#fbf6ea;border-color:#3828140f;box-shadow:0 6px 10px #241c1214;transform:scale(.94)}.podium-card.rank-2 .name,.podium-card.rank-2 .score{color:#1f2937}.podium-card.rank-3 .name,.podium-card.rank-3 .score{color:#3b4a5a}.podium-card.rank-2.gap-strong,.podium-card.rank-3.gap-strong{background:#f4dc9a;border-color:#c6871b38}.podium-card.rank-2.gap-mid,.podium-card.rank-3.gap-mid{background:#f6e6bd;border-color:#c6871b29}.podium-card.rank-2.gap-soft,.podium-card.rank-3.gap-soft{background:#f9f1da;border-color:#3828140f}.podium-card.highlight{box-shadow:0 8px 12px #5a6e821f;outline:2px solid #5a6e8233}.podium-you{background:#ffffffd9;border-radius:999px;color:#1f2937;font-size:10px;font-weight:900;letter-spacing:.3px;padding:2px 6px;position:absolute;right:8px;top:8px}.rank-card{grid-column-gap:12px;align-items:center;background:#fff;border:1px solid #38281414;border-radius:16px;box-shadow:0 6px 10px #241c121a;column-gap:12px;display:grid;font-family:CookieRun,Apple SD Gothic Neo,Pretendard,sans-serif;grid-template-columns:42px 1fr auto;margin:10px 6px 12px;min-height:68px;padding:14px 12px}.rank-rank{font-feature-settings:"tnum";background:#f2ede2;border-radius:14px;color:#2a2f3a;display:grid;font-size:16px;font-variant-numeric:tabular-nums;font-weight:900;height:38px;place-items:center;width:38px}.rank-info{display:flex;flex-direction:column;gap:6px}.rank-info .name{color:#1f2937;font-size:14px;font-weight:900;letter-spacing:.2px;line-height:1.25}.rank-eye{color:#6b7280;font-size:12px;font-weight:800}.rank-score-wrap{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.rank-badge{align-self:flex-start;background:#241c1214;border-radius:999px;color:#3d3d3d;letter-spacing:.2px;padding:4px 8px}.rank-badge,.rank-info .meta{font-size:10px;font-weight:800}.rank-info .meta{color:#8a7f6b;line-height:1.2;min-height:12px}.rank-score{font-feature-settings:"tnum";color:#1f2937;font-size:20px;font-variant-numeric:tabular-nums;font-weight:900}.rank-gap{color:#4b5c70;font-size:10px;font-weight:900}.rank-score.below{color:#0f172a;font-size:17px;font-weight:900}.rank-card.highlight .rank-score.below{color:#fff}.rank-card.highlight{background:#fffdf8;border:1px solid #5a6e8259;border-radius:18px;box-shadow:0 8px 12px #5a6e821f;color:#1f2a44}.rank-card.highlight .rank-score{color:#1f2937}.rank-you{background:#2f4a6b1f;border-radius:999px;color:#2f4a6b;font-size:10px;font-weight:900;letter-spacing:.3px;padding:2px 8px}.rank-card.highlight .rank-info .meta{color:#1f2a44}.rank-card.highlight .rank-badge{background:#ffffffe6;color:#1f2a44}.ranking-section--group{background:linear-gradient(180deg,#f9f2df,#f5ede0);border:1px solid #8c6e3c24;box-shadow:inset 0 0 0 1px #8c6e3c0f,0 12px 20px #241c121f}.ranking-section--personal{background:linear-gradient(180deg,#eef4fb,#f3f6fb);border:1px solid #466ea033;border-left:4px solid #466ea059;box-shadow:inset 0 0 0 1px #466ea014,0 14px 22px #1e32501f}.ranking-section--group .rank-card{background:#ffffffeb;margin:6px 4px 8px}.ranking-section--personal .rank-card{background:#fff;margin:12px 8px 14px}.ranking-section--personal .rank-card.highlight{border-color:#5a6e8266;box-shadow:0 10px 16px #5a6e8224;transform:scale(1.02)}.ranking-cta-wrap{display:flex;justify-content:center;margin:8px 0 24px}.ranking-cta-wrap--inline{margin:12px 0 8px}.ranking-cta-button{--btn-padding:0 18px;--btn-radius:16px;--btn-font-size:17px;--btn-font-weight:800;--btn-letter-spacing:0.02em;--btn-bg:#f3c24f;--btn-bg-hover:#f6cf6c;--btn-bg-active:#e6ad3e;--btn-shadow:#c9871b;color:#1f1f1f;height:54px;min-width:min(86%,380px)}.ranking-divider{background:#38281414;height:1px;margin:10px 6px 6px}.my-rank{bottom:14px;margin:16px;position:-webkit-sticky;position:sticky}.onboarding-page{padding:24px 0}.onboarding-card{display:flex;flex-direction:column;gap:12px}.group-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin:6px 0 8px}.group-card{background:#fffaf2;border:none;border-radius:18px;box-shadow:0 10px 18px #241c121f;cursor:pointer;padding:16px 14px 14px;transition:transform .15s ease,box-shadow .2s ease,background .2s ease}.group-card:hover:not(:disabled){box-shadow:0 14px 22px #241c1229;transform:translateY(-2px)}.group-card.selected{background:#fff0d4;box-shadow:0 16px 26px #f2a53138}.group-card:active{box-shadow:0 8px 14px #241c1229;transform:translateY(1px)}.group-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.group-name{color:#1f2937;font-size:15px;font-weight:900;margin:0}.group-score{align-items:baseline;display:flex;gap:4px;margin-bottom:12px}.group-score-value{color:#1f2937;font-size:24px;font-weight:900}.group-score-unit{color:#6b7280;font-size:12px;font-weight:800}.group-meta{color:#6b7280;display:flex;font-size:12px;font-weight:700;gap:8px;justify-content:space-between}.group-meta-item{align-items:center;display:inline-flex;gap:4px}.group-card.selected .group-name,.group-card.selected .group-score-value{color:#a35608}.group-card.selected .group-meta{color:#8a6b3f}@media (max-width:360px){.group-grid{grid-template-columns:1fr}}.mypage-wrapper{background:linear-gradient(180deg,#f6f1e8,#ede6da);margin:0 auto;max-width:375px;padding:72px 16px 24px;position:relative}.mypage-topbar{gap:12px;justify-content:space-between;left:16px;position:absolute;right:16px;top:20px}.mypage-back,.mypage-topbar{align-items:center;display:flex}.mypage-back{--btn-bg-hover:#ffffff59;--btn-bg-active:#ffffff59;background:#ffffff59;border:none;border-radius:12px;box-shadow:0 8px 16px #0f172a1a;cursor:pointer;height:40px;justify-content:center;padding:0;width:40px}.mypage-back:hover:not(:disabled){box-shadow:0 10px 18px #0f172a24;transform:translateY(-2px)}.mypage-back:active{box-shadow:0 4px 10px #0f172a1f;transform:translateY(1px) scale(.98)}.mypage-back img{display:block;filter:none;height:20px;object-fit:contain;width:20px}.mypage-score-hud{align-items:flex-end;color:#2f2a23;display:inline-flex;flex-direction:column;gap:2px;letter-spacing:.01em}.mypage-score-hud-label{color:#6a5d4e;font-size:10px;font-weight:800;letter-spacing:.12em}.mypage-score-hud-value{color:#1f2a37;font-size:18px;font-weight:900;line-height:1}.mypage-score-hud-unit{color:#4b5563;font-size:11px;margin-left:4px}.mypage-hero{background:#ffffffb3;border-radius:22px;box-shadow:0 12px 20px #241c121f;display:flex;flex-direction:column;gap:12px;margin-top:6px;padding:14px 12px}.mypage-identity{align-items:center;display:flex;gap:12px}.mypage-mascot{background:#fffc;border-radius:18px;box-shadow:inset 0 0 0 2px #2b2b2b0f;display:grid;height:72px;place-items:center;width:72px}.mypage-mascot img{display:block;height:56px;object-fit:contain;width:56px}.mypage-hero-info{flex:1 1;min-width:0}.mypage-name{color:#1e293b;font-size:17px;font-weight:900;margin:0}.mypage-tier{align-items:center;background:#1f29371f;border-radius:999px;color:#334155;display:inline-flex;font-size:11px;font-weight:900;margin-top:4px;padding:2px 8px}.profile-meta{align-items:center;color:#5b6472;display:flex;font-size:12px;gap:8px;margin-top:6px}.profile-group{background:#241c1214;border-radius:999px;color:#4f5665;font-weight:800;padding:4px 10px}.empty-state{margin:20px 0;text-align:center}.empty-state img{width:140px}.rank-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin:10px 2px 14px}.rank-divider{display:none}.rank-chip{--btn-bg-hover:#ffffffe6;--btn-bg-active:#ffffffe6;background:#ffffffe6;border:1px solid #241c1214;border-radius:14px;box-shadow:0 8px 16px #241c121f;color:#3b3f47;display:flex;flex-direction:column;font-size:12px;gap:4px;padding:8px 10px}.rank-chip-button{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.rank-chip-button:hover:not(:disabled){box-shadow:0 12px 20px #241c1224;transform:translateY(-2px)}.rank-chip-button:active:not(:disabled){box-shadow:0 4px 10px #241c121a;transform:translateY(1px) scale(.98)}.rank-chip strong{font-size:16px;font-weight:900}.score-summary.tier-newbie .score-tier{background:#1f29371f;color:#334155}.score-summary.tier-elite .score-tier{background:#1f29372e;color:#1f2937}.score-summary.tier-idle .score-tier{background:#1f293729;color:#4b5563}.score-ranks{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,1fr);margin-top:12px}.rank-item{background:#fffc;border:1px solid #1f1f1f1f;border-radius:12px;color:#3b3f47;display:flex;flex-direction:column;font-size:12px;gap:4px;padding:8px 10px}.rank-item strong{font-size:16px;font-weight:900}.stats-grid{grid-gap:12px;display:grid;gap:12px;margin-top:16px}.stats-card--primary{border-color:#1f29372e;box-shadow:0 12px 20px #241c121f;order:0;padding:16px}.stats-card--primary .stats-header strong{color:#111827}.stats-card--primary .stats-progress span{background:linear-gradient(90deg,#f4b63a,#f59e0b)}.stats-card--muted{background:#ffffffc7;border-color:#1f1f1f0f;box-shadow:0 8px 12px #241c1214;opacity:.85}.stats-grid .stats-card--muted:last-child{opacity:.7}.stats-card{background:#ffffffe6;border:1px solid #1f1f1f14;border-radius:16px;box-shadow:0 10px 16px #241c121a;padding:12px 14px}.stats-header{align-items:center;color:#4f5665;display:flex;font-size:13px;justify-content:space-between}.stats-header strong{color:#1f2937;font-size:16px;font-weight:900}.stats-progress{background:repeating-linear-gradient(90deg,#1f29371f 0 16px,#1f29370f 16px 20px);border-radius:999px;height:8px;margin-top:8px;overflow:hidden}.stats-progress span{background:linear-gradient(90deg,#4a6ea9,#3b82f6);border-radius:999px;display:block;height:100%}.stats-hint{color:#7a8696;font-size:11px;margin-top:6px}.capture-gallery{background:#ffffffe6;border:1px solid #1f1f1f14;border-radius:18px;box-shadow:0 12px 18px #241c121f;margin:24px 0 12px;padding:16px}.capture-gallery-title{color:var(--text-dark);font-size:14px;font-weight:900;margin-bottom:12px}.capture-gallery-subtitle{color:#6b7280;font-size:12px;font-weight:700;margin-bottom:12px;margin-top:-6px}.capture-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr)}.capture-card{background:#0000;border:0;cursor:pointer;padding:0}.capture-card img{aspect-ratio:1/1;border:2px solid var(--panel-border);border-radius:12px;box-shadow:0 6px 10px var(--panel-shadow);object-fit:cover;width:100%}.capture-modal{align-items:center;background:#0c1014a6;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:999}.capture-modal-body{background:var(--bg-cream);border:2px solid var(--panel-border);border-radius:20px;box-shadow:0 16px 30px #0003;padding:16px;position:relative;width:min(420px,100%)}.capture-modal-close{background:var(--panel-cream);border:2px solid var(--panel-border);border-radius:999px;cursor:pointer;font-weight:800;padding:6px 12px;position:absolute;right:12px;top:12px}.mypage-next-action{background:#f4b63a;border:none;border-radius:14px;box-shadow:0 10px 16px #241c1224;color:#1f2937;cursor:pointer;font-size:14px;font-weight:900;margin:18px 4px 8px;padding:12px;text-align:center;width:calc(100% - 8px)}.mypage-next-action:hover:not(:disabled){transform:translateY(-1px)}.mypage-next-action:active:not(:disabled){transform:translateY(1px)}.capture-media{aspect-ratio:3/4;border:2px solid var(--panel-border);border-radius:16px;margin-top:28px;overflow:hidden;position:relative;width:100%}.capture-media img{display:block;height:100%;object-fit:cover;width:100%}.capture-3d{inset:0;pointer-events:none;position:absolute}.ingame-map{background:linear-gradient(180deg,#f6f1e8,#ede6da);font-family:CookieRun,Noto Sans KR,sans-serif;height:100vh;overflow:hidden;position:relative;width:100%}.map-base{background-color:#e9e5dd}.map-frame{background:#f6f1e8;box-shadow:0 20px 36px #241c122e,inset 0 0 0 2px #2b2b2b1a;inset:88px 12px 104px 12px}.map-frame,.map-wrapper{border-radius:24px;overflow:hidden;position:absolute}.map-wrapper{inset:0}.map-mask{z-index:2}.map-mask,.map-vignette{inset:0;pointer-events:none;position:absolute}.map-vignette{background:radial-gradient(circle at center,#0000 68%,#22283824 100%);z-index:3}.map-icon{--btn-bg-hover:#ffffff52;--btn-bg-active:#ffffff52;background:#ffffff52;border:none;border-radius:14px;box-shadow:none;display:grid;height:46px;opacity:.9;padding:0;place-items:center;position:absolute;transition:transform .15s ease,opacity .15s ease;width:46px;z-index:4}.map-icon:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.map-icon:active:not(:disabled){transform:translateY(1px)}.map-icon img{display:block;filter:saturate(.85) brightness(1);height:30px;object-fit:contain;width:30px}.map-icon--tutorial{left:16px;top:16px}.map-icon--ranking{right:16px;top:16px;transform:none}.map-icon--ranking:hover:not(:disabled){transform:translateY(-1px)}.map-icon--ranking:active:not(:disabled){transform:translateY(1px)}.top-buttons{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff59;border-radius:14px;box-shadow:0 8px 16px #0f172a1a;display:flex;gap:4px;padding:4px;position:absolute;right:12px;top:12px;z-index:30}.top-button{--btn-padding:0;--btn-radius:12px;--btn-font-size:0;--btn-letter-spacing:0;--btn-bg:#ffffff2e;--btn-bg-hover:#ffffff2e;--btn-bg-active:#fff3;--btn-shadow:#0f172a1f;font-size:0;height:40px;width:40px}.top-button:hover:not(:disabled){box-shadow:0 10px 18px #0f172a24;transform:translateY(-2px)}.top-button:active:not(:disabled){box-shadow:0 6px 12px #0f172a1f;transform:translateY(1px)}.top-button img{display:block;filter:saturate(.85) brightness(1.02);height:100%;object-fit:contain;width:100%}.top-button--ranking{background:#ffffff38;box-shadow:0 8px 16px #0f172a1f}.top-button--profile{--btn-bg-hover:#0000;--btn-bg-active:#0000;background:#0000;box-shadow:none}.top-button--profile img{filter:saturate(.6) brightness(.95)}.top-button--tutorial{--btn-bg-hover:#0000;--btn-bg-active:#0000;background:#0000;box-shadow:none;opacity:.75}.top-button--tutorial img{filter:saturate(.5) brightness(.9)}.hud-bar{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff73;border-radius:18px;box-shadow:0 10px 18px #0f172a24,0 2px 6px #0f172a14;display:flex;gap:12px;left:12px;padding:12px 16px;position:absolute;right:12px;top:12px;z-index:30}.hud-item{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0;white-space:nowrap}.hud-label{color:#6b7280;font-size:11px;font-weight:800}.hud-value{color:#111;font-size:19px;font-weight:900}.hud-divider{background:#0f172a1f;flex-shrink:0;height:26px;width:1px}.hud-timer{align-items:flex-end;display:flex;flex-direction:column;gap:4px;white-space:nowrap}.trophy-button img{height:100%;width:100%}.cta-wrap{align-items:center;bottom:24px;display:flex;flex-direction:column;gap:4px;left:50%;position:absolute;transform:translateX(-50%);z-index:30}.cta-hint{background:#ffffffe6;border-radius:12px;box-shadow:0 6px 12px #0f172a1f;color:#374151;font-size:12px;font-weight:700;padding:6px 10px;position:relative;transition:transform .15s ease;white-space:nowrap}.cta-hint:after{background:#ffffffe6;bottom:-6px;box-shadow:2px 2px 6px #0f172a14;content:"";height:12px;left:50%;position:absolute;transform:translateX(-50%) rotate(45deg);width:12px}.cta-wrap:hover .cta-hint{transform:translateY(-3px)}.qr-main-button{--btn-padding:10px 18px;--btn-radius:16px;--btn-font-size:15px;--btn-font-weight:800;--btn-letter-spacing:0.02em;--btn-bg:#f3c24f;--btn-bg-hover:#f6cf6c;--btn-bg-active:#e7b84a;--btn-shadow:#c48b28;--btn-text:#1f1f1f;box-shadow:0 7px 0 var(--btn-shadow),0 12px 20px #1a140a2e;flex-direction:column;gap:4px;min-height:60px;width:min(82%,400px)}.qr-main-button:hover:not(:disabled){transform:translateY(-1px)}.qr-main-button:active:not(:disabled){transform:translateY(3px)}.qr-main-button:after{background:linear-gradient(90deg,#ffffff80,#fff0);border-radius:999px;content:"";height:10px;inset:6px 10px auto 10px;opacity:.5;pointer-events:none;position:absolute}.qr-main-button:not(:disabled){animation:none}.cta-main{align-items:center;display:inline-flex;font-size:17px;font-weight:900;gap:8px;white-space:nowrap}.cta-icon{display:block;filter:saturate(.9) brightness(.9);height:32px;width:32px}.cta-sub{color:#1f1f1fb3;font-size:13px;font-weight:800;white-space:nowrap}.zoom-controls{align-items:center;display:flex;flex-direction:column;gap:8px;position:absolute;right:18px;top:90px;z-index:30}.zoom-button{--btn-padding:0;--btn-radius:12px;--btn-font-size:24px;--btn-font-weight:900;--btn-letter-spacing:0;height:44px;line-height:1;width:44px}.zoom-track{background:#5a687a73;border-radius:999px;height:90px;width:8px}.pin-overlay{pointer-events:none}.pin-overlay,.pin-overlay img{height:30px;position:relative;width:30px}.pin-overlay img{display:block;z-index:2}.pin-pulse{animation:pinPulse 1.6s ease-out infinite;background:#5a6e8229;border-radius:50%;height:30px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:30px;z-index:1}.map-modal{align-items:center;background:#0f172a8c;display:flex;inset:0;justify-content:center;position:absolute;z-index:40}.map-modal-card{background:#fff;border-radius:18px;box-shadow:0 16px 30px #0f172a40;min-height:320px;padding:18px 16px;position:relative;text-align:center;width:min(86%,320px)}.map-modal-close{--btn-bg-hover:#fffc;--btn-bg-active:#fffc;background:#fffc;border:none;border-radius:8px;box-shadow:0 6px 12px #0f172a1f;color:#9ca3af;font-size:18px;font-weight:700;height:26px;padding:0;position:absolute;right:12px;top:12px;width:26px}.map-modal-header{align-items:center;background:#1f293714;border-radius:999px;color:#1f2937;display:inline-flex;font-size:11px;font-weight:900;justify-content:center;letter-spacing:.08em;margin-bottom:10px;padding:4px 10px}.map-modal-title{color:#1f2937;font-size:20px;font-weight:900;margin-bottom:6px}.map-modal-desc{color:#6b7280;font-size:13px;line-height:1.5;margin:0 0 14px}.map-modal-list{grid-gap:8px;color:#374151;display:grid;font-size:12px;gap:8px;line-height:1.5;list-style:none;margin:0;padding:0;text-align:left}.map-modal-item{align-items:flex-start;display:flex;gap:6px}.map-modal-bullet{color:#f4b63a;font-weight:900;margin-top:2px}.map-modal-actions{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:14px}.map-modal-button--placeholder{pointer-events:none;visibility:hidden}.tutorial-text-button{background:#0000;border:none;box-shadow:none;color:#6b7280;cursor:pointer;font-size:12px;font-weight:800;padding:6px 4px}.tutorial-cta-button{--btn-padding:10px 18px;--btn-radius:16px;--btn-font-size:14px;--btn-font-weight:900;--btn-letter-spacing:0.02em;--btn-bg:#f4b63a;--btn-bg-hover:#f4b63a;--btn-bg-active:#e8a92f;--btn-shadow:#c9871b;--btn-text:#1f1f1f;border:2px solid #1f1f1f;min-width:110px}.tutorial-cta-button--secondary{--btn-bg:#f7d783;--btn-bg-hover:#f7d783;--btn-bg-active:#ecc86e;--btn-shadow:#c5a04b;--btn-text:#1f1f1f}.tutorial-cta-button:hover:not(:disabled){box-shadow:0 8px 0 var(--btn-shadow),0 14px 22px #1a140a33;transform:translateY(-2px)}.tutorial-cta-button:active:not(:disabled){box-shadow:0 4px 0 var(--btn-shadow),0 8px 14px #1a140a2e;transform:translateY(1px)}.pin-info{background:#fff;border:1px solid #0f172a33;border-radius:10px;box-shadow:0 8px 16px #0f172a26;color:#1f2937;font-size:12px;line-height:1.4;padding:8px 10px}.pin-info-title{font-weight:700;margin-bottom:2px}@keyframes pinPulse{0%{opacity:.6;transform:translate(-50%,-50%) scale(.7)}70%{opacity:0;transform:translate(-50%,-50%) scale(1.4)}to{opacity:0;transform:translate(-50%,-50%) scale(1.4)}}@keyframes ctaPulse{0%{box-shadow:0 8px 0 #c9871b,0 12px 24px #1a140a2e}50%{box-shadow:0 10px 0 #c9871b,0 16px 28px #1a140a38}to{box-shadow:0 8px 0 #c9871b,0 12px 24px #1a140a2e}}.qr-print-page{background:#f8fafc;color:#0f172a;min-height:100vh;padding:24px}.qr-print-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.qr-print-title{font-size:20px;font-weight:700}.qr-print-meta{color:#475569;font-size:12px}.qr-button{background:#fff;border:1px solid #94a3b866;border-radius:10px;cursor:pointer;font-weight:600;padding:10px 14px}.qr-button:disabled{cursor:not-allowed;opacity:.6}.qr-grid{grid-gap:.5cm;align-items:start;display:grid;gap:.5cm;grid-template-columns:repeat(auto-fill,minmax(3cm,1fr))}.qr-card{grid-gap:6px;display:grid;gap:6px;justify-items:center;width:3cm}.qr-image{display:block;height:3cm;width:3cm}.qr-label{font-size:10px;text-align:center;word-break:break-word}.qr-error{color:#ef4444;font-size:13px}@media print{@page{size:A4;margin:10mm}.qr-print-page,body{background:#fff}.qr-print-page{padding:0}.qr-error,.qr-print-meta,.qr-print-toolbar{display:none}}.ar-page{background:#050505;height:100vh;overflow:hidden;position:relative;width:100%}.ar-video{background:#000;object-fit:cover}.ar-canvas,.ar-video{height:100%;inset:0;position:absolute;width:100%}.ar-canvas{pointer-events:none}.ar-topbar{align-items:center;display:flex;gap:8px;left:14px;position:absolute;top:14px;z-index:2}.ar-badge{background:#0f172acc;color:#f8fafc;letter-spacing:.04em}.ar-badge,.ar-id{border-radius:999px;font-size:12px;padding:6px 10px}.ar-id{background:#f8fafccc;color:#0f172a}.ar-overlay{background:#05050580;inset:0;justify-content:center}.ar-overlay,.ar-ui{align-items:center;display:flex;position:absolute;z-index:3}.ar-ui{bottom:18px;flex-direction:column;gap:10px;left:50%;transform:translateX(-50%)}.ar-button{--btn-padding:12px 18px;--btn-radius:14px;--btn-font-size:14px;--btn-font-weight:700;--btn-letter-spacing:0.02em;min-width:160px}.ar-button:disabled{cursor:not-allowed;opacity:.6}.ar-button.ghost{--btn-bg:#6c7fe8;--btn-bg-hover:#7c8ef0;--btn-bg-active:#5d72dd;--btn-shadow:#4c63c8;--btn-text:#fff}.ar-error{background:#7f1d1dcc;color:#fee2e2}.ar-error,.ar-status{border-radius:10px;font-size:12px;padding:6px 10px}.ar-status{background:#0f172ab3;color:#e2e8f0}.tutorial-page{--enter-x:0px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172a73;color:#1f2933;display:flex;flex-direction:column;font-family:CookieRun,Noto Sans KR,sans-serif;justify-content:center;min-height:100vh;padding:40px 24px}.tutorial-step-1{--enter-x:16px}.tutorial-step-2{--enter-x:0px}.tutorial-step-3{--enter-x:-16px}.tutorial-card{animation:tutorialEnter .4s ease both;background:#fffbf2;border-radius:20px;box-shadow:0 18px 36px #0f172a38,inset 0 0 0 2px #2b2b2b14;padding:26px 22px;position:relative}.tutorial-close{--btn-bg-hover:#ffffffb3;--btn-bg-active:#ffffffb3;background:#ffffffb3;border:none;border-radius:12px;box-shadow:0 8px 16px #0f172a2e;color:#1f2937;font-size:16px;font-weight:900;height:34px;overflow:visible;padding:0;position:absolute;right:14px;top:14px;width:34px}.tutorial-close:before{background:#1f293714;border-radius:999px;content:"";inset:6px;position:absolute;z-index:-1}.tutorial-close:hover:not(:disabled){box-shadow:0 10px 18px #0f172a2e;transform:translateY(-2px)}.tutorial-close:active:not(:disabled){box-shadow:0 6px 12px #0f172a29;transform:translateY(1px)}.tutorial-header{align-items:center;background:#1f293714;border-radius:999px;color:#1f2937;display:inline-flex;font-size:12px;font-weight:900;gap:8px;margin-bottom:12px;padding:6px 10px}.tutorial-icon{font-size:14px}.tutorial-mission{letter-spacing:.08em}.tutorial-title{font-size:22px;font-weight:900;margin-bottom:10px}.tutorial-desc{color:#4b5563;font-size:14px;line-height:1.6;margin-bottom:18px}.tutorial-list{grid-gap:10px;color:#303947;display:grid;font-size:13px;gap:10px;line-height:1.6;list-style:none;margin:0;padding:0}.tutorial-list li{align-items:flex-start;display:flex;gap:8px}.tutorial-bullet{color:#f4b63a;font-weight:900;margin-top:2px}.tutorial-actions{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-top:20px}.tutorial-actions--single{justify-content:flex-end}.tutorial-button{--btn-padding:12px 18px;--btn-radius:16px;--btn-font-size:14px;--btn-font-weight:900;--btn-letter-spacing:0.02em;--btn-bg:#f4b63a;--btn-bg-hover:#f4b63a;--btn-bg-active:#e8a92f;--btn-shadow:#c9871b;--btn-text:#1f1f1f;background:var(--btn-bg);border:none;border-radius:var(--btn-radius);box-shadow:0 6px 0 var(--btn-shadow),0 10px 18px #1a140a2e;color:var(--btn-text);cursor:pointer;font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);letter-spacing:var(--btn-letter-spacing);padding:var(--btn-padding);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.tutorial-button--secondary{--btn-bg:#f7d783;--btn-bg-hover:#f7d783;--btn-bg-active:#ecc86e;--btn-shadow:#c5a04b;--btn-text:#1f1f1f}.tutorial-button:hover:not(:disabled){background:var(--btn-bg-hover);box-shadow:0 8px 0 var(--btn-shadow),0 14px 22px #1a140a33;transform:translateY(-2px)}.tutorial-button:active:not(:disabled){background:var(--btn-bg-active);box-shadow:0 4px 0 var(--btn-shadow),0 8px 14px #1a140a2e;transform:translateY(1px)}.tutorial-actions button{min-width:96px}@keyframes tutorialEnter{0%{opacity:0;transform:translate3d(var(--enter-x),16px,0)}to{opacity:1;transform:translateZ(0)}}:root{--bg-cream:#eef7ff;--bg-cream-light:#f0f8ff;--panel-cream:#d6eaff;--panel-cream-strong:#4da6ff;--panel-border:#2b7de0;--panel-shadow:#1e3c6440;--accent-green:#59d2fe;--accent-green-dark:#09c;--accent-orange:#fff666;--accent-pink:#ff85c0;--text-dark:#0d2b5c;--text-muted:#53709b}@font-face{font-display:swap;font-family:CookieRun;font-style:normal;font-weight:400;src:url(/static/media/CookieRun%20Regular.cee2e5ff2bce56311a79.otf) format("opentype")}@font-face{font-display:swap;font-family:CookieRun;font-style:normal;font-weight:700;src:url(/static/media/CookieRun%20Bold.8dd1f51181f6d7bcfe04.otf) format("opentype")}@font-face{font-display:swap;font-family:CookieRun;font-style:normal;font-weight:900;src:url(/static/media/CookieRun%20Black.6538392a446f77fae624.otf) format("opentype")}*,:after,:before{box-sizing:border-box}body,html{background:#eef7ff;background:var(--bg-cream);font-family:CookieRun,Apple SD Gothic Neo,Pretendard,sans-serif;height:100%;margin:0;overflow-x:hidden;padding:0;width:100%}button,input,select,textarea{font-family:inherit}[role=button],button,input[type=button],input[type=reset],input[type=submit]{cursor:pointer}:root{--btn-bg:#4c6ef5;--btn-bg-hover:#5c7cfa;--btn-bg-active:#4263eb;--btn-bg-disabled:#a5b4fc;--btn-shadow:#3b5bdb;--btn-text:#fff;--btn-padding:14px 28px;--btn-radius:18px;--btn-font-size:20px;--btn-font-weight:800;--btn-letter-spacing:0.05em}button{align-items:center;background:#4c6ef5;background:var(--btn-bg);border:none;border-radius:18px;border-radius:var(--btn-radius);box-shadow:0 6px 0 #3b5bdb,0 10px 16px #0003;box-shadow:0 6px 0 var(--btn-shadow),0 10px 16px #0003;color:#fff;color:var(--btn-text);display:inline-flex;font-size:20px;font-size:var(--btn-font-size);font-weight:800;font-weight:var(--btn-font-weight);gap:10px;justify-content:center;letter-spacing:.05em;letter-spacing:var(--btn-letter-spacing);padding:14px 28px;padding:var(--btn-padding);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}button:hover:not(:disabled){background:#5c7cfa;background:var(--btn-bg-hover);transform:translateY(-1px)}button:active:not(:disabled){background:#4263eb;background:var(--btn-bg-active);box-shadow:0 2px 0 #3b5bdb,0 4px 8px #0003;box-shadow:0 2px 0 var(--btn-shadow),0 4px 8px #0003;transform:translateY(4px)}button:disabled{background:#a5b4fc;background:var(--btn-bg-disabled);box-shadow:none;cursor:not-allowed;opacity:.8}#root{display:flex;justify-content:center;min-height:100%;width:100%}.app-wrapper{background:#eef7ff;background:var(--bg-cream);max-width:375px;min-height:812px;width:100%}.loading-overlay{align-items:center;background:#dcf0fff2;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.loading-overlay .loading-page{background:#0000;min-height:auto;width:100%}.qr-scan-page{background:#0b0f14;flex-direction:column;min-height:100vh;padding:0;position:relative}.qr-found-page,.qr-scan-page{align-items:center;display:flex;justify-content:center}.qr-found-page{background:#eef7ff;background:var(--bg-cream);min-height:812px;padding:24px 16px}.qr-found-card,.qr-scan-card{background:#d6eaff;background:var(--panel-cream);border:3px solid #2b7de0;border:3px solid var(--panel-border);border-radius:24px;box-shadow:0 12px 24px #1e3c6440;box-shadow:0 12px 24px var(--panel-shadow);color:#0d2b5c;color:var(--text-dark);max-width:340px;padding:24px 18px;text-align:center;width:100%}.qr-found-card h1,.qr-scan-card h1{font-size:20px;font-weight:900;margin-bottom:12px}.qr-scan-page .qr-viewport{background:#0b0f14;height:100vh;overflow:hidden;position:relative;width:100%}.qr-video{height:100%;object-fit:cover;width:100%}.qr-back{--btn-bg-hover:#0f172a2e;--btn-bg-active:#0f172a2e;background:#0f172a2e;border:none;border-radius:999px;box-shadow:none;display:grid;height:40px;left:16px;padding:0;place-items:center;position:absolute;top:16px;width:40px;z-index:5}.qr-back:hover:not(:disabled){transform:translateY(-2px)}.qr-back:active:not(:disabled){transform:translateY(1px)}.qr-close-icon{color:#ffffffd9;font-size:22px;font-weight:700;line-height:1}.qr-frame{inset:18%;pointer-events:none;position:absolute}.qr-corner{border:3px solid #ffd15ee6;height:28px;position:absolute;width:28px}.qr-corner.top-left{border-bottom:none;border-right:none;left:0;top:0}.qr-corner.top-right{border-bottom:none;border-left:none;right:0;top:0}.qr-corner.bottom-left{border-right:none;border-top:none;bottom:0;left:0}.qr-corner.bottom-right{border-left:none;border-top:none;bottom:0;right:0}.qr-scan-line{animation:scanLine 2.2s ease-in-out infinite;background:#ffd15ecc;box-shadow:0 0 12px #ffd15e80;height:2px;left:8px;position:absolute;right:8px;top:10%}.qr-overlay{align-items:center;background:#1f293799;color:#fff7ea;display:flex;inset:0;justify-content:center;padding:16px;text-align:center}.qr-overlay,.qr-status{font-weight:800;position:absolute}.qr-status{background:#0f172aa6;border-radius:999px;bottom:24px;box-shadow:0 10px 20px #00000040;color:#f8fafc;font-size:13px;left:50%;padding:8px 14px;transform:translateX(-50%);z-index:4}.qr-actions{display:flex;justify-content:center}.qr-primary,.qr-secondary{--btn-padding:12px 14px;--btn-radius:16px;--btn-font-size:14px;--btn-font-weight:900;--btn-letter-spacing:0.02em;width:100%}.qr-primary{--btn-padding:12px 14px}@keyframes scanLine{0%{opacity:.7;transform:translateY(0)}50%{opacity:1;transform:translateY(260%)}to{opacity:.7;transform:translateY(0)}}.qr-secondary{--btn-bg:#6c7fe8;--btn-bg-hover:#7c8ef0;--btn-bg-active:#5d72dd;--btn-shadow:#4c63c8;--btn-text:#fff}.found-badge{background:#e6f4ff;border:2px solid #2b7de0;border:2px solid var(--panel-border);border-radius:999px;color:#0d2b5c;display:inline-block;font-weight:900;margin-bottom:12px;padding:6px 14px}.qr-found-card img{margin-bottom:12px;width:140px}.qr-found-card p{color:#53709b;color:var(--text-muted);font-size:13px;margin-bottom:12px}.found-code{background:#f0f8ff;background:var(--bg-cream-light);border:2px dashed #2b7de0;border:2px dashed var(--panel-border);border-radius:12px;color:#0d2b5c;color:var(--text-dark);font-size:12px;font-weight:800;margin:8px auto 16px;padding:8px 12px}.ingame-map-container{background:radial-gradient(120% 90% at 0 0,#b3e0ff 0,#80c4ff 55%,#4da6ff 100%);border-radius:28px;box-shadow:inset 0 0 0 6px #87cefa8c,inset 0 0 0 12px #14325a38,0 18px 0 #14325a2e,0 28px 40px #0a142833;height:100%;min-height:812px;overflow:hidden;position:relative;width:100%}.map-top-actions{display:flex;justify-content:space-between;left:16px;position:absolute;right:16px;top:28px;z-index:6}.map-icon-button{--btn-padding:0;--btn-radius:16px;--btn-font-size:24px;--btn-font-weight:900;--btn-letter-spacing:0.02em;align-items:center;display:flex;height:46px;justify-content:center;width:46px}.map-icon-button:active{transform:translateY(1px) scale(.98)}.map-locate-button{--btn-padding:0;--btn-radius:14px;--btn-font-size:18px;--btn-font-weight:900;--btn-letter-spacing:0.02em;align-items:center;bottom:132px;display:flex;height:42px;justify-content:center;position:absolute;right:18px;width:42px;z-index:6}.map-locate-button:active{transform:translateY(1px) scale(.98)}.map-window{border-radius:0;box-shadow:none;height:100%;height:62vh;min-height:420px;overflow:hidden;position:relative;width:100%}.map-window-faded{filter:saturate(.5) blur(3px);transform:scale(1.02)}.map-base{height:100%;width:100%;z-index:1}.map-base,.map-overlay{inset:0;position:absolute}.map-overlay{mix-blend-mode:soft-light;opacity:.2;pointer-events:none;z-index:2}.map-overlay img{height:100%;object-fit:contain;width:100%}.user-marker{align-items:center;display:flex;filter:drop-shadow(0 10px 18px rgba(34,27,16,.25));flex-direction:column;gap:8px;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-120%);z-index:3}.user-marker img{height:54px;object-fit:contain;width:54px}.marker-label{background:#e6f4ff;border:3px solid #1a3d6e;border-radius:999px;box-shadow:0 5px 0 #14325a4d;color:#0d2b5c;font-size:12px;font-weight:800;padding:6px 10px}.map-hud{bottom:18px;gap:12px;left:0;padding:0 24px 20px;position:absolute;right:0;z-index:4}.hud-center,.map-hud{align-items:center;display:flex;flex-direction:column}.hud-center{gap:10px;margin-bottom:6px}.hud-character{filter:drop-shadow(0 8px 14px rgba(46,35,20,.3));height:96px;object-fit:contain;width:96px}.hud-line{color:#1f2a44;font-size:16px;font-weight:900;margin:0;text-shadow:0 2px 0 #ffffffbf}.stat-pill{align-items:center;background:linear-gradient(135deg,#cde4ff,#9bcaff);border:3px solid #1a3d6e;border-radius:16px;box-shadow:0 6px 0 #14325a33;color:#0d2b5c;display:flex;flex-direction:column;font-size:11px;gap:4px;padding:8px 6px;text-align:center}.stat-label,.stat-value{font-weight:900}.stat-value{color:#0d2b5c;font-size:14px}.qr-button{--btn-padding:16px 18px;--btn-radius:22px;--btn-font-size:16px;--btn-font-weight:900;--btn-letter-spacing:0.02em;max-width:320px;width:100%}.qr-button:active{transform:translateY(1px)}@media (max-width:360px){.hud-stats{grid-template-columns:1fr}}
/*# sourceMappingURL=main.a784f543.css.map*/