/* OVO · 控制台浅色液态毛玻璃覆盖层
   控制台是编译好的 React 包（无源码），这里只做视觉覆盖：
   1) 用 !important 压住 applyTheme() 写在 <html style> 上的主题变量；
   2) 把包里写死的深色（含末尾那段「森林」覆盖块）逐个改成浅色玻璃；
   3) 不碰布局与交互。删掉 index.html 里的 <link id="ovo-skin"> 即可整体回退。 */

/* ───────── 1. 调色板 ───────── */
html:root {
  color-scheme: light !important;
  --candle: #6372ee !important;            /* 主强调：长春花蓝 */
  --candle-2: #4c59d6 !important;          /* 原「浅金」用于深底文字，浅底上改为更深的蓝 */
  --candle-3: #8a96ff !important;
  --teal: #13a597 !important;
  --rose: #e2588f !important;
  --violet: #7a63e6 !important;
  --prestige: #e5536a !important;
  --ok: #17a06b !important;
  --warn: #cc7a14 !important;
  --danger: #dc4458 !important;
  --danger-2: #c73348 !important;
  --danger-3: #b02a3d !important;
  --bg: #eef1fb !important;
  --bg-2: #e5e9f8 !important;
  --ink: #1a2030 !important;
  --ink-dim: #4a5470 !important;
  --ink-faint: #6e7791 !important;
  --line: rgba(70, 84, 140, .13) !important;
  --line-2: rgba(70, 84, 140, .2) !important;
  --glass: rgba(255, 255, 255, .42) !important;
  --glass-2: rgba(255, 255, 255, .6) !important;

  /* 玻璃面：白色半透 + 模糊。所有卡片、底栏、弹层都走这几个变量 */
  --card-fill: linear-gradient(150deg, rgba(255, 255, 255, .74), rgba(255, 255, 255, .52)) !important;
  --card-blur: blur(20px) saturate(170%) !important;
  --dock-fill: linear-gradient(150deg, rgba(255, 255, 255, .74), rgba(255, 255, 255, .52)) !important;
  --dock-surface: rgba(255, 255, 255, .7) !important;
  --liquid: linear-gradient(150deg, rgba(255, 255, 255, .7), rgba(255, 255, 255, .48)) !important;
  --glass-bg: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .4)) !important;
  --glass-tint: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .4)) !important;
  --glass-fallback-bg: rgba(255, 255, 255, .6) !important;
  --glass-dock-bg: linear-gradient(150deg, rgba(255, 255, 255, .72), rgba(255, 255, 255, .5)) !important;
  --glass-webgl-bg: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .4)) !important;
  --glass-webgl-tint: #ffffff !important;
  --glass-lite-fill: rgba(255, 255, 255, .4) !important;
  --glass-chip-fill: rgba(255, 255, 255, .5) !important;
  --glass-ann-fill: rgba(255, 255, 255, .5) !important;
  --glass-mid-fill: rgba(255, 255, 255, .45) !important;
  --hi-line: rgba(255, 255, 255, .85) !important;
  --hi-line-strong: rgba(255, 255, 255, .95) !important;
  --surface-warm: rgba(99, 114, 238, .05) !important;
  --surface-cool: rgba(255, 141, 184, .04) !important;
  --scrollbar-c: rgba(70, 84, 140, .25) !important;
  --on-accent: #ffffff !important;
  --text-on-candle: #ffffff !important;

  --shadow: 0 18px 46px -18px rgba(28, 36, 72, .3), 0 2px 8px rgba(28, 36, 72, .05) !important;
  --shadow-1: 0 12px 32px -14px rgba(28, 36, 72, .28) !important;
  --shadow-2: 0 26px 64px -22px rgba(28, 36, 72, .36) !important;
  --shadow-lift: 0 18px 40px -16px rgba(28, 36, 72, .34) !important;

  --font-disp: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif !important;

  --candle-a05: rgba(99, 114, 238, .05) !important;
  --candle-a07: rgba(99, 114, 238, .07) !important;
  --candle-a08: rgba(99, 114, 238, .08) !important;
  --candle-a10: rgba(99, 114, 238, .1) !important;
  --candle-a12: rgba(99, 114, 238, .12) !important;
  --candle-a14: rgba(99, 114, 238, .14) !important;
  --candle-a16: rgba(99, 114, 238, .16) !important;
  --candle-a18: rgba(99, 114, 238, .18) !important;
  --candle-a22: rgba(99, 114, 238, .22) !important;
  --candle-a28: rgba(99, 114, 238, .28) !important;
  --candle-a32: rgba(99, 114, 238, .32) !important;
  --candle-a40: rgba(99, 114, 238, .4) !important;
  --candle-a45: rgba(99, 114, 238, .45) !important;
  --candle-a62: rgba(99, 114, 238, .62) !important;
  --ok-a09: rgba(23, 160, 107, .1) !important;
  --ok-a28: rgba(23, 160, 107, .28) !important;
  --ok-a35: rgba(23, 160, 107, .35) !important;
  --warn-a08: rgba(204, 122, 20, .08) !important;
  --warn-a09: rgba(204, 122, 20, .1) !important;
  --warn-a25: rgba(204, 122, 20, .25) !important;
  --warn-a30: rgba(204, 122, 20, .3) !important;
  --warn-a35: rgba(204, 122, 20, .35) !important;
  --danger-a09: rgba(220, 68, 88, .09) !important;
  --danger-a30: rgba(220, 68, 88, .3) !important;
  --danger-a35: rgba(220, 68, 88, .35) !important;
  --teal-a08: rgba(19, 165, 151, .08) !important;
  --teal-a25: rgba(19, 165, 151, .25) !important;

  --vignette-bg: none !important;
  --cine-bg: none !important;

  /* 玻璃描边：左上亮、右下淡 */
  --ovo-edge: rgba(255, 255, 255, .7);
  --ovo-glass-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), inset 0 -1px 0 rgba(255, 255, 255, .25), 0 18px 46px -20px rgba(28, 36, 72, .32), 0 2px 8px rgba(28, 36, 72, .05);
}

/* ───────── 2. 底色与壁纸 ───────── */
html, html body {
  background-color: #eef1fb !important;
  background-image: linear-gradient(135deg, #dfe6ff, #fde3ef 50%, #e2f5f1) !important;
  background-attachment: fixed !important;
  color: var(--ink);
}
html .cine-static, html .app-vignette { display: none !important; }
html .phone-bg { background: transparent !important; }
html .phone-bg img { animation: ovo-drift 48s ease-in-out infinite alternate; }
html.ovo-js .phone-bg img { opacity: 0; transition: opacity 1.4s ease; }
html.ovo-js .phone-bg img.ovo-on { opacity: 1; }
html .phone-bg::after {
  background:
    linear-gradient(180deg, rgba(248, 249, 255, .3), rgba(244, 246, 255, .4) 55%, rgba(244, 246, 255, .55)),
    radial-gradient(80% 60% at 50% 45%, transparent, rgba(30, 36, 60, .08)) !important;
}
@keyframes ovo-drift { from { transform: scale(1.04); } to { transform: scale(1.1) translate(-1%, -.6%); } }
::selection { background: rgba(99, 114, 238, .25); }

/* ───────── 3. 玻璃面统一质感 ───────── */
html .glass, html .tabbar, html .shell-glass, html .auth-glass, html .me-group, html .splash-ring,
html .stat, html .acc-card, html .empty, html .sheet, html .notice-card, html .shell-panel, html .shell-hero,
html .wk-card, html .wk-mini, html .chatpanel, html .home-visits-item, html .ac, html .ac-accpick-sheet,
html .me-list, html .toast, html .jobdock, html .mt-card {
  border-color: var(--ovo-edge) !important;
  box-shadow: var(--ovo-glass-shadow) !important;
}
/* 包里桌面端只写了 -webkit-backdrop-filter（Chromium 不认），这里补上标准属性；
   滚动 / 切页时包会临时去掉模糊省性能，这里保持这个行为 */
html body:not(.is-scrolling):not(.is-switching) :is(.glass, .shell-glass, .shell-glass-lite, .shell-panel, .shell-hero,
  .stat, .acc-card, .empty, .sheet, .notice-card, .toast, .wk-card, .wk-mini, .chatpanel, .chatwidget, .me-list,
  .home-visits-item, .ac, .ac-accpick-sheet, .banwidget, .ann-bar, .chip-shell, .dbg-pill, .dbg-panel, .jobdock,
  .me-chip, .mt-card, .lb-sheet) {
  backdrop-filter: blur(20px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(170%) !important;
}
html .banwidget { background: linear-gradient(150deg, rgba(255, 240, 243, .7), rgba(255, 255, 255, .45)) !important; border-color: rgba(255, 255, 255, .7) !important; box-shadow: var(--ovo-glass-shadow) !important; }
html .banwidget.hot { background: linear-gradient(150deg, rgba(255, 220, 228, .78), rgba(255, 240, 243, .55)) !important; border-color: rgba(220, 68, 88, .35) !important; }
html .banwidget.hot .banw-sub { color: #b0485a !important; }
/* 玻璃里的玻璃不再叠模糊，省 GPU */
html body:not(.ovo-n1):not(.ovo-n2) :is(.glass, .shell-panel, .shell-glass, .wk-card, .acc-card, .sheet, .chatpanel, .ac)
  :is(.stat, .me-list, .wk-fg, .wk-acc, .acc-stat, .empty, .wk-card, .wk-mini, .chip-shell, .me-chip, .shell-panel, .banwidget, .ann-bar) {
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}

html .topbar { background: transparent !important; }
html .tabbar { background: var(--dock-fill) !important; }
html .glass-surface--fallback { background: rgba(255, 255, 255, .55) !important; box-shadow: var(--ovo-glass-shadow) !important; }
html .me-group { background: var(--card-fill) !important; }
html .auth-glass { background: var(--card-fill) !important; }
html .auth-card .control { background: rgba(255, 255, 255, .6) !important; }

/* 写死的深色小面 → 浅色半透 */
html .auth-tabs, html .seg, html .otp-cell, html .control, html .copybar, html .job-log, html .adm-pwcode,
html .chattext, html .ep-link, html .ac-preview, html .bu-panel, html .me-name-input,
html .acc-stat, html .acc-daily .btn {
  background: rgba(255, 255, 255, .5) !important;
}
html .acc-daily .btn:hover { background: rgba(99, 114, 238, .1) !important; }
html .apikey-fresh-val, html .apikey-list li, html .pw-input, html .ann-input, html .ann-area, html .ac-search,
html .ac-banrow select, html .ac-banrow input, html .dp-f input, html .dp-f select, html .ac-input, html .mt-login,
html .mt-in, html .ac-fl input, html .ac-fl textarea, html .ac-rf input, html .cg-pause, html .lb-in, html .ac-rows {
  background: rgba(255, 255, 255, .62) !important; color: var(--ink) !important;
}
html .overlay, html .ac-veil, html .lb-veil, html .ac-accpick-veil {
  background: rgba(226, 231, 250, .42) !important;
  backdrop-filter: blur(6px) !important; -webkit-backdrop-filter: blur(6px) !important;
}
html .notice-card { background: linear-gradient(150deg, rgba(255, 255, 255, .86), rgba(255, 255, 255, .7)) !important; }
html .sheet { box-shadow: 0 -18px 60px -20px rgba(28, 36, 72, .35) !important; }
html .lb-sheet { background: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(246, 248, 255, .86)) !important; box-shadow: 0 -8px 40px rgba(28, 36, 72, .2) !important; }
html .dbg-panel { background: rgba(255, 255, 255, .78) !important; }
html .thm-card { background: rgba(255, 255, 255, .5) !important; }
html .home-at { background: rgba(255, 255, 255, .85) !important; box-shadow: var(--ovo-glass-shadow) !important; }
html .ann-bar, html .shell-panel { box-shadow: var(--ovo-glass-shadow) !important; }
html .mt { background: radial-gradient(120% 68% at 50% -8%, var(--candle-a12), transparent 68%), linear-gradient(180deg, #f4f6ff, #eef1fb) !important; }
html .dp-plat { background: rgba(23, 160, 107, .12) !important; }
html .dp-plat.ios { background: rgba(99, 114, 238, .12) !important; }
html .dp-tag.add { background: rgba(204, 122, 20, .12) !important; }
html .dp-tag.used { background: rgba(99, 114, 238, .12) !important; }
html .dp-tag.idle, html .dp-probe.unknown { background: rgba(70, 84, 140, .1) !important; }
html .dp-probe.clean { background: rgba(23, 160, 107, .12) !important; }
html .dp-probe.risk { background: rgba(220, 68, 88, .12) !important; }
html .me-author .pc-card, html .me-author .pc-inside { background: #f6f7ff !important; }
html .me-author .pc-user-info { background: rgba(255, 255, 255, .6) !important; }
html .bg-black\/60 { background-color: rgba(226, 231, 250, .5) !important; }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #f4f6ff inset !important; -webkit-text-fill-color: var(--ink) !important;
}

/* 文字阴影是给深色壁纸用的，浅色下去掉 */
html .auth-name, html .auth-hero .lede, html .auth-point { text-shadow: none !important; }
html .logo-brand, html .logo-splash, html .logo-auth { filter: drop-shadow(0 4px 12px rgba(28, 36, 72, .18)) !important; }

/* 强调色上的文字：一律白 */
html .auth-card button[type=submit], html .splash-skip, html button.primary, html .tabdot, html .tabat, html .cg-mult, html .todo-box {
  color: #fff !important;
}
html .tabat, html .tabdot { box-shadow: 0 0 0 2px rgba(255, 255, 255, .9) !important; }

/* ───────── 4. 顶栏 / 底栏 / 标题 ───────── */
html .topbar { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
html .brand-title, html .logo-brand { display: none !important; }       /* 与首页一致：不放头像 logo */
html .brand-sub { color: #3d4660 !important; font-weight: 600; text-shadow: none !important; }
html .brand {
  padding: 4px 14px; border-radius: 999px;
  background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .75);
  box-shadow: inset 0 1px 0 #fff, 0 6px 16px -10px rgba(28, 36, 72, .35);
}
@media (max-width: 639px) { html .brand { display: none !important; } }   /* 窄屏下文字本就隐藏，免得留个空胶囊 */
html .tab-rail { background: linear-gradient(90deg, var(--candle), #ff8db8 45%, transparent 85%) !important; opacity: .7; }
html .chip-shell { background: rgba(255, 255, 255, .55) !important; border-color: rgba(255, 255, 255, .75) !important; color: var(--ink-dim) !important; }

html .tabbarwrap, html .tabbar-stack { --tab-content: #4a5470; --tab-accent: #5563e6; }
html .tabitem { color: #4a5470 !important; }
html .tabitem:hover { color: var(--ink) !important; }
html .tabitem.on, html .tabitem.live { color: #5563e6 !important; }
html .tabitem.on .tablbl { color: #4652d8 !important; text-shadow: none !important; font-weight: 600; }
html .tabitem.on .tabico { filter: drop-shadow(0 2px 8px rgba(99, 114, 238, .35)) !important; }
html .tabbar-ind-glass { background: transparent !important; box-shadow: none !important; }
html .tabbar-ind-fill {
  background: linear-gradient(150deg, rgba(255, 255, 255, .95), rgba(255, 255, 255, .7)) !important;
  box-shadow: inset 0 1px 0 #fff, 0 6px 18px -6px rgba(28, 36, 72, .28) !important;
}

/* 直接压在壁纸上的标题：加一圈白色柔光保证可读 */
html .sechead h2, html .sechead .count, html .brand-sub, html .me-grouptitle, html .me-name, html .me-hero, html .foot,
html .chat-head, html .lobby-head, html .home-visits {
  text-shadow: 0 0 2px rgba(255, 255, 255, .9), 0 0 12px rgba(255, 255, 255, .85);
}
/* 原本直接压在壁纸上的标题区 → 放到一条轻玻璃上（壁纸再暗也能读） */
html .sechead, html .me-hero {
  padding: 10px 14px !important; border-radius: 18px !important;
  background: linear-gradient(150deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .4)) !important;
  border: 1px solid rgba(255, 255, 255, .7) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 10px 30px -18px rgba(28, 36, 72, .35) !important;
}
html .me-hero { padding: 14px 16px !important; margin-bottom: 8px !important; }
html body:not(.is-scrolling):not(.is-switching) :is(.sechead, .me-hero) {
  backdrop-filter: blur(16px) saturate(160%) !important; -webkit-backdrop-filter: blur(16px) saturate(160%) !important;
}
html .sechead h2, html .sechead .count, html .me-hero * { text-shadow: none !important; }
html .me-grouptitle {
  align-self: flex-start; display: inline-block; padding: 3px 12px; border-radius: 999px; text-shadow: none !important;
  background: rgba(255, 255, 255, .62); border: 1px solid rgba(255, 255, 255, .75);
}
html body:not(.is-scrolling):not(.is-switching) .me-grouptitle { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
html .sechead .rule { background: linear-gradient(to right, rgba(99, 114, 238, .35), transparent 85%) !important; }
html .sec-idx { color: #5563e6 !important; }

/* 「我的」分组：外层不再叠一块玻璃，只留标题 + 列表这一层 */
html .me-group {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
}
html .me-grouptitle { color: #3d4660 !important; font-weight: 600; }
html .me-list { backdrop-filter: var(--card-blur) !important; -webkit-backdrop-filter: var(--card-blur) !important; }

/* ───────── 5. 按钮 ───────── */
html [class*="from-candle"], html .btn-primary {
  background: linear-gradient(135deg, #8a96ff, #6372ee 55%, #8f7cf0) !important;
  color: #fff !important; border: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 10px 24px -10px rgba(99, 114, 238, .7) !important;
}
html [class*="from-candle"]:disabled, html .btn-primary:disabled {
  background: linear-gradient(135deg, rgba(138, 150, 255, .55), rgba(99, 114, 238, .5)) !important;
  color: rgba(255, 255, 255, .92) !important; box-shadow: none !important; opacity: 1 !important;
}
html .btn-ghost, html button[data-variant="outline"], html [data-slot="button"][class*="border-"] {
  background-color: rgba(255, 255, 255, .5);
}
html .dbg-pill {
  background: rgba(255, 255, 255, .6) !important; border: 1px solid rgba(255, 255, 255, .8) !important;
  color: var(--ink-dim) !important; box-shadow: 0 6px 16px -8px rgba(28, 36, 72, .3) !important;
}
html .empty-ico { background: rgba(99, 114, 238, .1) !important; border-color: rgba(99, 114, 238, .18) !important; }
html .empty-story .empty-ico { box-shadow: 0 0 28px rgba(99, 114, 238, .25) !important; }

/* ───────── 6. 滚动条 ───────── */
* { scrollbar-color: rgba(70, 84, 140, .28) transparent; }
/* ───────── 7. 弹层细节 ───────── */
/* 分段按钮不换行（"安卓"会被挤成两行） */
html .seg > button { white-space: nowrap; }
/* 浅色皮肤统一了配色，深色主题/机位皮肤选项失去意义，整组"外观"隐藏（ovo.js 打标记） */
html .ovo-hide { display: none !important; }
/* 事件日志面板头部：窄屏下文字被挤成竖排，改为不换字、整行可折行 */
html .dbg-head { flex-wrap: wrap; row-gap: 6px; }
html .dbg-head, html .dbg-head * { white-space: nowrap; }
/* ───────── 8. 通知方式（企业微信机器人，ovo.js 注入） ───────── */
html .ovo-wc-card { padding: 4px 16px 16px; }
html .ovo-wc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(99, 114, 238, .1); flex-wrap: wrap; }
html .ovo-wc-name { font-size: 14px; font-weight: 500; color: var(--ink, #1a2030); }
html .ovo-wc-sub { font-size: 11.5px; color: #6b7390; margin-top: 2px; line-height: 1.5; }
html .ovo-wc-seg { flex-shrink: 0; }
html .ovo-wc-seg > button { white-space: nowrap; }
html .ovo-wc-seg > button:disabled { opacity: .4; cursor: not-allowed; }
html .ovo-wc-box { padding-top: 12px; }
html .ovo-wc-input {
  display: block; width: 100%; margin-top: 10px; padding: 10px 12px; font-size: 13px; color: #1a2030;
  background: rgba(255, 255, 255, .7); border: 1px solid rgba(99, 114, 238, .22); border-radius: 12px; outline: none;
  transition: border-color .2s, box-shadow .2s;
}
html .ovo-wc-input:focus { border-color: #6372ee; box-shadow: 0 0 0 3px rgba(99, 114, 238, .15); }
html .ovo-wc-acts { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
html .ovo-wc-btn {
  padding: 7px 14px; font-size: 13px; border-radius: 999px; color: #3d4660; cursor: pointer;
  background: rgba(255, 255, 255, .6); border: 1px solid rgba(99, 114, 238, .2);
}
html .ovo-wc-btn:disabled, html .ovo-wc-btn[data-busy="1"] { opacity: .5; pointer-events: none; }
html .ovo-wc-primary { color: #fff; border: 0; background: linear-gradient(135deg, #8a96ff, #6372ee 55%, #8f7cf0); box-shadow: 0 8px 18px -10px rgba(99, 114, 238, .8); }
html .ovo-wc-danger { color: #d04a6a; border-color: rgba(208, 74, 106, .25); }
html .ovo-wc-msg { font-size: 12px; margin-top: 8px; min-height: 0; }
html .ovo-wc-msg.good { color: #1f9d6b; }
html .ovo-wc-msg.bad { color: #d04a6a; }
html .ovo-wc-help { font-size: 11.5px; color: #8a90a8; margin-top: 10px; line-height: 1.6; }
