/* ==========================================================
   MoMoTown · UI 图标 / 控件 / 桌面尺寸校准层
   加载顺序：style.css → responsive.css → ui.css
   本文件只管：SVG 图标尺寸、两枚固定开关、桌面端尺寸收档。
   手机端布局全部在 responsive.css，本文件的手机块仅调整开关位置。
   ========================================================== */

/* ---------- 统一 SVG 图标 ---------- */
.ico{display:inline-block;width:1em;height:1em;vertical-align:-0.15em;flex:none;fill:none;stroke:currentColor;}
.ic .ico{width:30px;height:30px;color:var(--ink);opacity:.85;}

/* ---------- 粒子：花瓣圆点 / 点击金币 ---------- */
.faller.petal-dot{width:10px;height:10px;border-radius:50% 50% 50% 0;
  background:radial-gradient(circle at 35% 30%,#FFF0F4,var(--peach-1) 60%,var(--peach-2));opacity:.9;}
.spark-coin{width:12px;height:12px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%,var(--gold-hi),var(--gold-1) 50%,var(--gold-2));
  border:1.5px solid #B07E14;box-shadow:0 0 6px rgba(255,200,60,.6);}
.spark-coin:nth-child(even){width:9px;height:9px;}

/* ---------- 右上 · 语言开关；左下 · 音效开关 ---------- */
.lang-toggle,.sfx-toggle{position:fixed;z-index:95;display:inline-flex;align-items:center;gap:6px;
  background:rgba(255,249,240,.94);border:3px solid var(--ink);border-radius:999px;
  padding:7px 14px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;color:var(--ink);
  box-shadow:0 4px 0 rgba(92,61,46,.4);transition:transform .25s var(--bounce);}
.lang-toggle:hover,.sfx-toggle:hover{transform:translateY(-2px);}
.sfx-toggle{bottom:18px;left:18px;}
.lang-toggle{top:14px;right:18px;font-family:'Baloo 2';font-weight:800;letter-spacing:1px;}
.lang-toggle .ico,.sfx-toggle .ico{width:17px;height:17px;}
.nav{padding-right:96px;}

/* ---------- 桌面（≥761）：Hero / 标题 整体收一档 ---------- */
@media (min-width:761px){
/* 内容块上提：靠顶部天空区摆放，不压下半屏的街景主体 */
.hero{justify-content:flex-start;padding-top:clamp(110px,19vh,190px);padding-bottom:0;}
.hero-bg{background-position:center 62%;}
.hero-logo{width:min(46vw,440px);padding:2% 4%;}
.hero .tagline{font-size:clamp(15px,2vw,22px);margin-top:4px;}
.hero .subline{font-size:clamp(13px,1.5vw,15px);padding:7px 22px;margin-top:14px;}
.hero-stats{margin-top:16px;gap:12px;}
.hstat{padding:10px 20px;}
.hstat b{font-size:clamp(22px,2.8vw,32px);}
.hero .press{margin-top:16px;font-size:13px;}
.section{padding:64px 24px 16px;}
.sec-title{font-size:clamp(22px,2.8vw,32px);}
.sec-lede{font-size:14px;line-height:1.85;margin-bottom:20px;}
.card h3{font-size:18px;}
.card p{font-size:12.5px;}
.rar .lv{font-size:19px;}
.rar .cnt{font-size:13.5px;}
.rar p{font-size:11.5px;}
.fullbleed .fb-inner{min-height:0;padding:0;position:absolute;left:0;right:0;bottom:22px;justify-content:flex-end;}
.fullbleed .fb-bg.fb-world-stack{position:relative;inset:auto;aspect-ratio:16/9;width:100%;max-height:min(78vh,720px);
  -webkit-mask-image:none;mask-image:none;}
.world-tags{gap:16px;justify-content:center;flex-wrap:wrap;padding:0 16px;}
.pstep .arr{right:-28px;}
}

/* ---------- 世界观三枚特性徽章：游戏勋章（彩绘徽章 + 木牌） ---------- */
.world-tags{display:flex;}
.feat{position:relative;display:inline-flex;align-items:center;gap:0;padding:0 16px 0 0;
  background:linear-gradient(180deg,#FFFDF8,#FFF1DC);border:3px solid var(--ink);border-radius:999px;
  box-shadow:0 5px 0 rgba(92,61,46,.28);
  transition:transform .35s var(--bounce);}
.feat:hover{transform:translateY(-4px) rotate(-1deg);}
.feat::after{content:'';position:absolute;inset:3px 3px auto 3px;height:38%;border-radius:999px 999px 40% 40%;
  background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,0));pointer-events:none;}
.feat-medal{position:relative;flex:0 0 auto;width:54px;height:54px;margin:-8px 10px -8px -8px;border-radius:50%;
  display:grid;place-items:center;border:3px solid var(--ink);
  box-shadow:inset 0 0 0 2.5px rgba(255,255,255,.92),inset 0 -4px 0 rgba(0,0,0,.09),0 3px 0 rgba(92,61,46,.3);}
.feat-medal::before{content:'';position:absolute;left:22%;top:12%;width:34%;height:20%;border-radius:50%;
  background:rgba(255,255,255,.75);transform:rotate(-25deg);pointer-events:none;}
.feat-medal svg{width:28px;height:28px;position:relative;z-index:1;}
.f-season .feat-medal{background:radial-gradient(circle at 35% 30%,#EFF8EC,var(--moss-1) 55%,var(--moss-2));}
.f-weather .feat-medal{background:radial-gradient(circle at 35% 30%,#E9F6FF,#8FD0F7 55%,#5FB3EA);}
.f-county .feat-medal{background:radial-gradient(circle at 35% 30%,#FFF0F4,var(--peach-1) 55%,var(--peach-2));}
.feat-txt{display:flex;flex-direction:column;line-height:1.1;position:relative;z-index:1;}
.feat-txt b{font-size:14px;font-weight:900;color:var(--ink);letter-spacing:.5px;}
.feat-txt small{font-family:'Baloo 2',sans-serif;font-weight:800;font-size:9.5px;letter-spacing:1.6px;color:var(--sunset-2);margin-top:2px;}
@media (min-width:761px){
  .feat{padding:9px 18px 9px 0;}
  .feat-medal{width:58px;height:58px;}
}
.wx-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px 6px 8px;
  background:linear-gradient(180deg,#FFF9F0,#F6E7CF);}
.wx-badge .ico{width:22px;height:22px;padding:3px;border-radius:50%;color:var(--ink);
  background:radial-gradient(circle at 35% 30%,var(--gold-hi),var(--gold-1) 60%,var(--gold-2));border:2px solid var(--ink);}

/* ---------- 悬赏路径：金币节点连接符 ---------- */
.pstep .arr{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:0;
  background:linear-gradient(180deg,var(--gold-hi),var(--gold-1) 60%,var(--gold-2));
  border:2.5px solid var(--ink);box-shadow:0 3px 0 rgba(92,61,46,.35);}
.pstep .arr .ico{width:18px;height:18px;color:var(--ink);}
.pstep .coin-tag{display:inline-flex;align-items:center;gap:6px;font-size:14px;}
.pstep .coin-tag .ico{width:15px;height:15px;}
.pstep h4{display:flex;align-items:center;gap:8px;}
.pstep h4 .ico{width:20px;height:20px;color:var(--sunset-1);}

/* ---------- 集市 / 榜单 ---------- */
.tl-item .dot .ico{width:20px;height:20px;color:var(--ink);}
.canvas .phase-tag{display:inline-flex;align-items:center;gap:6px;}
.canvas .phase-tag .ico{width:15px;height:15px;}
.ur-tag{display:inline-flex;align-items:center;gap:6px;}
.ur-tag .ico{width:15px;height:15px;}
.rank-title{display:inline-flex;align-items:center;gap:8px;}
.rank-title .ico{width:22px;height:22px;color:var(--gold-2);}
.rank-close{display:grid;place-items:center;}
.rank-close .ico{width:16px;height:16px;}
.rank-row .pos .ico{width:22px;height:22px;}
.pos.p1{color:#C9A227;}.pos.p2{color:#D9A93C;}.pos.p3{color:#C97B4A;}

/* ---------- 开镖 / 预告 ---------- */
.rstep .moon .ico{width:24px;height:24px;color:var(--ink);}
.cnav{display:grid;place-items:center;font-size:0;}
.cnav .ico{width:22px;height:22px;color:var(--ink);}
.trailer .fsbtn{font-size:0;}
.trailer .fsbtn .ico{width:18px;height:18px;}

/* ---------- 盲盒 / 预约 / 热区卡 ---------- */
.openable .lid-note{display:inline-flex;align-items:center;gap:6px;}
.openable .lid-note .ico{width:14px;height:14px;}
.deal-toast b{display:flex;align-items:center;justify-content:center;gap:6px;}
.deal-toast b .ico{width:16px;height:16px;color:var(--sunset-1);}
.reserve-card h3{display:flex;align-items:center;gap:8px;}
.reserve-card h3 .ico{width:22px;height:22px;color:var(--sunset-1);}
.reserve-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;}
.reserve-btn .ico{width:20px;height:20px;}
.tcard .tag{display:inline-flex;align-items:center;gap:4px;}
.tcard .rate{gap:6px;}
.tcard .rate .ico{width:13px;height:13px;}
.tcard h4 .ico{width:16px;height:16px;}

/* ---------- 移动端底栏图标 ---------- */
.mnav a .ic{display:grid;place-items:center;height:20px;}
.mnav a .ic .ico{width:19px;height:19px;color:var(--ink);opacity:.85;}
.mnav a.on .ic .ico,.mnav a.cta .ic .ico{opacity:1;}

/* ============ 手机 ≤760：只调两枚开关的位置与尺寸 ============ */
@media (max-width:760px){
  .lang-toggle{top:10px;right:12px;padding:5px 10px;font-size:12px;border-width:2.5px;}
  .lang-toggle .ico{width:15px;height:15px;}
  .sfx-toggle{bottom:auto;top:10px;left:auto;right:74px;padding:6px 9px;gap:0;border-width:2.5px;}
  .sfx-toggle .ico{width:16px;height:16px;}
  .sfx-toggle .sfx-label{display:none;}
  .nav{padding-right:12px;}
  .ic .ico{width:24px;height:24px;}
  .rstep .moon .ico{width:19px;height:19px;}
  .pstep h4 .ico{width:17px;height:17px;}
  .reserve-card h3 .ico{width:19px;height:19px;}
  .reserve-btn .ico{width:17px;height:17px;}
}
