/* ============================================================
   勇闯学习王国 · 主题皮肤 themes.css
   ------------------------------------------------------------
   用法：<html data-theme="xiyou|numberblocks|cream-cat|peppa|fly-guy">
   原理：html[data-theme=X] 的属性选择器特异性 ≥ 各页面自带的 :root，
        因此无需修改任何页面原有 CSS，即可整站换色。
        （本文件必须在其它 css 之后加载）
   注意：换主题只改外观，绝不触碰任何 localStorage 数据。
   ============================================================ */

/* ================= 1. 西游记（默认） ================= */
html[data-theme="xiyou"]{
  --bg:#FFF7EF; --bg-2:#F6EBDD; --card:#FFFFFF;
  --ink:#3b2e4a; --ink-2:#7a6b88; --ink2:#7a6b88; --line:#EADFCE; --muted:#9a8aa8;
  --shadow:0 6px 18px rgba(120,90,50,.10); --shadow-sm:0 3px 10px rgba(120,90,50,.08); --shadow2:0 8px 22px rgba(120,90,50,.16);
  --accent:#C8A15A; --accent-2:#B5651D; --accent-ink:#FFFFFF; --accent-soft:#F6EBDD;
  --pink:#FF6B9D; --pinkL:#FFD9E6; --green:#4CAF50; --greenL:#C8E6C9; --greenBG:#EAF7EA;
  --blue:#2196F3; --orange:#F5A623; --purple:#9C6ADE; --purpleL:#E5DCFA;
  --red:#E8412C; --yellow:#FFD93D; --cyan:#22B8CF; --gold:#C8A15A; --gray:#B4B2A9;
  --r:16px; --r-sm:10px; --r-card:18px; --r-pill:999px;
  --x-bg:#FFF7EF; --x-card:#FFFFFF; --x-ink:#3E2C20; --x-line:#EADFCE;
  --x-gold:#C8A15A; --x-gold2:#B5651D; --x-soft:#7a6450;
  --x-blue:#2196F3; --x-green:#4CAF50; --x-red:#E8412C; --x-yellow:#FFD93D;
  --ch-ink:#3b2e4a; --ch-pink:#FF6B9D; --ch-pinkL:#FFD9E6; --ch-pinkD:#D4537E;
  --ch-purple:#9C6ADE; --ch-purpleD:#7B4FC4; --ch-blue:#2196F3; --ch-blueD:#1668B8;
  --ch-green:#4CAF50; --ch-greenD:#3A8E3E; --ch-yellow:#FFD93D; --ch-yellowD:#D9B520; --ch-orange:#F5A623;
  --t-topbar:#3E2C20; --t-topbar-title:#FFE082; --t-topbar-sub:#C9B8A8;
  --t-topbar-btn:rgba(255,255,255,.14); --t-logo-bg:linear-gradient(135deg,#F7C548,#E08E3F);
  --t-dock-bg:rgba(62,44,32,.96); --t-hero:linear-gradient(135deg,#C5533A,#E08E3F);
}

/* ================= 2. 数字积木 ================= */
html[data-theme="numberblocks"]{
  --bg:#F2F6FF; --bg-2:#E3ECFF; --card:#FFFFFF;
  --ink:#1B2A4A; --ink-2:#5B6B8C; --ink2:#5B6B8C; --line:#D6E0F5; --muted:#7C8AA8;
  --shadow:0 6px 16px rgba(33,80,180,.12); --shadow-sm:0 3px 8px rgba(33,80,180,.10); --shadow2:0 8px 20px rgba(33,80,180,.18);
  --accent:#2196F3; --accent-2:#FF8F1F; --accent-ink:#FFFFFF; --accent-soft:#E3ECFF;
  --pink:#FF4E8A; --pinkL:#FFD6E4; --green:#3FC46A; --greenL:#C9F0D6; --greenBG:#E7F8EC;
  --blue:#2196F3; --orange:#FF8F1F; --purple:#9C27B0; --purpleL:#EBD3F2;
  --red:#E8412C; --yellow:#FFC93C; --cyan:#22C3D6; --gold:#FFC93C; --gray:#B4B2A9;
  --r:12px; --r-sm:8px; --r-card:14px; --r-pill:999px;
  --x-bg:#F2F6FF; --x-card:#FFFFFF; --x-ink:#1B2A4A; --x-line:#D6E0F5;
  --x-gold:#2196F3; --x-gold2:#C96A08; --x-soft:#5B6B8C;
  --x-blue:#2196F3; --x-green:#2E9E52; --x-red:#E8412C; --x-yellow:#FFC93C;
  --ch-ink:#1B2A4A; --ch-pink:#FF4E8A; --ch-pinkL:#FFD6E4; --ch-pinkD:#D63A72;
  --ch-purple:#9C27B0; --ch-purpleD:#7A1E8C; --ch-blue:#2196F3; --ch-blueD:#1668B8;
  --ch-green:#3FC46A; --ch-greenD:#2E9A52; --ch-yellow:#FFC93C; --ch-yellowD:#D9A61F; --ch-orange:#FF8F1F;
  --t-topbar:#16264A; --t-topbar-title:#8FD6FF; --t-topbar-sub:#9FB3D9;
  --t-topbar-btn:rgba(255,255,255,.16); --t-logo-bg:linear-gradient(135deg,#2196F3,#FF8F1F);
  --t-dock-bg:rgba(22,38,74,.96); --t-hero:linear-gradient(135deg,#2196F3,#7C4DFF);
}

/* ================= 3. 奶油风猫咪 ================= */
html[data-theme="cream-cat"]{
  --bg:#FFF9F3; --bg-2:#F7EDE2; --card:#FFFFFF;
  --ink:#5C4A3D; --ink-2:#9C8578; --ink2:#9C8578; --line:#F0E2D4; --muted:#B09A8A;
  --shadow:0 8px 22px rgba(150,120,95,.13); --shadow-sm:0 4px 12px rgba(150,120,95,.10); --shadow2:0 10px 26px rgba(150,120,95,.18);
  --accent:#C9A98A; --accent-2:#E4A0A0; --accent-ink:#FFFFFF; --accent-soft:#F7EDE2;
  --pink:#F2B8C6; --pinkL:#FBE3EA; --green:#A8C69F; --greenL:#DCEBD6; --greenBG:#EFF6EC;
  --blue:#A8C4D8; --orange:#E8B08A; --purple:#C4A8D8; --purpleL:#EDE3F5;
  --red:#E88B8B; --yellow:#F0D8A8; --cyan:#A8D8D0; --gold:#D8B98A; --gray:#C4B8AC;
  --r:20px; --r-sm:14px; --r-card:24px; --r-pill:999px;
  --x-bg:#FFF9F3; --x-card:#FFFFFF; --x-ink:#5C4A3D; --x-line:#F0E2D4;
  --x-gold:#C9A98A; --x-gold2:#A9715F; --x-soft:#8A7364;
  --x-blue:#A8C4D8; --x-green:#6B8C5E; --x-red:#C06464; --x-yellow:#F0D8A8;
  --ch-ink:#5C4A3D; --ch-pink:#F2B8C6; --ch-pinkL:#FBE3EA; --ch-pinkD:#D991A5;
  --ch-purple:#C4A8D8; --ch-purpleD:#A483BC; --ch-blue:#A8C4D8; --ch-blueD:#7FA3BE;
  --ch-green:#A8C69F; --ch-greenD:#84A87A; --ch-yellow:#F0D8A8; --ch-yellowD:#D4B77E; --ch-orange:#E8B08A;
  --t-topbar:#6B5648; --t-topbar-title:#FFE8D6; --t-topbar-sub:#D9C6B4;
  --t-topbar-btn:rgba(255,255,255,.16); --t-logo-bg:linear-gradient(135deg,#F0D3B4,#E4A0A0);
  --t-dock-bg:rgba(107,86,72,.96); --t-hero:linear-gradient(135deg,#C9A98A,#E4A0A0);
}

/* ================= 4. 小赛车手（保留 peppa id 兼容旧偏好） ================= */
html[data-theme="peppa"]{
  --bg:#EAF7FF; --bg-2:#D7F0FC; --card:#FFFDF1;
  --ink:#172849; --ink-2:#596B82; --ink2:#596B82; --line:#CFE2EC; --muted:#8192A5;
  --shadow:0 7px 18px rgba(25,91,136,.16); --shadow-sm:0 3px 10px rgba(25,91,136,.12); --shadow2:0 9px 24px rgba(25,91,136,.2);
  --accent:#E93D38; --accent-2:#298FE5; --accent-ink:#FFFFFF; --accent-soft:#FFF1D0;
  --pink:#E93D38; --pinkL:#FFE0D8; --green:#31A95F; --greenL:#D7F0DF; --greenBG:#EAF7EE;
  --blue:#298FE5; --orange:#FF9B35; --purple:#7167C8; --purpleL:#E5E2F7;
  --red:#E93D38; --yellow:#FFD24D; --cyan:#44BBD5; --gold:#E6AA25; --gray:#AAB7C2;
  --r:18px; --r-sm:12px; --r-card:22px; --r-pill:999px;
  --x-bg:#FFF6FA; --x-card:#FFFFFF; --x-ink:#4A3B45; --x-line:#F7DCE8;
  --x-gold:#F49AC1; --x-gold2:#3A7F9E; --x-soft:#8C7A85;
  --x-blue:#7EC8E3; --x-green:#8CC63F; --x-red:#C74A4A; --x-yellow:#FFD966;
  --ch-ink:#4A3B45; --ch-pink:#F49AC1; --ch-pinkL:#FDE0EC; --ch-pinkD:#D97BA5;
  --ch-purple:#C79BE0; --ch-purpleD:#A87BC2; --ch-blue:#7EC8E3; --ch-blueD:#5AA6C4;
  --ch-green:#8CC63F; --ch-greenD:#6E9E2E; --ch-yellow:#FFD966; --ch-yellowD:#D9B43F; --ch-orange:#FFB347;
  --t-topbar:#298FE5; --t-topbar-title:#FFFFFF; --t-topbar-sub:#EAF7FF;
  --t-topbar-btn:rgba(255,255,255,.2); --t-logo-bg:linear-gradient(135deg,#FFD24D,#E93D38);
  --t-dock-bg:rgba(25,126,207,.97); --t-hero:linear-gradient(135deg,#298FE5,#E93D38);
}

/* ================= 5. 苍蝇小子 ================= */
html[data-theme="fly-guy"]{
  --bg:#FFFFFF; --bg-2:#F2F7F0; --card:#FFFFFF;
  --ink:#1A1A1A; --ink-2:#5A5A5A; --ink2:#5A5A5A; --line:#DDE5DA; --muted:#7A7A7A;
  --shadow:0 5px 14px rgba(30,60,30,.12); --shadow-sm:0 3px 8px rgba(30,60,30,.10); --shadow2:0 7px 18px rgba(30,60,30,.16);
  --accent:#5CB85C; --accent-2:#FF8C42; --accent-ink:#FFFFFF; --accent-soft:#EAF5EA;
  --pink:#F06292; --pinkL:#FBD9E5; --green:#5CB85C; --greenL:#C8E6C9; --greenBG:#EAF7EA;
  --blue:#4A90D9; --orange:#FF8C42; --purple:#9B7EDE; --purpleL:#E6DEFA;
  --red:#E8453C; --yellow:#FFC93C; --cyan:#4AC5C5; --gold:#FFC93C; --gray:#A8A8A8;
  --r:10px; --r-sm:6px; --r-card:12px; --r-pill:999px;
  --x-bg:#FFFFFF; --x-card:#FFFFFF; --x-ink:#1A1A1A; --x-line:#DDE5DA;
  --x-gold:#5CB85C; --x-gold2:#C9660F; --x-soft:#5A5A5A;
  --x-blue:#4A90D9; --x-green:#5CB85C; --x-red:#C02F27; --x-yellow:#FFC93C;
  --ch-ink:#1A1A1A; --ch-pink:#F06292; --ch-pinkL:#FBD9E5; --ch-pinkD:#C94571;
  --ch-purple:#9B7EDE; --ch-purpleD:#7A5CC2; --ch-blue:#4A90D9; --ch-blueD:#2E6FB4;
  --ch-green:#5CB85C; --ch-greenD:#3E8E3E; --ch-yellow:#FFC93C; --ch-yellowD:#D9A61F; --ch-orange:#FF8C42;
  --t-topbar:#262626; --t-topbar-title:#B6F09C; --t-topbar-sub:#ABABAB;
  --t-topbar-btn:rgba(255,255,255,.14); --t-logo-bg:linear-gradient(135deg,#5CB85C,#FF8C42);
  --t-dock-bg:rgba(38,38,38,.96); --t-hero:linear-gradient(135deg,#5CB85C,#FF8C42);
}

/* ================= 6. 冰雪学习城堡 ================= */
html[data-theme="snow-castle"]{
  --bg:#F2F8FF; --bg-2:#E4F1FF; --card:#FFFFFF;
  --ink:#2E4A6B; --ink-2:#6A8AA8; --ink2:#6A8AA8; --line:#D6E8FA; --muted:#93AECC;
  --shadow:0 8px 22px rgba(91,159,224,.18); --shadow-sm:0 4px 12px rgba(91,159,224,.12); --shadow2:0 10px 26px rgba(91,159,224,.22);
  --accent:#5B9FE0; --accent-2:#3A6FB0; --accent-ink:#FFFFFF; --accent-soft:#DCEEFF;
  --pink:#8FA8E8; --pinkL:#DDE4FB; --green:#4FB8A8; --greenL:#CDEDE7; --greenBG:#E8F7F4;
  --blue:#5B9FE0; --orange:#F0A868; --purple:#8B7FD4; --purpleL:#E4E0F7;
  --red:#D95555; --yellow:#E8B84B; --cyan:#5BC8E0; --gold:#D9A83C; --gray:#B8C6D6;
  --r:18px; --r-sm:12px; --r-card:20px; --r-pill:999px;
  --x-bg:#F2F8FF; --x-card:#FFFFFF; --x-ink:#2E4A6B; --x-line:#D6E8FA;
  --x-gold:#5B9FE0; --x-gold2:#2C5F9E; --x-soft:#6A8AA8;
  --x-blue:#5B9FE0; --x-green:#4FB8A8; --x-red:#D95555; --x-yellow:#E8B84B;
  --ch-ink:#2E4A6B; --ch-pink:#8FA8E8; --ch-pinkL:#DDE4FB; --ch-pinkD:#6E86C9;
  --ch-purple:#8B7FD4; --ch-purpleD:#6A5DB8; --ch-blue:#5B9FE0; --ch-blueD:#3A6FB0;
  --ch-green:#4FB8A8; --ch-greenD:#3A8E82; --ch-yellow:#E8B84B; --ch-yellowD:#C79A34; --ch-orange:#3A7FC0;
  --t-topbar:#2E5A8C; --t-topbar-title:#DCEEFF; --t-topbar-sub:#9BC4E8;
  --t-topbar-btn:rgba(255,255,255,.16); --t-logo-bg:linear-gradient(135deg,#8FD0FF,#5B9FE0);
  --t-dock-bg:rgba(46,90,140,.96); --t-hero:linear-gradient(135deg,#8FD0FF,#5B9FE0);
}

/* ============================================================
   顶栏 / 移动导航 / Hero：接管 xuan-topbar.css 里写死的西游记色
   （选择器加 html[data-theme] 前缀，特异性高于原规则）
   ============================================================ */
html[data-theme] .xytop{ background:var(--t-topbar); box-shadow:0 4px 14px rgba(0,0,0,.18); }
html[data-theme] .xytop .xyback{ background:var(--t-topbar-btn); color:#fff; }
html[data-theme] .xytop .xylogo{ background:var(--t-logo-bg); }
html[data-theme] .xytop .xytitle,
html[data-theme] .xytop .xytitle b{ color:var(--t-topbar-title); }
html[data-theme] .xytop .xysubtitle,
html[data-theme] .xytop .xytitle small{ color:var(--t-topbar-sub); }

html[data-theme] #topbar{ background:var(--t-topbar) !important; }
html[data-theme] #topbar #tb-title{ color:var(--t-topbar-title) !important; }
html[data-theme] #topbar .tb-btn{ background:var(--t-topbar-btn) !important; color:#fff !important; }
html[data-theme] #topbar .xylogo{ background:var(--t-logo-bg); }
html[data-theme] #topbar #tb-stars{ background:var(--t-logo-bg) !important; color:var(--t-topbar) !important; }

html[data-theme] body.mod-chinese .hero,
html[data-theme] body.mod-english .hero{ background:var(--t-hero) !important; }
html[data-theme] body.mod-chinese,
html[data-theme] body.mod-english{
  --accent:var(--x-gold); --accent-2:var(--x-gold2);
  --accent-ink:var(--x-gold2);
  --bg:var(--x-bg); --line:var(--x-line);
}

@media(max-width:760px){
  html[data-theme] .xydock{ background:var(--t-dock-bg); }
  html[data-theme] .xydock a{ color:var(--t-topbar-sub); }
  html[data-theme] .xydock a.on{ background:var(--t-topbar-btn); color:var(--t-topbar-title); }
}

/* ================= 小赛车手 · 完整赛车皮肤 ================= */
.racer-only{display:none !important;}
html[data-theme="peppa"] .racer-only{display:block !important;}
html[data-theme="peppa"] body{
  color:#152B4C !important;
  background-color:#79C94C !important;
  background-image:repeating-linear-gradient(166deg,rgba(255,255,255,.08) 0 2px,transparent 2px 7px),linear-gradient(180deg,#58B8ED 0 20%,#A7DDF2 20% 48%,#87D652 48% 100%) !important;
}
html[data-theme="peppa"] .sidebar{
  width:220px !important;padding:14px 14px 24px !important;color:#172849 !important;
  background-color:#FFF9DC !important;
  background-image:repeating-linear-gradient(165deg,rgba(226,183,51,.07) 0 2px,transparent 2px 7px) !important;
  border-right:4px solid rgba(229,185,52,.32) !important;box-shadow:5px 0 18px rgba(36,96,122,.16) !important;
}
html[data-theme="peppa"] .sidebar .brand{border-bottom:2px dashed #E8C95B !important;}
html[data-theme="peppa"] .sidebar .logo,
html[data-theme="peppa"] .topbar .icon{background:#FFF1B5 !important;border:3px solid #E9C247 !important;overflow:hidden !important;}
html[data-theme="peppa"] .racer-logo-img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 20% !important;}
html[data-theme="peppa"] .sidebar .btitle{color:#13284A !important;}
html[data-theme="peppa"] .sidebar .bsub{color:#C64036 !important;}
html[data-theme="peppa"] .sidebar .section-title{color:#987C43 !important;}
html[data-theme="peppa"] .sidebar .nav-item{min-height:58px !important;color:#172849 !important;border-radius:19px !important;font-weight:900 !important;}
html[data-theme="peppa"] .sidebar .nav-item .ni{width:42px !important;height:42px !important;font-size:24px !important;background:#FFF !important;border:2px solid #D8E5EF !important;border-radius:12px !important;}
html[data-theme="peppa"] .sidebar .nav-item.active{color:#FFF !important;background:linear-gradient(135deg,#F14A3F,#E62F33) !important;box-shadow:0 7px 0 rgba(166,32,34,.18) !important;}
html[data-theme="peppa"] .side-slogan{color:#17335A !important;font-family:"Comic Sans MS","KaiTi",cursive !important;transform:rotate(-3deg);}
html[data-theme="peppa"] main{
  margin-left:220px !important;max-width:none !important;padding:14px 18px 28px !important;
  display:grid !important;grid-template-columns:minmax(0,1fr) 270px !important;gap:16px !important;align-items:start !important;
}
html[data-theme="peppa"] .topbar,
html[data-theme="peppa"] .boss-card,
html[data-theme="peppa"] .quick-start,
html[data-theme="peppa"] .footer-note{grid-column:1/-1 !important;}
html[data-theme="peppa"] .topbar{
  min-height:265px !important;padding:24px 42% 24px 34px !important;border:4px solid rgba(255,255,255,.72) !important;border-radius:28px !important;overflow:hidden !important;
  background-color:#6DC7F3 !important;
  background-image:radial-gradient(ellipse at 12% 18%,#FFF 0 7%,transparent 7.5%),radial-gradient(ellipse at 22% 15%,#FFF 0 6%,transparent 6.5%),repeating-linear-gradient(165deg,rgba(255,255,255,.07) 0 2px,transparent 2px 7px),linear-gradient(180deg,#55B5ED,#A7DFF5) !important;
  box-shadow:0 9px 0 rgba(30,104,155,.22) !important;
}
html[data-theme="peppa"] .topbar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55px;background:repeating-linear-gradient(168deg,#46AA45 0 10px,#64C954 10px 20px);clip-path:polygon(0 60%,8% 28%,17% 62%,29% 20%,42% 64%,55% 22%,68% 60%,79% 25%,90% 64%,100% 30%,100% 100%,0 100%);opacity:.95;}
html[data-theme="peppa"] .topbar .welcome{position:relative;z-index:3;}
html[data-theme="peppa"] .topbar h1{color:#D93934 !important;font-size:42px !important;line-height:1.08 !important;text-shadow:3px 3px 0 #FFF,5px 5px 0 rgba(35,56,75,.16) !important;transform:rotate(-2deg);}
html[data-theme="peppa"] .topbar .welcome p{color:#183B6A !important;font-weight:900 !important;font-size:17px !important;}
html[data-theme="peppa"] .topbar .stats{position:absolute !important;right:18px !important;top:14px !important;z-index:6 !important;}
html[data-theme="peppa"] .topbar .pill{background:rgba(255,255,255,.94) !important;border:2px solid #DCE8EF !important;color:#172849 !important;box-shadow:0 4px 0 rgba(36,90,120,.13) !important;}
html[data-theme="peppa"] .topbar .streak-pill{background:#F14A3F !important;color:#FFF !important;border-color:#FFF !important;}
html[data-theme="peppa"] .racer-hero-art{position:absolute;z-index:2;right:5%;bottom:-36px;width:390px;height:260px;pointer-events:none;}
html[data-theme="peppa"] .racer-hero-art img{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 2px rgba(23,60,85,.2));}
html[data-theme="peppa"] .boss-card{
  background-color:#168BE6 !important;background-image:repeating-linear-gradient(165deg,rgba(255,255,255,.08) 0 2px,transparent 2px 7px),linear-gradient(135deg,#127DDA,#2AA8F2) !important;
  border:5px solid #FFF !important;border-radius:27px !important;color:#FFF !important;box-shadow:0 8px 0 rgba(21,91,147,.25) !important;
}
html[data-theme="peppa"] .boss-card::after{content:"🏁";position:absolute;right:26px;top:13px;font-size:65px;transform:rotate(8deg);filter:drop-shadow(3px 4px 0 rgba(0,0,0,.13));}
html[data-theme="peppa"] .boss-avatar{background:#FFF !important;border:3px solid #FFE48A !important;overflow:hidden !important;}
html[data-theme="peppa"] .boss-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 20%;}
html[data-theme="peppa"] .boss-info h2,html[data-theme="peppa"] .boss-info p{color:#FFF !important;}
html[data-theme="peppa"] .boss-hp{background:#0C5B9D !important;}
html[data-theme="peppa"] .boss-hp-bar{background:linear-gradient(90deg,#FF513D,#FFB13D) !important;}
html[data-theme="peppa"] .boss-weapon{display:none !important;}
html[data-theme="peppa"] .tasks-card{
  grid-column:1 !important;position:relative !important;overflow:hidden !important;padding:27px 25px 30px 48px !important;
  background-color:#FFFDF1 !important;background-image:repeating-linear-gradient(0deg,transparent 0 40px,rgba(67,153,210,.12) 40px 42px),repeating-linear-gradient(166deg,rgba(200,160,80,.025) 0 2px,transparent 2px 7px) !important;
  border:4px solid rgba(255,255,255,.86) !important;border-radius:28px !important;box-shadow:0 10px 24px rgba(35,93,121,.2) !important;
}
html[data-theme="peppa"] .tasks-card::before{content:"○\A○\A○\A○\A○\A○";white-space:pre;position:absolute;left:9px;top:55px;color:#9FB7C8;font-size:28px;line-height:78px;font-weight:900;text-shadow:4px 0 0 #DCE7ED;}
html[data-theme="peppa"] .tasks-header h2{color:#173D75 !important;font-size:25px !important;}
html[data-theme="peppa"] .tasks-header p{color:#657589 !important;font-weight:700 !important;}
html[data-theme="peppa"] .subject-label{border-radius:9px 20px 8px 18px !important;color:#FFF !important;transform:rotate(-1deg);box-shadow:3px 3px 0 rgba(0,0,0,.08) !important;}
html[data-theme="peppa"] .task-row{position:relative !important;min-height:83px !important;padding-right:115px !important;background:rgba(255,255,255,.55) !important;border:2px dashed #E8C49E !important;border-radius:18px !important;box-shadow:none !important;}
html[data-theme="peppa"] .task-row::after{position:absolute;right:22px;top:15px;font-size:42px;transform:rotate(-7deg);filter:drop-shadow(2px 3px 0 rgba(0,0,0,.08));}
html[data-theme="peppa"] .subject-group:nth-child(3n+1) .task-row::after{content:"🚧";}
html[data-theme="peppa"] .subject-group:nth-child(3n+2) .task-row::after{content:"🔧";}
html[data-theme="peppa"] .subject-group:nth-child(3n) .task-row::after{content:"🛞";}
html[data-theme="peppa"] .task-check{border:4px solid #D5C2A5 !important;border-radius:11px !important;}
html[data-theme="peppa"] .task-row.done .task-check{background:#E83F37 !important;border-color:#E83F37 !important;}
html[data-theme="peppa"] .racer-garage{
  grid-column:2 !important;background:#FFFDF1 !important;border:4px solid rgba(255,255,255,.9) !important;border-radius:24px !important;padding:17px !important;box-shadow:0 10px 24px rgba(35,93,121,.2) !important;
}
html[data-theme="peppa"] .racer-garage h2{font-size:19px;color:#173D75;margin:0 0 7px;}
html[data-theme="peppa"] .racer-garage>img{display:block;width:100%;height:145px;object-fit:contain;filter:drop-shadow(0 8px 3px rgba(30,60,80,.18));}
html[data-theme="peppa"] .racer-garage h3{margin:3px 0 7px;color:#C83230;font-size:21px;}.racer-garage h3 small{color:#53657D;font-size:13px;}
html[data-theme="peppa"] .racer-level{height:10px;background:#E7E8E5;border-radius:8px;overflow:hidden;}html[data-theme="peppa"] .racer-level span{display:block;width:48%;height:100%;background:#ED453B;}
html[data-theme="peppa"] .racer-garage dl{margin:14px 0;}html[data-theme="peppa"] .racer-garage dl div{display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:center;margin:8px 0;}html[data-theme="peppa"] .racer-garage dt{font-weight:900;font-size:13px;}html[data-theme="peppa"] .racer-garage dd{height:9px;margin:0;background:#DFE6E8;border-radius:5px;overflow:hidden;}html[data-theme="peppa"] .racer-garage dd i{display:block;width:var(--meter);height:100%;background:linear-gradient(90deg,#168BE6,#54B9F0);}
html[data-theme="peppa"] .racer-garage blockquote{margin:15px 0 0;padding:14px 10px;background:#FFF2A9;color:#233957;text-align:center;font-family:"KaiTi",cursive;font-weight:900;border-radius:5px;transform:rotate(-1.5deg);box-shadow:3px 4px 0 rgba(216,171,35,.2);}
html[data-theme="peppa"] .quick-start{background:linear-gradient(135deg,#138AE4,#36AAF2) !important;border:4px solid rgba(255,255,255,.65) !important;border-radius:25px !important;box-shadow:0 7px 0 rgba(21,92,147,.23) !important;}
html[data-theme="peppa"] .quick-start a{color:#FFF !important;font-weight:900 !important;}
html[data-theme="peppa"] .mobile-dock{background:#168BE6 !important;border-color:#FFF !important;}

@media(max-width:980px){
  html[data-theme="peppa"] main{grid-template-columns:1fr !important;}
  html[data-theme="peppa"] .topbar,html[data-theme="peppa"] .boss-card,html[data-theme="peppa"] .tasks-card,html[data-theme="peppa"] .racer-garage,html[data-theme="peppa"] .quick-start,html[data-theme="peppa"] .footer-note{grid-column:1 !important;}
  html[data-theme="peppa"] .racer-garage{display:grid !important;grid-template-columns:160px 1fr;gap:4px 16px;align-items:center;}
  html[data-theme="peppa"] .racer-garage h2,html[data-theme="peppa"] .racer-garage blockquote{grid-column:1/-1;}
  html[data-theme="peppa"] .racer-garage>img{grid-row:2/6;}
}
@media(max-width:760px){
  html[data-theme="peppa"] main{margin-left:0 !important;padding:8px 8px 92px !important;display:block !important;}
  html[data-theme="peppa"] .topbar{min-height:245px !important;padding:20px 18px 95px !important;}
  html[data-theme="peppa"] .topbar h1{font-size:29px !important;}
  html[data-theme="peppa"] .topbar .stats{position:relative !important;right:auto !important;top:auto !important;margin-top:12px !important;}
  html[data-theme="peppa"] .racer-hero-art{right:-24px;bottom:-31px;width:235px;height:166px;opacity:.96;}
  html[data-theme="peppa"] .boss-card,html[data-theme="peppa"] .tasks-card,html[data-theme="peppa"] .racer-garage{margin-top:12px !important;}
  html[data-theme="peppa"] .tasks-card{padding:21px 11px 23px 31px !important;}
  html[data-theme="peppa"] .tasks-card::before{left:1px;font-size:20px;line-height:77px;}
  html[data-theme="peppa"] .task-row{padding-right:70px !important;}
  html[data-theme="peppa"] .task-row::after{right:9px;font-size:31px;}
  html[data-theme="peppa"] .racer-garage{display:block !important;}
}

/* ============================================================
   苍蝇小子 v3 · 蜡笔绘本手账（按最终效果图）
   ============================================================ */
html[data-theme="fly-guy"] body{
  background:#75C4F2 !important;
  background-image:repeating-linear-gradient(168deg,rgba(255,255,255,.075) 0 2px,transparent 2px 7px),linear-gradient(180deg,#72C4F5 0%,#A8DFFC 48%,#74C5F0 100%) !important;
}
html[data-theme="fly-guy"] .sidebar{
  width:184px !important;padding:18px 12px !important;
  background:#FFF9D9 !important;
  background-image:repeating-linear-gradient(12deg,rgba(226,190,80,.06) 0 2px,transparent 2px 7px) !important;
  border-right:3px solid rgba(196,150,47,.32) !important;box-shadow:7px 0 0 rgba(255,255,255,.32) !important;
}
html[data-theme="fly-guy"] main{margin-left:184px !important;padding:14px 18px 28px !important;max-width:none !important;}
html[data-theme="fly-guy"] .sidebar .brand{background:#FFF1A8;border:2px dashed #E2B846;border-radius:18px;padding:10px !important;margin-bottom:12px;}
html[data-theme="fly-guy"] .sidebar .logo{width:62px !important;height:62px !important;border-radius:17px !important;background:#FFF7CC !important;box-shadow:0 5px 12px rgba(146,99,20,.17) !important;}
html[data-theme="fly-guy"] .sidebar .btitle{color:#2C251E !important;font-size:17px !important;}
html[data-theme="fly-guy"] .sidebar .bsub{color:#7A5D34 !important;font-size:12px !important;}
html[data-theme="fly-guy"] .sidebar .nav-section{color:#7D6746 !important;border-top:1px dashed #D7BB7A;padding-top:13px;margin-top:9px;}
html[data-theme="fly-guy"] .sidebar .nav-item{color:#25242E !important;border-radius:15px !important;min-height:52px;}
html[data-theme="fly-guy"] .sidebar .nav-item .ni{background:transparent !important;width:38px;height:38px;font-size:25px;filter:drop-shadow(1px 2px 0 rgba(31,58,110,.16));}
html[data-theme="fly-guy"] .sidebar .nav-item:hover,
html[data-theme="fly-guy"] .sidebar .nav-item.on{background:linear-gradient(135deg,#F4554D,#F46B45) !important;color:#FFF !important;box-shadow:0 6px 14px rgba(202,54,45,.25) !important;}
html[data-theme="fly-guy"] .side-slogan{background:transparent !important;color:#3E3428 !important;font-family:"Comic Sans MS","KaiTi",cursive;font-size:15px;transform:rotate(-3deg);}

/* 蓝天绘本头图 */
html[data-theme="fly-guy"] .topbar{
  min-height:222px !important;padding:32px 300px 24px 35px !important;
  background-color:#8FD2FA !important;
  background-image:radial-gradient(ellipse at 12% 18%,rgba(255,255,255,.88) 0 8%,transparent 8.5%),radial-gradient(ellipse at 20% 16%,rgba(255,255,255,.72) 0 7%,transparent 7.5%),repeating-linear-gradient(170deg,rgba(255,255,255,.09) 0 2px,transparent 2px 8px),linear-gradient(180deg,#78C8F5,#A7DDF9) !important;
  border:0 !important;border-radius:0 0 28px 28px !important;box-shadow:none !important;overflow:hidden !important;
}
html[data-theme="fly-guy"] .topbar::before{content:"";position:absolute;left:-3%;right:-3%;bottom:-28px;height:76px;background:linear-gradient(168deg,transparent 0 15%,#74B943 16% 35%,#459B3C 36% 52%,#78C649 53% 70%,transparent 71%);opacity:.92;}
html[data-theme="fly-guy"] .topbar .welcome{padding-right:0 !important;position:relative;z-index:2;align-items:flex-start;}
html[data-theme="fly-guy"] .topbar .welcome .icon{display:none !important;}
html[data-theme="fly-guy"] .topbar h1{font-family:"KaiTi","Comic Sans MS",cursive;font-size:38px !important;line-height:1.08;color:#6B231D !important;text-shadow:3px 3px 0 #FFF,5px 5px 0 rgba(175,50,42,.18);max-width:390px;}
html[data-theme="fly-guy"] .topbar .welcome p{color:#153E79 !important;font-size:16px !important;font-weight:900 !important;margin-top:14px !important;}
html[data-theme="fly-guy"] .topbar .stats{position:absolute;right:18px;top:10px;z-index:5;gap:8px;}
html[data-theme="fly-guy"] .topbar .pill{padding:8px 14px !important;background:rgba(255,255,255,.9) !important;border:1px solid rgba(62,92,133,.12) !important;border-radius:999px !important;box-shadow:0 4px 10px rgba(31,78,118,.13) !important;color:#28252E !important;}
html[data-theme="fly-guy"] .topbar .streak-pill{background:#F45545 !important;color:#FFF !important;}
html[data-theme="fly-guy"] .topbar .skin-pill{background:#FFF9E6 !important;color:#342B38 !important;}
html[data-theme="fly-guy"] .fly-hero-art{right:28px !important;bottom:-17px !important;width:330px !important;height:245px !important;z-index:2;}

/* 红色飞行任务横条 */
html[data-theme="fly-guy"] .boss-card{
  min-height:142px !important;margin:12px 0 14px !important;padding:20px 28px !important;
  background:#F04B3E !important;
  background-image:repeating-linear-gradient(170deg,rgba(255,255,255,.045) 0 2px,transparent 2px 7px),linear-gradient(135deg,#E73D35,#F45D42) !important;
  border:5px solid #FFF0B6 !important;border-radius:28px !important;box-shadow:0 8px 0 rgba(182,51,41,.28) !important;
}
html[data-theme="fly-guy"] .boss-card::before{display:none !important;}
html[data-theme="fly-guy"] .boss-card::after{content:"✦  BUZZ!";right:26px;bottom:12px;font-family:"Comic Sans MS",cursive;font-size:23px;color:rgba(255,249,184,.68);}
html[data-theme="fly-guy"] .boss-card .boss-avatar{width:86px !important;height:86px !important;border-radius:24px !important;background:#FFF !important;box-shadow:none !important;}
html[data-theme="fly-guy"] .boss-card .boss-info h2{font-size:25px !important;}
html[data-theme="fly-guy"] .boss-hp{height:17px !important;margin-top:14px !important;background:rgba(121,30,27,.35) !important;border:2px solid rgba(117,30,25,.22);}
html[data-theme="fly-guy"] .boss-hp-bar{background:linear-gradient(90deg,#FFE057,#FFF3A4) !important;}

/* 活页手账任务纸 */
html[data-theme="fly-guy"] .tasks-card{
  margin:0 !important;padding:30px 28px 26px 60px !important;min-height:430px;
  background-color:#FFFDF2 !important;
  background-image:repeating-linear-gradient(0deg,transparent 0 39px,rgba(100,181,226,.18) 39px 41px),repeating-linear-gradient(13deg,rgba(214,178,103,.025) 0 2px,transparent 2px 7px) !important;
  border:0 !important;border-radius:30px !important;box-shadow:0 12px 25px rgba(38,93,132,.2) !important;position:relative;overflow:hidden !important;
}
html[data-theme="fly-guy"] .tasks-card::before{content:"○\A○\A○\A○\A○\A○";white-space:pre;position:absolute;left:10px;top:46px;color:#A9C5D9;font-size:30px;line-height:77px;font-weight:900;text-shadow:4px 0 0 #D6E5EE;}
html[data-theme="fly-guy"] .tasks-header{padding:0 170px 12px 0 !important;min-height:82px;border-bottom:2px dashed rgba(78,148,195,.25);}
html[data-theme="fly-guy"] .tasks-header h2{color:#123E78 !important;font-size:24px !important;}
html[data-theme="fly-guy"] .tasks-header p{color:#6E7077 !important;}
html[data-theme="fly-guy"] .fly-task-guide{top:4px !important;right:24px !important;width:135px !important;height:150px !important;transform:rotate(4deg);}
html[data-theme="fly-guy"] .fly-task-guide span{background:#FFF39B !important;color:#4D3B24 !important;font-family:"KaiTi",cursive;transform:rotate(-7deg);}
html[data-theme="fly-guy"] .subject-label{font-family:"KaiTi",cursive;font-size:17px !important;padding:5px 18px !important;border-radius:45% 55% 48% 52% !important;transform:rotate(-2deg);}
html[data-theme="fly-guy"] .subject-label.chinese{background:#E94C43 !important;}html[data-theme="fly-guy"] .subject-label.math{background:#328DE0 !important;}html[data-theme="fly-guy"] .subject-label.english{background:#27AA69 !important;}
html[data-theme="fly-guy"] .task-row{
  min-height:82px;padding:13px 142px 13px 18px !important;margin-bottom:10px !important;
  background-color:rgba(255,253,246,.86) !important;background-repeat:no-repeat !important;background-position:right 12px center !important;background-size:112px 76px !important;
  border:2px dashed #E8CDA2 !important;border-radius:19px !important;box-shadow:none !important;
}
html[data-theme="fly-guy"] .subject-group:nth-child(3n+1) .task-row{background-image:url('../assets/themes/fly-guy/fly-guy-v1.png') !important;}
html[data-theme="fly-guy"] .subject-group:nth-child(3n+2) .task-row{background-image:url('../assets/themes/fly-guy/buzz-v1.png') !important;}
html[data-theme="fly-guy"] .subject-group:nth-child(3n) .task-row{background-image:url('../assets/themes/fly-guy/buzz-fly-guy-v1.png') !important;}
html[data-theme="fly-guy"] .task-row::before{display:none !important;}
html[data-theme="fly-guy"] .task-row:hover{transform:translateY(-1px) !important;background-color:#FFF !important;border-color:#E7B96C !important;}
html[data-theme="fly-guy"] .task-check{width:38px !important;height:38px !important;border:3px solid #BDB7A8 !important;border-radius:11px !important;}
html[data-theme="fly-guy"] .task-title{font-size:17px !important;color:#22232B !important;}
html[data-theme="fly-guy"] .task-reward span{background:transparent !important;color:#5E554B !important;padding:0 7px 0 0;}

/* 首页底部蓝色学习导航 */
html[data-theme="fly-guy"] .quick-start{margin:14px 0 0 !important;padding:10px 18px;background:linear-gradient(135deg,#2899E8,#237CD6) !important;border:4px solid rgba(255,255,255,.62);border-radius:25px;box-shadow:0 7px 0 rgba(25,95,163,.22);}
html[data-theme="fly-guy"] .quick-start>a{background:transparent !important;color:#FFF !important;border:0 !important;border-radius:17px !important;box-shadow:none !important;}
html[data-theme="fly-guy"] .quick-start>a:hover{background:rgba(255,255,255,.17) !important;}
html[data-theme="fly-guy"] .quick-start>a span{filter:drop-shadow(1px 2px 0 rgba(14,72,137,.35));}
html[data-theme="fly-guy"] .footer-note{color:#174F86 !important;font-family:"KaiTi",cursive;font-size:14px !important;}

@media(max-width:760px){
  html[data-theme="fly-guy"] main{margin-left:0 !important;padding:60px 10px 86px !important;}
  html[data-theme="fly-guy"] .topbar{min-height:205px !important;padding:24px 142px 54px 20px !important;border-radius:0 0 24px 24px !important;}
  html[data-theme="fly-guy"] .topbar h1{font-size:27px !important;}
  html[data-theme="fly-guy"] .topbar .welcome p{font-size:13px !important;}
  html[data-theme="fly-guy"] .topbar .stats{left:14px;right:14px;top:auto;bottom:12px;flex-wrap:nowrap;overflow:auto;}
  html[data-theme="fly-guy"] .topbar .pill{padding:6px 9px !important;font-size:12px !important;white-space:nowrap;}
  html[data-theme="fly-guy"] .fly-hero-art{right:-18px !important;bottom:18px !important;width:188px !important;height:164px !important;}
  html[data-theme="fly-guy"] .boss-card{min-height:132px !important;padding:17px 14px !important;border-width:3px !important;}
  html[data-theme="fly-guy"] .boss-card .boss-avatar{width:62px !important;height:62px !important;}
  html[data-theme="fly-guy"] .boss-card .boss-info h2{font-size:18px !important;}
  html[data-theme="fly-guy"] .boss-card .boss-info p{font-size:12px !important;}
  html[data-theme="fly-guy"] .tasks-card{padding:24px 12px 22px 34px !important;border-radius:24px !important;}
  html[data-theme="fly-guy"] .tasks-card::before{left:3px;font-size:21px;line-height:76px;}
  html[data-theme="fly-guy"] .tasks-header{padding-right:92px !important;}
  html[data-theme="fly-guy"] .tasks-header h2{font-size:19px !important;}
  html[data-theme="fly-guy"] .fly-task-guide{right:0 !important;width:90px !important;height:108px !important;}
  html[data-theme="fly-guy"] .fly-task-guide span{display:none;}
  html[data-theme="fly-guy"] .task-row{padding:12px 88px 12px 10px !important;background-size:78px 62px !important;background-position:right 4px center !important;}
  html[data-theme="fly-guy"] .task-title{font-size:15px !important;}
  html[data-theme="fly-guy"] .quick-start{display:none !important;}
  html[data-theme="fly-guy"] .mobile-dock{background:#2186DA !important;border:3px solid rgba(255,255,255,.72) !important;border-radius:22px !important;}
}

/* 页面主体底色跟随主题 */
html[data-theme] body{ background:var(--bg); color:var(--ink); }

/* ============================================================
   冰雪学习城堡 · 玻璃拟态深度皮肤
   —— 不只换配色，而是把整站改成「冰蓝渐变背景 + 毛玻璃卡片」，
      取自用户提供的「冰雪学习城堡 v2.0」视觉规范：
      背景 linear-gradient(170deg,#F4FAFF→#C9E2FE)
      卡片 rgba(255,255,255,.72) + blur(10px) + 白边 + 蓝色柔光阴影
   ============================================================ */
html[data-theme="snow-castle"] body{
  background:linear-gradient(170deg,#F4FAFF 0%,#E4F1FE 35%,#D3E9FF 70%,#C9E2FE 100%) !important;
  background-attachment:fixed !important;
}

/* 卡片 / 面板 / 胶囊 → 毛玻璃 */
html[data-theme="snow-castle"] .card,
html[data-theme="snow-castle"] .hero,
html[data-theme="snow-castle"] .pill,
html[data-theme="snow-castle"] .panel,
html[data-theme="snow-castle"] .boss-card,
html[data-theme="snow-castle"] .tasks-card,
html[data-theme="snow-castle"] .task-row,
html[data-theme="snow-castle"] .quick-start > a,
html[data-theme="snow-castle"] .empty-state,
html[data-theme="snow-castle"] [class*="-card"],
html[data-theme="snow-castle"] [class*="-row"],
html[data-theme="snow-castle"] [class*="panel"],
html[data-theme="snow-castle"] [class*="tile"],
html[data-theme="snow-castle"] [class*="-box"]{
  background:rgba(255,255,255,.72) !important;
  -webkit-backdrop-filter:blur(10px) saturate(1.15);
  backdrop-filter:blur(10px) saturate(1.15);
  border:1px solid rgba(255,255,255,.9) !important;
  box-shadow:0 8px 22px rgba(91,159,224,.16) !important;
}

/* 玻璃化后原本「深底白字」的卡片要一并把文字转深，否则白字看不见 */
html[data-theme="snow-castle"] .boss-card,
html[data-theme="snow-castle"] .boss-card .boss-info h2,
html[data-theme="snow-castle"] .boss-card .boss-info p{ color:var(--ink) !important; }
html[data-theme="snow-castle"] .boss-card .boss-info p b{ color:var(--x-gold2) !important; }
html[data-theme="snow-castle"] .boss-card .boss-weapon{ background:rgba(91,159,224,.14) !important; }
html[data-theme="snow-castle"] .boss-hp{ background:rgba(91,159,224,.18) !important; }
html[data-theme="snow-castle"] .boss-hp-bar{ background:linear-gradient(90deg,#8FD0FF,#5B9FE0) !important; }

/* 成就/统计页写死的红色横幅 → 冰蓝渐变 */
html[data-theme="snow-castle"] .banner{
  background:linear-gradient(135deg,#8FD0FF,#5B9FE0) !important;
  box-shadow:0 10px 24px rgba(91,159,224,.30) !important;
  color:#fff !important;
}
html[data-theme="snow-castle"] .banner .bar{ background:linear-gradient(90deg,#FFFFFF,#DCEEFF) !important; }

/* hero 横幅同理：保持冰蓝渐变 + 白字，避免被玻璃化成白底白字 */
html[data-theme="snow-castle"] .hero{
  background:var(--t-hero) !important;
  color:#fff !important;
  box-shadow:0 10px 26px rgba(91,159,224,.28) !important;
}

/* 页面里写死的暖色文字 → 冰蓝墨色 */
html[data-theme="snow-castle"] .tasks-header h2,
html[data-theme="snow-castle"] .tasks-header h2 span,
html[data-theme="snow-castle"] .btitle{ color:var(--ink) !important; }
html[data-theme="snow-castle"] .tasks-header p,
html[data-theme="snow-castle"] .bsub{ color:var(--ink-2) !important; }

/* 侧栏 → 毛玻璃 */
html[data-theme="snow-castle"] .sidebar{
  background:rgba(255,255,255,.55) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  backdrop-filter:blur(16px) saturate(1.2);
  border-color:rgba(255,255,255,.7) !important;
}

/* 顶栏 → 冰蓝渐变（语文/数学/英语宫的取经顶栏也一起换） */
html[data-theme="snow-castle"] .xytop,
html[data-theme="snow-castle"] #topbar{
  background:linear-gradient(135deg,#8FD0FF,#5B9FE0) !important;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
  box-shadow:0 8px 22px rgba(91,159,224,.28) !important;
}
html[data-theme="snow-castle"] .topbar{
  background:rgba(255,255,255,.55) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  backdrop-filter:blur(16px) saturate(1.2);
  border-color:rgba(255,255,255,.7) !important;
}
/* 顶栏是浅玻璃，写死的浅色副标题要转深，否则看不清 */
html[data-theme="snow-castle"] .topbar h1,
html[data-theme="snow-castle"] .topbar p,
html[data-theme="snow-castle"] .topbar .welcome p{ color:var(--ink) !important; opacity:1 !important; }
html[data-theme="snow-castle"] .xytop .xysubtitle{ color:rgba(255,255,255,.95) !important; }

/* 家长设置页：选中项 / 添加按钮 → 冰蓝 */
html[data-theme="snow-castle"] .monster.on{
  border-color:#5B9FE0 !important;
  background:rgba(143,208,255,.20) !important;
  box-shadow:0 0 0 3px rgba(91,159,224,.14) !important;
}
html[data-theme="snow-castle"] .monster:hover{ border-color:#8FD0FF !important; }
html[data-theme="snow-castle"] .monster.on .ck{ color:#3A7F9E !important; }
html[data-theme="snow-castle"] .plus{
  background:linear-gradient(135deg,#8FD0FF,#5B9FE0) !important;
  border:none !important;
  color:#fff !important;
}

/* 成长记录页：写死的砖红数字/棕字 → 冰蓝墨色 */
html[data-theme="snow-castle"] .metric b{ color:#2E5A8C !important; }
html[data-theme="snow-castle"] .metric span,
html[data-theme="snow-castle"] .subject-growth span{ color:var(--ink-2) !important; }
html[data-theme="snow-castle"] .subject-growth b,
html[data-theme="snow-castle"] .card h2{ color:var(--ink) !important; }
html[data-theme="snow-castle"] .milestone .title{ color:var(--ink) !important; }
html[data-theme="snow-castle"] .milestone .sub,
html[data-theme="snow-castle"] .milestone .date{ color:var(--ink-2) !important; }

/* 选中态 / 主按钮 → 冰蓝渐变 */
html[data-theme="snow-castle"] .nav-item.on{
  background:linear-gradient(135deg,#8FD0FF,#5B9FE0) !important;
  color:#fff !important;
  box-shadow:0 6px 16px rgba(91,159,224,.35) !important;
}
html[data-theme="snow-castle"] .savebtn,
html[data-theme="snow-castle"] .main-btn,
html[data-theme="snow-castle"] .fbtn.on{
  background:linear-gradient(135deg,#8FD0FF,#5B9FE0) !important;
  border:none !important;
  color:#fff !important;
  box-shadow:0 6px 16px rgba(91,159,224,.35) !important;
}

/* —— 覆盖各页面用 !important 写死的「取经暖色」—— */
/* math-journey.css 的 :root{--bg:#FFF7EB!important;…} 会盖掉主题变量，
   这里用更高特异性 + !important 顶回去 */
html[data-theme="snow-castle"]{
  --bg:#F2F8FF !important; --ink:#2E4A6B !important; --ink-2:#6A8AA8 !important; --ink2:#6A8AA8 !important;
  --orange:#F0A868 !important; --pink:#8FA8E8 !important; --blue:#5B9FE0 !important;
  --cyan:#5BC8E0 !important; --purple:#8B7FD4 !important; --line:#D6E8FA !important;
}
/* 语文宫：橙色数字 / 橙边卡片 / 橙色按钮 / 进度条 / 描边 */
html[data-theme="snow-castle"] body.mod-chinese .main,
html[data-theme="snow-castle"] body.mod-chinese .card.accent{
  border-color:rgba(91,159,224,.45) !important;
  background:linear-gradient(135deg,rgba(220,238,255,.92),rgba(255,255,255,.88)) !important;
}
html[data-theme="snow-castle"] body.mod-chinese h1,
html[data-theme="snow-castle"] body.mod-chinese h3,
html[data-theme="snow-castle"] body.mod-chinese .hstat b,
html[data-theme="snow-castle"] body.mod-chinese .today .t b,
html[data-theme="snow-castle"] body.mod-chinese .main .t1{
  color:var(--ink) !important;
}
html[data-theme="snow-castle"] body.mod-chinese .submit,
html[data-theme="snow-castle"] body.mod-chinese .btn.ok,
html[data-theme="snow-castle"] body.mod-chinese .btn.pink,
html[data-theme="snow-castle"] .primary-btn,
html[data-theme="snow-castle"] .fb-btn{
  background:linear-gradient(135deg,#8FD0FF,#5B9FE0) !important;
  color:#fff !important;
}
html[data-theme="snow-castle"] body.mod-chinese .ch.sel{ outline-color:#5B9FE0 !important; }
html[data-theme="snow-castle"] body.mod-chinese .ratebar>i,
html[data-theme="snow-castle"] body.mod-chinese .progress>i{
  background:linear-gradient(90deg,#8FD0FF,#5B9FE0) !important;
}
html[data-theme="snow-castle"] body.mod-chinese .fsel:focus,
html[data-theme="snow-castle"] body.mod-chinese .select:focus{
  border-color:#5B9FE0 !important;
}
/* 返回按钮（原本是深棕底金字） */
html[data-theme="snow-castle"] .workbench-back{
  background:rgba(255,255,255,.72) !important;
  color:var(--ink) !important;
  border:1px solid rgba(255,255,255,.9) !important;
}

/* ============================================================
   苍蝇小子 · 手绘绘本主题（按用户给的 UI 稿重做）
   蜡笔/水彩质感：暖黄纸底、白描边卡片、Buzz 红 / 草绿 / 天蓝三色，
   侧栏彩色图标块、任务卡贴便利贴、虚线飞行轨迹涂鸦。
   ※ 本段同时取代了早期的「粗黑漫画 v1」与「紫色马卡龙 v2」两套互相打架的规则。
   ============================================================ */
html[data-theme="fly-guy"]{
  --bg:#FFF8E4; --bg-2:#FDF1CE; --card:#FFFDF6;
  --ink:#4A3A2A; --ink-2:#8A7558; --ink2:#8A7558; --line:#EBD9B0; --muted:#A08A66;
  --shadow:0 6px 16px rgba(160,130,60,.14); --shadow-sm:0 3px 8px rgba(160,130,60,.10);
  --shadow2:0 9px 22px rgba(160,130,60,.18);
  --accent:#E8503A; --accent-2:#3E8FD8; --accent-ink:#FFFFFF; --accent-soft:#FFEDE9;
  --pink:#E86A9A; --pinkL:#FBD9E5; --green:#5A9E3C; --greenL:#CDEBA6; --greenBG:#EEF7DC;
  --blue:#3E8FD8; --orange:#F0A24B; --purple:#8E7BD8; --purpleL:#E6DEFA;
  --red:#E8503A; --yellow:#FFD84D; --cyan:#3FB2A8; --gold:#E8B01E; --gray:#B0A08A;
  --r:12px; --r-sm:8px; --r-card:22px; --r-pill:999px;
  --x-bg:#FFF8E4; --x-card:#FFFDF6; --x-ink:#4A3A2A; --x-line:#EBD9B0;
  --x-gold:#E8503A; --x-gold2:#C0392B; --x-soft:#8A7558;
  --x-blue:#3E8FD8; --x-green:#5A9E3C; --x-red:#C0392B; --x-yellow:#FFD84D;
  --ch-ink:#4A3A2A; --ch-pink:#E86A9A; --ch-pinkL:#FBD9E5; --ch-pinkD:#C94571;
  --ch-purple:#8E7BD8; --ch-purpleD:#6A5BC0; --ch-blue:#3E8FD8; --ch-blueD:#2E6FB4;
  --ch-green:#5A9E3C; --ch-greenD:#3E7A28; --ch-yellow:#FFC93C; --ch-yellowD:#D9A61F; --ch-orange:#F0A24B;
  --t-topbar:#FFFDF6; --t-topbar-title:#C0392B; --t-topbar-sub:#8A7558;
  --t-topbar-btn:rgba(232,80,58,.10); --t-logo-bg:linear-gradient(135deg,#FFD84D,#F0A24B);
  --t-dock-bg:linear-gradient(135deg,#5AB4E8,#3E8FD8);
  --t-hero:linear-gradient(135deg,#E8503A,#F0A24B);
}

/* 暖黄纸底 */
html[data-theme="fly-guy"] body{
  background-color:#FFF8E4 !important;
  background-image:
    radial-gradient(circle at 16px 16px, rgba(200,170,100,.10) 1.8px, transparent 2.4px),
    linear-gradient(168deg,#FFFCF0 0%,#FFF6DF 48%,#FDEDC8 100%) !important;
  background-size:32px 32px,100% 100% !important;
  background-attachment:fixed !important;
  color:var(--ink) !important;
}

/* ---------- 侧栏：暖黄纸 + 彩色图标块 ---------- */
html[data-theme="fly-guy"] .sidebar{
  width:174px !important;
  background:linear-gradient(180deg,#FFFAE9,#FFF1C9) !important;
  border-right:3px solid #FFE6A8 !important;
  box-shadow:6px 0 24px rgba(160,130,60,.14) !important;
  padding:16px 10px 0 !important;
}
html[data-theme="fly-guy"] main{ margin-left:174px !important; }
html[data-theme="fly-guy"] .sidebar .brand{
  border-bottom:2px dashed rgba(200,170,110,.55) !important;
  padding:6px 4px 14px !important; align-items:center;
}
html[data-theme="fly-guy"] .sidebar .brand .logo{
  width:52px !important; height:52px !important; border:2px solid #fff !important;
  border-radius:16px !important; background:#FFD84D !important;
  box-shadow:0 6px 14px rgba(200,160,60,.3) !important; padding:3px !important;
}
html[data-theme="fly-guy"] .sidebar .btitle{ color:#C0392B !important; font-size:15px !important; letter-spacing:0 !important; }
html[data-theme="fly-guy"] .sidebar .bsub{ color:#A08050 !important; }
html[data-theme="fly-guy"] .sidebar .nav-section{ color:#C0A070 !important; }
html[data-theme="fly-guy"] .nav-divider{ background:rgba(200,170,110,.4) !important; }
html[data-theme="fly-guy"] .sidebar .nav-item{
  min-height:52px; margin:4px 0; padding:7px 8px !important;
  border:0 !important; border-radius:16px !important; color:#6A5638 !important;
  background:transparent !important; box-shadow:none !important; transform:none !important;
}
html[data-theme="fly-guy"] .sidebar .nav-item .ni{
  width:38px; height:38px; border-radius:12px; flex:none;
  display:flex; align-items:center; justify-content:center;
  font-size:20px; background:#3E8FD8; box-shadow:0 3px 0 rgba(0,0,0,.10);
}
/* 每个入口一个颜色（按 href 指定，跨页面都稳定） */
html[data-theme="fly-guy"] .sidebar .nav-item[href="index.html"] .ni{background:#E8503A;}
html[data-theme="fly-guy"] .sidebar .nav-item[href="chinese/index.html"] .ni{background:#3E8FD8;}
html[data-theme="fly-guy"] .sidebar .nav-item[href="math/index.html"] .ni{background:#4A63C8;}
html[data-theme="fly-guy"] .sidebar .nav-item[href="english/index.html"] .ni{background:#2E9BD6;}
html[data-theme="fly-guy"] .sidebar .nav-item[href="growth.html"] .ni{background:#3FB2A8;}
html[data-theme="fly-guy"] .sidebar .nav-item[href="map.html"] .ni{background:#F0A93C;}
html[data-theme="fly-guy"] .sidebar .nav-item[href="stats.html"] .ni{background:#5A8FD8;}
html[data-theme="fly-guy"] .sidebar .nav-item[href="trajectory.html"] .ni{background:#8E7BD8;}
html[data-theme="fly-guy"] .sidebar .nav-item[href="makeup.html"] .ni{background:#E86A9A;}
html[data-theme="fly-guy"] .sidebar .nav-item[href="settings.html"] .ni{background:#8A93A8;}
html[data-theme="fly-guy"] .sidebar .nav-item:hover{ background:rgba(255,255,255,.78) !important; color:#C0392B !important; }
html[data-theme="fly-guy"] .sidebar .nav-item.on{
  background:linear-gradient(135deg,#F2705A,#E8503A) !important; color:#fff !important;
  box-shadow:0 6px 14px rgba(232,80,58,.32) !important;
}
html[data-theme="fly-guy"] .sidebar .nav-item.on .ni{ background:rgba(255,255,255,.26) !important; box-shadow:none; }
html[data-theme="fly-guy"] .side-slogan{
  color:#A08050 !important; background:transparent !important;
  border-top:2px dashed rgba(200,170,110,.55) !important;
}
html[data-theme="fly-guy"] .fly-guy-logo-img,
html[data-theme="fly-guy"] .sidebar .brand .logo img{ width:100%; height:100%; object-fit:contain; display:block; }

/* ---------- 学科页顶栏 ---------- */
html[data-theme="fly-guy"] .xytop,
html[data-theme="fly-guy"] #topbar{
  background:linear-gradient(135deg,#FFFDF6,#FFF3D6) !important;
  border-bottom:3px solid #FFE6A8 !important;
}
html[data-theme="fly-guy"] .xytop .xytitle,
html[data-theme="fly-guy"] .xytop .xytitle b,
html[data-theme="fly-guy"] #topbar #tb-title{ color:#C0392B !important; }
html[data-theme="fly-guy"] .xytop .xysubtitle,
html[data-theme="fly-guy"] .xytop .xytitle small{ color:#A08050 !important; }
html[data-theme="fly-guy"] .sidebar .logo,
html[data-theme="fly-guy"] .xytop .xylogo,
html[data-theme="fly-guy"] #topbar .xylogo,
html[data-theme="fly-guy"] .topbar .icon{
  padding:3px !important; background:#FFD84D !important; border:2px solid #FFF !important;
  overflow:hidden !important; box-shadow:0 5px 12px rgba(200,160,60,.28) !important;
}

/* ---------- 通用卡片 / 按钮 / 列表 ---------- */
html[data-theme="fly-guy"] .card,
html[data-theme="fly-guy"] .panel,
html[data-theme="fly-guy"] [class*="-card"],
html[data-theme="fly-guy"] [class*="-box"],
html[data-theme="fly-guy"] [class*="-tile"]{
  border:2px solid #FFF !important; border-radius:24px !important;
  box-shadow:0 10px 26px rgba(160,130,60,.14) !important;
}
html[data-theme="fly-guy"] .hero,
html[data-theme="fly-guy"] .banner{
  background:linear-gradient(135deg,#5AB4E8,#3E8FD8) !important; color:#FFF !important;
  border:3px solid #FFF !important; border-radius:26px !important;
  box-shadow:0 14px 30px rgba(62,143,216,.26) !important;
}
html[data-theme="fly-guy"] .banner .bar,
html[data-theme="fly-guy"] .progress>i,
html[data-theme="fly-guy"] .ratebar>i{ background:linear-gradient(90deg,#FFD84D,#FF9F43) !important; }
html[data-theme="fly-guy"] button,
html[data-theme="fly-guy"] .btn{ border-radius:14px !important; }
html[data-theme="fly-guy"] .main-btn,
html[data-theme="fly-guy"] .primary-btn,
html[data-theme="fly-guy"] .savebtn,
html[data-theme="fly-guy"] .submit{
  background:linear-gradient(135deg,#F2705A,#E8503A) !important; color:#FFF !important;
  border:0 !important; border-radius:16px !important;
  box-shadow:0 8px 18px rgba(232,80,58,.28) !important;
}
html[data-theme="fly-guy"] .item,
html[data-theme="fly-guy"] .milestone,
html[data-theme="fly-guy"] .monster,
html[data-theme="fly-guy"] .tm-row,
html[data-theme="fly-guy"] .rw-row{
  border:2px solid #FFF !important; border-radius:20px !important;
  box-shadow:0 8px 20px rgba(160,130,60,.12) !important;
}
html[data-theme="fly-guy"] .item.unlocked .badge{ background:#5A9E3C !important; }
html[data-theme="fly-guy"] .item .cost{ background:#FFF3C4 !important; border-color:#F0DFA8 !important; color:#8A6A10 !important; }
html[data-theme="fly-guy"] .workbench-back{
  background:#FFF !important; color:#C0392B !important; border:2px solid #FFE6A8 !important;
  box-shadow:0 5px 12px rgba(160,130,60,.18) !important;
}
html[data-theme="fly-guy"] .mobile-dock,
html[data-theme="fly-guy"] .xydock{
  background:linear-gradient(135deg,#5AB4E8,#3E8FD8) !important;
  border:3px solid #FFF !important; box-shadow:0 12px 28px rgba(62,143,216,.36) !important;
}
html[data-theme="fly-guy"] .mobile-dock a.on,
html[data-theme="fly-guy"] .xydock a.on{ background:#FFD84D !important; color:#B8452F !important; }

@media(max-width:760px){
  html[data-theme="fly-guy"] main{ margin-left:0 !important; }
}

/* 最终稿兜底：必须放在旧版兼容规则之后，确保首页与效果图一致。 */
html[data-theme="fly-guy"] body{
  background-color:#75C4F2 !important;
  background-image:repeating-linear-gradient(168deg,rgba(255,255,255,.075) 0 2px,transparent 2px 7px),linear-gradient(180deg,#72C4F5 0%,#A8DFFC 48%,#74C5F0 100%) !important;
}
html[data-theme="fly-guy"] .boss-card{
  background-color:#F04B3E !important;
  background-image:repeating-linear-gradient(170deg,rgba(255,255,255,.045) 0 2px,transparent 2px 7px),linear-gradient(135deg,#E73D35,#F45D42) !important;
  border:5px solid #FFF0B6 !important;border-radius:28px !important;box-shadow:0 8px 0 rgba(182,51,41,.28) !important;
}
html[data-theme="fly-guy"] .tasks-card{
  background-color:#FFFDF2 !important;
  background-image:repeating-linear-gradient(0deg,transparent 0 39px,rgba(100,181,226,.18) 39px 41px),repeating-linear-gradient(13deg,rgba(214,178,103,.025) 0 2px,transparent 2px 7px) !important;
  border:0 !important;border-radius:30px !important;box-shadow:0 12px 25px rgba(38,93,132,.2) !important;
}
html[data-theme="fly-guy"] .task-row{
  border:2px dashed #E8CDA2 !important;border-radius:19px !important;box-shadow:none !important;
}
html[data-theme="fly-guy"] .quick-start{
  background:linear-gradient(135deg,#2899E8,#237CD6) !important;border:4px solid rgba(255,255,255,.62) !important;
  border-radius:25px !important;box-shadow:0 7px 0 rgba(25,95,163,.22) !important;
}

/* 与效果图继续对齐：加宽绘本目录栏；任务插画改为独立贴纸，避免背景图被裁成巨大局部。 */
html[data-theme="fly-guy"] .sidebar{width:220px !important;padding-left:15px !important;padding-right:15px !important;}
html[data-theme="fly-guy"] main{margin-left:220px !important;}
html[data-theme="fly-guy"] .sidebar .nav-item{min-height:58px !important;font-size:15px !important;}
html[data-theme="fly-guy"] .sidebar .nav-item .ni{width:42px !important;height:42px !important;font-size:24px !important;}
html[data-theme="fly-guy"] .task-row{background-image:none !important;position:relative !important;overflow:hidden !important;min-height:91px !important;padding-right:132px !important;}
html[data-theme="fly-guy"] .task-row::after{content:"" !important;display:block !important;position:absolute;right:18px;top:7px;width:102px;height:76px;background-repeat:no-repeat;background-position:center;background-size:contain;pointer-events:none;}
html[data-theme="fly-guy"] .subject-group:nth-child(3n+1) .task-row::after{background-image:url('../assets/themes/fly-guy/fly-guy-v1.png');}
html[data-theme="fly-guy"] .subject-group:nth-child(3n+2) .task-row::after{background-image:url('../assets/themes/fly-guy/buzz-v1.png');}
html[data-theme="fly-guy"] .subject-group:nth-child(3n) .task-row::after{background-image:url('../assets/themes/fly-guy/buzz-fly-guy-v1.png');}

/* 首页已经由脚本生成专用的小型涂鸦贴纸，不再叠加整张角色背景。 */
html[data-theme="fly-guy"] .subject-group:nth-child(3n+1) .task-row,
html[data-theme="fly-guy"] .subject-group:nth-child(3n+2) .task-row,
html[data-theme="fly-guy"] .subject-group:nth-child(3n) .task-row{background-image:none !important;}
html[data-theme="fly-guy"] .task-row::after{display:none !important;background-image:none !important;}

@media(max-width:760px){
  html[data-theme="fly-guy"] .sidebar{width:210px !important;}
  html[data-theme="fly-guy"] main{margin-left:0 !important;}
  html[data-theme="fly-guy"] .task-row{padding-right:86px !important;}
  html[data-theme="fly-guy"] .task-row::after{right:5px;width:76px;height:66px;top:8px;}
}
