:root{
  --bg:#ffffff;
  --bg2:#f7f9fc;
  --panel:#ffffff;
  --panel2:#fbfcfe;
  --line:rgba(20,34,64,.08);
  --text:#1a2743;
  --muted:#6d7a95;
  --blue:#4a81ff;
  --violet:#8a73ff;
  --pink:#ff7fb9;
  --mint:#58dfc8;
  --gold:#f1bf62;
  --grad:linear-gradient(135deg,#4a81ff 0%,#7c74ff 55%,#a56dff 100%);
  --shadow:0 14px 40px rgba(33,52,93,.08);
  --shadow-soft:0 10px 28px rgba(33,52,93,.06);
}
html,body{background:#fff}
body{
  background:
    radial-gradient(circle at 18% 6%, rgba(74,129,255,.05), transparent 22%),
    radial-gradient(circle at 88% 10%, rgba(138,115,255,.05), transparent 20%),
    linear-gradient(180deg,#fff 0%,#fcfdff 48%,#fff 100%);
  color:var(--text);
}
.page-glow{display:none}
.topbar{
  background:rgba(255,255,255,.92);
  border-bottom:1px solid rgba(20,34,64,.06);
  box-shadow:0 6px 22px rgba(20,34,64,.04);
}
.brand{color:var(--text)}
.brand strong{letter-spacing:.16em}
.topnav button{color:#5f6f8d}
.topnav button:hover{background:#f3f7ff;color:var(--text)}
.nav-cta{background:linear-gradient(135deg,#2552a5,#4978ff 58%,#6b67ff);color:#fff;box-shadow:0 10px 26px rgba(66,102,221,.20)}
.nav-cta:hover{filter:brightness(1.02)}
.lang-switch{
  display:flex;align-items:center;gap:4px;
  padding:4px;border-radius:999px;background:#f4f7fb;border:1px solid rgba(20,34,64,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.lang-switch::before{content:'🌐';font-size:13px;margin:0 4px 0 8px;opacity:.8}
.lang-btn{
  border:0;background:transparent;color:#74829d;
  padding:9px 14px;border-radius:999px;font-weight:800;cursor:pointer;
  font-size:13px;letter-spacing:-.01em;
}
.lang-btn.active{background:#fff;color:#18315e;box-shadow:0 4px 12px rgba(41,59,109,.12)}
.eyebrow{color:#6a8cd8}
.hero h1 span,.section-title h2,.featured-copy h2,.stamp-copy h2,.mission-main h2,.memory-copy h2,.final-card h2,.notification-copy h2,.partnership-hero h2,.dashboard-head h3,.daily-mission-copy h3,.spot-detail h3,.footer-brand h3,.business-heading h2{color:var(--text)}
.hero-korean{background:linear-gradient(90deg,#1d3465,#4a81ff 50%,#7b70ff);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-desc,.section-title p,.featured-copy p,.stamp-copy p,.memory-copy p,.notification-copy>p,.partner-card-grid p,.ad-products p,.title-side p,.proof-card p,.proof-bottom-row,.ticket p,.partner-contact-mini span,.video-topline,.video-caption,.hero-live-line,.proof-card-top,.ticket small,.benefit-foot span,.spot-list-card span,.map-meta span,.spot-topline,.status-chip,.reward-box small,.passport-head span,.passport-route span,.memory-photo span,.memory-photo small,.daily-club-badge small,.mission-sponsor span,.mission-sponsor b,.mission-reward-strip span,.mission-reward-strip em,.play-type small,.play-ad-note span,.play-ad-note small,.rate-badge,.sample-note,.advertiser-chips span,.footer-brand p,.footer-links button,.footer-contact a,.footer-contact span,.footer-bottom,.dashboard-head small,.action-funnel>div small,.kpi-row small,.mission-stop small,.progress-copy,.spot-location,.spot-description{color:var(--muted)!important}
.hero-desc strong{color:var(--text)}
.hero-art img{filter:drop-shadow(0 22px 44px rgba(44,71,131,.12));mix-blend-mode:normal}
.hero-art:before{background:radial-gradient(circle,rgba(74,129,255,.08),transparent 66%)}
.hero-orbit{border-color:rgba(74,129,255,.12)}
.floating-chip{background:#fff;border-color:rgba(20,34,64,.08);box-shadow:var(--shadow-soft);color:#60708c}
.fc-a span{color:#2fc2a9}.fc-b{color:#765ff0}
.stat-card,.video-shell,.ticket,.proof-card,.notification-card,.performance-dashboard,.partnership-hero,.partner-card-grid article,.map-card,.spot-detail,.stamp-panel,.passport-preview,.mission-card,.memory-card,.daily-mission-card,.play-ad-note,.final-card,.signup-modal,.proof-modal,.compact-modal,.partner-modal,.play-menu,.phone-notice,.verified-action-badge,.rate-badge,.partner-contact-mini,.reward-box,.spot-list-card,.node-badge,.status-chip,.reward-ticket-mini,.time-arrow,.memory-photo,.passport-head,.passport-route,.kpi-row>div,.action-funnel>div,.advertiser-chips span,.map-legend,.filter-chip,.proof-modal-copy,.map-key-notice{
  background:#fff!important;border:1px solid rgba(20,34,64,.08)!important;box-shadow:var(--shadow)!important;color:var(--text)
}
.hero-stats .stat-card,.kpi-row>div,.action-funnel>div,.proof-card,.ticket,.play-type,.notification-card,.daily-mission-card,.performance-dashboard,.partner-card-grid article,.spot-detail,.stamp-panel,.passport-preview,.final-card{box-shadow:var(--shadow-soft)!important}
.stat-card{background:linear-gradient(180deg,#fff,#fbfcff)!important}
.stat-card.accent{background:linear-gradient(180deg,#f8fbff,#faf8ff)!important;border-color:rgba(111,109,255,.14)!important}
.stat-card small{color:#647db1!important}.stat-card em{color:#70809a!important}
.stat-num,.passport-name,.passport-numbers strong,.mission-stop b,.reward-ticket-mini b,.reward-ticket-mini strong,.partner-contact-mini b,.proof-card b,.ticket b,.daily-mission-copy h3,.partner-card-grid h3,.ad-products h3,.dashboard-head h3,.ticket strong,.spot-detail h3,.footer-brand h3,.action-funnel>div b,.kpi-row b{color:var(--text)}
.ticker-wrap{background:#fff;border-block:1px solid rgba(20,34,64,.06)}
.ticker-track{color:#61718e}.ticker-track i{color:#7c72ff}
.proofs-section,.business-section{background:none}
.proof-bottom-row code{color:#314163}
.primary-btn{
  background:linear-gradient(135deg,#28487f,#3964c0 44%,#4a81ff 100%);
  color:#fff;box-shadow:0 12px 24px rgba(53,92,188,.18)
}
.primary-btn:hover{filter:brightness(1.03)}
.ghost-btn{background:#fff;color:#243457;border:1px solid rgba(20,34,64,.12)}
.ghost-btn:hover{background:#f6f8fc}
.play-type{background:#fff;border:1px solid rgba(20,34,64,.08);box-shadow:none!important}
.play-type.active{border-color:rgba(74,129,255,.22)!important;background:#f8fbff!important;box-shadow:0 10px 24px rgba(47,77,145,.08)!important}
.play-type>span,.phone-notice>span{background:#f2f6ff!important;color:#3c5b9f;border:1px solid rgba(74,129,255,.1)}
.notification-visual{background:linear-gradient(180deg,#fafcff,#f5f9ff);border:1px solid rgba(20,34,64,.05)}
.feature-tags span,.tag-row span,.alert-pref-grid span,.signup-alerts,.pref-list,.mission-reward-strip,.map-legend,.filter-chip,.stamp,.memory-photo,.passport-route,.passport-head,.reward-box,.partner-contact-mini,.verified-action-badge,.advertiser-chips span,.reward-ticket-mini,.time-arrow{
  background:#fff!important;border:1px solid rgba(20,34,64,.08)!important;color:#556582!important;box-shadow:none!important
}
.feature-tags span,.tag-row span{background:#f9fbff!important}
.map-heading,.business-heading,.partnership-hero,.notification-card,.mission-card,.memory-card,.final-card{position:relative}
#map-section{background:linear-gradient(180deg,#fff 0%,#fbfcff 100%)}
.map-card,.spot-detail{border-radius:28px}
.google-map{background:#f8fbff;border-radius:24px}
.fallback-map-art{background:linear-gradient(180deg,#fbfdff,#f3f7fd);border-radius:20px}
.dot.photo,.dot.style,.dot.fortune,.dot.partner{box-shadow:none}
.spot-image-wrap img{border-radius:20px}
.footer-rich{background:#fff;border-top:1px solid rgba(20,34,64,.07)}
.footer-links button:hover,.footer-contact a:hover,.footer-bottom button:hover{color:#243457}
.footer-bottom{border-top:1px solid rgba(20,34,64,.07)}
.toast{background:#203053;color:#fff;box-shadow:0 12px 24px rgba(0,0,0,.16)}
.modal-close{color:#637290}
.form-grid input,.form-grid select,.full-field textarea{background:#fff;color:#1d2942;border:1px solid rgba(20,34,64,.12)}
.form-grid input:focus,.form-grid select:focus,.full-field textarea:focus{border-color:rgba(74,129,255,.35);box-shadow:0 0 0 4px rgba(74,129,255,.08)}
.form-grid span,.full-field span{color:#647390}
/* ranking modal */
.ranking-btn{margin-top:12px}
.ranking-modal{width:min(760px,calc(100% - 28px));background:#fff;border-radius:28px;padding:30px;border:1px solid rgba(20,34,64,.08);box-shadow:0 30px 70px rgba(18,30,58,.14);position:relative}
.ranking-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.ranking-header h2{margin:10px 0 10px;font-size:clamp(28px,3vw,42px);line-height:1.05;color:var(--text)}
.ranking-header p{margin:0;color:var(--muted);line-height:1.65;max-width:420px}
.my-rank-card{min-width:180px;padding:18px 18px 16px;border-radius:20px;background:linear-gradient(180deg,#f8fbff,#faf8ff);border:1px solid rgba(20,34,64,.08)}
.my-rank-card small{display:block;color:#6d88c5;letter-spacing:.12em;font-weight:800;font-size:10px}
.my-rank-card strong{display:block;font-size:34px;color:var(--text);margin:8px 0 4px}
.my-rank-card span{color:#52627f;font-size:13px;font-weight:700}
.ranking-highlight{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0 18px;padding:14px 18px;border-radius:16px;background:#f8fbff;border:1px solid rgba(20,34,64,.06)}
.ranking-highlight span{font-size:12px;font-weight:800;color:#6280bf}
.ranking-highlight b{font-size:15px;color:var(--text)}
.ranking-highlight em{font-size:12px;color:var(--muted);font-style:normal}
.ranking-list{display:grid;gap:10px}
.rank-row{display:grid;grid-template-columns:74px 1fr auto auto;gap:14px;align-items:center;padding:14px 16px;border-radius:16px;border:1px solid rgba(20,34,64,.08);background:#fff}
.rank-row.top{background:linear-gradient(180deg,#fffaf2,#fff);border-color:rgba(241,191,98,.28)}
.rank-row.me{background:linear-gradient(180deg,#f7fbff,#fff);border-color:rgba(74,129,255,.24)}
.rank-num{font-size:22px;font-weight:900;color:var(--text)}
.rank-user{display:flex;align-items:center;gap:12px}
.rank-avatar{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#eff4ff,#f5f1ff);display:grid;place-items:center;font-size:18px}
.rank-user b{display:block;color:var(--text);font-size:14px}
.rank-user span{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.rank-score{font-size:18px;font-weight:900;color:#234077}
.rank-badge{font-size:11px;font-weight:800;color:#6b7a96;padding:8px 10px;border-radius:999px;background:#f6f8fc}
.ranking-foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
@media(max-width:1000px){
  .footer-grid{grid-template-columns:1.3fr 1fr 1fr}
}
@media(max-width:860px){
  .topbar{flex-wrap:wrap;height:auto;padding-top:12px;padding-bottom:12px;gap:10px}
  .topnav{order:4;width:100%;overflow:auto;gap:8px;padding-bottom:4px}
  .lang-switch{order:2;margin-left:auto}
  .nav-cta{order:3}
}
@media(max-width:680px){
  .lang-switch{width:100%;justify-content:center;padding:6px;gap:6px;background:#f6f8fc;border-radius:18px;box-shadow:none}
  .lang-switch::before{content:'Language';font-size:11px;letter-spacing:.08em;color:#7a88a4;font-weight:800;margin:0 2px 0 4px}
  html[lang='ko'] .lang-switch::before{content:'언어'}
  .lang-btn{flex:1;min-width:0;text-align:center;padding:11px 10px;font-size:13px}
  .ranking-header{flex-direction:column}
  .my-rank-card{width:100%}
  .rank-row{grid-template-columns:58px 1fr auto;gap:10px}
  .rank-badge{grid-column:2 / -1;justify-self:start}
  .ranking-foot{flex-direction:column}
}
