
/* Audiowide 内嵌字体（latin 子集，离线可用） */
@font-face{font-family:'Audiowide';font-style:normal;font-weight:400;font-display:swap;src:url(data:font/woff2;base64,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) format('woff2');}
/* ============================================================
   ROACH 数字工坊 — Indigo Minimal 靛紫极简设计语言
   圆角同心规则：面板 24 → 卡片 16 → 控件 10 → 胶囊 999
   动效：--ios 页面切换 / --spring 点击回弹（过冲）
   ============================================================ */
:root{
  --bg:#F7F7F8;
  --text:#18181B;
  --text2:rgba(24,24,27,.58);
  --text3:rgba(24,24,27,.36);
  --glass:rgba(255,255,255,.42);
  --glass-strong:rgba(255,255,255,.72);
  --glass-hover:rgba(255,255,255,.58);
  --stroke:rgba(24,24,27,.07);
  --stroke-in:rgba(24,24,27,.05);
  /* 拟态凹陷槽（输入框/承载区） */
  --well:rgba(24,24,27,.055);
  --well-inset:inset 0 2px 5px rgba(24,24,27,.15), inset 0 -1px 0 rgba(255,255,255,.9);
  --accent:#6366F1;
  --accent-soft:rgba(99,102,241,.12);
  --accent-deep:#4F46E5;
  --ok:#16A34A;
  --ok-soft:rgba(22,163,74,.12);
  --danger:#DC2626;
  --info:#2563EB;
  --info-soft:rgba(37,99,235,.10);
  --purple:#7C3AED;
  --purple-soft:rgba(124,58,237,.10);
  --pink:#DB2777;
  --pink-soft:rgba(219,39,119,.10);
  --r-panel:24px;
  --r-card:16px;
  --r-ctrl:10px;
  --spring:cubic-bezier(.34,1.56,.64,1);
  --ios:cubic-bezier(.32,.72,0,1);
  --shadow-sm:inset 0 1px 0 rgba(255,255,255,.6),0 1px 2px rgba(24,24,27,.05);
  --shadow-md:0 2px 6px rgba(24,24,27,.05),0 16px 40px -16px rgba(24,24,27,.22);
  --shadow-accent:0 8px 24px -8px rgba(99,102,241,.5);
  --blur:blur(28px) saturate(180%);
}
[data-theme="dark"]{
  --bg:#131316;
  --text:#F4F4F5;
  --text2:rgba(244,244,245,.6);
  --text3:rgba(244,244,245,.36);
  --glass:rgba(255,255,255,.09);
  --glass-strong:rgba(255,255,255,.14);
  --glass-hover:rgba(255,255,255,.12);
  --stroke:rgba(244,244,245,.09);
  --stroke-in:rgba(244,244,245,.06);
  /* 拟态凹陷槽（深色更深一档） */
  --well:rgba(0,0,0,.34);
  --well-inset:inset 0 2px 6px rgba(0,0,0,.6), inset 0 -1px 0 rgba(255,255,255,.05);
  --accent:#818CF8;
  --accent-soft:rgba(129,140,248,.16);
  --accent-deep:#A5B4FC;
  --shadow-sm:inset 0 1px 0 rgba(255,255,255,.08),0 1px 2px rgba(0,0,0,.3);
  --shadow-md:0 2px 8px rgba(0,0,0,.35),0 20px 48px -16px rgba(0,0,0,.6);
  --shadow-accent:0 8px 24px -8px rgba(129,140,248,.4);
}
*{margin:0;padding:0;box-sizing:border-box}
html,body{height:100%}
body{
  font-family:"MiSans","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei UI","Microsoft YaHei",system-ui,-apple-system,sans-serif;
  background:
    radial-gradient(1100px 750px at 88% -8%, rgba(99,102,241,.22), transparent 60%),
    radial-gradient(900px 700px at -8% 105%, rgba(139,92,246,.18), transparent 60%),
    radial-gradient(800px 600px at 55% 55%, rgba(14,165,233,.10), transparent 60%),
    var(--bg);
  color:var(--text);
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
  transition:background .5s var(--ios),color .5s var(--ios);
}
::selection{background:var(--accent-soft)}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:rgba(24,24,27,.14);border-radius:99px;border:2px solid transparent;background-clip:content-box}
[data-theme="dark"] ::-webkit-scrollbar-thumb{background:rgba(244,244,245,.18);border-radius:99px;border:2px solid transparent;background-clip:content-box}
::-webkit-scrollbar-track{background:transparent}
svg{display:block;flex:none}

/* ---------- Liquid Glass 渲染层（照搬 D:\glass\liquid-glass-v2） ----------
   #bg 为离屏背景源（网格+光斑，供 shader 采样），#gl 为全屏 WebGL 输出；
   .lgf 是透明 DOM 玻璃框（视觉全在 shader 里），WebGL 失败时加 .fallback 兜底 */
#bg{position:fixed;inset:0;width:100%;height:100%;display:block;opacity:0;pointer-events:none;z-index:0}
#gl{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:1;pointer-events:none}
.lgf{position:relative}
.lgf.fallback{
  background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);
  border:1px solid var(--stroke);box-shadow:var(--shadow-sm);
}
/* ---------- 设置页玻璃调参 ---------- */
.tune-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;padding:6px 14px 12px}
.tune-row{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;color:var(--text2)}
.tune-row label{width:72px;flex:none}
.tune-row input[type=range]{flex:1;min-width:0;accent-color:var(--accent);cursor:pointer}
.tune-row .tune-val{width:46px;flex:none;text-align:right;font-variant-numeric:tabular-nums;color:var(--text);font-weight:700;font-size:12px}
.tune-btn{border:none;cursor:pointer;font-size:11px;font-weight:700;padding:4px 10px;border-radius:99px;background:var(--accent-soft);color:var(--accent-deep)}
.tune-btn:active{transform:scale(.94)}
/* WebGL 生效时：data-glass 主面板交给 shader 渲染，DOM 只留透明框（与普通 CSS 磨砂卡片形成主次） */
.lg-on .glass[data-glass]{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}
/* tile 卡片保留 hairline 描边 + 轻投影，浮在玻璃上才有轮廓 */
.lg-on .tile[data-glass]{border-color:var(--stroke);box-shadow:var(--shadow-sm)}
/* ---------- 背景选择器 ---------- */
.bg-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.bg-chip{border:1px solid var(--stroke);background:var(--well);box-shadow:var(--well-inset);color:var(--text2);font-size:12px;font-weight:700;padding:7px 15px;border-radius:99px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all .3s var(--spring)}
.bg-chip:hover{color:var(--text)}
.bg-chip:active{transform:scale(.94)}
.bg-chip.on{background:var(--accent);border-color:transparent;color:#fff;box-shadow:var(--shadow-accent)}

/* ---------- App 骨架：桌面 App 三栏 ---------- */
.app{position:relative;z-index:2;display:flex;gap:14px;height:100vh;padding:14px;max-width:1560px;margin:0 auto}
.glass{background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:1px solid var(--stroke)}

/* ---------- 侧栏 ---------- */
.rail{
  width:246px;flex:none;border-radius:var(--r-panel);
  display:flex;flex-direction:column;padding:18px 12px 12px;
}
.rail-head{display:flex;align-items:center;gap:12px;padding:2px 8px 16px}
.rail-logo{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:transform .35s var(--spring)}
.rail-logo img{width:100%;height:100%;object-fit:cover;display:block}
.rail-head:hover .rail-logo{transform:rotate(-8deg) scale(1.06)}
.rail-brand{font-weight:800;font-size:17px;letter-spacing:.5px}
.rail-sub{font-size:11.5px;color:var(--text3);margin-top:1px}
.rail-nav{flex:1;display:flex;flex-direction:column;gap:2px;padding-bottom:6px;position:relative;z-index:1}
/* 滑动选中指示胶囊（单颗，弹簧滑动） */
.nav-pill{
  position:absolute;left:0;width:100%;height:0;z-index:0;border-radius:14px;pointer-events:none;
  background:rgba(24,24,27,.72);border:1px solid rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 6px 18px -6px rgba(24,24,27,.35);
  transition:top .5s var(--spring),height .5s var(--spring);
}
[data-theme="dark"] .nav-pill{
  background:rgba(244,244,245,.75);border-color:rgba(255,255,255,.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 6px 18px -6px rgba(0,0,0,.45);
}
.rail-nav .nv{position:relative;z-index:1}
.nv{
  position:relative;display:flex;align-items:center;gap:11px;
  padding:10.5px 12px;border-radius:14px;cursor:pointer;user-select:none;
  color:var(--text2);font-size:14px;font-weight:600;
  transition:transform .35s var(--spring),background .25s var(--ios),color .25s var(--ios);
}
.nv svg{transition:transform .35s var(--spring)}
.nv:hover{background:rgba(24,24,27,.055);color:var(--text)}
[data-theme="dark"] .nv:hover{background:rgba(244,244,245,.07)}
.nv:hover svg{transform:scale(1.12)}
.nv:active{transform:scale(.955)}
.nv.active{color:#fff}
[data-theme="dark"] .nv.active{color:#131316}
/* 用户卡 */
.rail-user{margin-top:10px;padding:10px;border-radius:var(--r-card);background:var(--well);border:1px solid var(--stroke);box-shadow:var(--well-inset);display:flex;align-items:center;gap:11px;cursor:pointer;transition:transform .35s var(--spring),box-shadow .3s var(--ios)}
.rail-user:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.rail-user:active{transform:scale(.97)}
.su-avatar{width:36px;height:36px;border-radius:12px;background:linear-gradient(135deg,var(--accent),#8B5CF6);color:#fff;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.su-avatar .su-ava-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.su-name{font-size:13.5px;font-weight:700}
.su-sub{font-size:11px;color:var(--text3);margin-top:1px}
.rail-ver{font-size:10.5px;color:var(--text3);text-align:center;padding:10px 0 4px;letter-spacing:.5px}

/* ---------- 主区 ---------- */
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{
  flex:none;height:58px;border-radius:var(--r-panel);
  display:flex;align-items:center;gap:12px;padding:0 12px 0 20px;
}
.top-title{font-size:16px;font-weight:800;letter-spacing:.3px;display:flex;align-items:center;gap:9px}
.top-title svg{color:var(--accent)}
.top-spacer{flex:1}
.search{
  display:flex;align-items:center;gap:9px;width:250px;height:38px;
  padding:0 15px;border-radius:99px;background:var(--well);
  border:1px solid var(--stroke);color:var(--text3);font-size:13px;
  box-shadow:var(--well-inset);
  transition:width .4s var(--ios),box-shadow .3s var(--ios),border-color .3s;
}
.search:focus-within{width:320px;border-color:var(--accent);box-shadow:var(--well-inset),0 0 0 4px var(--accent-soft)}
.search input{flex:1;border:none;outline:none;background:transparent;color:var(--text);font-size:13px;font-family:inherit}
.search input::placeholder{color:var(--text3)}
.search{position:relative}
.search-drop{
  position:absolute;top:calc(100% + 10px);left:0;right:0;min-width:280px;
  background:#1B1B20;border:1px solid var(--stroke);border-radius:16px;
  box-shadow:0 24px 60px -18px rgba(0,0,0,.6);z-index:90;
  padding:6px;max-height:340px;overflow-y:auto;
  animation:rise .25s var(--ios) both;
}
.sd-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;cursor:pointer}
.sd-item:hover{background:rgba(255,255,255,.06)}
.sd-name{font-size:12.5px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-sub{font-size:10.5px;color:var(--text3);margin-left:auto;flex:none}
.sd-empty{padding:16px;text-align:center;font-size:12px;color:var(--text3)}
.icon-btn{
  position:relative;width:38px;height:38px;border-radius:99px;flex:none;
  display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text2);
  background:var(--glass-hover);border:1px solid var(--stroke);
  transition:transform .35s var(--spring),background .25s var(--ios),color .25s var(--ios);
}
.icon-btn:hover{color:var(--text);background:var(--glass-strong)}
.icon-btn:active{transform:scale(.88)}
.icon-btn .tip{position:absolute;top:44px;right:0;background:var(--text);color:var(--bg);font-size:11px;font-weight:600;padding:5px 10px;border-radius:8px;opacity:0;pointer-events:none;transform:translateY(-4px);transition:all .25s var(--spring);white-space:nowrap;z-index:50}
.icon-btn:hover .tip{opacity:1;transform:translateY(0)}

/* ---------- 页面容器 ---------- */
.pages{flex:1;position:relative;margin-top:14px;min-height:0}
.page{
  position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;
  padding:12px 6px 30px;opacity:0;pointer-events:none;
  transition:opacity .3s var(--ios);   /* 旧页柔和淡出（新页由 pageIn 动画接管） */
  /* 顶部消散带：内容向上滚出顶栏下缘时渐隐衔接，S 曲线避免硬切 */
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.4) 8px,rgba(0,0,0,.88) 20px,#000 44px);
  mask-image:linear-gradient(to bottom,transparent 0,rgba(0,0,0,.4) 8px,rgba(0,0,0,.88) 20px,#000 44px);
}
.page.active{opacity:1;pointer-events:auto;animation:pageIn .55s var(--ios) both}
@keyframes pageIn{
  0%{opacity:0;transform:translateY(12px) scale(.988);filter:blur(5px)}
  55%{opacity:1;filter:blur(0)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
/* 内容瀑布入场（更轻的位移，与页面主动画错层） */
.page.active > *{animation:rise .6s cubic-bezier(.22,1,.36,1) both}
.page.active > *:nth-child(2){animation-delay:.06s}
.page.active > *:nth-child(3){animation-delay:.12s}
.page.active > *:nth-child(4){animation-delay:.18s}
.page.active > *:nth-child(5){animation-delay:.24s}
.page.active > *:nth-child(6){animation-delay:.3s}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* ---------- 通用组件 ---------- */
.panel{border-radius:var(--r-panel)}
.card{border-radius:var(--r-card)}
.section{margin-bottom:14px}
.sec-hd{display:flex;align-items:center;gap:9px;margin:4px 4px 12px}
.sec-hd h2{font-size:15.5px;font-weight:800;display:flex;align-items:center;gap:8px}
.sec-hd h2 svg{color:var(--accent)}
.sec-more{margin-left:auto;font-size:12.5px;font-weight:600;color:var(--text2);cursor:pointer;display:flex;align-items:center;gap:4px;padding:6px 12px;border-radius:99px;transition:all .3s var(--spring)}
.sec-more:hover{background:var(--glass-hover);color:var(--text);transform:translateX(2px)}
.sec-more:active{transform:scale(.94)}

/* 胶囊按钮家族 */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 24px;border-radius:99px;cursor:pointer;user-select:none;
  font-size:14px;font-weight:700;font-family:inherit;border:1px solid var(--stroke);
  background:var(--glass-strong);color:var(--text);
  transition:transform .35s var(--spring),box-shadow .3s var(--ios),filter .25s var(--ios),background .25s;
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}
.btn:active{transform:scale(.94);box-shadow:none}
.btn-primary{background:var(--accent);color:#fff;border-color:transparent;box-shadow:var(--shadow-accent)}
.btn-primary:hover{filter:brightness(1.07)}
.btn-dark{background:var(--text);color:var(--bg);border-color:transparent}
.btn-sm{height:34px;padding:0 16px;font-size:12.5px}

/* 分段控件（滑动胶囊 thumb） */
.seg{position:relative;display:inline-flex;align-items:center;padding:4px;border-radius:99px;background:var(--well);border:1px solid var(--stroke);box-shadow:var(--well-inset)}
.seg-thumb{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:99px;background:var(--text);box-shadow:var(--shadow-sm);transition:left .4s var(--spring),width .4s var(--spring)}
.seg-btn{position:relative;z-index:1;border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:700;color:var(--text2);padding:8px 17px;border-radius:99px;cursor:pointer;transition:color .3s var(--ios),transform .35s var(--spring)}
.seg-btn:hover{color:var(--text)}
.seg-btn:active{transform:scale(.92)}
.seg-btn.on{color:var(--bg)}

/* 磨砂卡片 */
.tile{
  border-radius:var(--r-card);padding:18px;cursor:pointer;position:relative;overflow:hidden;
  transition:transform .4s var(--spring),box-shadow .35s var(--ios),background .3s;
}
.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);background:var(--glass-hover)}
.tile:active{transform:scale(.97);box-shadow:var(--shadow-sm)}
.tile-ico{width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:13px;transition:transform .4s var(--spring)}
.tile:hover .tile-ico{transform:scale(1.1) rotate(-5deg)}
.tile-name{font-size:14.5px;font-weight:800}
.tile-sub{font-size:12px;color:var(--text3);margin-top:4px;line-height:1.5}
.tile-arrow{position:absolute;top:16px;right:16px;color:var(--text3);opacity:0;transform:translateX(-6px);transition:all .35s var(--spring)}
.tile:hover .tile-arrow{opacity:1;transform:translateX(0)}
.ico-amber{background:var(--accent-soft);color:var(--accent)}
.ico-green{background:var(--ok-soft);color:var(--ok)}
.ico-blue{background:var(--info-soft);color:var(--info)}
.ico-purple{background:var(--purple-soft);color:var(--purple)}
.ico-pink{background:var(--pink-soft);color:var(--pink)}
.ico-gray{background:rgba(24,24,27,.06);color:var(--text2)}
[data-theme="dark"] .ico-gray{background:rgba(244,244,245,.08)}

/* 标签胶囊 */
.tag{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;padding:4px 10px;border-radius:99px;letter-spacing:.4px}
.tag-hot{background:var(--accent-soft);color:var(--accent-deep)}
.tag-ok{background:var(--ok-soft);color:var(--ok)}
.tag-blue{background:var(--info-soft);color:var(--info)}
.tag-gray{background:rgba(24,24,27,.06);color:var(--text2)}
[data-theme="dark"] .tag-gray{background:rgba(244,244,245,.08)}

/* ---------- 首页 ---------- */
.hero{
  border-radius:var(--r-panel);padding:30px 32px 26px;margin-bottom:14px;position:relative;overflow:hidden;
}
.hero-slogan{
  display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;color:var(--accent-deep);
  background:var(--accent-soft);padding:6px 13px;border-radius:99px;margin-bottom:14px;letter-spacing:.5px;
}
.hero-slogan .pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}
.hero h1{font-size:31px;font-weight:900;letter-spacing:.5px;line-height:1.25}
.hero h1 .accent{background:linear-gradient(120deg,var(--accent),#8B5CF6);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:13.5px;color:var(--text2);margin-top:9px;line-height:1.7;max-width:560px}
.hero-actions{display:flex;gap:11px;margin-top:21px;flex-wrap:wrap}

.grid{display:grid;gap:12px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.feat-grid{grid-template-columns:repeat(3,1fr)}
.feat-lg{grid-column:span 2}
.feat-hero{display:flex;align-items:center;gap:18px}
.feat-hero .tile-ico{width:56px;height:56px;border-radius:18px;margin:0}

/* ---------- 游戏页 ---------- */
.game-grid{grid-template-columns:repeat(3,1fr)}
/* 游戏卡：小渐变图标（简洁，每款独立渐变过渡） */
.gico{width:46px;height:46px;border-radius:15px;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 6px 16px -8px rgba(0,0,0,.5)}
.gi-amber{background:linear-gradient(135deg,#F59E0B,#F97316)}
.gi-steel{background:linear-gradient(135deg,#64748B,#334155)}
.gi-rose{background:linear-gradient(135deg,#FB7185,#E11D48)}
.gi-lime{background:linear-gradient(135deg,#84CC16,#16A34A)}
.gi-sky{background:linear-gradient(135deg,#38BDF8,#6366F1)}
.gi-violet{background:linear-gradient(135deg,#A78BFA,#7C3AED)}

/* ---------- 首页广告轮播：长卡堆叠轮回切换 ---------- */
.carousel{position:relative;height:196px;border-radius:var(--r-panel);overflow:hidden}
.car-card{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;
  padding:30px 36px;cursor:pointer;color:#fff;overflow:hidden;
  opacity:0;transform:translateY(14px) scale(.97);pointer-events:none;
  transition:opacity .55s var(--ios),transform .55s var(--spring);
}
.car-card.on{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;z-index:1}
.car-txt{display:flex;flex-direction:column;gap:9px;flex:1;min-width:0}
  width:170px;height:112px;border-radius:16px;flex:none;
  background:rgba(255,255,255,.14);border:1.5px dashed rgba(255,255,255,.38);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  color:rgba(255,255,255,.72);font-size:11px;font-weight:700;letter-spacing:.5px;
}
.car-tag{
  align-self:flex-start;font-size:10.5px;font-weight:800;letter-spacing:1.2px;
  padding:4px 11px;border-radius:99px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);
}
.car-name{font-size:26px;font-weight:900;letter-spacing:.5px;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.car-sub{font-size:13px;opacity:.88;line-height:1.55}
.car-cta{font-size:12.5px;font-weight:800;margin-top:4px;letter-spacing:.5px}
.car-deco{position:absolute;right:18px;bottom:-14px;opacity:.16;transform:rotate(-8deg);pointer-events:none}
.ad-indigo{background:linear-gradient(120deg,#4F46E5,#7C3AED 55%,#A855F7)}
.ad-amber{background:linear-gradient(120deg,#D97706,#F59E0B 55%,#FBBF24)}
.ad-cyan{background:linear-gradient(120deg,#0891B2,#0EA5E9 55%,#38BDF8)}
.ad-rose{background:linear-gradient(120deg,#BE123C,#F43F5E 55%,#FB7185)}
.car-dots{position:absolute;bottom:12px;right:16px;display:flex;gap:6px;z-index:2}
.car-dot{width:7px;height:7px;border-radius:99px;background:rgba(255,255,255,.4);cursor:pointer;transition:all .35s var(--spring)}
.car-dot.on{width:20px;background:#fff}

/* ---------- 工具页 ---------- */
.tool-grid{grid-template-columns:repeat(3,1fr)}
.tool-card.draft{border:1.5px dashed var(--stroke);background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.tool-card.draft:hover{background:var(--glass);border-color:var(--accent)}
.tool-card.draft .tile-ico{background:var(--glass-hover);color:var(--text3)}

/* ---------- 排行榜 ---------- */
.podium{display:flex;align-items:flex-end;gap:12px;justify-content:center;padding:26px 20px 8px}
.pod{flex:1;max-width:210px;text-align:center;padding:22px 16px 18px;border-radius:var(--r-card);transition:transform .4s var(--spring),box-shadow .35s var(--ios)}
.pod:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.pod .ava{width:56px;height:56px;border-radius:50%;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:19px;color:#fff;position:relative}
.pod .medal{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:#fff;border:2.5px solid var(--glass-strong);box-shadow:var(--shadow-sm)}
.pod-1 .ava{background:linear-gradient(135deg,#C7D2FE,#8B5CF6);width:68px;height:68px}
.pod-1{padding-bottom:34px}
.pod-2 .ava{background:linear-gradient(135deg,#E4E4E7,#71717A)}
.pod-3 .ava{background:linear-gradient(135deg,#C4B5FD,#7C3AED)}
.medal-g{background:var(--accent)}.medal-s{background:#A1A1AA}.medal-b{background:#EA580C}
.pod .name{font-weight:800;font-size:14.5px}
.pod .score{font-size:12.5px;color:var(--text3);margin-top:3px}
.pod .score b{color:var(--accent-deep)}
.lb-row{display:flex;align-items:center;gap:14px;padding:13px 18px;border-radius:var(--r-card);transition:transform .35s var(--spring),background .25s}
.lb-row:hover{background:var(--glass-hover);transform:translateX(4px)}
.lb-rank{width:30px;height:30px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;background:rgba(24,24,27,.06);color:var(--text2);flex:none}
[data-theme="dark"] .lb-rank{background:rgba(244,244,245,.08)}
.lb-ava{position:relative;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px;color:#fff;flex:none}
.ava-img,.lb-ava-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%}
.lb-name{font-weight:700;font-size:13.5px}
.lb-sub{font-size:11px;color:var(--text3);margin-top:1px}
.lb-score{margin-left:auto;font-weight:900;font-size:14px;color:var(--accent-deep)}
.lb-delta{font-size:11px;font-weight:800;width:44px;text-align:right;flex:none}
.lb-modes{display:flex;gap:8px;flex-wrap:wrap}
.lb-chip{height:30px;padding:0 14px;border-radius:99px;border:1px solid var(--stroke);background:transparent;color:var(--text2);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;transition:background .25s var(--ios),color .25s var(--ios),transform .35s var(--spring)}
.lb-chip:hover{color:var(--text)}
.lb-chip:active{transform:scale(.94)}
.lb-chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}

/* ---------- 程序页 ---------- */
.prog-grid{grid-template-columns:repeat(2,1fr)}

/* ---------- 时间页（艺术时钟） ---------- */
.clock-body{overflow:hidden;opacity:1;transform:none;transition:max-height .6s var(--ios),opacity .45s var(--ios),transform .55s var(--ios)}
.clock-body.folded{opacity:0;transform:translateY(-14px)}
.clock-hero{border-radius:var(--r-panel);padding:38px 38px 32px;text-align:center;position:relative;overflow:hidden}
/* 氛围光斑 */
.clock-hero::before,.clock-hero::after{
  content:'';position:absolute;border-radius:50%;filter:blur(52px);pointer-events:none;
}
.clock-hero::before{width:240px;height:240px;right:-60px;top:-70px;background:var(--accent-soft);opacity:.9}
.clock-hero::after{width:200px;height:200px;left:-50px;bottom:-80px;background:var(--purple-soft);opacity:.7}
.clock-wrap{position:relative;width:232px;height:232px;margin:4px auto 18px}
.clock-svg{width:100%;height:100%;transform:rotate(-90deg);display:block}
.cb-block{transition:opacity .35s var(--ios)}
#clockBlocksBg .cb-block{fill:var(--stroke);opacity:.5}
#clockBlocksFg .cb-block{fill:url(#ringGrad);opacity:0}
#clockBlocksFg .cb-block.on{opacity:1;filter:drop-shadow(0 0 5px rgba(139,92,246,.5))}
.clock-mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.clock-time{
  font-family:'Audiowide',sans-serif;
  font-size:36px;font-weight:400;letter-spacing:1px;font-variant-numeric:tabular-nums;line-height:1;
  background:linear-gradient(160deg,#F8F8FB 20%,#C7CBE8 70%,#A5B4FC);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.clock-time .sec{font-size:16px;color:var(--accent);font-weight:400;letter-spacing:0}
.clock-ampm{font-size:11px;font-weight:800;letter-spacing:3px;color:var(--text3)}
.clock-date{
  position:relative;display:inline-flex;align-items:center;gap:8px;
  padding:8px 18px;border-radius:99px;border:1px solid var(--stroke);
  background:var(--well);box-shadow:var(--well-inset);
  font-size:13px;color:var(--text2);font-weight:600;
}
.world-grid{grid-template-columns:repeat(4,1fr)}
/* 世界卡：数字下方渐变短划 */
.world-grid .tile::after{
  content:'';display:block;width:26px;height:3px;border-radius:99px;margin:10px auto 0;
  background:linear-gradient(90deg,var(--accent),#A855F7);opacity:.85;
}

/* ---------- 设置 ---------- */
.set-row{display:flex;align-items:center;gap:14px;padding:15px 20px;border-radius:var(--r-card);transition:background .25s}
.set-row:hover{background:var(--glass-hover)}
.set-row + .set-row{margin-top:2px}
.set-ico{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none}
.set-name{font-size:13.5px;font-weight:700}
.set-sub{font-size:11.5px;color:var(--text3);margin-top:2px}
/* 开关 */
.switch{margin-left:auto;width:46px;height:27px;border-radius:99px;background:rgba(24,24,27,.14);position:relative;cursor:pointer;flex:none;transition:background .3s var(--ios)}
[data-theme="dark"] .switch{background:rgba(244,244,245,.16)}
.switch::after{content:"";position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:transform .35s var(--spring)}
.switch.on{background:var(--accent)}
.switch.on::after{transform:translateX(19px)}
.switch:active::after{width:26px}
.switch.on:active::after{transform:translateX(14px)}

/* ---------- toast ---------- */
.toast{
  position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(80px) scale(.9);
  background:var(--text);color:var(--bg);font-size:13px;font-weight:700;
  padding:12px 22px;border-radius:99px;z-index:200;box-shadow:var(--shadow-md);
  opacity:0;transition:all .45s var(--spring);display:flex;align-items:center;gap:9px;pointer-events:none;
}
.toast.show{transform:translateX(-50%) translateY(0) scale(1);opacity:1}

/* ---------- 工具类（HTML 禁止内联 style，一律用类） ---------- */
.u-f1{flex:1}
.u-f1mw{flex:1;min-width:140px}
.u-mla{margin-left:auto}
.u-mt12{margin-top:12px}
.u-mt14{margin-top:14px}
.u-mb6{margin:0 0 6px}
.u-mb16{margin-bottom:16px}
.u-mb16 .tile-sub{margin-top:3px}
.u-pb14{padding-bottom:14px}
.u-pt4{padding-top:4px}
.u-p8{padding:8px}
.u-p8mt{padding:8px;margin-top:14px}
.u-row{display:flex;align-items:center}
.u-row8{display:flex;align-items:center;gap:8px}
.u-gap8{display:flex;gap:8px}
.u-wrap{flex-wrap:wrap}
.u-sb4{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 4px}
.u-tac{text-align:center}
.u-cd{cursor:default}
.u-hide{display:none!important}
.u-t3{color:var(--text3)}
.u-ok{color:var(--ok)}
.u-ac{color:var(--accent)}
.u-danger{color:var(--danger)}
.u-bg-pink{background:var(--pink)}
.u-bg-acd{background:var(--accent-deep)}
.u-bg-slate{background:#64748B}
.u-bg-br{background:#A16207}
.u-bg-sky{background:#0EA5E9}
.u-t15{font-size:15.5px}
.u-t17{font-size:17px;font-weight:900}
.u-sub12{font-size:12.5px;color:var(--text2);margin-top:3px}
.u-clock{font-family:'Audiowide',sans-serif;font-size:24px;font-weight:400;font-variant-numeric:tabular-nums}
.u-sec-label{font-size:11.5px;font-weight:800;color:var(--text3);letter-spacing:1px;padding:12px 14px 6px}
.u-label{font-size:11.5px;font-weight:800;color:var(--text3);letter-spacing:1px}
.u-fold-label{font-size:11.5px;font-weight:800;color:var(--text3);letter-spacing:1px;padding:12px 0 6px 14px;display:inline-flex;align-items:center;gap:6px}
.u-note{font-size:11px;color:var(--text3);padding:0 14px 14px}
.u-picker-pad{padding:0 14px 14px 58px}
.u-ico52{width:52px;height:52px;border-radius:17px;margin:0}
.u-ico54{width:54px;height:54px;border-radius:18px;margin:0}
.u-btn30{height:30px;padding:0 14px;font-size:12px}
.u-hero-row{padding:22px 26px;display:flex;align-items:center;gap:18px}
.su-ava-txt{font-size:15px;font-weight:900}

/* ---------- 响应式 ---------- */
/* ---------- 移动端汉堡抽屉 ---------- */
.burger{display:none}
.drawer-mask{position:fixed;inset:0;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .35s var(--ios);z-index:90}
.drawer-mask.show{opacity:1;pointer-events:auto}
.drawer{
  position:fixed;top:60px;left:10px;width:58px;border-radius:20px;
  /* 实色底：backdrop-filter 会让 transform 动画逐帧重算模糊，非常卡，抽屉放弃毛玻璃 */
  background:#1B1B20;
  border:1px solid var(--stroke);box-shadow:0 24px 60px -18px rgba(0,0,0,.55);
  z-index:91;transform-origin:top left;
  opacity:0;transform:translateY(-14px) scale(.9);pointer-events:none;
  transition:transform .45s var(--spring),opacity .3s var(--ios);
  display:flex;flex-direction:column;gap:4px;padding:10px 8px;
}
.drawer.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.drawer .nv{justify-content:center;padding:12px;border-radius:14px}
/* 抽屉无选中胶囊背景，active 用靛蓝高亮（深色文字规则只属于侧栏白胶囊） */
.drawer .nv.active{color:var(--accent);background:var(--accent-soft)}
/* 抽屉用户入口（≤640px rail 隐藏后个人中心唯一入口，由 js/mobile-user.js 注入） */
.drawer-user{display:flex;justify-content:center;padding:2px 0 6px;cursor:pointer;outline:none}
.drawer-user:focus-visible .su-avatar{box-shadow:0 0 0 3px var(--accent-soft)}
.drawer-user .su-avatar{border-radius:99px;transition:transform .3s var(--spring)}   /* 圆钮：与方形导航图标区分身份 */
.drawer-user:active .su-avatar{transform:scale(.92)}
@media (max-width:640px){ .burger{display:flex} }

/* ---------- 认证 / 资料模态（实色面板，不用毛玻璃，弹入流畅） ---------- */
.auth-mask{position:fixed;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .3s var(--ios);z-index:95}
.auth-mask.show{opacity:1;pointer-events:auto}
.auth-modal{
  position:fixed;top:50%;left:50%;width:min(360px,calc(100vw - 24px));
  background:#1B1B20;border:1px solid var(--stroke);border-radius:24px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.6);z-index:96;padding:26px 22px 20px;
  opacity:0;pointer-events:none;
  transform:translate(-50%,-50%) translateY(18px) scale(.94);
  transition:transform .45s var(--spring),opacity .3s var(--ios);
}
.auth-modal.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) translateY(0) scale(1)}
.auth-view{display:flex;flex-direction:column;gap:10px}
.auth-title{font-size:18px;font-weight:900;letter-spacing:.3px}
.auth-sub{font-size:12px;color:var(--text3);margin:-4px 0 6px}
.auth-input{
  width:100%;height:42px;border-radius:12px;padding:0 14px;font-size:13.5px;font-family:inherit;
  background:var(--well);border:1px solid var(--stroke);color:var(--text);outline:none;
  box-shadow:var(--well-inset);transition:border-color .25s,box-shadow .25s;
}
.auth-input:focus{border-color:var(--accent);box-shadow:var(--well-inset),0 0 0 3px var(--accent-soft)}
.auth-btn{
  height:42px;border:none;border-radius:99px;background:var(--accent);color:#fff;
  font-size:14px;font-weight:800;font-family:inherit;cursor:pointer;margin-top:4px;
  box-shadow:var(--shadow-accent);transition:transform .3s var(--spring),filter .2s;
}
.auth-btn:hover{filter:brightness(1.07)}
.auth-btn:active{transform:scale(.96)}
.auth-btn.ghost{background:var(--well);color:var(--text2);box-shadow:var(--well-inset)}
.auth-row{display:flex;justify-content:space-between;margin-top:8px}
.auth-row a{font-size:12.5px;font-weight:700;color:var(--accent);cursor:pointer}
.auth-row a:hover{text-decoration:underline}
.auth-code{display:flex;gap:8px;align-items:center}
.auth-send{
  height:42px;padding:0 14px;border:none;border-radius:12px;flex:none;
  background:var(--accent-soft);color:var(--accent-deep);font-size:12px;font-weight:800;
  font-family:inherit;cursor:pointer;transition:opacity .25s;
}
.auth-send:disabled{opacity:.45;cursor:default}
/* ---------- 个人中心页 ---------- */
.pf-bigava{
  width:112px;height:112px;border-radius:38px;flex:none;
  border:1px solid rgba(255,255,255,.16);padding:6px;background:rgba(255,255,255,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),inset 0 -1px 0 rgba(0,0,0,.22),0 16px 40px -16px rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;
  font-size:40px;font-weight:900;color:#fff;position:relative;
}
.pf-bigava .pf-ava-core{
  width:100%;height:100%;border-radius:31px;
  background:linear-gradient(135deg,var(--accent),#8B5CF6);
  display:flex;align-items:center;justify-content:center;
}
.pf-bigava img{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:cover;display:block;border-radius:31px}
.pf-head{display:flex;align-items:center;gap:20px}
.pc-name{font-size:20px;font-weight:900;line-height:1.3}
.pc-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--stroke)}
.pc-row:last-child{border-bottom:none}
.pc-k{width:76px;flex:none;font-size:14px;font-weight:800;color:var(--text3)}
.pc-row input.auth-input{height:42px;font-size:14px;background:var(--well);box-shadow:var(--well-inset)}
#pcNameInput,#pcBio,#delPw{background:var(--well);box-shadow:var(--well-inset)}
#pcNameInput:-webkit-autofill,#pcNameInput:-webkit-autofill:hover,#pcNameInput:-webkit-autofill:focus,
#pcBio:-webkit-autofill,#pcBio:-webkit-autofill:hover,#pcBio:-webkit-autofill:focus,
#delPw:-webkit-autofill,#delPw:-webkit-autofill:hover,#delPw:-webkit-autofill:focus,
#pcNameInput:autofill,#pcBio:autofill,#delPw:autofill{
  -webkit-text-fill-color:var(--text);
  -webkit-box-shadow:0 0 0 1000px #1B1B20 inset;
  box-shadow:0 0 0 1000px #1B1B20 inset;
  caret-color:var(--text);
  transition:background-color 99999s ease-in-out 0s;
}
.pc-row .tune-btn{height:38px;padding:0 20px;font-size:12.5px;font-weight:800}
.pc-tip{font-size:11.5px;color:var(--text3);padding:6px 0 11px 88px}
.pc-code-cur{
  font-family:'Audiowide',monospace;font-size:13px;font-weight:400;letter-spacing:.5px;
  color:#E0B341;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pc-actions .btn-g:disabled{opacity:.45}
.pc-na{margin-left:auto;font-size:11.5px;color:var(--text3);flex:none}
.pc-ro b{font-size:14px;word-break:break-all;text-align:right}
.pc-coin-row{background:var(--accent-soft);border-radius:14px;padding-left:12px;padding-right:12px;margin-top:8px;border-bottom:none!important}
.pc-coin-row:last-child{border-bottom:none}
.pc-coin-t,.pc-coin{font-family:'Audiowide','PingFang SC','Microsoft YaHei',sans-serif}
.pc-coin-t{color:#E0B341}
.pc-coin-row .pc-coin{font-size:16px;letter-spacing:.5px;color:#3ECF8E}
.pc-danger-label{color:#F43F5E}
.pc-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}
.pc-vip{
  display:inline-block;vertical-align:2px;margin-left:10px;
  font-family:'Audiowide',sans-serif;font-size:11px;font-weight:400;letter-spacing:1.5px;
  padding:5px 13px;border-radius:99px;position:relative;overflow:hidden;white-space:nowrap;
}
.pc-vip.t-vip{color:#C7CDF8;border:1.5px solid transparent;background:linear-gradient(rgba(18,18,24,.92),rgba(18,18,24,.92)) padding-box,linear-gradient(135deg,#4F46E5,#8B5CF6,#4F46E5) border-box;box-shadow:0 0 10px rgba(99,102,241,.28)}
.pc-vip.t-svip{color:#F8FAFC;border:1.5px solid transparent;background:linear-gradient(rgba(22,22,28,.95),rgba(22,22,28,.95)) padding-box,linear-gradient(135deg,#8B95A5,#E9EEF4,#8B95A5) border-box;box-shadow:0 0 12px rgba(226,232,240,.2)}
.pc-vip.t-svip::after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 44%,rgba(255,255,255,.16) 50%,transparent 56%);animation:pcSilverShine 4.5s ease-in-out infinite}
@keyframes pcSilverShine{0%,60%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
.pc-vip.t-blackgold{
  color:#F0D48A;font-size:12px;padding:5px 15px;
  border:2px solid transparent;
  background:linear-gradient(#0A0A0C,#0A0A0C) padding-box,linear-gradient(135deg,#B8860B,#FFE9A8,#E0B341,#B8860B) border-box;
  box-shadow:0 0 16px rgba(224,179,65,.4),inset 0 0 10px rgba(224,179,65,.18);
}
.pc-vip.t-blackgold::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(105deg,transparent 42%,rgba(255,215,130,.3) 50%,transparent 58%);
  animation:pcGoldShine 3.2s ease-in-out infinite;
}
@keyframes pcGoldShine{0%,55%{transform:translateX(-130%)}100%{transform:translateX(130%)}}
.pc-bonus-coin{font-family:'Audiowide','PingFang SC','Microsoft YaHei',sans-serif;font-size:14px;color:#E0B341;margin-left:10px}
.pc-danger-btn{background:rgba(244,63,94,.12);color:#FB7185}
.pc-danger-btn:disabled{opacity:.5;cursor:default}
.pc-tip-plain{padding-left:14px}
.hero h1 .accent{font-family:'Audiowide',sans-serif;font-weight:400;letter-spacing:1px}
.su-name .pc-vip{font-size:8px;padding:2px 7px;vertical-align:1px;margin-left:6px;letter-spacing:.5px}
.su-name{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#page-profile .u-sec-label{font-size:12.5px}
.pc-row .btn{height:44px}
.del-mask{position:fixed;inset:0;z-index:120;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .3s var(--ios)}
.del-mask.show{opacity:1;pointer-events:auto}
.del-modal{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) translateY(18px) scale(.94);
  width:min(440px,calc(100vw - 24px));
  background:#1B1B20;border:1px solid var(--stroke);border-radius:24px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.6);z-index:121;overflow:hidden;
  opacity:0;pointer-events:none;
  transition:transform .45s var(--spring),opacity .3s var(--ios);
}
.del-modal.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)}
.del-head{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px}
.del-head b{font-size:15px;font-weight:900}
.del-body{padding:6px 20px 4px}
.del-warn{padding:10px 14px;border-radius:12px;background:rgba(244,63,94,.1);border:1px solid rgba(244,63,94,.25);color:#FB7185;font-size:12px;font-weight:700;line-height:1.7;margin-bottom:12px}
.del-body .auth-input{margin-bottom:14px}
.del-foot{padding:14px 20px 18px;border-top:1px solid var(--stroke)}
.del-foot .auth-btn{width:100%;margin-top:0;background:#F43F5E}
.del-foot .auth-btn:disabled{opacity:.5;cursor:default}
.un-coin-warn{background:var(--accent-soft);border-color:rgba(129,140,248,.3);color:#A8B0EE}
.un-coin-warn b{color:var(--accent)}
.un-new{font-size:13.5px;color:var(--text2);padding:7px 2px}
.un-new b{color:var(--text);font-weight:800}
#unBtn{background:var(--accent)}

/* ---------- 邮件（居中模态：警戒线 + 逐条滑入，对齐主站动画与位置） ---------- */
.mail-dot{
  position:absolute;top:3px;right:3px;min-width:15px;height:15px;padding:0 4px;
  border-radius:99px;background:var(--danger,#F43F5E);color:#fff;
  font-size:9.5px;font-weight:900;font-style:normal;
  display:flex;align-items:center;justify-content:center;z-index:2;
  box-shadow:0 0 0 2px #1B1B20;
}
.mail-mask{
  position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .3s var(--ios),visibility .3s;z-index:88;
}
.mail-mask.show{opacity:1;visibility:visible}
.mail-modal{
  width:520px;max-width:92vw;max-height:80vh;background:#1B1B20;
  border:1px solid var(--stroke);border-radius:24px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.6);position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  transform:scale(.9) translateY(20px);transition:transform .35s var(--ios);
}
.mail-modal.show{transform:scale(1) translateY(0)}
/* 顶部黄黑警戒线（主站邮件标志性元素） */
.mail-modal::before{
  content:'';position:absolute;top:0;left:0;right:0;height:8px;
  background:repeating-linear-gradient(-45deg,#1A1A1A 0 8px,#FFC800 8px 16px);
  border-bottom:2px solid #1A1A1A;pointer-events:none;z-index:5;
}
.mail-head{display:flex;align-items:center;gap:10px;padding:24px 20px 13px;border-bottom:1px solid var(--stroke)}
.mail-head b{font-size:15px;font-weight:900;display:flex;align-items:center;gap:8px}
.mail-count{font-size:10.5px;font-weight:800;color:var(--accent);background:var(--accent-soft);padding:3px 9px;border-radius:99px}
.mail-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.mail-readall{
  height:30px;padding:0 12px;border:none;border-radius:99px;cursor:pointer;
  background:var(--accent-soft);color:var(--accent-deep);font-size:11.5px;font-weight:800;font-family:inherit;
}
.mail-close{width:30px;height:30px;border-radius:99px;border:none;background:var(--well);color:var(--text2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px}
.mail-list{overflow-y:auto;overflow-x:hidden;padding:10px}
.mail-item{
  display:flex;gap:11px;padding:12px;border-radius:14px;cursor:pointer;transition:background .2s;position:relative;
  animation:mailIn .4s var(--spring) both;
  animation-delay:var(--d,0s);
}
@keyframes mailIn{from{opacity:0;transform:translateX(26px)}to{opacity:1;transform:none}}
.mail-item:hover{background:rgba(255,255,255,.045)}
.mva-ac{background:linear-gradient(135deg,#6366F1,#8B5CF6)}
.mva-amber{background:linear-gradient(135deg,#F59E0B,#D97706)}
.mva-green{background:linear-gradient(135deg,#22C55E,#15803D)}
.mva-pink{background:linear-gradient(135deg,#F472B6,#EC4899)}
.mail-ava{width:36px;height:36px;border-radius:12px;flex:none;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;color:#fff}
.mail-info{flex:1;min-width:0}
.mail-title{font-size:13px;font-weight:800;display:flex;align-items:center;gap:6px}
.mail-unread{width:7px;height:7px;border-radius:50%;background:var(--danger,#F43F5E);flex:none}
.mail-prev{font-size:11.5px;color:var(--text3);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mail-time{font-size:10.5px;color:var(--text3);flex:none}
.mail-body{flex:1;overflow-y:auto;padding:18px;display:none;flex-direction:column;gap:12px}
.mail-modal.reading .mail-list{display:none}
.mail-modal.reading .mail-body{display:flex}
.mail-body-title{font-size:16px;font-weight:900;line-height:1.4}
.mail-body-meta{font-size:11.5px;color:var(--text3)}
.mail-body-text{font-size:13px;line-height:1.8;color:var(--text2);white-space:pre-line}
.mail-back{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--text2);cursor:pointer;background:none;border:none;padding:0;font-family:inherit}
.mail-empty{padding:56px 20px;text-align:center;font-size:12.5px;color:var(--text3)}
.mail-reward{display:inline-block;font-size:10px;font-weight:800;color:var(--accent-deep);background:var(--accent-soft);padding:2px 7px;border-radius:99px;margin-right:5px}
.mail-reward.claimed{color:var(--text3);background:var(--well)}
.mail-claim{
  height:38px;border:none;border-radius:99px;cursor:pointer;align-self:flex-start;padding:0 24px;
  background:var(--accent);color:#fff;font-size:12.5px;font-weight:800;font-family:inherit;
  transition:transform .2s var(--spring),opacity .2s;
}
.mail-claim:active{transform:scale(.96)}
.mail-claim:disabled{opacity:.55;cursor:default;transform:none}

/* ---------- 法律条款弹窗 ---------- */
.terms-modal{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) translateY(18px) scale(.94);
  width:min(620px,calc(100vw - 24px));max-height:82vh;
  background:#1B1B20;border:1px solid var(--stroke);border-radius:24px;
  box-shadow:0 30px 80px -20px rgba(0,0,0,.6);z-index:96;
  display:flex;flex-direction:column;overflow:hidden;
  opacity:0;pointer-events:none;
  transition:transform .45s var(--spring),opacity .3s var(--ios);
}
.terms-modal.show{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) translateY(0) scale(1)}
.terms-head{
  display:flex;align-items:center;justify-content:space-between;flex:none;
  padding:20px 20px 14px;border-bottom:1px solid var(--stroke);
}
.terms-head b{font-size:16px;font-weight:900}
.terms-body{overflow-y:auto;padding:6px 22px 20px}
.terms-sec{padding:14px 0;border-bottom:1px solid var(--stroke)}
.terms-sec:last-child{border-bottom:none}
.terms-sec h4{font-size:14px;font-weight:900;margin-bottom:8px;color:var(--accent)}
.terms-sec p{font-size:12.5px;line-height:1.8;color:var(--text2);margin-bottom:6px}
.terms-sec p:last-child{margin-bottom:0}
.terms-sec b{color:var(--text)}
.terms-foot{flex:none;padding:14px 20px;border-top:1px solid var(--stroke)}
.terms-foot .auth-btn{width:100%;margin-top:0}

/* 界面动画关闭：停掉页面切换 / 瀑布入场 / 轮播 */
.no-anim .page{transition:none}
.no-anim .page.active{animation:none}
.no-anim .page.active>*{animation:none}
.no-anim .car-card{transition:opacity .2s linear,transform none}

/* ---------- 加载动画 ---------- */
/* 全屏：首屏即显（body 顶部），资源就绪后加 .done 淡出 */
.full-loader{
  position:fixed;inset:0;z-index:200;background:#131316;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  opacity:1;pointer-events:auto;transition:opacity .5s var(--ios);
}
.full-loader.done{opacity:0;pointer-events:none}
.fl-logo{display:flex;align-items:center;gap:12px}
.fl-word{font-family:'Audiowide',cursive;font-weight:400;font-size:28px;letter-spacing:7px;color:#F4F4F5}
.fl-word span{opacity:0;animation:flChar .9s var(--ios) forwards}
.fl-word span:nth-child(1){animation-delay:0s}
.fl-word span:nth-child(2){animation-delay:.09s}
.fl-word span:nth-child(3){animation-delay:.18s}
.fl-word span:nth-child(4){animation-delay:.27s}
.fl-word span:nth-child(5){animation-delay:.36s}
@keyframes flChar{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.fl-bar{width:200px;height:6px;border-radius:99px;background:rgba(244,244,245,.08);overflow:hidden}
.fl-bar i{display:block;height:100%;width:40%;border-radius:99px;background:linear-gradient(90deg,#6366F1,#A855F7);animation:flSlide 1.1s var(--ios) infinite}
@keyframes flSlide{from{transform:translateX(-120%)}to{transform:translateX(320%)}}
.fl-tip{font-size:11.5px;color:rgba(244,244,245,.4);letter-spacing:1px}
/* 小组件：像素块填充 / conic 渐变追逐环 */
.mini-loader{display:inline-flex;align-items:flex-end;gap:4px;height:24px}
.mini-loader i{
  width:9px;height:9px;border-radius:3px;background:var(--accent);
  animation:mFill 1.2s steps(1,end) infinite;
}
.mini-loader i:nth-child(2){animation-delay:.15s}
.mini-loader i:nth-child(3){animation-delay:.3s}
.mini-loader i:nth-child(4){animation-delay:.45s}
.mini-loader i:nth-child(5){animation-delay:.6s}
@keyframes mFill{0%,20%{background:var(--accent-soft);transform:scale(.82)}25%,70%{background:var(--accent);transform:scale(1)}75%,100%{background:var(--accent-soft);transform:scale(.82)}}
.mini-ring{
  width:26px;height:26px;border-radius:50%;flex:none;
  background:conic-gradient(from 0deg,var(--accent),#A855F7 140deg,transparent 220deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 3px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 3px));
  animation:spin .9s cubic-bezier(.45,.15,.55,.85) infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
/* 设置页预览块 */
.ld-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 10px}
.ld-cell{
  border:1px solid var(--stroke);border-radius:16px;min-height:110px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  background:var(--well);box-shadow:var(--well-inset);
}
.ld-cell span{font-size:11px;font-weight:700;color:var(--text3);letter-spacing:.5px}
/* 调参面板折叠 */
.fold-head{display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}
.fold-head .chev{transition:transform .35s var(--spring);color:var(--text3)}
.fold-head.open .chev{transform:rotate(90deg)}
.fold-body{max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ios),opacity .35s var(--ios)}
.fold-body.open{max-height:1400px;opacity:1}

/* ---------- 大屏适配（超宽显示器：侧栏加宽、网格扩列） ---------- */
@media (min-width:1700px){
  .app{max-width:1800px;gap:16px;padding:16px}
  .rail{width:280px;padding:20px 14px 14px}
  .rail-nav .nv{padding:12px 14px;font-size:14.5px}
  .game-grid,.tool-grid{grid-template-columns:repeat(4,1fr)}
  .prog-grid{grid-template-columns:repeat(3,1fr)}
  .world-grid{grid-template-columns:repeat(4,1fr)}
  .carousel{height:232px}
  .car-name{font-size:30px}
  .clock-wrap{width:260px;height:260px}
}
@media (min-width:2200px){
  .app{max-width:1960px}
  .rail{width:300px}
  .game-grid,.tool-grid{grid-template-columns:repeat(5,1fr)}
}

@media (max-width:1200px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .feat-grid,.tool-grid,.game-grid{grid-template-columns:repeat(2,1fr)}
  .feat-lg{grid-column:span 2}
  .world-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:920px){
  .rail{width:74px;padding:16px 10px 10px}
  .rail-head{justify-content:center;padding-bottom:14px}
  .rail-head > div:last-child,.rail .nv span.nv-txt,.rail-user,.rail-ver{display:none}
  .rail .nv{justify-content:center;padding:12px}
  .search{width:160px}
  .search:focus-within{width:200px}
}
@media (max-width:640px){
  .app{padding:8px;gap:8px}
  .rail{display:none}
  .grid-4,.feat-grid,.tool-grid,.game-grid,.prog-grid{grid-template-columns:repeat(1,1fr)}
  .feat-lg{grid-column:span 1}
  .podium{flex-direction:column;align-items:stretch}
  .pod{max-width:none}
  .search{display:none}
  .hero{padding:22px}
  .hero h1{font-size:23px}
  .clock-time{font-size:42px}
  /* 窄屏 sec-hd：标题整行防竖排，seg 独占一行横向滑动 */
  .sec-hd{flex-wrap:wrap;row-gap:10px}
  .sec-hd h2,.sec-more{white-space:nowrap;flex:none}
  .sec-hd .seg{order:3;width:100%;margin-left:0;overflow-x:auto;scrollbar-width:none}
  .sec-hd .seg::-webkit-scrollbar{display:none}
  .seg-btn{white-space:nowrap;flex:none}
  .u-hero-row{flex-wrap:wrap;row-gap:12px}
  .u-hero-row .btn{flex:none}
}
