/* ===== 三花日常 · 主题样式（米黄 + 咖啡棕 + 浅橙黄） ===== */
:root{
  --bg:#FDF6E7;
  --bg2:#F8EDD6;
  --card:#FFFDF7;
  --cream:#FBF1DC;
  --brown:#6B4630;
  --brown2:#8C6647;
  --brown3:#A8896B;
  --brown-soft:#B49A82;
  --orange:#F2A340;
  --orange-d:#E08A22;
  --orange-l:#FFD9A0;
  --orange-xl:#FFEFD6;
  --pink:#F3B0A8;
  --pink-l:#FCDCD6;
  --green:#8FBF7A;
  --green-l:#E3F0D9;
  --blue:#8FB8D6;
  --blue-l:#E0EDF6;
  --purple:#C0A8D8;
  --purple-l:#EEE6F6;
  --line:#EBDCC1;
  --line2:#DFCCA9;
  --shadow:0 6px 18px rgba(140,102,71,.10);
  --shadow-s:0 3px 10px rgba(140,102,71,.08);
  --r-l:22px;
  --r-m:16px;
  --r-s:11px;
  --nav-w:78px;
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;margin:0;padding:0;}
body{
  background:var(--bg);
  color:var(--brown);
  font-family:"HarmonyOS Sans SC","MiSans","PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
  font-size:14px;
  overflow:hidden;
  -webkit-font-smoothing:antialiased;
}
button,input,textarea,select{font-family:inherit;color:inherit;}
button{cursor:pointer;border:none;background:none;padding:0;}
input,textarea,select{outline:none;}
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-thumb{background:var(--line2);border-radius:5px;}
::-webkit-scrollbar-track{background:transparent;}

/* ===== 开屏 ===== */
#splash{
  position:fixed;inset:0;z-index:9999;
  background:radial-gradient(circle at 50% 38%,#FFF6E2 0%,var(--bg) 60%,#F6E7CB 100%);
  display:flex;align-items:center;justify-content:center;
  transition:opacity .5s ease;
}
#splash.hide{opacity:0;pointer-events:none;}
.splash-inner{text-align:center;}
.splash-cat{width:150px;height:150px;margin:0 auto 10px;animation:bob 1.6s ease-in-out infinite;}
.splash-cat svg{width:100%;height:100%;}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-2deg);}50%{transform:translateY(-10px) rotate(2deg);}}
.splash-title{font-size:25px;font-weight:800;letter-spacing:4px;color:var(--brown);}
.splash-sub{font-size:12px;color:var(--brown-soft);margin-top:8px;letter-spacing:1px;}

/* ===== 布局 ===== */
.app-shell{display:flex;height:100vh;height:100dvh;width:100%;overflow:hidden;}

.side-nav{
  width:var(--nav-w);flex:0 0 var(--nav-w);
  background:linear-gradient(180deg,#FBEDD5 0%,#F6E3C4 100%);
  border-right:2px solid var(--line);
  display:flex;flex-direction:column;align-items:center;
  padding:8px 0 4px;
  padding-top:calc(8px + env(safe-area-inset-top));
  padding-bottom:calc(4px + env(safe-area-inset-bottom));
  box-shadow:3px 0 12px rgba(140,102,71,.07);
  z-index:20;
}
.nav-logo{width:42px;height:42px;margin-bottom:4px;flex:0 0 auto;}
.nav-logo svg{width:100%;height:100%;}
.nav-list{flex:1;width:100%;overflow-y:auto;overflow-x:hidden;padding:2px 0;}
.nav-list::-webkit-scrollbar{width:0;}
.nav-item{
  width:100%;padding:7px 2px 6px;
  display:flex;flex-direction:column;align-items:center;gap:2px;
  position:relative;transition:.18s;
}
.nav-item .ico{
  width:36px;height:36px;border-radius:13px;
  background:rgba(255,255,255,.55);
  display:flex;align-items:center;justify-content:center;
  transition:.2s;border:1.5px solid transparent;
}
.nav-item .ico svg{width:27px;height:27px;}
.nav-item .lb{font-size:10px;color:var(--brown2);line-height:1.15;text-align:center;font-weight:600;letter-spacing:-.2px;}
.nav-item.active .ico{
  background:#fff;border-color:var(--orange);
  box-shadow:0 4px 10px rgba(242,163,64,.3);
  transform:translateY(-2px) scale(1.06);
}
.nav-item.active .lb{color:var(--orange-d);font-weight:800;}
.nav-item.active::before{
  content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;
  background:var(--orange);border-radius:0 4px 4px 0;
}
.nav-item:active .ico{transform:scale(.92);}
.nav-foot{padding:4px 0 2px;}
.nav-mini{width:34px;height:34px;border-radius:12px;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;}
.nav-mini svg{width:22px;height:22px;}

.main-area{flex:1;display:flex;flex-direction:column;min-width:0;position:relative;}
.top-bar{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px 9px;
  padding-top:calc(10px + env(safe-area-inset-top));
  background:linear-gradient(180deg,#FFFBF0,#FDF6E7);
  border-bottom:2px dashed var(--line);
}
.top-left{display:flex;align-items:center;gap:9px;min-width:0;}
.top-ico{width:34px;height:34px;flex:0 0 34px;display:flex;}
.top-ico svg{width:100%;height:100%;}
.top-title{margin:0;font-size:17px;font-weight:800;letter-spacing:.5px;}
.top-desc{margin:1px 0 0;font-size:11px;color:var(--brown-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.today-chip{
  background:var(--orange-xl);border:1.5px solid var(--orange-l);
  color:var(--orange-d);font-size:11px;font-weight:700;
  padding:5px 9px;border-radius:20px;white-space:nowrap;
}
.page-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;-webkit-overflow-scrolling:touch;}
.page-bottom-pad{height:calc(30px + env(safe-area-inset-bottom));}

/* ===== 通用组件 ===== */
.card{
  background:var(--card);border:2px solid var(--line);border-radius:var(--r-l);
  padding:13px;margin-bottom:12px;box-shadow:var(--shadow-s);position:relative;
}
.card.tight{padding:10px;}
.card-title{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800;margin:0 0 9px;}
.card-title .ci{width:22px;height:22px;flex:0 0 22px;}
.card-title .ci svg{width:100%;height:100%;}
.card-title small{font-weight:500;font-size:11px;color:var(--brown-soft);margin-left:auto;}

.tabs{
  display:flex;gap:6px;background:var(--bg2);padding:5px;border-radius:18px;
  margin-bottom:12px;border:2px solid var(--line);
}
.tabs .tab{
  flex:1;text-align:center;padding:8px 3px;border-radius:14px;
  font-size:12.5px;font-weight:700;color:var(--brown2);transition:.2s;
  display:flex;align-items:center;justify-content:center;gap:4px;
}
.tabs .tab svg{width:18px;height:18px;}
.tabs .tab.active{background:#fff;color:var(--orange-d);box-shadow:0 3px 8px rgba(140,102,71,.13);}
.tabs.sub{background:transparent;border:none;padding:0;gap:7px;flex-wrap:wrap;}
.tabs.sub .tab{
  flex:none;padding:6px 12px;border:1.5px solid var(--line2);background:var(--card);
  border-radius:20px;font-size:12px;
}
.tabs.sub .tab.active{background:var(--orange);color:#fff;border-color:var(--orange);}

/* 滑动分隔栏 */
.slide-switch{
  position:relative;display:flex;background:var(--bg2);border:2px solid var(--line);
  border-radius:22px;padding:5px;margin-bottom:12px;overflow:hidden;
}
.slide-switch .thumb{
  position:absolute;top:5px;bottom:5px;left:5px;width:calc(50% - 5px);
  background:linear-gradient(135deg,#fff,#FFF6E4);border-radius:18px;
  box-shadow:0 3px 9px rgba(140,102,71,.16);transition:transform .32s cubic-bezier(.4,1.4,.5,1);
}
.slide-switch.right .thumb{transform:translateX(100%);}
.slide-switch .sw{
  position:relative;z-index:2;flex:1;text-align:center;padding:9px 0;
  font-size:13.5px;font-weight:800;color:var(--brown-soft);transition:.25s;
  display:flex;align-items:center;justify-content:center;gap:5px;
}
.slide-switch .sw svg{width:20px;height:20px;}
.slide-switch .sw.on{color:var(--orange-d);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:5px;
  background:var(--orange);color:#fff;font-weight:700;font-size:13px;
  padding:9px 15px;border-radius:15px;box-shadow:0 3px 8px rgba(242,163,64,.32);
  transition:.15s;
}
.btn:active{transform:scale(.95);}
.btn svg{width:17px;height:17px;}
.btn.ghost{background:var(--card);color:var(--brown);border:1.8px solid var(--line2);box-shadow:none;}
.btn.brown{background:var(--brown);box-shadow:0 3px 8px rgba(107,70,48,.28);}
.btn.pink{background:var(--pink);box-shadow:0 3px 8px rgba(243,176,168,.4);}
.btn.sm{padding:6px 11px;font-size:12px;border-radius:12px;}
.btn.block{width:100%;}
.btn.danger{background:#E0806F;}

.field{
  width:100%;background:var(--cream);border:1.8px solid var(--line);
  border-radius:13px;padding:10px 12px;font-size:13.5px;color:var(--brown);
  transition:.18s;
}
.field:focus{border-color:var(--orange);background:#fff;}
.field::placeholder{color:#C4AE93;}
textarea.field{resize:vertical;min-height:70px;line-height:1.6;}
select.field{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' stroke='%238C6647' stroke-width='1.8' fill='none' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px;}
.row{display:flex;gap:8px;align-items:center;}
.row.wrap{flex-wrap:wrap;}
.grow{flex:1;min-width:0;}
.lbl{font-size:11.5px;font-weight:700;color:var(--brown2);margin-bottom:4px;display:block;}

.chip{
  display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:14px;
  font-size:11.5px;font-weight:700;border:1.5px solid var(--line2);
  background:var(--card);color:var(--brown2);transition:.15s;
}
.chip.on{background:var(--orange);border-color:var(--orange);color:#fff;}
.chip.sm{padding:3px 8px;font-size:10.5px;border-radius:11px;}
.chip-group{display:flex;flex-wrap:wrap;gap:6px;}

.tag{display:inline-block;padding:2px 7px;border-radius:8px;font-size:10px;font-weight:800;line-height:1.5;}
.t-fast{background:#FFE0DC;color:#D2604E;}
.t-mid{background:#FFEDCC;color:#D4901F;}
.t-slow{background:#E1EFD9;color:#5F8F49;}
.t-body{background:#FCDCD6;color:#C96A5B;}
.t-mind{background:#E0EDF6;color:#5789A9;}
.t-soul{background:#EEE6F6;color:#8467A9;}

.empty{
  text-align:center;padding:24px 12px;color:var(--brown-soft);font-size:12.5px;
}
.empty .e-ico{width:64px;height:64px;margin:0 auto 8px;opacity:.85;}
.empty .e-ico svg{width:100%;height:100%;}

.divider{height:0;border-top:2px dashed var(--line);margin:11px 0;}

.stat-row{display:flex;gap:8px;}
.stat{
  flex:1;background:var(--card);border:2px solid var(--line);border-radius:var(--r-m);
  padding:9px 6px;text-align:center;
}
.stat .v{font-size:16px;font-weight:800;line-height:1.3;}
.stat .k{font-size:10.5px;color:var(--brown-soft);margin-top:1px;}

/* ===== 日历 ===== */
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.cal-head .m{font-size:15px;font-weight:800;}
.cal-nav{width:28px;height:28px;border-radius:10px;background:var(--cream);border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--brown2);font-weight:800;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;}
.cal-w{text-align:center;font-size:10.5px;color:var(--brown-soft);font-weight:700;padding:3px 0;}
.cal-d{
  aspect-ratio:1;border-radius:11px;background:var(--cream);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;position:relative;border:1.5px solid transparent;
  transition:.15s;overflow:hidden;
}
.cal-d.blank{background:transparent;}
.cal-d.today{border-color:var(--orange);background:var(--orange-xl);color:var(--orange-d);}
.cal-d.sel{background:var(--orange);color:#fff;border-color:var(--orange-d);}
.cal-d .dots{position:absolute;bottom:3px;display:flex;gap:2px;}
.cal-d .dot{width:4px;height:4px;border-radius:50%;background:var(--orange);}
.cal-d .dot.done{background:var(--green);}
.cal-d .mini{font-size:8.5px;font-weight:700;line-height:1;margin-top:1px;opacity:.85;}
.cal-d .emo{font-size:13px;line-height:1;}

/* ===== 待办 ===== */
.todo-item{
  display:flex;align-items:flex-start;gap:9px;padding:9px 10px;
  background:var(--cream);border:1.8px solid var(--line);border-radius:14px;margin-bottom:7px;
  transition:.2s;
}
.todo-item.done{background:#F5F0E6;border-color:#E4DACA;opacity:.75;}
.circle{
  width:21px;height:21px;flex:0 0 21px;border-radius:50%;border:2.4px solid var(--orange);
  margin-top:1px;transition:.2s;display:flex;align-items:center;justify-content:center;
}
.todo-item.done .circle{border-color:#B7AC9C;background:#D9D0C2;}
.todo-item.done .circle::after{content:"";width:9px;height:5px;border-left:2.2px solid #fff;border-bottom:2.2px solid #fff;transform:rotate(-45deg) translate(1px,-1px);}
.todo-txt{flex:1;min-width:0;font-size:13.5px;line-height:1.5;word-break:break-word;}
.todo-item.done .todo-txt{text-decoration:line-through;color:#9A8F81;}
.todo-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;}
.todo-del{width:22px;height:22px;flex:0 0 22px;color:#C4AE93;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;}

/* ===== 聊天 ===== */
.chat-box{
  height:270px;overflow-y:auto;background:linear-gradient(180deg,#FFFBF0,#FDF4E3);
  border:2px solid var(--line);border-radius:var(--r-m);padding:10px;margin-bottom:9px;
}
.msg{display:flex;gap:7px;margin-bottom:10px;align-items:flex-end;}
.msg .av{width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#fff;border:1.6px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.msg .av svg{width:26px;height:26px;}
.msg .bubble{
  max-width:74%;padding:8px 11px;border-radius:15px;font-size:13px;line-height:1.6;
  background:#fff;border:1.6px solid var(--line);border-bottom-left-radius:5px;
  word-break:break-word;white-space:pre-wrap;
}
.msg.me{flex-direction:row-reverse;}
.msg.me .bubble{background:var(--orange-l);border-color:var(--orange-l);border-bottom-left-radius:15px;border-bottom-right-radius:5px;}
.typing span{display:inline-block;width:6px;height:6px;background:var(--brown-soft);border-radius:50%;margin:0 1.5px;animation:tp 1s infinite;}
.typing span:nth-child(2){animation-delay:.2s;}
.typing span:nth-child(3){animation-delay:.4s;}
@keyframes tp{0%,60%,100%{transform:translateY(0);opacity:.4;}30%{transform:translateY(-5px);opacity:1;}}

/* ===== 骰子 ===== */
.dice-area{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center;}
.dice{
  width:74px;height:74px;border-radius:18px;background:linear-gradient(140deg,#fff,#FFF2DC);
  border:2.5px solid var(--brown2);box-shadow:0 5px 14px rgba(140,102,71,.22);
  display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);
  padding:9px;flex:0 0 74px;
}
.dice.rolling{animation:roll .42s linear infinite;}
@keyframes roll{0%{transform:rotate(0) scale(1);}25%{transform:rotate(90deg) scale(1.08);}50%{transform:rotate(180deg) scale(.94);}75%{transform:rotate(270deg) scale(1.08);}100%{transform:rotate(360deg) scale(1);}}
.pip{width:11px;height:11px;border-radius:50%;background:var(--brown);align-self:center;justify-self:center;}
.dice-slots{display:flex;gap:8px;}
.slot{
  width:46px;height:52px;border-radius:13px;border:2.5px dashed var(--line2);
  background:var(--cream);display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:800;color:var(--brown-soft);
}
.slot.filled{border-style:solid;border-color:var(--orange);background:#fff;color:var(--orange-d);animation:pop .35s;}
@keyframes pop{0%{transform:scale(.5);}60%{transform:scale(1.15);}100%{transform:scale(1);}}

/* ===== 便签纸 ===== */
.note-paper{
  background:
    repeating-linear-gradient(180deg,transparent,transparent 27px,#F0E2C6 27px,#F0E2C6 28px),
    var(--paw-bg,none),
    linear-gradient(180deg,#FFFCF2,#FFF8E8);
  background-size:auto,120px 120px,auto;
  border:2px solid var(--line2);border-radius:var(--r-m);
  padding:10px;position:relative;box-shadow:inset 0 0 24px rgba(216,190,150,.22);
}
.note-paper::before{
  content:"";position:absolute;left:26px;top:0;bottom:0;width:1.5px;background:#F3C9C4;opacity:.6;
}
.wish-item{
  display:flex;align-items:flex-start;gap:7px;padding:5px 4px;border-radius:9px;
  position:relative;z-index:2;
}
.wish-item:active{background:rgba(255,255,255,.6);}
.wish-no{font-size:10px;color:var(--brown-soft);width:22px;flex:0 0 22px;text-align:right;padding-top:4px;font-weight:700;}
.wish-chk{
  width:17px;height:17px;flex:0 0 17px;border-radius:5px;border:2px solid var(--orange);
  margin-top:3px;display:flex;align-items:center;justify-content:center;background:#fff;
}
.wish-item.done .wish-chk{background:var(--orange);}
.wish-item.done .wish-chk::after{content:"";width:8px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translateY(-1px);}
.wish-txt{flex:1;font-size:13.5px;line-height:1.65;min-width:0;word-break:break-word;}
.wish-item.done .wish-txt{text-decoration:line-through;color:#A99C8B;}
.rt-bar{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px;}
.rt-btn{
  padding:5px 10px;border-radius:10px;border:1.5px solid var(--line2);background:var(--card);
  font-size:12px;font-weight:800;
}
.rt-btn:active{background:var(--orange-l);}
.rt-edit{
  min-height:52px;background:#fff;border:2px solid var(--orange-l);border-radius:12px;
  padding:9px 11px;font-size:14px;line-height:1.6;outline:none;
}

/* ===== 心情 ===== */
.mood-picker{display:flex;gap:9px;}
.mood-opt{
  flex:1;background:var(--cream);border:2.2px solid var(--line);border-radius:var(--r-m);
  padding:9px 4px;text-align:center;transition:.2s;
}
.mood-opt svg{width:52px;height:52px;}
.mood-opt .mn{font-size:12px;font-weight:800;margin-top:2px;color:var(--brown2);}
.mood-opt.on{background:#fff;border-color:var(--orange);box-shadow:0 4px 12px rgba(242,163,64,.24);transform:translateY(-2px);}
.mood-opt.on .mn{color:var(--orange-d);}

.diary-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.sticker-bar{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;}
.sticker-bar .st{
  flex:0 0 auto;width:40px;height:40px;border-radius:12px;background:var(--cream);
  border:1.6px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:21px;
}
.sticker-bar .st:active{background:var(--orange-l);}
.diary-edit{
  min-height:130px;background:
     repeating-linear-gradient(180deg,transparent,transparent 26px,#F1E4CA 26px,#F1E4CA 27px),
     #FFFDF5;
  border:2px solid var(--line);border-radius:var(--r-m);padding:8px 11px;
  font-size:14px;line-height:27px;outline:none;
}
.diary-edit img{max-width:100%;border-radius:10px;margin:5px 0;display:block;}
.hand-wrap{position:relative;border:2px solid var(--line);border-radius:var(--r-m);overflow:hidden;background:#FFFDF5;}
.hand-wrap canvas{display:block;width:100%;touch-action:none;background:
  repeating-linear-gradient(180deg,transparent,transparent 29px,#F3E7D0 29px,#F3E7D0 30px);}
.pen-bar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:7px;background:var(--cream);border-bottom:1.5px dashed var(--line);}
.pen-dot{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1.5px var(--line2);}
.pen-dot.on{box-shadow:0 0 0 2.5px var(--orange);}

.week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.week-cell{text-align:center;}
.week-cell .wd{font-size:10px;color:var(--brown-soft);font-weight:700;}
.week-cell .wbox{
  margin-top:3px;aspect-ratio:.86;border-radius:12px;background:var(--cream);
  border:1.8px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
}
.week-cell .wbox.today{border-color:var(--orange);background:var(--orange-xl);}
.week-cell .wbox svg{width:26px;height:26px;}
.week-cell .wbox .dnum{font-size:9.5px;font-weight:700;color:var(--brown-soft);}
.week-cell .wbox .none{font-size:16px;color:#D8C9B0;}

/* ===== 账本 ===== */
.money-hero{
  background:linear-gradient(135deg,#FFF3DC,#FFE3BC);
  border:2px solid var(--orange-l);border-radius:var(--r-l);padding:13px;margin-bottom:12px;
  position:relative;overflow:hidden;
}
.money-hero .mh-cat{position:absolute;right:6px;bottom:-6px;width:74px;opacity:.5;}
.money-row{display:flex;gap:6px;}
.money-row .mi{flex:1;text-align:center;}
.money-row .mi .k{font-size:10.5px;color:var(--brown2);}
.money-row .mi .v{font-size:17px;font-weight:800;letter-spacing:-.5px;}
.v-in{color:#5F8F49;}
.v-out{color:#D2604E;}
.v-bal{color:var(--brown);}
.rec-item{
  display:flex;align-items:center;gap:9px;padding:9px;border-radius:14px;background:var(--cream);
  border:1.6px solid var(--line);margin-bottom:6px;
}
.rec-ico{width:34px;height:34px;flex:0 0 34px;border-radius:12px;background:#fff;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:18px;}
.rec-main{flex:1;min-width:0;}
.rec-main .t{font-size:13px;font-weight:700;}
.rec-main .s{font-size:10.5px;color:var(--brown-soft);margin-top:1px;}
.rec-amt{font-size:15px;font-weight:800;white-space:nowrap;}

/* ===== 吃睡 ===== */
.nutri-bar{height:11px;border-radius:6px;background:var(--cream);overflow:hidden;display:flex;border:1.2px solid var(--line);}
.nutri-bar i{display:block;height:100%;}
.food-item{display:flex;align-items:center;gap:9px;padding:8px 9px;background:var(--cream);border:1.6px solid var(--line);border-radius:13px;margin-bottom:6px;}
.food-ico{width:32px;height:32px;flex:0 0 32px;border-radius:11px;background:#fff;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:18px;}
.stamp-btn{
  width:66px;height:66px;flex:0 0 66px;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#FFC9C4,#F19A93);
  border:3px solid #FFF0EE;box-shadow:0 5px 14px rgba(230,140,132,.42);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:27px;font-weight:800;font-family:"KaiTi","STKaiti",serif;
  transition:.15s;
}
.stamp-btn:active{transform:scale(.9);}
.stamp-btn.done{background:radial-gradient(circle at 34% 30%,#D9CEC1,#BFB2A2);box-shadow:none;}
.stamp-mark{
  font-family:"KaiTi","STKaiti",serif;color:#E2776C;font-weight:800;
  border:2px solid #E2776C;border-radius:50%;width:19px;height:19px;
  display:flex;align-items:center;justify-content:center;font-size:11px;
  transform:rotate(-14deg);opacity:.9;
}

/* ===== 运动 / 通用列表 ===== */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.mini-card{background:var(--cream);border:1.7px solid var(--line);border-radius:14px;padding:9px;}
.mini-card .mt{font-size:12.5px;font-weight:800;margin-bottom:4px;display:flex;align-items:center;gap:4px;}
.mini-card .mc{font-size:11.5px;color:var(--brown2);line-height:1.65;white-space:pre-wrap;}
.plan-day{
  display:flex;gap:9px;align-items:flex-start;padding:9px;border-radius:14px;
  background:var(--cream);border:1.7px solid var(--line);margin-bottom:6px;
}
.plan-day .pd{
  width:38px;height:38px;flex:0 0 38px;border-radius:13px;background:var(--orange-xl);
  border:1.6px solid var(--orange-l);display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:800;color:var(--orange-d);
}
.plan-day.today .pd{background:var(--orange);color:#fff;}

.acc{border:1.7px solid var(--line);border-radius:14px;background:var(--cream);margin-bottom:7px;overflow:hidden;}
.acc-h{display:flex;align-items:center;gap:7px;padding:10px;font-size:13px;font-weight:800;}
.acc-h .ar{margin-left:auto;transition:.25s;color:var(--brown-soft);}
.acc.open .acc-h .ar{transform:rotate(180deg);}
.acc-b{display:none;padding:0 11px 11px;font-size:12.3px;line-height:1.75;color:var(--brown2);white-space:pre-wrap;}
.acc.open .acc-b{display:block;}

/* ===== 图文卡片（衣橱/影视/护肤） ===== */
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;}
.pcard{background:var(--card);border:1.8px solid var(--line);border-radius:var(--r-m);overflow:hidden;box-shadow:var(--shadow-s);}
.pcard .pimg{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;background:var(--cream);}
.pcard .pimg.ph{display:flex;align-items:center;justify-content:center;}
.pcard .pimg.ph svg{width:52px;height:52px;opacity:.6;}
.pcard .pb{padding:7px 8px 8px;}
.pcard .pt{font-size:12.5px;font-weight:800;line-height:1.35;}
.pcard .ps{font-size:10.5px;color:var(--brown-soft);margin-top:2px;line-height:1.5;max-height:32px;overflow:hidden;}
.pcard .pf{display:flex;align-items:center;gap:4px;margin-top:5px;flex-wrap:wrap;}

.color-sw{display:flex;gap:0;border-radius:11px;overflow:hidden;height:44px;border:1.6px solid var(--line);}
.color-sw i{flex:1;display:block;}

.link-item{
  display:flex;align-items:center;gap:9px;padding:9px;border-radius:14px;
  background:var(--cream);border:1.6px solid var(--line);margin-bottom:6px;
  user-select:none;-webkit-user-select:none;
}
.link-item.pressing{background:var(--orange-l);transform:scale(.98);}
.link-plat{width:32px;height:32px;flex:0 0 32px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;}
.p-xhs{background:#FF4E63;}
.p-dy{background:#26262B;}
.p-other{background:var(--brown2);}

/* ===== 弹层 ===== */
.modal-mask{
  position:fixed;inset:0;background:rgba(90,64,44,.42);z-index:1000;
  display:none;align-items:flex-end;justify-content:center;backdrop-filter:blur(2px);
}
.modal-mask.show{display:flex;}
.modal-box{
  width:100%;max-width:520px;max-height:88vh;background:var(--bg);
  border-radius:26px 26px 0 0;border:2px solid var(--line);border-bottom:none;
  display:flex;flex-direction:column;animation:up .28s cubic-bezier(.3,1.2,.5,1);
}
@keyframes up{from{transform:translateY(100%);}to{transform:translateY(0);}}
.modal-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 15px 10px;font-size:15px;font-weight:800;border-bottom:2px dashed var(--line);
}
.modal-close{font-size:24px;color:var(--brown-soft);line-height:1;width:30px;height:30px;}
.modal-body{padding:13px 15px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;}

.toast-wrap{position:fixed;left:0;right:0;top:14px;z-index:2000;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;}
.toast{
  background:var(--brown);color:#FFF6E4;font-size:12.5px;font-weight:700;
  padding:9px 15px;border-radius:20px;box-shadow:0 5px 16px rgba(107,70,48,.3);
  animation:tin .3s;max-width:80vw;text-align:center;
}
@keyframes tin{from{transform:translateY(-16px);opacity:0;}to{transform:translateY(0);opacity:1;}}

.fab{
  position:absolute;right:14px;bottom:calc(16px + env(safe-area-inset-bottom));
  width:52px;height:52px;border-radius:20px;background:var(--orange);
  box-shadow:0 6px 18px rgba(242,163,64,.45);display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:27px;font-weight:300;z-index:30;
}
.fab:active{transform:scale(.92);}

.hint{font-size:11px;color:var(--brown-soft);line-height:1.6;}
.bullet{padding-left:15px;margin:0;}
.bullet li{margin-bottom:3px;font-size:12.3px;line-height:1.65;color:var(--brown2);}

.paw-bg{position:relative;}
.paw-bg::after{
  content:"";position:absolute;right:8px;top:8px;width:46px;height:46px;opacity:.13;
  background:no-repeat center/contain;pointer-events:none;
}

@media (max-width:360px){
  :root{--nav-w:66px;}
  .nav-item .ico{width:32px;height:32px;border-radius:11px;}
  .nav-item .ico svg{width:24px;height:24px;}
  .nav-item .lb{font-size:9px;}
  .page-scroll{padding:10px;}
}
@media (min-width:640px){
  :root{--nav-w:96px;}
  .nav-item .lb{font-size:11px;}
  .page-scroll{padding:16px 18px;}
}

/* ===== 影视文娱 ===== */
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.mcard{background:var(--cream);border:1.6px solid var(--line);border-radius:14px;overflow:hidden;padding:0 0 8px;position:relative;}
.mimg{width:100%;height:78px;object-fit:cover;display:block;background:linear-gradient(135deg,#FFE9CF,#F6DFC9);}
.mimg-wrap{position:relative;width:100%;height:78px;overflow:hidden;}
.mimg.ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:30px;}
.mimg.ph{display:flex;align-items:center;justify-content:center;font-size:30px;}
.mt{font-size:12.5px;font-weight:800;padding:7px 9px 0;}
.ms{font-size:10.5px;color:var(--brown-soft);line-height:1.5;padding:2px 9px 0;max-height:48px;overflow:hidden;}
.rthumbs{display:flex;gap:4px;margin-top:5px;flex-wrap:wrap;}
.rthumbs img{width:46px;height:46px;object-fit:cover;border-radius:9px;border:1.4px solid var(--line);}
.stars{color:var(--orange-d);letter-spacing:1px;font-size:12px;}
.stars .off{color:var(--grey);}
.usage-row{display:flex;justify-content:space-between;font-size:11.5px;padding:4px 0;border-bottom:1px dashed var(--line);}
.usage-row:last-child{border-bottom:none;}
.usage-row .k{color:var(--brown2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:62%;}
.usage-row .v{color:var(--brown);font-weight:700;}

/* ===== 字号（缩放主内容区，安卓 Chrome 支持 zoom） ===== */
.fs-s .main-area{zoom:.94;}
.fs-l .main-area{zoom:1.07;}

/* ===== 设置 ===== */
.about-line{font-size:11.5px;color:var(--brown2);line-height:1.7;}
.about-line b{color:var(--brown);}

/* ===== 多主题皮肤 ===== */
[data-theme="dark"]{
  --bg:#26201B; --bg2:#2E2722; --card:#36302A; --cream:#403932;
  --brown:#F4EADB; --brown2:#DAC8B6; --brown3:#BBA68F; --brown-soft:#A48E79;
  --orange:#F2A340; --orange-d:#E89A33; --orange-l:#5A4326; --orange-xl:#463524;
  --pink:#E89A92; --pink-l:#553A38;
  --green:#9BC98A; --green-l:#33492E;
  --blue:#9BC3DE; --blue-l:#2E4252;
  --purple:#C4AADD; --purple-l:#43395A;
  --line:#4A4038; --line2:#5C5046;
  --shadow:0 6px 18px rgba(0,0,0,.4); --shadow-s:0 3px 10px rgba(0,0,0,.35);
}
[data-theme="dark"] .side-nav{background:linear-gradient(180deg,#2E2722,#241E19);}
[data-theme="dark"] .top-bar{background:linear-gradient(180deg,#322B25,#2A241F);border-bottom-color:var(--line);}
[data-theme="dark"] .btn.brown{background:var(--brown2);color:var(--bg);}
[data-theme="dark"] .mimg{background:linear-gradient(135deg,#5A4326,#7A5A2E);}
[data-theme="dark"] #splash{background:#26201B;}
[data-theme="dark"] .field:focus{background:#3a332d;}

[data-theme="matcha"]{
  --bg:#EEF3E6; --bg2:#E2EBD6; --card:#FBFDF6; --cream:#E6EFD9;
  --brown:#3F4A2E; --brown2:#5E6B43; --brown3:#7E8A5E; --brown-soft:#94A078;
  --orange:#8FBF5A; --orange-d:#6FA23E; --orange-l:#CFE6AE; --orange-xl:#EAF3DC;
  --pink:#E2A7A0; --pink-l:#F6DCD8;
  --green:#7FB05A; --green-l:#DCEFC8;
  --blue:#8FB8D6; --blue-l:#E0EDF6;
  --purple:#B49AD0; --purple-l:#EBE2F4;
  --line:#CFE0B8; --line2:#BBD49C;
}
[data-theme="matcha"] .side-nav{background:linear-gradient(180deg,#E4EED6,#D6E4C4);}
[data-theme="matcha"] .top-bar{background:linear-gradient(180deg,#F4F9EC,#EEF3E6);}

[data-theme="sakura"]{
  --bg:#FCEFF3; --bg2:#F7E2EA; --card:#FFFBFC; --cream:#FBE6EC;
  --brown:#7A3B52; --brown2:#A35A72; --brown3:#C08599; --brown-soft:#C998AB;
  --orange:#F2A8C0; --orange-d:#E07FA0; --orange-l:#FBD6E4; --orange-xl:#FCEAF1;
  --pink:#F2A0B0; --pink-l:#FBDDE3;
  --green:#9BC98A; --green-l:#E3F0D9;
  --blue:#9BC3DE; --blue-l:#E0EDF6;
  --purple:#C49AD0; --purple-l:#F1E4F6;
  --line:#F1CEDB; --line2:#E8B8CB;
}
[data-theme="sakura"] .side-nav{background:linear-gradient(180deg,#FBE3EC,#F6D5E2);}
[data-theme="sakura"] .top-bar{background:linear-gradient(180deg,#FFF6F9,#FCEFF3);}

[data-theme="haze"]{
  --bg:#EBF0F4; --bg2:#DCE6ED; --card:#FBFDFE; --cream:#E2EAF1;
  --brown:#2E4256; --brown2:#4A6480; --brown3:#6B839B; --brown-soft:#88A0B5;
  --orange:#5E9BC0; --orange-d:#3F7FA6; --orange-l:#C3DCEC; --orange-xl:#E4EEF4;
  --pink:#E2A0B0; --pink-l:#F6DDE3;
  --green:#7FB05A; --green-l:#DCEFC8;
  --blue:#6FA8D0; --blue-l:#DCEAF4;
  --purple:#9A8AD0; --purple-l:#E6E0F4;
  --line:#CAD9E4; --line2:#B2C7D6;
}
[data-theme="haze"] .side-nav{background:linear-gradient(180deg,#E1EAF2,#D2DFE9);}
[data-theme="haze"] .top-bar{background:linear-gradient(180deg,#F4F8FB,#EBF0F4);}


/* ===== 运动养生：周计划勾选 / 进度 / 每日贴士 / 知识讲堂 ===== */
.wp-item{display:flex;align-items:center;gap:8px;padding:6px 2px;border-bottom:1px dashed var(--line);}
.wp-item:last-child{border-bottom:none;}
.wp-key{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:var(--card2);color:var(--brown);font-size:11px;font-weight:800;}
.wp-txt{flex:1;font-size:12.6px;line-height:1.5;}
.wp-done .wp-txt{text-decoration:line-through;color:var(--brown2);opacity:.7;}
.tick{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:2px solid var(--brown3);background:#fff;cursor:pointer;position:relative;transition:.15s;box-sizing:border-box;}
.tick.on{background:var(--green);border-color:var(--green);}
.tick.on::after{content:'';position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(42deg);}
[data-theme="dark"] .tick{background:#2b2b2b;}

.prog-row{display:flex;align-items:center;gap:8px;margin:8px 0;}
.prog-row .nm{width:88px;font-size:12px;color:var(--brown);flex:0 0 auto;}
.pbar{flex:1;height:9px;background:var(--card2);border-radius:6px;overflow:hidden;}
.pbar > i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--orange-d));border-radius:6px;transition:width .3s;}
[data-theme="dark"] .pbar > i{background:linear-gradient(90deg,var(--orange-l),var(--orange));}
.prog-row .pv{width:48px;text-align:right;font-size:11.5px;color:var(--brown2);flex:0 0 auto;}

.tip-card{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,var(--orange-xl),var(--cream));}
.tip-ico{font-size:30px;line-height:1;flex:0 0 auto;}
.tip-t{font-size:13.5px;font-weight:800;color:var(--brown);margin-bottom:3px;}
.tip-b{font-size:12.5px;line-height:1.65;color:var(--brown2);}

.klink{margin-left:auto;font-size:11px;font-weight:700;color:var(--blue);background:var(--blue-l);padding:2px 8px;border-radius:8px;cursor:pointer;flex:0 0 auto;}
.kdel{margin-left:8px;font-size:11px;color:var(--brown2);cursor:pointer;flex:0 0 auto;}

/* ===== 紧凑布局 ===== */
.compact .page-scroll{padding:8px;}
.compact .card{padding:11px;margin-bottom:9px;}
.compact .rec-item{padding:6px;gap:7px;}
.compact .mgrid{gap:6px;}
.compact .mcard .mt{padding-top:5px;}
.compact .food-item,.compact .two-col{gap:7px;}
