:root{
  --bg1:#F4F8FC; --bg2:#ECF3F9; --bg3:#FBFCFE;
  --primary:#9CC0E2; --primary-dark:#6E98C2;
  --secondary:#B8D9CE;
  --card-tint:#EFF5FB; --text-muted:#A6C2DD;
  --accent-tint:#EAF2FB;
  /* 语义保留色：金币(橙)、工作(红) 这类"数据编码色"可保留，仅作点缀 */
  --orange:#E8A838; --red:#E88;
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
html,body{margin:0; height:100%;}
body{
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  background:#f0f0f0; color:#4a4a4a; font-size:14px;
}

/* ===== 手机壳 ===== */
.stage{min-height:100%; display:flex; align-items:center; justify-content:center; padding:24px;}
.phone{
  width:100%; max-width:420px; aspect-ratio:9/19.5;
  background:radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--secondary) 22%,transparent),transparent 28%),linear-gradient(160deg,var(--bg1) 0%,var(--bg2) 45%,var(--bg3) 100%);
  border-radius:28px; overflow:hidden; display:flex; flex-direction:column; position:relative;
  box-shadow:0 8px 30px rgba(0,0,0,0.06); transition:background .35s ease;
}

/* ===== 状态栏 ===== */
.statusbar{display:flex; justify-content:space-between; padding:8px 18px; font-size:11px; color:var(--primary-dark);}

/* ===== 页面通用 ===== */
.page{display:none; flex:1; flex-direction:column; overflow-y:auto; padding-bottom:6px;}
.page.active{display:flex;}
.scroll{display:flex; flex-direction:column; gap:8px; padding:8px 12px;}

/* ===== 首页 header ===== */
.header{display:flex; justify-content:space-between; align-items:center; padding:10px 16px 6px;}
.hi{margin:0; font-size:20px; font-weight:700; color:var(--primary-dark);}
.date{margin:2px 0 0; font-size:11px; color:var(--text-muted);}
.coin-badge{
  background:rgba(255,255,255,0.7); border-radius:16px; padding:4px 10px;
  font-size:11px; color:#888; display:flex; align-items:center; gap:2px;
}

/* ===== 双卡行 ===== */
.dual-row{display:flex; gap:8px;}
.dual-left,.dual-right{flex:1; border-radius:14px; padding:10px; background:rgba(255,255,255,0.82); box-shadow:0 1px 4px rgba(0,0,0,0.04);}
.card-head{display:flex; justify-content:space-between; align-items:center;}
.card-title{font-size:13px; font-weight:600; color:var(--primary-dark);}
.card-more{border:0;background:none;padding:0;font-size:10px;color:var(--primary);cursor:pointer;}
.pin{font-size:12px; margin-right:2px;}
.dual-sub{font-size:10px; color:var(--text-muted); margin:4px 0 6px;}
.dual-count{font-size:10px; color:var(--text-muted); text-align:right; margin-bottom:4px;}
.idea-quick{
  width:100%; border:none; background:var(--card-tint); border-radius:10px;
  padding:8px; font-size:12px; resize:none; outline:none; color:#4a4a4a;
}
.idea-quick::placeholder{color:var(--text-muted);}
.btn-record{
  width:100%; border:none; border-radius:10px; cursor:pointer;
  background:var(--primary); color:#fff; font-size:12px; padding:7px; margin-top:6px; font-weight:500;
}
.btn-record-lg{padding:10px; font-size:13px;}
.dual-tip{font-size:9px; color:var(--text-muted); margin-top:4px; text-align:center;}

/* ===== 首页任务列表（紧凑） ===== */
.home-task-list{display:flex; flex-direction:column; gap:4px;}
.htask{display:flex; align-items:center; gap:6px; padding:4px 6px; background:var(--card-tint); border-radius:8px; font-size:11px;}
.htask .dot{width:8px; height:8px; border-radius:50%; flex-shrink:0; background:var(--primary);}
.htask .htxt{flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.htask .htag{font-size:9px; padding:1px 6px; border-radius:8px; background:#eee; color:#999;}
.htask.done .htxt{text-decoration:line-through; color:#aaa;}

/* ===== 每日一句 ===== */
.daily-en{background:rgba(255,255,255,0.82); border-radius:14px; padding:12px; box-shadow:0 1px 4px rgba(0,0,0,0.04);}
.en-label{font-size:10px; color:var(--text-muted); letter-spacing:1px; margin-bottom:4px;}
.en-quote{margin:0; font-size:15px; font-weight:600; color:var(--primary-dark); font-style:italic;}
.en-cn{margin:4px 0 0; font-size:11px; color:#888;}

/* ===== 每日精选 ===== */
.pick-tabs{display:flex; gap:6px; flex-wrap:wrap; align-items:center;}
.pick-tab{
  border:1px solid #ddd; background:#fff; border-radius:14px; padding:4px 10px;
  font-size:10px; color:#666; cursor:pointer;
}
.pick-tab.active{border-color:var(--primary); background:var(--accent-tint); color:var(--primary-dark); font-weight:600;}
.pick-refresh{margin-left:auto; font-size:10px;}
.pick-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px;}
.pick-card{background:var(--card-tint); border-radius:12px; padding:10px; cursor:pointer; transition:transform .12s ease;}
.pick-card:active{transform:scale(.97);}
.pick-icon{font-size:20px; margin-bottom:4px;}
.pick-tag{display:inline-block; font-size:9px; padding:1px 8px; border-radius:8px; margin-bottom:4px; background:var(--accent-tint); color:var(--primary-dark); font-weight:600;}
.pick-title{font-size:12px; font-weight:600; color:#444; margin:0 0 2px;}
.pick-desc{font-size:10px; color:#888; margin:0; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}

/* ===== 页面通用头部 ===== */
.page-header{display:flex; align-items:center; gap:8px; padding:10px 14px 6px; position:relative;}
.back-btn{background:none; border:none; font-size:22px; color:var(--primary-dark); cursor:pointer; padding:0 4px;}
.page-main-title{margin:0; font-size:17px; font-weight:700; color:var(--primary-dark);}
.page-sub{margin:2px 0 0; font-size:10px; color:var(--text-muted);}
.page-badge{font-size:11px; color:var(--text-muted); white-space:nowrap;}

/* ===== 计划页 ===== */
.plan-tabs{display:flex; gap:0; background:rgba(255,255,255,0.6); border-radius:12px; padding:2px; margin:0 4px;}
.ptab{flex:1; border:none; background:transparent; border-radius:10px; padding:7px; font-size:12px; color:#666; cursor:pointer;}
.ptab.active{background:var(--primary); color:#fff; font-weight:600; font-size:12px;}
.cat-tags{display:flex; gap:6px; flex-wrap:wrap; padding:8px 4px 0;}
.ctag{border:1px solid #ddd; background:#fff; border-radius:14px; padding:3px 10px; font-size:10px; color:#666; cursor:pointer;}
.ctag.active{border-color:var(--primary); color:var(--primary-dark); font-weight:600;}
.add-task-bar{display:flex; gap:6px; padding:6px 4px 0; align-items:center; flex-wrap:wrap;}
.add-task-bar input{flex:1; border:none; background:rgba(255,255,255,0.7); border-radius:10px; padding:8px 10px; font-size:12px; outline:none;}
.add-task-bar input[type="date"]{flex:0 1 122px; min-width:110px;}
.add-task-bar select{border:none; background:rgba(255,255,255,0.7); border-radius:10px; padding:8px 6px; font-size:11px; color:#555; outline:none;}
.btn-add-green{background:var(--primary); color:#fff; border:none; border-radius:10px; padding:8px 12px; font-size:12px; cursor:pointer; font-weight:600; white-space:nowrap;}
.card{background:rgba(255,255,255,0.82); border-radius:14px; padding:12px; box-shadow:0 1px 4px rgba(0,0,0,0.04);}
.card.grow{flex:1;}
.task-progress{font-size:11px; color:var(--primary-dark);}
.plan-task-list{display:flex; flex-direction:column; gap:6px;}
.ptask{display:flex; align-items:center; gap:8px; padding:8px 10px; background:var(--card-tint); border-radius:10px;}
.ptask .pcheck{width:20px; height:20px; border-radius:50%; border:2px solid var(--primary); flex-shrink:0; cursor:pointer; display:flex; align-items:center; justify-content:center; color:#fff; font-size:11px;}
.ptask.done .pcheck{background:var(--primary);}
.ptask .ptxt{flex:1; font-size:12px; color:#4a4a4a;}
.ptask.done .ptxt{color:#aaa; text-decoration:line-through;}
.ptask .pcat{font-size:9px; padding:2px 8px; border-radius:8px; background:var(--accent-tint); color:var(--primary-dark);}
.ptask .pmeta{font-size:9px; color:var(--text-muted); white-space:nowrap;}
.ptask.priority-high{box-shadow:inset 3px 0 #ee8d8d;}
.ptask .pcoin{font-size:10px; color:var(--orange);}
.ptask .pdel{font-size:16px; color:#ccc; cursor:pointer; padding:0 2px; line-height:1;}
.reward-hint{text-align:center; font-size:11px; color:var(--text-muted); margin-top:8px; padding:8px; background:var(--card-tint); border-radius:10px;}

/* ===== 灵感页 ===== */
.idea-input-row{display:flex; gap:8px; align-items:flex-end;}
.idea-full{flex:1; border:none; background:var(--card-tint); border-radius:10px; padding:10px; font-size:13px; resize:none; outline:none;}
.idea-full::placeholder{color:var(--text-muted);}
.idea-list{display:flex; flex-direction:column; gap:6px; margin-top:8px;}
.idea-item{display:flex; align-items:center; gap:8px; padding:8px 10px; background:var(--card-tint); border-radius:10px; font-size:12px;}
.idea-item .itxt{flex:1;}
.idea-item .idel{cursor:pointer; color:#ccc; font-size:16px;}
.tip-text{font-size:11px; color:var(--text-muted); text-align:center; padding:6px 0;}

/* 视觉灵感 */
.vis-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:8px;}
.vis-item{background:var(--card-tint); border-radius:12px; padding:10px; display:flex; align-items:center; gap:8px; cursor:pointer;}
.vis-icon{font-size:22px;}
.vis-info{flex:1;}
.vis-title{font-size:12px; font-weight:600; color:#444; margin:0;}
.vis-item.full{grid-column:1/-1;}
.vis-item{position:relative; transition:transform .15s ease, box-shadow .15s ease;}
.vis-item:active{transform:scale(.97);}
.vis-item .vis-del{position:absolute; top:4px; right:6px; font-size:13px; color:#ccc; cursor:pointer; line-height:1; padding:2px;}
.vis-item .vis-del:hover{color:#e08b8b;}
.vis-desc{font-size:10px; color:var(--text-muted); margin:2px 0 0; line-height:1.4; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;}
.vis-empty{grid-column:1/-1; text-align:center; padding:22px 12px; background:var(--card-tint); border-radius:12px;}
.vis-empty-icon{font-size:30px; display:block; margin-bottom:6px;}
.vis-empty-txt{font-size:12px; color:#666; margin:0 0 4px;}
.vis-empty-sub{font-size:10px; color:var(--text-muted); margin:0 0 10px; line-height:1.6;}
.vis-empty .btn-sm{margin:0 3px;}

/* 收藏添加表单 */
.vis-head-btns{display:flex; gap:6px; align-items:center;}
.btn-sm-primary{border-color:var(--primary)!important; background:var(--accent-tint)!important; color:var(--primary-dark)!important; font-weight:600;}
.vis-form{background:var(--card-tint); border-radius:12px; padding:10px; margin-top:8px;}
.vis-form-label{font-size:10px; color:var(--text-muted); margin:0 0 6px;}
.vis-icon-picker{display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px;}
.vis-icon-opt{width:30px; height:30px; border-radius:9px; border:1.5px solid transparent; background:rgba(255,255,255,0.8); font-size:16px; cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0; transition:all .15s ease;}
.vis-icon-opt.active{border-color:var(--primary); background:#fff; transform:scale(1.08);}
.vis-form input, .vis-form textarea{width:100%; box-sizing:border-box; border:1px solid rgba(0,0,0,0.08); border-radius:9px; padding:7px 9px; font-size:12px; margin-bottom:6px; background:#fff; font-family:inherit; resize:none; outline:none;}
.vis-form input:focus, .vis-form textarea:focus{border-color:var(--primary);}
.vis-form-btns{display:flex; gap:6px; justify-content:flex-end; margin-top:2px;}

/* 视频上传区 */
.vis-video-row{display:flex; gap:6px; align-items:center; margin-bottom:2px;}
.vis-video-row input{flex:1; margin-bottom:0 !important;}
.vis-video-row .btn-sm{flex-shrink:0;}
.vis-file-hint{font-size:10px; color:var(--primary-dark); margin:4px 0 2px; line-height:1.5;}
.vis-video-badge{display:inline-block; font-size:9px; color:#fff; background:var(--primary); border-radius:6px; padding:1px 5px; margin-right:5px; vertical-align:middle; font-weight:700;}

/* 详情弹层视频 */
.detail-video{margin:2px 0 10px;}
.detail-video-frame{width:100%; aspect-ratio:16/9; border:none; border-radius:12px; background:#000; display:block;}

/* 收藏详情弹层内的链接 */
.pick-link{display:inline-block; margin-top:8px; font-size:12px; color:var(--primary-dark); word-break:break-all;}

/* ===== 知识页 ===== */
.know-tabs{display:flex; gap:6px; padding:0 4px; overflow-x:auto; scrollbar-width:none;}
.know-tabs::-webkit-scrollbar{display:none;}
.ktab{border:1px solid #ddd; background:#fff; border-radius:14px; padding:5px 10px; font-size:10px; color:#666; cursor:pointer; white-space:nowrap; flex-shrink:0;}
.ktab.active{border-color:var(--primary); background:var(--accent-tint); color:var(--primary-dark); font-weight:600;}
.kpanel{display:none;}
.kpanel.active{display:block;}

.en-intro{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; flex-wrap:wrap; gap:4px;}
.en-target{font-size:12px; font-weight:600; color:var(--primary-dark);}
.en-hint{font-size:10px; color:var(--text-muted); background:var(--card-tint); padding:2px 8px; border-radius:10px;}
.learn-grid{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.learn-card{background:var(--card-tint); border-radius:12px; padding:10px; display:flex; flex-direction:column;}
.lc-top{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:6px;}
.lc-icon{font-size:18px;}
.lc-tag{font-size:9px; color:#999; line-height:1.2; text-align:center;}
.lc-done{border:1px solid var(--primary); background:transparent; color:var(--primary-dark); border-radius:8px; font-size:9px; padding:3px 6px; cursor:pointer; line-height:1.3;}
.lc-done.done{background:var(--primary); color:#fff;}
.lc-en{margin:0; font-size:12px; font-weight:600; color:#333; line-height:1.4;}
.lc-word{margin:0; font-size:13px; font-weight:700; color:#333;}
.lc-word small{font-weight:400; color:#888;}
.lc-meaning{margin:2px 0; font-size:11px; color:#666;}
.lc-trans{margin:0; font-size:11px; color:#666; line-height:1.4;}
.lc-book{margin:0; font-size:12px; font-weight:600; color:#333;}
.lc-snippet{margin:4px 0; font-size:10px; color:#777; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
.lc-prompt{margin:0; font-size:11px; color:#555; line-height:1.4;}
.lc-tip{margin:4px 0 0; font-size:10px; color:var(--primary-dark);}
.lc-author{margin:4px 0 0; font-size:9px; color:#aaa;}
.btn-sm{border:1px solid #ddd; background:#fff; border-radius:12px; padding:3px 10px; font-size:10px; cursor:pointer; color:#666;}

/* 阅读日记 */
.read-tabs{display:flex; gap:0; background:rgba(255,255,255,0.6); border-radius:12px; padding:2px; margin-bottom:10px;}
.rtab{flex:1; border:none; background:transparent; border-radius:10px; padding:7px; font-size:12px; color:#666; cursor:pointer;}
.rtab.active{background:var(--primary); color:#fff; font-weight:600;}
.rpanel{display:none;}
.rpanel.active{display:block;}
.streak-card{background:linear-gradient(135deg,var(--card-tint),var(--accent-tint)); border-radius:14px; padding:12px; display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;}
.streak-left{display:flex; align-items:center; gap:6px;}
.streak-fire{font-size:24px;}
.streak-days{font-size:22px; font-weight:700; color:#333;}
.streak-right{text-align:right;}
.streak-desc{font-size:10px; color:var(--primary-dark); margin:0 0 6px;}
.btn-checkin{background:var(--primary); color:#fff; border:none; border-radius:12px; padding:6px 16px; font-size:12px; cursor:pointer; font-weight:600;}
.add-book-form{background:rgba(255,255,255,0.7); border-radius:12px; padding:10px; margin-bottom:10px;}
.book-fields{display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:8px;}
.book-fields input{border:1px solid #ddd; border-radius:8px; padding:7px 8px; font-size:12px; outline:none; background:#fff;}
.book-status-row{display:flex; justify-content:space-between; align-items:center;}
.book-status{font-size:11px; color:var(--primary-dark); font-weight:600;}
.book-list{display:flex; flex-direction:column; gap:6px;}
.book-item{display:flex; align-items:center; gap:8px; padding:8px 10px; background:var(--card-tint); border-radius:10px;}
.book-item .bicon{font-size:24px;}
.book-item .binfo{flex:1;}
.book-item .bname{font-size:12px; font-weight:600; color:#333; margin:0;}
.book-item .bmeta{font-size:10px; color:#888; margin:2px 0 0;}
.empty-state{text-align:center; color:var(--text-muted); font-size:12px; padding:20px 0;}
.rec-book-list{display:flex; flex-direction:column; gap:8px;}
.rec-book{display:flex; gap:10px; padding:10px; background:var(--card-tint); border-radius:12px; align-items:flex-start;}
.rec-book .rb-cover{width:44px; height:56px; border-radius:8px; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; flex-shrink:0;}
.rec-book .rb-info{flex:1;}
.rec-book .rb-title{font-size:13px; font-weight:600; color:#333; margin:0;}
.rec-book .rb-author{font-size:10px; color:#888; margin:2px 0;}
.rec-book .rb-tags{display:flex; gap:4px; flex-wrap:wrap; margin:4px 0;}
.rec-book .rb-tag{font-size:9px; padding:1px 8px; border-radius:8px; background:#fff; color:#888;}
.rec-book .rb-desc{font-size:10px; color:#777; margin:4px 0 0; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.btn-wait-read{border:1px solid var(--primary); background:transparent; color:var(--primary-dark); border-radius:10px; padding:4px 12px; font-size:10px; cursor:pointer; margin-top:4px;}
.btn-like-rec{width:100%; text-align:left; border:none; background:var(--card-tint); border-radius:12px; padding:10px; font-size:12px; color:#555; cursor:pointer; margin-top:8px;}

/* ===== 我的页 ===== */
.me-scroll{gap:10px; padding-bottom:40px;}
.settings-scroll{gap:10px; padding-bottom:40px;}
.water-scroll{gap:10px; padding-bottom:40px;}
.health-scroll{gap:10px; padding-bottom:40px;}
.chat-scroll{gap:10px; padding-bottom:40px;}
.me-card{display:flex; align-items:center; gap:12px; padding:12px 14px 4px;}
.profile-hero{position:relative; overflow:hidden; min-height:112px; padding:18px; border-radius:20px; background:linear-gradient(135deg,rgba(255,255,255,.96),color-mix(in srgb,var(--secondary) 26%,var(--card-tint))); box-shadow:0 8px 24px rgba(90,110,140,.09);}
.profile-hero:after{content:'✦'; position:absolute; right:15px; top:10px; font-size:46px; color:var(--primary); opacity:.13; transform:rotate(12deg);}
.profile-copy{min-width:0; position:relative; z-index:1;}
.profile-kicker{display:block; margin-bottom:4px; color:var(--text-muted); font-size:8px; font-weight:700; letter-spacing:1.4px;}
.avatar-edit-badge{position:absolute;right:14px;bottom:14px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--primary) 22%,transparent);border-radius:10px;background:rgba(255,255,255,.82);color:var(--primary-dark);font-size:9px;cursor:pointer;z-index:2;transition:transform .15s ease,background .15s ease;}.avatar-edit-badge:hover{background:#fff;transform:translateY(-1px);}.avatar-edit-badge:active{transform:scale(.96);}
/* 头像（支持图片上传） */
.me-avatar-wrap{
  width:56px; height:56px; border-radius:50%;
  background:linear-gradient(135deg,var(--primary),var(--primary-dark));
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; overflow:hidden; position:relative;
  flex-shrink:0; box-shadow:0 3px 10px rgba(0,0,0,0.08);
  transition:transform .2s ease;
}
.me-avatar-wrap:hover{ transform:scale(1.05); }
.me-avatar-wrap:active{ transform:scale(.95); }
.me-avatar-img{width:100%; height:100%; object-fit:cover; object-position:center; border-radius:50%; transform:scale(1.02);}
.me-avatar-fallback{color:#fff; font-size:24px; font-weight:600; line-height:1;}
.me-name{margin:0; font-size:16px; font-weight:600; color:var(--primary-dark);}
.me-sub{margin:2px 0 0; font-size:11px; color:var(--text-muted);}

/* ===== 左上角汉堡按钮（打开抽屉） ===== */
.ham-btn{
  background:none; border:none; font-size:22px; color:var(--primary-dark);
  cursor:pointer; padding:0 8px 0 2px; line-height:1; flex-shrink:0;
}
.start-ham{
  position:absolute; top:12px; left:12px; z-index:10;
  background:rgba(255,255,255,0.75); border:none; font-size:19px;
  color:var(--primary-dark); cursor:pointer; width:36px; height:36px;
  border-radius:50%; box-shadow:0 2px 8px rgba(0,0,0,0.08);
  display:flex; align-items:center; justify-content:center;
  transition:transform .15s ease;
}
.start-ham:active{transform:scale(.92);}

/* ===== 左侧功能抽屉 ===== */
.drawer-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,0.2); z-index:45;
  opacity:0; transition:opacity .25s ease; pointer-events:none;
}
.drawer-overlay.show{opacity:1; pointer-events:auto;}
.drawer{
  position:fixed; top:0; left:0; bottom:0; width:260px; max-width:75vw;
  background:#fff; z-index:46; box-shadow:4px 0 20px rgba(0,0,0,0.1);
  transform:translateX(-100%); transition:transform .3s ease;
  display:flex; flex-direction:column;
}
.drawer.show{transform:translateX(0);}
.drawer-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid #f0f0f0;
}
.drawer-title{margin:0; font-size:15px; font-weight:700; color:#444;}
.drawer-close{
  background:none; border:none; font-size:26px; color:#bbb; cursor:pointer;
  padding:0 4px; line-height:1;
}
.drawer-body{flex:1; overflow-y:auto; padding:8px 0;}
.drawer-item{
  display:flex; align-items:center; gap:12px; width:100%;
  border:none; background:none; padding:12px 18px;
  font-size:14px; color:#444; cursor:pointer; text-align:left;
  transition:background .15s ease;
}
.drawer-item:active,.drawer-item:hover{background:var(--card-tint);}
.drawer-icon{font-size:20px; flex-shrink:0;}
.drawer-divider{height:1px; background:#f0f0f0; margin:6px 14px;}
.drawer-group{margin:14px 18px 5px;color:#a6aca8;font-size:8px;font-weight:700;letter-spacing:1.5px}.drawer-group:first-child{margin-top:6px}.drawer-featured{background:linear-gradient(90deg,var(--card-tint),rgba(255,255,255,.5))!important;color:var(--primary-dark)!important;font-weight:700}
.settings-card{padding:14px; border-radius:18px; box-shadow:0 5px 18px rgba(90,110,140,.055);}
.settings-title-row{display:flex; align-items:center; gap:9px; margin-bottom:12px;}
.settings-title-row>div{flex:1; min-width:0;}
.settings-icon{width:32px; height:32px; display:flex; align-items:center; justify-content:center; border-radius:11px; background:var(--card-tint); font-size:16px;}
.me-label{margin:0; font-size:13px; color:#555; font-weight:700;}
.settings-desc{margin:2px 0 0; font-size:9px; color:var(--text-muted);}
.settings-note{margin:8px 0 0 76px; font-size:9px; color:var(--text-muted);}
.theme-picker{display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.theme-categories{display:flex;gap:5px;overflow-x:auto;margin:-2px 0 10px;padding-bottom:2px;scrollbar-width:none;}.theme-categories::-webkit-scrollbar{display:none}.theme-categories button{flex:0 0 auto;border:1px solid rgba(0,0,0,.07);border-radius:12px;padding:5px 9px;background:#fff;color:#888;font-size:8px;cursor:pointer}.theme-categories button.active{border-color:var(--primary);background:var(--card-tint);color:var(--primary-dark);font-weight:700}.theme-filter-hidden{display:none!important;}
.theme-dot{position:relative; display:grid; grid-template-columns:28px 1fr 16px; grid-template-rows:auto auto; column-gap:8px; text-align:left; border:1.5px solid transparent; background:linear-gradient(135deg,#fff,var(--dot2)); border-radius:14px; padding:10px; color:#666; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;}
.theme-dot span{grid-row:1/3; align-self:center; width:28px; height:28px; border-radius:10px; background:linear-gradient(135deg,var(--dot),var(--dot2)); box-shadow:inset 0 0 0 4px rgba(255,255,255,.45);}
.theme-dot b{font-size:10px; font-weight:700; align-self:end;}
.theme-dot small{font-size:8px; color:#999; align-self:start; margin-top:1px;}
.theme-dot i{display:none; grid-column:3; grid-row:1/3; align-self:center; justify-self:end; width:16px; height:16px; border-radius:50%; background:var(--dot); color:#fff; font-size:10px; font-style:normal; text-align:center; line-height:16px;}
.theme-dot.active{border-color:var(--dot); color:var(--primary-dark); box-shadow:0 4px 12px rgba(90,110,140,.1); transform:translateY(-1px);}
.theme-dot.active i{display:block;}
.theme-dot.vivid span{background:linear-gradient(135deg,var(--dot) 10%,var(--dot2) 90%);}
.theme-dot.vivid{background:linear-gradient(135deg,color-mix(in srgb,var(--dot) 10%,#fff),color-mix(in srgb,var(--dot2) 18%,#fff));}
.theme-dot.pattern-dot span{background-color:#f8f3e8;background-image:radial-gradient(var(--dot) 1.7px,transparent 1.8px);background-size:8px 8px;}
.theme-dot.pattern-cherry span{background-color:#fff2ed;background-image:radial-gradient(circle at 30% 35%,var(--dot) 0 3px,transparent 3.5px),radial-gradient(circle at 67% 68%,var(--dot2) 0 2px,transparent 2.5px);}
.theme-dot.pattern-grid span{background-color:#f6f3ee;background-image:linear-gradient(rgba(113,145,129,.35) 1px,transparent 1px),linear-gradient(90deg,rgba(113,145,129,.35) 1px,transparent 1px);background-size:7px 7px;}
.theme-dot.pattern-check span{background-color:#fff8dc;background-image:linear-gradient(45deg,rgba(215,173,60,.32) 25%,transparent 25% 75%,rgba(120,147,184,.25) 75%),linear-gradient(45deg,rgba(120,147,184,.18) 25%,transparent 25% 75%,rgba(215,173,60,.22) 75%);background-size:10px 10px;background-position:0 0,5px 5px;}
.theme-dot.pattern-ribbon span{background:linear-gradient(135deg,#eef0f7 35%,var(--dot2) 36% 43%,#eef0f7 44% 58%,var(--dot) 59% 66%,#eef0f7 67%);}

/* 韩系图案皮肤：纹理只落在外层背景，卡片仍保持干净易读。 */
body[data-theme="seouldot"] .phone{background-color:#faf7ef;background-image:radial-gradient(rgba(47,52,55,.16) 1.15px,transparent 1.3px),radial-gradient(circle at 88% 8%,rgba(217,182,111,.3),transparent 30%);background-size:17px 17px,auto;}
body[data-theme="cherry"] .phone{background-color:#fff7f4;background-image:radial-gradient(circle at 8px 8px,rgba(201,79,85,.16) 0 2.2px,transparent 2.5px),radial-gradient(circle at 13px 12px,rgba(111,146,120,.13) 0 1.3px,transparent 1.6px);background-size:31px 31px;}
body[data-theme="gingham"] .phone{background-color:#f4f7f3;background-image:linear-gradient(rgba(113,145,129,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(113,145,129,.07) 1px,transparent 1px),linear-gradient(rgba(214,165,168,.06) 6px,transparent 6px),linear-gradient(90deg,rgba(214,165,168,.06) 6px,transparent 6px);background-size:22px 22px,22px 22px,44px 44px,44px 44px;}
body[data-theme="butter"] .phone{background-color:#fffbee;background-image:linear-gradient(45deg,rgba(215,173,60,.07) 25%,transparent 25% 75%,rgba(120,147,184,.06) 75%),linear-gradient(45deg,rgba(120,147,184,.05) 25%,transparent 25% 75%,rgba(215,173,60,.06) 75%);background-position:0 0,18px 18px;background-size:36px 36px;}
body[data-theme="blueberry"] .phone{background-color:#f7f5fc;background-image:radial-gradient(ellipse at 15% 10%,rgba(197,148,168,.18),transparent 26%),radial-gradient(ellipse at 88% 35%,rgba(102,113,156,.15),transparent 28%),repeating-linear-gradient(135deg,transparent 0 28px,rgba(102,113,156,.035) 29px 30px);}
body[data-theme="cookie"] .phone{background-color:#fbf6ed;background-image:radial-gradient(rgba(128,108,90,.17) 1.7px,transparent 1.9px),radial-gradient(rgba(221,191,154,.22) 2.5px,transparent 2.8px);background-size:23px 23px,47px 47px;background-position:0 0,11px 13px;}
body[data-theme="dalmatian"] .phone{background-color:#f7f7f4;background-image:radial-gradient(ellipse at center,rgba(61,65,68,.17) 0 2px,transparent 2.4px),radial-gradient(ellipse at center,rgba(61,65,68,.1) 0 3px,transparent 3.5px);background-size:31px 37px,53px 47px;background-position:2px 3px,17px 21px;}
body[data-theme="pinkdot"] .phone{background-color:#fff7f9;background-image:radial-gradient(rgba(217,137,165,.18) 1.4px,transparent 1.7px),radial-gradient(rgba(242,205,216,.28) 2px,transparent 2.3px);background-size:18px 18px,39px 39px;background-position:0 0,8px 9px;}
body[data-theme="seouldot"] .card,body[data-theme="cherry"] .card,body[data-theme="gingham"] .card,body[data-theme="butter"] .card,body[data-theme="blueberry"] .card,body[data-theme="cookie"] .card,body[data-theme="dalmatian"] .card,body[data-theme="pinkdot"] .card{backdrop-filter:blur(6px);background:rgba(255,255,255,.86);}

/* ===== 头像裁剪器 ===== */
.avatar-crop-mask{position:absolute;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(30,33,35,.48);backdrop-filter:blur(5px)}.avatar-crop-sheet{width:min(360px,100%);padding:16px;border-radius:22px;background:#fff;box-shadow:0 16px 50px rgba(0,0,0,.2)}.crop-title{display:flex;align-items:center;margin-bottom:12px}.crop-title>div{flex:1}.crop-title b{display:block;color:#444;font-size:14px}.crop-title small{display:block;margin-top:2px;color:#aaa;font-size:9px}.crop-title button{border:0;background:none;color:#aaa;font-size:24px;cursor:pointer}.avatar-crop-stage{position:relative;width:min(270px,76vw);aspect-ratio:1;margin:0 auto;overflow:hidden;touch-action:none;background:#ecebea}.avatar-crop-stage>img{position:absolute;max-width:none;user-select:none;pointer-events:none}.crop-circle-guide{position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 70px rgba(0,0,0,.45),inset 0 0 0 2px rgba(255,255,255,.9);pointer-events:none}.crop-zoom{display:flex;align-items:center;gap:10px;margin:14px 4px;color:#777;font-size:10px}.crop-zoom input{flex:1;accent-color:var(--primary)}.crop-actions{display:flex;gap:8px}.crop-actions button{padding:9px}.chat-avatar-lg{overflow:hidden}.chat-avatar-lg img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.text-card-mask{position:absolute;inset:0;z-index:72;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(30,33,35,.5);backdrop-filter:blur(6px)}.text-card-sheet{display:flex;flex-direction:column;width:min(520px,100%);max-height:92%;padding:16px;border-radius:22px;background:#fff;box-shadow:0 18px 55px rgba(0,0,0,.22)}.text-card-preview{flex:1;min-height:180px;overflow:auto;display:flex;align-items:flex-start;justify-content:center;padding:12px;border-radius:14px;background:#efeee9}.text-card-preview img{display:block;width:auto;max-width:100%;max-height:52vh;border-radius:5px;box-shadow:0 7px 22px rgba(40,40,35,.13)}.text-card-controls{display:grid;grid-template-columns:1fr 1.4fr;gap:9px;margin:12px 0}.text-card-controls label{color:#777;font-size:9px}.text-card-controls select{display:block;width:100%;margin-top:4px;border:1px solid #ddd;border-radius:9px;padding:7px;background:#fff;color:#666;font-size:10px}.text-card-controls input{display:block;width:100%;margin-top:7px;accent-color:var(--primary)}.text-card-controls label span{float:right;color:var(--primary-dark);font-weight:700}
@media(max-width:480px){.text-card-mask{padding:8px}.text-card-sheet{max-height:96%;padding:13px}.text-card-preview img{max-height:48vh}.text-card-controls{grid-template-columns:1fr}}
.text-card-controls input[type="text"]{display:block;width:100%;margin-top:4px;border:1px solid #ddd;border-radius:9px;padding:7px;background:#fff;color:#666;font-size:10px;accent-color:auto}.text-card-controls input[type="range"]{padding:0;border:0}.text-card-footer-field{grid-column:1/-1}.text-card-check{grid-column:1/-1;display:flex;align-items:center;gap:6px;padding:4px 1px}.text-card-check input{width:auto!important;margin:0!important;accent-color:var(--primary)}
.btn-record,.btn-add-green,.btn-generate,.btn-save,.fab-main{background:linear-gradient(135deg,var(--primary),var(--secondary));}
.page-header{background:linear-gradient(90deg,color-mix(in srgb,var(--primary) 10%,transparent),color-mix(in srgb,var(--secondary) 12%,transparent));}
.version-pill{padding:4px 8px; border-radius:10px; background:var(--card-tint); color:var(--primary-dark); font-size:9px; font-weight:700;}
.about-card .settings-title-row{margin-bottom:8px;}
.data-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:10px;}
.data-summary div{text-align:center;padding:8px 4px;border-radius:11px;background:var(--card-tint);}
.data-summary b{display:block;color:var(--primary-dark);font-size:15px;}
.data-summary span{display:block;margin-top:1px;color:var(--text-muted);font-size:8px;}
.data-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.data-btn{display:grid;grid-template-columns:24px 1fr;grid-template-rows:auto auto;column-gap:6px;text-align:left;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:9px;background:#fff;color:#666;cursor:pointer;}
.data-btn>span{grid-row:1/3;align-self:center;width:24px;height:24px;border-radius:8px;background:var(--card-tint);color:var(--primary-dark);font-size:17px;line-height:22px;text-align:center;}
.data-btn b{font-size:9px;align-self:end;}.data-btn small{font-size:7px;color:#aaa;align-self:start;}
.data-btn.primary{border-color:color-mix(in srgb,var(--primary) 45%,#fff);}.data-btn.danger>span{background:#fff0f0;color:#c66;}
.settings-note.data-note{margin:9px 0 0;line-height:1.5;}
.life-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.life-form label{font-size:9px;color:var(--text-muted);}.life-form input{display:block;width:100%;margin-top:4px;border:1px solid #e6e2dc;border-radius:10px;padding:8px;background:#fff;color:#555;}
.life-form label:nth-child(3),.life-form .btn-save{grid-column:1/-1;}
.life-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:10px;}
.life-stats div{text-align:center;border-radius:12px;padding:9px 4px;background:var(--card-tint);}.life-stats b{display:block;color:var(--primary-dark);font-size:13px;}.life-stats span{display:block;margin-top:2px;color:var(--text-muted);font-size:7px;}

/* ===== 我的星球 ===== */
.diary-scroll{padding-bottom:48px;}.diary-compose{background:linear-gradient(145deg,rgba(255,255,255,.94),color-mix(in srgb,var(--secondary) 12%,#fff));}
.diary-compose-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#555;font-size:13px;font-weight:700;}.diary-compose-head small{color:var(--text-muted);font-size:8px;font-weight:500;}
.diary-compose textarea{width:100%;border:0;outline:0;resize:vertical;border-radius:12px;padding:11px;background:rgba(255,255,255,.8);font:inherit;font-size:12px;line-height:1.65;color:#444;}
.diary-fields{display:grid;grid-template-columns:110px 1fr 1fr;gap:7px;margin-top:8px;}.diary-fields input,.diary-fields select{min-width:0;border:1px solid rgba(0,0,0,.07);border-radius:10px;padding:8px;background:#fff;color:#666;font-size:10px;}
.diary-media-tools{display:flex;align-items:center;gap:8px;margin-top:9px;}.diary-media-tools>span{flex:1;color:var(--text-muted);font-size:8px;}.diary-media-tools .btn-record{width:auto;padding:8px 14px;}
.text-card-option{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed rgba(70,75,72,.08)}.text-card-option label{display:flex;align-items:center;gap:4px;color:#7f8782;font-size:9px}.text-card-option input{accent-color:var(--primary)}.text-card-option select{border:1px solid rgba(70,75,72,.08);border-radius:9px;padding:5px 7px;background:#fff;color:#777;font-size:8px}
.diary-feed{display:flex;flex-direction:column;gap:12px;max-width:720px;width:100%;margin:0 auto;}.diary-post{border-radius:18px;padding:15px;background:rgba(255,255,255,.88);box-shadow:0 5px 18px rgba(70,70,90,.06);}
.diary-post header{display:flex;align-items:center;gap:9px;}.diary-post header>div:nth-child(2){flex:1;}.diary-post header b{display:block;color:#444;font-size:12px;}.diary-post header small{display:block;margin-top:2px;color:#aaa;font-size:8px;}.diary-post header button{border:0;background:none;color:#aaa;cursor:pointer;}
.diary-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(70,80,90,.08);}
.diary-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%;transform:scale(1.08);}
.earth-badge{display:inline-block;margin:10px 0 0;padding:4px 8px;border-radius:10px;background:var(--card-tint);color:var(--primary-dark);font-size:8px;}.diary-content{white-space:pre-wrap;margin:10px 1px;color:#444;font-size:12px;line-height:1.75;}
.diary-media{display:grid;grid-template-columns:1fr;gap:4px;overflow:hidden;border-radius:13px;}.diary-media.multi{grid-template-columns:repeat(3,1fr);}.diary-media img,.diary-media video{width:100%;max-height:430px;object-fit:cover;border-radius:8px;background:#111;}.diary-media.multi img{aspect-ratio:1;}
.text-card-media{position:relative;min-width:0}.text-card-media img{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:auto!important}.text-card-media button{position:absolute;right:9px;bottom:9px;border:1px solid rgba(255,255,255,.55);border-radius:12px;padding:6px 10px;background:rgba(35,38,36,.66);backdrop-filter:blur(6px);color:#fff;font-size:8px;cursor:pointer}.diary-media.multi .text-card-media{grid-column:span 2}
.diary-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}.diary-tags span{color:var(--primary-dark);font-size:9px;}.diary-post footer{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:8px;border-top:1px solid rgba(0,0,0,.05);}.diary-post footer>span{flex:1;color:#888;font-size:9px;}.diary-post footer button{border:0;border-radius:10px;padding:5px 8px;background:var(--card-tint);color:#888;font-size:8px;cursor:pointer;}.diary-post footer button.liked{color:var(--primary-dark);font-weight:700;}
.diary-post footer button:disabled{opacity:.55;cursor:default}
.future-comment{margin-top:8px;padding:8px 10px;border-radius:10px;background:#f7f5f1;color:#777;font-size:9px;}.diary-empty{text-align:center;padding:45px 15px;color:#999;}.diary-empty span{display:block;font-size:34px}.diary-empty b{display:block;margin-top:7px;color:#666}.diary-empty p{font-size:10px;}

/* ===== 富媒体菜谱 ===== */
.media-upload-row{display:flex;align-items:center;gap:7px;margin-bottom:9px;}.media-upload-row>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:8px;}
.dish-item.dish-rich{cursor:pointer;padding:7px;}.dish-cover{width:52px;height:52px;flex:0 0 52px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--card-tint);font-size:22px;overflow:hidden;}.dish-cover img{width:100%;height:100%;object-fit:cover;}.dish-copy{display:flex;flex-direction:column;flex:1;min-width:0;}.dish-copy small{margin-top:3px;color:var(--text-muted);font-size:8px;}.dish-detail-image,.detail-video>video{display:block;width:100%;max-height:420px;object-fit:cover;border-radius:12px;background:#111;margin-bottom:8px;}
.diet-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:10px}.diet-summary div{text-align:center;padding:11px 5px;border-radius:13px;background:var(--card-tint)}.diet-summary b{display:block;color:var(--primary-dark);font-size:17px}.diet-summary span{display:block;margin-top:2px;color:#999;font-size:7px}.diet-summary .over{background:#fff0ed}.diet-summary .over b{color:#c66}.diet-form{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:11px;border:1px solid rgba(70,75,72,.055);border-radius:14px;background:rgba(255,255,255,.72)}.diet-form input,.diet-form select,.diet-form label{min-width:0;border:1px solid rgba(70,75,72,.08);border-radius:10px;padding:8px;background:#fff;color:#666;font-size:10px}.diet-form label{display:flex;align-items:center;gap:4px}.diet-form label input{width:70%;border:0;padding:0}.diet-form>span{align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aaa;font-size:8px}.diet-form .btn-add-green{grid-column:1/-1}.meal-list{display:flex;flex-direction:column;gap:7px;margin-top:10px}.meal-item{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(70,75,72,.05);border-radius:13px;background:rgba(255,255,255,.76)}.meal-type,.meal-photo{width:32px;height:32px;flex:0 0 32px;border:0;border-radius:10px;display:grid;place-items:center;background:var(--card-tint);color:var(--primary-dark);font-size:13px}.meal-photo{cursor:pointer}.meal-item>div{flex:1;min-width:0}.meal-item b{display:block;color:#555;font-size:10px}.meal-item small{display:block;margin-top:2px;color:#aaa;font-size:7px}.meal-item strong{color:var(--primary-dark);font-size:10px;white-space:nowrap}.meal-del{border:0;background:none;color:#ccc;font-size:16px;cursor:pointer}
.about{background:rgba(255,255,255,0.7); border-radius:12px; padding:12px; font-size:11px; color:var(--text-muted); line-height:1.8;}
.setting-row{display:flex; gap:8px; align-items:center; margin-top:8px;}
.setting-row label{font-size:11px; color:#666; white-space:nowrap;}
.setting-row input{flex:1; border:1px solid #ddd; border-radius:10px; padding:7px 10px; font-size:12px; outline:none; background:#fff;}
.setting-row input:focus{border-color:var(--primary);}

/* 子面板 */
.sub-panel{display:block;}
.sub-panel.hidden{display:none;}
.hidden{display:none !important;}

/* 健康管理 */
.health-tabs{display:flex; gap:4px; padding:0 4px; overflow-x:auto; scrollbar-width:none; flex-wrap:wrap;}
.health-tabs::-webkit-scrollbar{display:none;}
.htab{border:1px solid #ddd; background:#fff; border-radius:12px; padding:5px 10px; font-size:10px; color:#666; cursor:pointer; white-space:nowrap;}
.htab.active{border-color:var(--primary); background:var(--accent-tint); color:var(--primary-dark); font-weight:600;}
.hpanel{display:none;}
.hpanel.active{display:block;}
.hp-tip{font-size:11px; color:var(--text-muted); margin-bottom:8px;}

/* ===== 喝水打卡 ===== */
.water-hero{display:flex; align-items:center; gap:14px; background:rgba(255,255,255,0.72); border:1px solid rgba(0,0,0,0.04); border-radius:18px; padding:14px 16px; margin-bottom:10px;}
.water-bottle{flex-shrink:0; line-height:0;}
#waterFill{transition:y .6s cubic-bezier(.4,0,.2,1);}
.water-info{flex:1; min-width:0;}
.water-count{margin:0; font-size:30px; font-weight:700; color:var(--primary-dark); line-height:1.1;}
.water-total{font-size:14px; font-weight:500; color:var(--text-muted);}
.water-ml{margin:2px 0 8px; font-size:11px; color:var(--text-muted);}
.water-bar{height:7px; border-radius:6px; background:var(--card-tint); overflow:hidden;}
.water-bar-fill{height:100%; width:0%; border-radius:6px; background:linear-gradient(90deg,var(--primary),var(--primary-dark)); transition:width .5s ease;}
.water-next{margin:8px 0 0; font-size:11px; color:var(--primary-dark); line-height:1.5;}

.water-stats{display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-bottom:12px;}
.wstat{background:var(--card-tint); border-radius:12px; padding:9px 4px; text-align:center;}
.wstat-num{margin:0; font-size:17px; font-weight:700; color:var(--primary-dark);}
.wstat-label{margin:2px 0 0; font-size:10px; color:var(--text-muted);}
.water-proof{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin-bottom:12px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.76);border:1px solid rgba(0,0,0,.05);}.water-proof p{margin:0}.water-proof .btn-sm{white-space:nowrap}.water-proof-preview{grid-column:1/-1;display:flex;align-items:center;gap:8px;padding:7px;border-radius:10px;background:var(--card-tint);}.water-proof-preview img,.water-proof-preview video{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#111}.water-proof-preview span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777;font-size:9px}.water-proof-preview button{border:0;background:none;color:#aaa;font-size:18px;cursor:pointer}.water-media-view{border:0;border-radius:9px;padding:5px;background:var(--card-tint);cursor:pointer;font-size:13px;}

.water-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:8px;}
.water-edit-btn{border:1px solid #ddd; background:#fff; border-radius:10px; padding:4px 10px; font-size:10px; color:#666; cursor:pointer;}
.water-edit-btn:active{background:var(--accent-tint);}

.water-edit{background:rgba(255,255,255,0.8); border:1px solid rgba(0,0,0,0.05); border-radius:14px; padding:12px; margin-bottom:10px;}
.water-time-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:6px; margin-bottom:10px;}
.wt-row{display:flex; align-items:center; gap:6px; background:var(--card-tint); border-radius:10px; padding:5px 8px;}
.wt-row span{font-size:10px; color:var(--text-muted); white-space:nowrap;}
.wt-row input{flex:1; min-width:0; border:1px solid #ddd; border-radius:7px; padding:4px 5px; font-size:11px; outline:none; background:#fff; color:#555;}

.water-list{display:flex; flex-direction:column; gap:6px; margin-bottom:12px;}
.wcup{display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.72); border:1px solid rgba(0,0,0,0.05); border-radius:14px; padding:9px 12px; cursor:pointer; transition:all .2s ease;}
.wcup.locked{opacity:.55;cursor:not-allowed;}.wcup.makeup{border-style:dashed;}.wcup.makeup .wcup-badge{color:#b78c65;background:#fff4e8;}
.water-makeup-left{margin-left:auto;padding:4px 8px;border-radius:10px;background:#fff4e8;color:#a87954;font-size:9px;white-space:nowrap}.water-head{gap:7px}.water-head .water-edit-btn{margin-left:0}
.wcup:active{transform:scale(.985);}
.wcup-icon{width:32px; height:32px; border-radius:50%; background:var(--card-tint); display:flex; align-items:center; justify-content:center; font-size:16px; flex-shrink:0; transition:all .25s ease;}
.wcup-main{flex:1; min-width:0;}
.wcup-time{margin:0; font-size:13px; font-weight:600; color:#444;}
.wcup-desc{margin:1px 0 0; font-size:10px; color:var(--text-muted);}
.wcup-badge{font-size:10px; padding:3px 9px; border-radius:9px; background:var(--card-tint); color:var(--text-muted); white-space:nowrap; flex-shrink:0;}
.wcup.done{background:var(--accent-tint); border-color:var(--primary);}
.wcup.done .wcup-icon{background:var(--primary); }
.wcup.done .wcup-time{color:var(--primary-dark);}
.wcup.done .wcup-badge{background:var(--primary); color:#fff;}
.wcup.now{border-color:var(--primary); box-shadow:0 0 0 2px var(--accent-tint);}
.wcup.now .wcup-badge{background:var(--primary-dark); color:#fff;}
.wcup.now .wcup-icon{animation:waterPulse 1.6s ease-in-out infinite;}
@keyframes waterPulse{0%,100%{transform:scale(1);}50%{transform:scale(1.12);}}

.water-remind{display:flex; align-items:center; justify-content:space-between; gap:10px; background:rgba(255,255,255,0.72); border:1px solid rgba(0,0,0,0.05); border-radius:14px; padding:11px 14px; margin-bottom:8px;}
.wr-title{margin:0; font-size:12px; font-weight:600; color:#444;}
.wr-sub{margin:2px 0 0; font-size:10px; color:var(--text-muted);}
.wswitch{position:relative; display:inline-block; width:42px; height:24px; flex-shrink:0;}
.wswitch input{opacity:0; width:0; height:0;}
.wslider{position:absolute; inset:0; background:#dcdcdc; border-radius:24px; cursor:pointer; transition:.25s;}
.wslider:before{content:''; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%; transition:.25s; box-shadow:0 1px 3px rgba(0,0,0,.15);}
.wswitch input:checked + .wslider{background:var(--primary);}
.wswitch input:checked + .wslider:before{transform:translateX(18px);}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:8px;}
.form-grid input{border:1px solid #ddd; border-radius:8px; padding:8px; font-size:12px; outline:none; background:#fff;}
.form-actions{display:flex; gap:8px;}
.btn-save{flex:1; background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; border:none; border-radius:10px; padding:8px; font-size:12px; cursor:pointer; font-weight:600;}
.btn-cancel{flex:1; background:#eee; color:#666; border:none; border-radius:10px; padding:8px; font-size:12px; cursor:pointer;}
.dish-list,.sport-list{display:flex; flex-direction:column; gap:6px; margin-top:8px;}
.dish-item,.sport-item{display:flex; align-items:center; gap:8px; padding:8px 10px; background:var(--card-tint); border-radius:10px; font-size:12px;}
.dish-item .dname{flex:1; font-weight:600;}
.dish-item .dcat{font-size:10px; color:#888;}
.sport-item .sname{flex:1;}
.sport-item .sdur{font-size:10px; color:var(--primary-dark);}
.sport-item .smeta{font-size:10px; color:var(--text-muted); flex-shrink:0;}
.sport-form .btn-add-green{grid-column:1/-1;}

.body-form{background:rgba(255,255,255,0.7); border-radius:12px; padding:12px;}
.body-row{display:grid; grid-template-columns:auto 1fr auto 1fr; gap:6px; align-items:center; margin-bottom:6px;}
.body-row label{font-size:11px; color:#666; white-space:nowrap;}
.body-row input,.body-row select{border:1px solid #ddd; border-radius:8px; padding:6px 8px; font-size:12px; outline:none; background:#fff;}
.nutri-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin:12px 0;}
.nutri-item{text-align:center; background:var(--card-tint); border-radius:10px; padding:8px 4px;}
.nutri-num{margin:0; font-size:16px; font-weight:700; color:var(--primary-dark);}
.nutri-label{margin:2px 0 0; font-size:9px; color:#888; line-height:1.3;}
.btn-generate{width:100%; background:linear-gradient(135deg,var(--primary),var(--secondary)); color:#fff; border:none; border-radius:12px; padding:10px; font-size:13px; cursor:pointer; font-weight:600;}
.sport-form{display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:10px;}
.sport-form input{border:1px solid #ddd; border-radius:8px; padding:8px; font-size:12px; outline:none; background:#fff;}

/* 日历 */
.cal-nav{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;}
.cal-nav button{border:1px solid #ddd; background:#fff; border-radius:10px; padding:4px 12px; font-size:11px; cursor:pointer; color:#555;}
.cal-nav span{font-size:14px; font-weight:600; color:var(--primary-dark);}
.cal-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-bottom:10px;}
.cal-stat{text-align:center; background:var(--card-tint); border-radius:10px; padding:8px 4px;}
.cal-num{margin:0; font-size:16px; font-weight:700; color:var(--primary-dark);}
.cal-label{margin:2px 0 0; font-size:9px; color:#888;}
.calendar{background:rgba(255,255,255,0.7); border-radius:12px; padding:10px;}
.cal-week{display:grid; grid-template-columns:repeat(7,1fr); gap:2px; text-align:center; font-size:10px; color:#999; margin-bottom:4px;}
.cal-days{display:grid; grid-template-columns:repeat(7,1fr); gap:2px;}
.cal-day{aspect-ratio:1; display:flex; align-items:center; justify-content:center; border-radius:8px; font-size:11px; color:#555; cursor:pointer;}
.cal-day.today{border:2px solid var(--primary); font-weight:600;}
.cal-day.has-data{background:var(--accent-tint); color:var(--primary-dark);}
.cal-day.empty{color:#ddd; cursor:default;}
.cal-day.other-month{color:#ccc;}

/* AI对话/闲话铺 */
.chat-welcome{text-align:center; padding:20px 16px 16px;}
.chat-avatar-lg{width:64px; height:64px; border-radius:50%; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); display:flex; align-items:center; justify-content:center; font-size:32px; margin:0 auto 10px;}
.chat-date{font-size:11px; color:var(--text-muted); margin:0 0 4px;}
.chat-greet{margin:0; font-size:22px; font-weight:700; color:var(--primary-dark);}
.chat-encourage{margin:6px 0; font-size:13px; color:#555; line-height:1.5;}
.chat-flatter{margin:0; font-size:11px; color:var(--text-muted); line-height:1.5;}
.btn-start-day{background:linear-gradient(135deg,#fff,#f5f5f5); border:1px solid #ddd; border-radius:20px; padding:10px 36px; font-size:14px; color:#444; cursor:pointer; font-weight:600; margin:14px auto 6px; display:inline-block;}
.chat-hint{font-size:10px; color:var(--text-muted);}
.chat-area{flex:1; display:flex; flex-direction:column; gap:8px; padding:0 12px; overflow-y:auto; max-height:200px;}
.chat-msg{display:flex; gap:6px;}
.chat-msg.bot{justify-content:flex-start;}
.chat-msg.user{justify-content:flex-end;}
.msg-bubble{max-width:80%; padding:8px 12px; border-radius:12px; font-size:12px; line-height:1.5; word-break:break-word;}
.bot .msg-bubble{background:var(--card-tint); color:#444; border-bottom-left-radius:4px;}
.user .msg-bubble{background:var(--primary); color:#fff; border-bottom-right-radius:4px;}
.chat-input-row{display:flex; gap:6px; padding:8px 12px; align-items:center;}
.chat-input-row input{flex:1; border:1px solid #ddd; border-radius:20px; padding:8px 14px; font-size:12px; outline:none; background:#fff;}
.btn-send{background:var(--primary); color:#fff; border:none; border-radius:20px; padding:8px 14px; font-size:12px; cursor:pointer; font-weight:600;}

/* ===== FAB ===== */
.tabbar{position:relative;}
.fab-wrap{position:relative; width:44px; height:44px; display:flex; align-items:center; justify-content:center;}
.fab{
  width:40px; height:40px; border-radius:50%; background:var(--primary);
  color:#fff; font-size:24px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 3px 10px rgba(0,0,0,0.12); cursor:pointer; z-index:5;
  transition:transform .2s ease;
}
.fab:active{transform:scale(.9);}
.fab-menu{position:absolute; bottom:70px; left:50%; transform:translateX(-50%); z-index:30;}
.fab-overlay{position:fixed; inset:0; background:rgba(0,0,0,0.15); z-index:-1;}
.fab-panel{background:#fff; border-radius:16px; padding:10px; box-shadow:0 8px 30px rgba(0,0,0,0.12); min-width:140px; display:flex; flex-direction:column; gap:4px;}
.fab-item{display:flex; align-items:center; gap:8px; border:none; background:none; padding:10px 14px; border-radius:10px; font-size:13px; color:#444; cursor:pointer; text-align:left;}
.fab-item:hover{background:var(--card-tint);}
.fab-item-icon{font-size:18px;}

/* ===== 底部导航 ===== */
.tabbar{
  background:rgba(255,255,255,0.85); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  padding:6px 0 16px; display:flex; justify-content:space-around; border-top:0.5px solid rgba(0,0,0,0.05);
}
.tab{background:none; border:none; cursor:pointer; display:flex; flex-direction:column; align-items:center; gap:1px; color:#bbb; min-width:48px;}
.tab p{margin:0; font-size:9px;}
.tab.active{color:var(--primary);}

/* ===== Toast ===== */
.toast{
  position:fixed; left:50%; bottom:90px; transform:translateX(-50%) translateY(10px);
  background:rgba(40,40,40,0.85); color:#fff; font-size:12px;
  padding:8px 16px; border-radius:20px; opacity:0; pointer-events:none;
  transition:opacity .25s ease, transform .25s ease; z-index:50;
}
.toast.show{opacity:1; transform:translateX(-50%) translateY(0);}

/* ===== 详情阅读弹层 ===== */
.detail-mask{position:absolute; inset:0; background:rgba(0,0,0,0.35); z-index:40; display:flex; align-items:flex-end; animation:fadeIn .2s ease;}
.detail-mask.hidden{display:none;}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
.detail-sheet{background:#fff; width:100%; border-radius:18px 18px 0 0; padding:14px 16px 24px; max-height:80%; overflow-y:auto; animation:slideUp .28s ease;}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.detail-handle{width:36px; height:4px; border-radius:2px; background:#e0e0e0; margin:0 auto 10px;}
.detail-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:4px;}
.detail-tag{font-size:10px; padding:2px 10px; border-radius:10px; background:var(--card-tint); color:var(--primary-dark);}
.detail-close{border:none; background:none; font-size:24px; color:#bbb; cursor:pointer; line-height:1; padding:0 4px;}
.detail-title{margin:4px 0 8px; font-size:16px; font-weight:700; color:var(--primary-dark);}
.detail-body{font-size:13px; color:#555; line-height:1.75; white-space:pre-line;}
.detail-src{margin:14px 0 0; font-size:10px; color:var(--text-muted); border-top:1px solid #f2f2f2; padding-top:10px; line-height:1.6;}

/* ===== 真机全屏 ===== */
@media (max-width:480px){
  body{background:var(--bg1);}
  .stage{padding:0;}
  .phone{max-width:none; width:100%; height:100vh; height:100dvh; aspect-ratio:auto; border-radius:0; box-shadow:none;}
}

/* ===== 成长日历 / 时间轴（平滑曲线） ===== */
.growth-week{margin:6px 0 4px;}
.growth-svg{width:100%; height:118px; display:block; overflow:visible;}
.growth-labels{display:flex; justify-content:space-between; margin-top:2px; padding:0 6px;}
.growth-labels span{font-size:9px; color:var(--text-muted); flex:1; text-align:center;}
.growth-labels span.gtoday{color:var(--primary-dark); font-weight:700;}
.growth-foot{display:flex; justify-content:space-between; font-size:10px; color:var(--text-muted); border-top:1px solid var(--card-tint); padding-top:8px; margin-top:2px;}
.growth-foot b{color:var(--primary-dark); font-weight:600;}

/* ===== 首页「今日计划」自定义列表 ===== */
.home-plan-list{display:flex; flex-direction:column; gap:5px; margin-bottom:8px;}
.hplan{display:flex; align-items:center; gap:7px;}
.hplan-check{width:16px; height:16px; border-radius:50%; border:2px solid var(--primary); flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:10px; color:#fff; cursor:pointer;}
.hplan.done .hplan-check{background:var(--primary);}
.hplan-txt{font-size:11px; color:#4a4a4a; flex:1; line-height:1.3;}
.hplan.done .hplan-txt{color:#bbb; text-decoration:line-through;}
.hplan-del{color:#ccc; font-size:14px; cursor:pointer; padding:0 2px; line-height:1;}
.hplan-del:hover{color:var(--primary-dark);}
.home-plan-add{display:flex; gap:6px;}
.home-plan-input{flex:1; border:1px solid var(--card-tint); background:#fff; border-radius:10px; padding:6px 8px; font-size:11px; outline:none; font-family:inherit; color:#4a4a4a;}
.home-plan-input:focus{border-color:var(--primary);}
.home-plan-btn{width:30px; border:none; border-radius:10px; background:linear-gradient(135deg,var(--primary),var(--primary-dark)); color:#fff; font-size:16px; cursor:pointer; flex-shrink:0; line-height:1;}

/* ===== 独立日历 Tab ===== */
.cal-arrow{border:1px solid #ddd; background:#fff; border-radius:10px; padding:4px 12px; font-size:13px; cursor:pointer; color:#555;}
.cal-day{position:relative;}
.cal-dot{position:absolute; bottom:3px; left:50%; transform:translateX(-50%); width:4px; height:4px; border-radius:50%; background:var(--primary-dark);}
.cd-sub{font-size:11px; font-weight:600; color:var(--primary-dark); margin:8px 0 3px;}
.cd-item{font-size:11px; color:#555; background:var(--card-tint); border-radius:8px; padding:5px 8px; margin-bottom:3px; line-height:1.4;}

/* ===== 开始今天（独立激励页 · B+C融合版：渐变背景+悬浮卡片） ===== */
.start-bg{
  flex:1; display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
  background:linear-gradient(180deg, var(--bg1) 0%, var(--bg2) 60%, var(--bg3) 100%);
}
/* 装饰圆 */
.start-decor{position:absolute; border-radius:50%; pointer-events:none;}
.start-decor-1{width:200px; height:200px; top:-40px; right:-50px; background:var(--primary); opacity:0.04;}
.start-decor-2{width:260px; height:260px; bottom:-80px; left:-70px; background:var(--primary); opacity:0.03;}
/* 悬浮卡片 */
.start-card{
  width:85%; max-width:300px; margin-top:-30px;
  background:#fff; border-radius:22px; padding:48px 24px 28px;
  text-align:center;
  box-shadow:0 8px 32px rgba(0,0,0,0.06), 0 2px 8px rgba(0,0,0,0.03);
  position:relative; z-index:2;
}
/* 头像（浮在卡片顶部边缘） */
.start-avatar-wrap{
  width:76px; height:76px; border-radius:50%;
  background:var(--card-tint);
  border:3px solid var(--primary);
  position:absolute; top:-38px; left:50%; transform:translateX(-50%);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; overflow:hidden;
  box-shadow:0 4px 12px rgba(0,0,0,0.08);
  transition:border-color .25s ease, transform .2s ease;
}
.start-avatar-wrap:hover{ transform:translateX(-50%) scale(1.05); }
.start-avatar-wrap:active{ transform:translateX(-50%) scale(.96); }
.start-avatar-img{width:100%; height:100%; object-fit:cover; object-position:center; border-radius:50%; transform:scale(1.02);}
.start-avatar-fallback{font-size:34px; line-height:1;}
.start-camera{
  position:absolute; bottom:2px; right:2px;
  width:22px; height:22px; border-radius:50%;
  background:var(--primary); color:#fff;
  font-size:11px; display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 5px rgba(0,0,0,0.15);
}
/* 文案区 */
.start-date{font-size:11px; color:var(--text-muted); margin:18px 0 4px;}
.start-greet{margin:0; font-size:21px; font-weight:700; color:#444;}
.start-nickname{color:var(--primary-dark);}
.start-encourage{margin:10px 0 4px; font-size:13px; color:#555; line-height:1.6;}
.start-flatter{margin:0; font-size:11px; color:var(--primary); line-height:1.6; opacity:.75;}
/* 按钮 */
.start-card .btn-start-day{
  background:linear-gradient(135deg, var(--primary), var(--primary-dark));
  border:none; border-radius:20px; padding:11px 42px; font-size:14px;
  color:#fff; cursor:pointer; font-weight:600; margin:18px auto 6px;
  display:inline-block; box-shadow:0 4px 14px rgba(0,0,0,0.1);
  transition:transform .15s ease, box-shadow .15s ease;
}
.start-card .btn-start-day:active{transform:scale(.95); box-shadow:0 2px 8px rgba(0,0,0,0.1);}
.start-hint{font-size:10px; color:var(--text-muted);}

/* ===== 多设备自适应：手机 / iPad / 电脑 ===== */
@media (min-width:700px){
  body{background:linear-gradient(135deg,#ecebea,#f7f6f3);}
  .stage{padding:16px;min-height:100vh;}
  .phone{max-width:960px;width:100%;height:calc(100vh - 32px);aspect-ratio:auto;border-radius:24px;}
  .statusbar{padding:10px 24px;}
  .header,.page-header{padding-left:24px;padding-right:24px;}
  .scroll{padding:14px 22px;gap:12px;}
  .home-scroll{display:grid;grid-template-columns:1.15fr .85fr;align-content:start;}
  .home-scroll>.dual-row{grid-column:1/-1;}
  .home-scroll>.daily-en{grid-column:1;}
  .home-scroll>.card:not(.daily-en){grid-column:2;grid-row:2/4;}
  .dual-row{gap:12px;}
  .dual-left,.dual-right,.card{border-radius:18px;padding:16px;}
  .plan-scroll,.idea-scroll,.know-scroll,.cal-scroll,.health-scroll,.water-scroll,.chat-scroll{width:100%;max-width:920px;margin:0 auto;}
  .diary-scroll{width:100%;max-width:980px;margin:0 auto;}
  .settings-scroll{width:100%;max-width:820px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-content:start;}
  .settings-scroll>.profile-hero{grid-column:1/-1;}
  .settings-scroll>.data-card,.settings-scroll>.about-card{grid-column:1/-1;}
  .theme-picker{grid-template-columns:repeat(2,1fr);}
  .profile-hero{min-height:130px;}
  .me-avatar-wrap{width:70px;height:70px;}
  .me-name{font-size:20px;}
  .page-main-title{font-size:20px;}
  .page-sub,.dual-sub,.tip-text{font-size:11px;}
  .plan-task-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .dish-list,.sport-list{display:grid;grid-template-columns:1fr 1fr;}
  .vis-grid{grid-template-columns:repeat(3,1fr);}
  .detail-sheet{max-width:720px;margin:0 auto;border-radius:22px 22px 0 0;padding:20px 24px 30px;}
  .drawer{width:300px;max-width:42vw;}
}

@media (min-width:1100px){
  .stage{padding:18px;}
  .phone{max-width:1180px;height:calc(100vh - 36px);border-radius:26px;}
  .scroll{padding:18px 30px;}
  .home-scroll{grid-template-columns:1.25fr .75fr;column-gap:18px;}
  .plan-scroll,.idea-scroll,.know-scroll,.cal-scroll,.health-scroll,.water-scroll,.chat-scroll{max-width:1080px;}
  .diary-scroll{max-width:1100px;grid-template-columns:380px 1fr;display:grid;align-items:start;}
  .diary-compose{position:sticky;top:0;}.diary-feed{max-width:none;}
  .settings-scroll{max-width:1000px;grid-template-columns:.9fr 1.1fr;gap:16px;}
  .theme-picker{grid-template-columns:repeat(3,1fr);}
  .vis-grid{grid-template-columns:repeat(4,1fr);}
  .health-tabs{flex-wrap:nowrap;justify-content:center;}
  .hpanel{max-width:980px;margin:0 auto;}
  .body-row{grid-template-columns:auto 1fr auto 1fr auto 1fr;}
  .chat-area{max-height:360px;}
}

@media (max-width:699px){
  .settings-scroll{padding-bottom:46px;}
  .theme-picker{grid-template-columns:1fr 1fr;}
}

@media (max-width:370px){
  .theme-picker,.data-actions,.data-summary{grid-template-columns:1fr 1fr;}
  .data-btn.danger{grid-column:1/-1;}
  .dual-row{flex-direction:column;}
  .add-task-bar input[type="date"]{flex:1 1 100%;}
  .body-row{grid-template-columns:auto 1fr;}
  .nutri-stats{grid-template-columns:1fr 1fr;}
  .diary-fields{grid-template-columns:1fr;}.diary-media-tools{flex-wrap:wrap;}.diary-media-tools .btn-record{width:100%;}.data-summary{grid-template-columns:repeat(3,1fr);}
}

/* ===== 淡雅韩系视觉精修 ===== */
body{color:#494b49;letter-spacing:.01em;}
.phone{border:1px solid rgba(83,86,82,.06);box-shadow:0 18px 55px rgba(54,61,57,.1);}
.statusbar{opacity:.72;}
.header,.page-header{min-height:58px;border-bottom:1px solid rgba(70,75,72,.045);background:linear-gradient(90deg,rgba(255,255,255,.28),rgba(255,255,255,.08));}
.page-main-title,.hi{color:#3f4642;letter-spacing:-.02em;}
.page-sub,.date{color:#9ba39e;}
.page-badge{padding:4px 9px;border-radius:12px;background:rgba(255,255,255,.7);border:1px solid rgba(70,75,72,.06);color:#8c9690;}
.scroll{gap:11px;}
.card,.dual-left,.dual-right,.daily-en{border:1px solid rgba(70,75,72,.055);background:rgba(255,255,255,.88);box-shadow:0 7px 24px rgba(64,72,67,.045);}
.card-title{color:#4e5752;font-weight:700;}.card-more{color:#8c9992;}
input,textarea,select{font-family:inherit;}
input:focus,textarea:focus,select:focus{border-color:color-mix(in srgb,var(--primary) 55%,#ddd)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 9%,transparent);}
.btn-record,.btn-add-green,.btn-save,.btn-generate{box-shadow:none;background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 86%,#777),color-mix(in srgb,var(--secondary) 72%,var(--primary)));}
.btn-record:hover,.btn-add-green:hover,.btn-save:hover{filter:saturate(.82);transform:translateY(-1px);}
.btn-sm{border-color:rgba(70,75,72,.1)!important;background:rgba(255,255,255,.88)!important;color:#68716c!important;}
.drawer{background:#fafaf7;}.drawer-item{border-radius:12px;margin:2px 8px;width:calc(100% - 16px);}.drawer-item:hover{background:rgba(255,255,255,.9);}

/* 灵感页：像一本轻薄的韩系灵感手账 */
.idea-scroll{gap:14px;}
.idea-note-card{position:relative;padding:16px;background:linear-gradient(145deg,rgba(255,255,255,.96),color-mix(in srgb,var(--card-tint) 42%,#fff));overflow:hidden;}
.idea-note-card:before{content:'QUICK NOTE';display:block;margin-bottom:9px;color:#a4aaa6;font-size:8px;font-weight:700;letter-spacing:1.8px;}
.idea-note-card:after{content:'✦';position:absolute;right:16px;top:10px;color:var(--primary);opacity:.28;font-size:18px;}
.idea-input-row{align-items:stretch;}
.idea-full{min-height:76px;border:1px solid rgba(70,75,72,.06);border-radius:14px;background:rgba(255,255,255,.72);padding:12px 13px;line-height:1.65;color:#4d504e;}
.idea-input-row .btn-record-lg{width:74px;margin:0;border-radius:14px;}
.idea-list{gap:8px;margin-top:12px;}
.idea-item{position:relative;padding:11px 12px 11px 16px;border:1px solid rgba(70,75,72,.045);border-radius:13px;background:rgba(255,255,255,.76);line-height:1.55;}
.idea-item:before{content:'';position:absolute;left:7px;top:14px;width:3px;height:3px;border-radius:50%;background:var(--primary);}
.idea-item small{color:#aeb3af!important;}.idea-item .idel{opacity:.55;}.idea-item .idel:hover{opacity:1;color:#b77;}
.idea-collection-card{padding:16px;background:rgba(255,255,255,.84);}
.vis-item{border:1px solid rgba(70,75,72,.05);background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--card-tint) 45%,#fff));box-shadow:0 4px 14px rgba(65,72,68,.035);}
.vis-icon{filter:saturate(.72);}.vis-title{color:#4c534f;}.tip-text{color:#9ca49f;}
@media(max-width:420px){.idea-input-row{flex-direction:column}.idea-input-row .btn-record-lg{width:100%;min-height:40px}.idea-note-card,.idea-collection-card{padding:14px}}

/* ===== 电子木鱼 ===== */
.muyu-sound{width:34px;height:34px;border:1px solid rgba(70,75,72,.08);border-radius:50%;background:rgba(255,255,255,.75);filter:grayscale(1);cursor:pointer}.muyu-sound.active{filter:none;background:var(--card-tint)}
.muyu-scroll{align-items:center;justify-content:center;min-height:0}.muyu-card{width:min(620px,100%);min-height:560px;padding:30px 22px;border:1px solid rgba(95,73,50,.08);border-radius:28px;text-align:center;background:radial-gradient(circle at 50% 42%,rgba(219,191,154,.2),transparent 38%),rgba(255,255,255,.86);box-shadow:0 16px 48px rgba(88,72,54,.07)}
.muyu-eyebrow{margin:0 0 12px;color:#aaa197;font-size:8px;font-weight:700;letter-spacing:2.5px}.muyu-stats{display:flex;align-items:center;justify-content:center;gap:28px}.muyu-stats div{min-width:90px}.muyu-stats b{display:block;color:#58483b;font-size:25px;font-weight:700}.muyu-stats span{display:block;margin-top:3px;color:#aaa197;font-size:9px}.muyu-stats i{width:1px;height:34px;background:#e9e2d9}
.muyu-stage{position:relative;width:330px;height:320px;max-width:100%;margin:20px auto 0;display:flex;align-items:center;justify-content:center}.wood-fish{position:relative;width:220px;height:180px;border:0;background:none;cursor:pointer;filter:drop-shadow(0 18px 14px rgba(74,49,29,.18));transform-origin:center bottom}.fish-body{position:absolute;left:10px;top:18px;width:200px;height:142px;border-radius:48% 52% 46% 48% / 48% 48% 54% 52%;background:radial-gradient(circle at 42% 30%,#c9844d 0 3%,transparent 4%),linear-gradient(150deg,#b96532 0%,#8c431f 48%,#6e3219 100%);box-shadow:inset 10px 12px 18px rgba(255,205,145,.2),inset -12px -12px 20px rgba(55,22,8,.2)}.fish-body:before{content:'';position:absolute;right:19px;top:49px;width:39px;height:35px;border-radius:50%;border-right:7px solid rgba(62,23,9,.55);transform:rotate(-12deg)}.fish-eye{position:absolute;right:42px;top:35px;width:9px;height:9px;border-radius:50%;background:#2f1b11;box-shadow:0 0 0 4px rgba(242,173,103,.25)}.fish-mouth{position:absolute;right:11px;top:72px;width:43px;height:5px;border-radius:5px;background:#35180d;transform:rotate(-5deg)}.fish-body em{position:absolute;left:82px;top:53px;color:rgba(255,226,184,.8);font-size:27px;font-style:normal;font-family:serif}.fish-base{position:absolute;left:54px;bottom:5px;width:112px;height:20px;border-radius:50%;background:linear-gradient(#74381c,#4b2413);box-shadow:0 6px 8px rgba(58,31,17,.25)}
.muyu-stick{position:absolute;right:20px;top:18px;width:112px;height:24px;border:0;border-radius:15px;background:linear-gradient(90deg,#6d351d,#b66d3a);transform:rotate(-48deg);transform-origin:90% 50%;pointer-events:none;filter:drop-shadow(0 5px 5px rgba(60,33,20,.18))}.muyu-stick span{position:absolute;left:-6px;top:-6px;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#d69254,#81411f 70%)}
.wood-fish.knock{animation:fishKnock .18s ease}.muyu-stick.knock{animation:stickKnock .2s ease}@keyframes fishKnock{50%{transform:scale(.96) translateY(4px)}}@keyframes stickKnock{45%{transform:rotate(-27deg) translate(-8px,9px)}}
.muyu-mantra{margin:0;color:#665548;font-size:15px;font-weight:700;letter-spacing:.08em}.muyu-tip{margin:8px 0 0;color:#aaa197;font-size:9px}.merit-pop{position:absolute;top:85px;color:#92714f;font-size:12px;font-weight:700;pointer-events:none;animation:meritFloat .9s ease forwards}@keyframes meritFloat{0%{opacity:0;transform:translateY(15px) scale(.85)}25%{opacity:1}100%{opacity:0;transform:translateY(-65px) scale(1.08)}}
@media(max-width:480px){.muyu-card{min-height:500px;padding-top:24px}.muyu-stage{width:290px;height:290px}.wood-fish{transform:scale(.9)}.muyu-stick{right:8px}}

/* ===== 今日打卡聚合页 ===== */
.checkin-header{min-height:66px}.checkin-ring{--pct:0deg;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) var(--pct),rgba(255,255,255,.65) 0);position:relative}.checkin-ring:after{content:'';position:absolute;inset:5px;border-radius:50%;background:color-mix(in srgb,var(--bg1) 75%,#fff)}.checkin-ring span{position:relative;z-index:1;color:var(--primary-dark);font-size:9px;font-weight:700}.checkin-scroll{padding-bottom:48px}.section-title{display:flex;align-items:center;margin-bottom:12px}.section-title>div{flex:1}.section-title small{display:block;color:#a4aaa6;font-size:7px;font-weight:700;letter-spacing:1.7px}.section-title b{display:block;margin-top:3px;color:#48504b;font-size:14px}.section-title>span{padding:4px 8px;border-radius:10px;background:var(--card-tint);color:var(--primary-dark);font-size:8px}
.habit-list{display:flex;flex-direction:column;gap:7px}.habit-item{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid rgba(70,75,72,.05);border-radius:13px;background:rgba(255,255,255,.7)}.habit-check{width:22px;height:22px;flex:0 0 22px;border:1.5px solid var(--primary);border-radius:50%;background:#fff;color:#fff;cursor:pointer}.habit-item.done .habit-check{background:var(--primary)}.habit-item.done b{text-decoration:line-through;color:#aaa}.habit-icon{font-size:17px}.habit-item>div{flex:1}.habit-item b{display:block;color:#555;font-size:11px}.habit-item small{display:block;margin-top:2px;color:#aaa;font-size:8px}.habit-del{border:0;background:none;color:#ccc;font-size:16px;cursor:pointer}.habit-add{display:grid;grid-template-columns:1fr 95px 32px;gap:6px;margin-top:10px}.habit-add input{min-width:0;border:1px solid rgba(70,75,72,.08);border-radius:10px;padding:8px;background:#fff;font-size:10px}.habit-add button{border:0;border-radius:10px;background:var(--primary);color:#fff;cursor:pointer}
.today-overview{display:grid;grid-template-columns:1fr 1fr;gap:8px}.today-overview button{display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:8px;text-align:left;border:1px solid rgba(70,75,72,.05);border-radius:14px;padding:11px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--card-tint) 45%,#fff));cursor:pointer}.today-overview button>span{grid-row:1/3;align-self:center;font-size:22px}.today-overview b{color:#4e5752;font-size:13px}.today-overview small{color:#a2aaa5;font-size:8px}
.checkin-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:11px;padding-top:11px;border-top:1px dashed color-mix(in srgb,var(--primary) 22%,transparent)}.checkin-breakdown>div{min-width:0;padding:8px;border-radius:11px;background:color-mix(in srgb,var(--card-tint) 55%,#fff)}.checkin-breakdown span,.checkin-breakdown b{display:block}.checkin-breakdown span{color:#7f8883;font-size:8px;white-space:nowrap}.checkin-breakdown b{margin:3px 0 5px;color:var(--primary-dark);font-size:11px}.checkin-breakdown i{display:block;height:4px;overflow:hidden;border-radius:5px;background:rgba(255,255,255,.85)}.checkin-breakdown em{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--primary),var(--secondary))}
.fat-status{white-space:nowrap}.fat-settings{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;align-items:end}.fat-settings label{position:relative;color:#999;font-size:8px}.fat-settings input,.fat-settings select{display:block;width:100%;margin-top:4px;border:1px solid rgba(70,75,72,.08);border-radius:10px;padding:8px;background:#fff;color:#555;font-size:10px}.fat-settings label i{position:absolute;right:8px;bottom:8px;color:#aaa;font-size:8px;font-style:normal}.fat-settings button{border:0;border-radius:10px;padding:9px 12px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:10px;cursor:pointer}.fat-dashboard{margin-top:11px}.fat-empty{padding:18px;border-radius:12px;background:var(--card-tint);color:#999;text-align:center;font-size:9px}.fat-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.fat-numbers div{text-align:center;padding:10px 4px;border-radius:12px;background:var(--card-tint)}.fat-numbers b{display:block;color:var(--primary-dark);font-size:18px}.fat-numbers span{display:block;margin-top:2px;color:#999;font-size:7px}.fat-today{margin-top:9px;padding:11px 12px;border:1px solid rgba(70,75,72,.05);border-radius:13px;background:rgba(255,255,255,.68)}.fat-today b{display:block;margin:4px 0;color:#59615c;font-size:10px}.fat-today p{margin:3px 0;color:#7d8580;font-size:9px}.fat-note{margin:9px 0 0;color:#aaa;font-size:7px;line-height:1.5}
@media(min-width:700px){.checkin-scroll{display:grid;grid-template-columns:1fr 1fr;align-items:start;width:100%;max-width:980px;margin:0 auto}.fat-card{grid-column:1/-1}}
@media(min-width:1100px){.checkin-scroll{max-width:1080px;grid-template-columns:1.05fr .95fr}.habit-card{grid-row:1/3}.fat-card{grid-column:2;grid-row:2}.today-overview-card{grid-column:2}}
@media(max-width:420px){.habit-add{grid-template-columns:1fr 82px 32px}.fat-settings{grid-template-columns:1fr 1fr}.fat-settings button{grid-column:1/-1}.today-overview{gap:6px}.today-overview button{padding:9px}.checkin-breakdown{grid-template-columns:repeat(2,1fr)}}

/* ===== 目标中心 ===== */
.goals-scroll{padding-bottom:48px}.goal-tabs{display:flex;gap:3px;padding:3px;border-radius:14px;background:rgba(255,255,255,.62)}.goal-tabs button{flex:1;border:0;border-radius:11px;padding:8px;background:transparent;color:#8f9792;font-size:10px;cursor:pointer}.goal-tabs button.active{background:#fff;color:var(--primary-dark);font-weight:700;box-shadow:0 3px 10px rgba(60,70,64,.06)}.goal-panel{display:none;flex-direction:column;gap:9px}.goal-panel.active{display:flex}.goal-create{display:grid;grid-template-columns:1fr 105px auto;gap:7px}.goal-create input,.weekly-create input{min-width:0;border:1px solid rgba(70,75,72,.08);border-radius:10px;padding:8px;background:#fff;font-size:10px}.goal-create button,.weekly-create button{border:0;border-radius:10px;padding:8px 13px;background:var(--primary);color:#fff;font-size:10px;cursor:pointer}.goal-help{margin:8px 0 0;color:#aaa;font-size:8px}.goal-list,.weekly-goal-list{display:flex;flex-direction:column;gap:9px}.goal-row-head,.weekly-row-head{display:flex;align-items:center;gap:9px}.goal-row-head>span{font-size:20px}.goal-row-head>div,.weekly-row-head>div{flex:1}.goal-row-head b,.weekly-row-head b{display:block;color:#4e5651;font-size:11px}.goal-row-head small,.weekly-row-head small{display:block;margin-top:2px;color:#aaa;font-size:8px}.goal-row-head>button,.weekly-row-head>button{border:0;background:none;color:#ccc;font-size:17px;cursor:pointer}.day-picker{display:flex;gap:6px;margin-top:11px}.day-picker button{width:27px;height:27px;border:1px solid rgba(70,75,72,.08);border-radius:50%;background:#fff;color:#999;font-size:8px;cursor:pointer}.day-picker button.active{border-color:var(--primary);background:var(--card-tint);color:var(--primary-dark);font-weight:700}.weekly-create{display:grid;grid-template-columns:1fr 70px 60px auto;gap:7px}.weekly-bar{height:6px;margin:11px 0 8px;border-radius:5px;background:var(--card-tint);overflow:hidden}.weekly-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--primary),var(--secondary))}.weekly-controls{display:flex;align-items:center;justify-content:center;gap:15px}.weekly-controls button{width:29px;height:29px;border:0;border-radius:50%;background:var(--card-tint);color:var(--primary-dark);font-size:16px;cursor:pointer}.weekly-controls span{min-width:100px;text-align:center;color:#999;font-size:8px}.goal-chart{height:160px;display:flex;align-items:flex-end;justify-content:space-around;gap:7px;padding:18px 4px 0}.goal-chart>div{height:100%;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.goal-chart span{width:min(28px,70%);min-height:4px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--primary),color-mix(in srgb,var(--secondary) 55%,var(--primary)))}.goal-chart b{margin-top:5px;color:#89918c;font-size:7px;font-weight:500}.goal-chart small{margin-top:3px;color:#aaa;font-size:8px}.goal-summary-row{display:flex;align-items:center;padding:9px 2px;border-bottom:1px solid rgba(70,75,72,.055);font-size:10px}.goal-summary-row:last-child{border:0}.goal-summary-row span{flex:1;color:#666}.goal-summary-row b{color:var(--primary-dark)}
@media(min-width:700px){.goals-scroll{width:100%;max-width:900px;margin:0 auto}.goal-panel.active{display:grid;grid-template-columns:1fr 1fr;align-items:start}.goal-panel>.goal-editor,.goal-panel>.card:first-child{grid-column:1/-1}.goal-list,.weekly-goal-list{display:contents}.goal-row,.weekly-row{height:100%}#goalPanelStats.active{grid-template-columns:1fr 1fr}#goalPanelStats>.card:first-child{grid-column:auto}}
@media(max-width:420px){.goal-create{grid-template-columns:1fr 90px}.goal-create button{grid-column:1/-1}.weekly-create{grid-template-columns:1fr 65px 55px}.weekly-create button{grid-column:1/-1}.day-picker{justify-content:space-between;gap:3px}}

/* ===== 气泡感个人功能抽屉 ===== */
.drawer{background:radial-gradient(circle at 15% 3%,color-mix(in srgb,var(--secondary) 22%,transparent),transparent 26%),linear-gradient(165deg,color-mix(in srgb,var(--bg1) 70%,#fff),color-mix(in srgb,var(--bg3) 78%,#fff));border-right:1px solid rgba(70,75,72,.06);}
.drawer-head{position:relative;gap:8px;padding:16px 13px 12px;border-bottom:0;}
.drawer-profile{display:flex;align-items:center;gap:10px;min-width:0;flex:1;border:1px solid rgba(70,75,72,.055);border-radius:20px;padding:10px;background:rgba(255,255,255,.76);box-shadow:0 8px 24px rgba(65,72,68,.055);text-align:left;cursor:pointer;transition:transform .16s ease,background .16s ease}.drawer-profile:hover{background:#fff;transform:translateY(-1px)}.drawer-profile:active{transform:scale(.98)}
.drawer-avatar{width:48px;height:48px;flex:0 0 48px;overflow:hidden;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 4px 12px rgba(70,80,75,.12)}.drawer-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.drawer-avatar i{color:#fff;font-size:18px;font-style:normal;font-weight:700}
.drawer-profile-copy{min-width:0}.drawer-profile-copy b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#47504b;font-size:13px}.drawer-profile-copy small{display:block;margin-top:3px;color:#9ba49e;font-size:8px}.drawer-close{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:rgba(255,255,255,.62);font-size:20px;}
.drawer-body{padding:0 10px 18px}.drawer-group{margin:15px 10px 6px;color:#a1aaa4;font-size:7px;letter-spacing:1.8px}.drawer-item{width:100%;margin:0 0 7px;padding:9px 11px;border:1px solid rgba(70,75,72,.052);border-radius:17px;background:rgba(255,255,255,.7);box-shadow:0 5px 15px rgba(65,72,68,.035);font-size:11px;color:#59615c;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.drawer-item:hover{background:rgba(255,255,255,.96);transform:translateX(2px);box-shadow:0 7px 18px rgba(65,72,68,.06)}.drawer-item:active{transform:scale(.985)}
.drawer-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fff,var(--card-tint));box-shadow:inset 0 0 0 1px rgba(70,75,72,.035);font-size:16px}.drawer-featured{border-color:color-mix(in srgb,var(--primary) 20%,transparent)!important;background:linear-gradient(100deg,color-mix(in srgb,var(--card-tint) 82%,#fff),rgba(255,255,255,.85))!important}.drawer-featured .drawer-icon{background:linear-gradient(135deg,var(--primary),var(--secondary));filter:saturate(.75)}.drawer-divider{margin:12px 8px;background:rgba(70,75,72,.07)}
@media(max-width:480px){.drawer{width:min(315px,86vw);max-width:none}.drawer-head{padding-top:max(14px,env(safe-area-inset-top))}}

/* ===== 训练模板与每周备餐 ===== */
.workout-create{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;margin-bottom:10px}.workout-create input{min-width:0;border:1px solid rgba(70,75,72,.08);border-radius:10px;padding:8px;background:#fff;font-size:10px}.workout-create button{border:0;border-radius:10px;padding:8px 12px;background:var(--primary);color:#fff;font-size:10px;cursor:pointer}.workout-plan-list{display:flex;flex-direction:column;gap:10px}.workout-plan{padding:13px;border:1px solid rgba(70,75,72,.055);border-radius:16px;background:rgba(255,255,255,.78)}.workout-plan-head{display:flex;align-items:center}.workout-plan-head>div{flex:1}.workout-plan-head b{display:block;color:#4f5752;font-size:12px}.workout-plan-head small{display:block;margin-top:2px;color:#aaa;font-size:8px}.workout-plan-head button{border:0;background:none;color:#ccc;font-size:17px}.exercise-list{display:flex;flex-direction:column;gap:5px;margin-top:9px}.exercise-row{display:grid;grid-template-columns:1fr 62px 62px 72px 20px;gap:5px;align-items:center}.exercise-row input,.exercise-add input{width:100%;min-width:0;border:1px solid rgba(70,75,72,.07);border-radius:8px;padding:6px;background:#fff;color:#666;font-size:9px}.exercise-row label{display:flex;align-items:center;gap:2px;color:#aaa;font-size:7px}.exercise-row label input{width:44px}.exercise-row button{border:0;background:none;color:#ccc}.exercise-add{display:grid;grid-template-columns:1fr 55px 55px 65px auto;gap:5px;margin-top:8px}.exercise-add button{border:0;border-radius:8px;background:var(--card-tint);color:var(--primary-dark);font-size:8px}.workout-complete{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:9px;border-top:1px solid rgba(70,75,72,.05)}.workout-complete label{flex:1;color:#999;font-size:8px}.workout-complete input{width:50px;border:1px solid #ddd;border-radius:7px;padding:5px}.workout-complete button{border:0;border-radius:10px;padding:8px 12px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:9px}.workout-history{margin-top:14px}.workout-history-row{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid rgba(70,75,72,.05)}.workout-history-row>span{font-size:18px}.workout-history-row b{display:block;color:#555;font-size:10px}.workout-history-row small{display:block;color:#aaa;font-size:7px}
.mealprep-week{display:flex;flex-direction:column;gap:6px}.mealprep-day{display:grid;grid-template-columns:72px 1fr 1fr;gap:7px;align-items:center;padding:8px 10px;border:1px solid rgba(70,75,72,.05);border-radius:13px;background:rgba(255,255,255,.76)}.mealprep-day>div b{display:block;color:#555;font-size:10px}.mealprep-day>div small{display:block;color:#aaa;font-size:7px}.mealprep-day label{display:flex;align-items:center;gap:5px;color:#999;font-size:8px}.mealprep-day select{flex:1;min-width:0;border:1px solid rgba(70,75,72,.08);border-radius:8px;padding:6px;background:#fff;color:#666;font-size:8px}.shopping-card{margin-top:12px;padding:13px;border:1px solid rgba(70,75,72,.055);border-radius:16px;background:rgba(255,255,255,.8)}.shopping-list{display:grid;grid-template-columns:1fr 1fr;gap:6px}.shopping-item{display:grid;grid-template-columns:18px 1fr;grid-template-rows:auto auto;align-items:center;padding:8px;border-radius:10px;background:var(--card-tint);color:#666;font-size:9px}.shopping-item input{grid-row:1/3;accent-color:var(--primary)}.shopping-item small{color:#aaa;font-size:7px}.shopping-item.done span{text-decoration:line-through;color:#aaa}
@media(max-width:480px){.workout-create{grid-template-columns:1fr 1fr}.workout-create button{grid-column:1/-1}.exercise-row{grid-template-columns:1fr 52px 52px 62px 18px}.exercise-add{grid-template-columns:1fr 46px 46px 58px}.exercise-add button{grid-column:1/-1;padding:7px}.mealprep-day{grid-template-columns:58px 1fr}.mealprep-day label:last-child{grid-column:2}.shopping-list{grid-template-columns:1fr}}

/* ===== 学习中心 ===== */
.study-week-badge{padding:5px 9px;border-radius:12px;background:var(--card-tint);color:var(--primary-dark);font-size:9px}.study-scroll{display:flex;flex-direction:column;gap:11px;padding-bottom:50px}.study-today-list,.assignment-list{display:flex;flex-direction:column;gap:7px}.study-course-now,.assignment-row{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid rgba(70,75,72,.055);border-radius:13px;background:rgba(255,255,255,.72)}.study-course-now>button:first-child,.assignment-row>button:first-child{width:25px;height:25px;flex:0 0 25px;border:1.5px solid var(--primary);border-radius:50%;background:#fff;color:#fff}.study-course-now.done>button:first-child,.assignment-row.done>button:first-child{background:var(--primary)}.study-course-now>div,.assignment-row>div{min-width:0;flex:1}.study-course-now b,.assignment-row b{display:block;color:#505853;font-size:11px}.study-course-now small,.assignment-row small{display:block;margin-top:3px;color:#a0a7a3;font-size:8px}.study-course-now>span{padding:4px 7px;border-radius:9px;background:var(--card-tint);color:var(--primary-dark);font-size:8px}.study-course-now.done b,.assignment-row.done b{text-decoration:line-through;color:#aaa}.study-empty{padding:18px;border-radius:13px;background:color-mix(in srgb,var(--card-tint) 58%,#fff);color:#9da59f;text-align:center;font-size:9px}.study-import-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.study-import-actions button,.course-text-import button,.course-editor button,.assignment-add button{border:0;border-radius:11px;padding:9px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:9px;cursor:pointer}.course-image-preview{display:flex;align-items:center;gap:10px;margin-top:9px;padding:8px;border-radius:12px;background:var(--card-tint)}.course-image-preview img{width:58px;height:58px;border-radius:9px;object-fit:cover}.course-image-preview b,.course-image-preview small{display:block}.course-image-preview b{color:#5e6661;font-size:9px}.course-image-preview small{margin-top:3px;color:#9ca49f;font-size:7px}.course-text-import{margin-top:9px}.course-text-import textarea{width:100%;resize:vertical;border:1px solid rgba(70,75,72,.08);border-radius:11px;padding:9px;background:#fff;color:#666;font-size:9px;line-height:1.7}.course-text-import button{width:100%;margin-top:6px}.study-help{margin:8px 0 0;color:#a4aaa6;font-size:7px;line-height:1.5}.study-small-btn{border:0;border-radius:9px;padding:5px 9px;background:var(--card-tint);color:var(--primary-dark);font-size:8px}.course-editor{display:grid;grid-template-columns:1.4fr .7fr 1fr 1fr;gap:6px;margin-bottom:10px;padding:9px;border-radius:12px;background:var(--card-tint)}.course-editor input,.course-editor select,.assignment-add input{min-width:0;border:1px solid rgba(70,75,72,.08);border-radius:9px;padding:7px;background:#fff;color:#666;font-size:8px}.course-editor #courseLocation{grid-column:1/4}.tt-day{display:grid;grid-template-columns:54px 1fr;gap:8px;padding:8px 0;border-bottom:1px solid rgba(70,75,72,.05)}.tt-day:last-child{border:0}.tt-day-name b,.tt-day-name small{display:block}.tt-day-name b{color:var(--primary-dark);font-size:10px}.tt-day-name small{margin-top:2px;color:#aaa;font-size:7px}.tt-courses{display:flex;flex-direction:column;gap:5px}.tt-course{display:flex;align-items:center;gap:7px;padding:7px 8px;border-radius:10px;background:color-mix(in srgb,var(--card-tint) 55%,#fff)}.tt-course i{width:4px;height:27px;border-radius:4px;background:linear-gradient(var(--primary),var(--secondary))}.tt-course>div{min-width:0;flex:1}.tt-course b,.tt-course small{display:block}.tt-course b{color:#5d655f;font-size:9px}.tt-course small{margin-top:2px;color:#a2a8a4;font-size:7px}.tt-course button,.assignment-row>button:last-child{border:0;background:none;color:#c3c8c5;font-size:15px}.tt-rest{padding:6px;color:#bdc2bf;font-size:8px}.assignment-add{display:grid;grid-template-columns:1fr 155px auto;gap:6px;margin-bottom:10px}.assignment-row.urgent{border-color:#edc17c;background:#fffaf1}.assignment-row.overdue{border-color:#e5aaa7;background:#fff6f5}
@media(min-width:700px){.study-scroll{display:grid;grid-template-columns:1fr 1fr;align-items:start;width:100%;max-width:1000px;margin:0 auto}.timetable-card{grid-row:1/4;grid-column:2}.study-import-card,.study-today-card,.assignment-card{grid-column:1}}
@media(max-width:480px){.study-import-actions{grid-template-columns:1fr}.course-editor{grid-template-columns:1fr 72px}.course-editor #courseLocation{grid-column:1/-1}.course-editor button{grid-column:1/-1}.assignment-add{grid-template-columns:1fr}.today-overview{grid-template-columns:1fr 1fr}}

.focus-main{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center}.focus-clock{--focus-pct:0deg;width:108px;height:108px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at center,color-mix(in srgb,var(--bg1) 70%,#fff) 0 56%,transparent 57%),conic-gradient(var(--primary) var(--focus-pct),color-mix(in srgb,var(--card-tint) 80%,#fff) 0);box-shadow:inset 0 0 0 1px rgba(70,75,72,.04)}.focus-clock b{color:var(--primary-dark);font-size:24px;letter-spacing:1px}.focus-clock small{margin-top:3px;color:#9da59f;font-size:7px}.focus-setup{display:flex;flex-direction:column;gap:7px}.focus-setup select{width:100%;border:1px solid rgba(70,75,72,.08);border-radius:10px;padding:8px;background:#fff;color:#666;font-size:9px}.focus-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.focus-actions button{border:0;border-radius:10px;padding:9px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:9px}.focus-actions button:last-child{background:var(--card-tint);color:var(--primary-dark)}.focus-recent{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}.focus-recent span,.focus-recent small{padding:5px 8px;border-radius:9px;background:var(--card-tint);color:#87908a;font-size:7px}.weekly-report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.weekly-report-grid div{text-align:center;padding:9px 4px;border-radius:11px;background:color-mix(in srgb,var(--card-tint) 65%,#fff)}.weekly-report-grid b,.weekly-report-grid span{display:block}.weekly-report-grid b{color:var(--primary-dark);font-size:15px}.weekly-report-grid span{margin-top:2px;color:#9ea5a1;font-size:7px}.study-week-chart{height:115px;display:flex;align-items:flex-end;gap:7px;margin-top:12px;padding-top:8px;border-top:1px dashed rgba(70,75,72,.07)}.study-week-chart>div{height:100%;flex:1;display:grid;grid-template-rows:12px 1fr 12px;text-align:center}.study-week-chart b,.study-week-chart small{color:#a1a8a4;font-size:7px}.study-week-chart i{position:relative;display:block}.study-week-chart em{position:absolute;right:20%;bottom:0;left:20%;min-height:4px;border-radius:7px 7px 3px 3px;background:linear-gradient(var(--primary),var(--secondary))}.weekly-report-note{margin:9px 0 0;padding:8px;border-radius:10px;background:rgba(255,255,255,.62);color:#89918c;font-size:8px;line-height:1.5}.study-course-dot{width:25px;height:25px;display:grid!important;place-items:center;padding:0!important;background:var(--card-tint)!important;font-size:13px!important}
@media(min-width:700px){.weekly-report-card{grid-column:1/-1}.focus-card{grid-column:1}.timetable-card{grid-row:1/5}}
@media(max-width:380px){.focus-main{grid-template-columns:92px 1fr}.focus-clock{width:90px;height:90px}.focus-clock b{font-size:20px}.weekly-report-grid{grid-template-columns:repeat(2,1fr)}}
.focus-setup input{width:100%;border:1px solid rgba(70,75,72,.08);border-radius:10px;padding:8px;background:#fff;color:#666;font-size:9px}
.focus-topic-label{display:block;color:var(--primary-dark);font-size:8px;font-weight:700;text-align:left}.focus-topic-label input{display:block;margin-top:4px;font-weight:400}

/* ===== 知识收藏库与阅读笔记 ===== */
.daily-workout-hero{display:flex;align-items:center;gap:15px;padding:18px;border:1px solid rgba(70,75,72,.05);border-radius:22px;background:radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--secondary) 24%,transparent),transparent 30%),linear-gradient(145deg,#fff,var(--card-tint));box-shadow:0 10px 28px rgba(65,72,68,.055)}.daily-workout-hero>div:first-child{min-width:0;flex:1}.daily-workout-hero small{color:#9ba39e;font-size:7px;letter-spacing:1.4px}.daily-workout-hero h2{margin:6px 0;color:#424b46;font-size:19px}.daily-workout-hero p{margin:0;color:#939b96;font-size:9px}.daily-workout-ring{--workout-pct:0deg;width:68px;height:68px;flex:0 0 68px;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,#fff 0 58%,transparent 59%),conic-gradient(var(--primary) var(--workout-pct),rgba(255,255,255,.75) 0)}.daily-workout-ring b{color:var(--primary-dark);font-size:14px}.daily-workout-ring small{font-size:6px;letter-spacing:0}.daily-workout-actions{display:grid;grid-template-columns:1fr auto;gap:7px;margin:10px 0}.daily-workout-actions button,.workout-collection-create button{border:0;border-radius:12px;padding:10px 14px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:9px}.daily-workout-actions button:last-child{background:var(--card-tint);color:var(--primary-dark)}.workout-collection-create{display:grid;grid-template-columns:1fr 1fr 85px auto;gap:7px;margin-bottom:10px;padding:10px;border-radius:14px;background:var(--card-tint)}.workout-collection-create input,.workout-collection-create select,.segment-add input,.segment-add select{min-width:0;border:1px solid rgba(70,75,72,.08);border-radius:9px;padding:8px;background:#fff;color:#656d68;font-size:8px}.workout-collection-list{display:flex;flex-direction:column;gap:10px}.workout-collection{padding:13px;border:1px solid rgba(70,75,72,.055);border-radius:18px;background:rgba(255,255,255,.76)}.workout-collection.active{border-color:color-mix(in srgb,var(--primary) 34%,transparent);box-shadow:0 8px 23px rgba(65,72,68,.05)}.collection-head{display:flex;align-items:flex-start;gap:7px}.collection-head>div{min-width:0;flex:1}.collection-head small,.collection-head b{display:block}.collection-head small{color:#a3aaa6;font-size:7px}.collection-head b{margin-top:3px;color:#4c5550;font-size:12px}.collection-head p{margin:3px 0 0;color:#9ca39f;font-size:8px}.collection-head button{border:0;border-radius:9px;padding:5px 8px;background:var(--card-tint);color:var(--primary-dark);font-size:7px}.collection-head button:last-child{background:none;color:#c4c9c6;font-size:15px}.collection-segments{display:flex;flex-direction:column;gap:7px;margin-top:11px}.collection-segment{display:flex;align-items:center;gap:9px;padding:10px;border-radius:13px;background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--card-tint) 58%,#fff))}.collection-segment>span{width:29px;height:29px;flex:0 0 29px;border-radius:50%;display:grid;place-items:center;background:var(--card-tint);color:var(--primary-dark);font-size:10px;font-weight:700}.collection-segment.done>span{background:var(--primary);color:#fff}.collection-segment>div:nth-child(2){min-width:0;flex:1}.collection-segment small,.collection-segment b{display:block}.collection-segment small{color:#a3aaa6;font-size:7px}.collection-segment b{margin-top:2px;color:#525a55;font-size:10px}.collection-segment p{margin:3px 0 0;color:#999f9b;font-size:7px}.segment-tools{display:flex!important;gap:2px}.segment-tools button{border:0;background:none;color:#aeb4b0;font-size:10px}.segment-add{display:grid;grid-template-columns:1fr 1fr 60px;gap:6px;margin-top:10px;padding-top:10px;border-top:1px dashed rgba(70,75,72,.08)}.segment-add [data-segment-url],.segment-add [data-segment-desc]{grid-column:span 1}.segment-add button{border:0;border-radius:9px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:8px}.workout-follow-mode{position:fixed;z-index:3100;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,color-mix(in srgb,var(--secondary) 25%,transparent),transparent 30%),linear-gradient(155deg,color-mix(in srgb,var(--bg1) 90%,#fff),color-mix(in srgb,var(--bg2) 90%,#fff))}.workout-follow-mode.hidden{display:none}.workout-follow-exit{position:absolute;top:max(20px,env(safe-area-inset-top));right:20px;border:1px solid rgba(70,75,72,.08);border-radius:16px;padding:8px 12px;background:rgba(255,255,255,.72);color:#7f8782;font-size:9px}.workout-follow-inner{width:min(760px,94vw)}.workout-follow-head{text-align:center;margin-bottom:12px}.workout-follow-head small,.workout-follow-head b{display:block}.workout-follow-head small{color:var(--primary-dark);font-size:8px;letter-spacing:1px}.workout-follow-head b{margin-top:4px;color:#4b544f;font-size:15px}.workout-follow-media{height:min(52vh,430px);overflow:hidden;border-radius:22px;background:#202320;display:grid;place-items:center;box-shadow:0 20px 50px rgba(55,62,58,.16)}.workout-follow-media iframe,.workout-follow-media video{width:100%;height:100%;border:0}.workout-follow-media>a,.workout-follow-media>div{display:flex;flex-direction:column;gap:9px;align-items:center;color:#fff;text-decoration:none;font-size:30px}.workout-follow-media small{color:#dfe3e0;font-size:10px}.workout-follow-copy{position:relative;padding:14px 3px 8px}.workout-follow-copy span{float:right;padding:5px 9px;border-radius:10px;background:var(--card-tint);color:var(--primary-dark);font-size:8px}.workout-follow-copy h2{margin:0;color:#47504b;font-size:20px}.workout-follow-copy p{margin:5px 0 0;color:#89918c;font-size:9px}.workout-follow-progress{height:6px;margin:8px 0 12px;border-radius:6px;background:rgba(255,255,255,.75);overflow:hidden}.workout-follow-progress i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--primary),var(--secondary))}.workout-follow-actions{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:8px}.workout-follow-actions button{border:1px solid rgba(70,75,72,.07);border-radius:14px;padding:11px;background:rgba(255,255,255,.75);color:var(--primary-dark);font-size:10px}.workout-follow-actions button:nth-child(2){border:0;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.workout-follow-actions button:disabled{opacity:.35}
@media(min-width:800px){.workout-collection-list{display:grid;grid-template-columns:1fr 1fr}.workout-collection.active{grid-column:1/-1}.segment-add{grid-template-columns:1fr 1fr 70px 1fr 1fr auto}}
@media(max-width:480px){.workout-collection-create{grid-template-columns:1fr 80px}.workout-collection-create input:first-child{grid-column:1/-1}.workout-collection-create button{grid-column:1/-1}.segment-add{grid-template-columns:1fr 58px}.segment-add select,.segment-add [data-segment-url],.segment-add [data-segment-desc]{grid-column:1/-1}.segment-add button{grid-column:1/-1;padding:8px}.workout-follow-mode{padding:18px}.workout-follow-media{height:42vh}.workout-follow-copy h2{font-size:17px}}
.segment-file-label{display:flex;align-items:center;justify-content:center;min-height:32px;border:1px dashed color-mix(in srgb,var(--primary) 45%,transparent);border-radius:9px;background:var(--card-tint);color:var(--primary-dark);font-size:8px;cursor:pointer}.segment-file-label input{display:none}
.workout-follow-view{position:absolute;z-index:2;top:max(20px,env(safe-area-inset-top));left:20px;display:flex;gap:5px}.workout-follow-view button{border:1px solid rgba(70,75,72,.08);border-radius:14px;padding:7px 10px;background:rgba(255,255,255,.72);color:#78817b;font-size:8px}.workout-follow-mode.layout-portrait .workout-follow-inner{max-width:560px}.workout-follow-mode.layout-landscape .workout-follow-inner{width:min(1100px,96vw);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);grid-template-rows:auto auto auto 1fr;gap:10px 18px;align-items:start}.workout-follow-mode.layout-landscape .workout-follow-head{grid-column:1/-1;margin:0}.workout-follow-mode.layout-landscape .workout-follow-media{grid-column:1;grid-row:2/6;height:min(72vh,650px)}.workout-follow-mode.layout-landscape .workout-follow-copy{grid-column:2;grid-row:2}.workout-follow-mode.layout-landscape .workout-follow-progress{grid-column:2;grid-row:3}.workout-follow-mode.layout-landscape .workout-follow-actions{grid-column:2;grid-row:4;grid-template-columns:1fr 1fr}.workout-follow-mode.layout-landscape .workout-follow-actions button:nth-child(2){grid-column:1/-1;grid-row:1}.workout-follow-mode.layout-landscape .workout-follow-actions button:first-child{grid-column:1}.workout-follow-mode.layout-landscape .workout-follow-actions button:last-child{grid-column:2}
@media(orientation:landscape) and (max-height:650px){.workout-follow-mode:not(.layout-portrait) .workout-follow-inner{width:min(1100px,96vw);display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,.75fr);gap:8px 16px}.workout-follow-mode:not(.layout-portrait) .workout-follow-head{grid-column:1/-1;margin:0}.workout-follow-mode:not(.layout-portrait) .workout-follow-media{grid-column:1;grid-row:2/6;height:72vh}.workout-follow-mode:not(.layout-portrait) .workout-follow-copy,.workout-follow-mode:not(.layout-portrait) .workout-follow-progress,.workout-follow-mode:not(.layout-portrait) .workout-follow-actions{grid-column:2}}
@media(max-width:520px){.workout-follow-view{top:max(14px,env(safe-area-inset-top));left:10px}.workout-follow-exit{top:max(14px,env(safe-area-inset-top));right:10px}.workout-follow-view button{padding:6px 7px;font-size:7px}}
.knowledge-form{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:7px}.knowledge-form input,.knowledge-form select,.knowledge-form textarea,.knowledge-toolbar input,.knowledge-toolbar select,.reading-note-editor input,.reading-note-editor textarea{min-width:0;border:1px solid rgba(70,75,72,.08);border-radius:10px;padding:8px;background:#fff;color:#626a65;font-size:9px}.knowledge-form #knowledgeTags,.knowledge-form textarea,.knowledge-form button{grid-column:1/-1}.knowledge-form textarea{resize:vertical;line-height:1.65}.knowledge-form button,.reading-note-editor>button{border:0;border-radius:11px;padding:9px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:9px}.knowledge-toolbar{display:grid;grid-template-columns:1fr 115px;gap:7px}.knowledge-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:9px 0}.knowledge-stats span{text-align:center;padding:8px;border-radius:10px;background:var(--card-tint);color:#9aa29d;font-size:7px}.knowledge-stats b{display:block;color:var(--primary-dark);font-size:14px}.knowledge-list{display:flex;flex-direction:column;gap:8px}.knowledge-item{padding:11px;border:1px solid rgba(70,75,72,.055);border-radius:14px;background:rgba(255,255,255,.72)}.knowledge-item.favorite{border-color:color-mix(in srgb,var(--primary) 35%,transparent);background:linear-gradient(145deg,#fff,var(--card-tint))}.knowledge-item-top{display:flex;align-items:center;gap:8px}.knowledge-item-top>span{font-size:18px;color:var(--primary)}.knowledge-item-top>div{min-width:0;flex:1}.knowledge-item-top small,.knowledge-item-top b{display:block}.knowledge-item-top small{color:#a4aaa6;font-size:7px}.knowledge-item-top b{margin-top:2px;color:#505853;font-size:11px}.knowledge-item-top>button{border:0;background:none;color:#c4c9c6;font-size:16px}.knowledge-item>p{margin:9px 0;color:#747c77;font-size:9px;line-height:1.65;white-space:pre-wrap}.knowledge-tags{display:flex;flex-wrap:wrap;gap:4px}.knowledge-tags i{padding:3px 6px;border-radius:7px;background:var(--card-tint);color:var(--primary-dark);font-size:7px;font-style:normal}.knowledge-item-foot{display:flex;align-items:center;gap:6px;margin-top:9px}.knowledge-item-foot time{margin-right:auto;color:#afb5b1;font-size:7px}.knowledge-item-foot button,.knowledge-item-foot a{border:0;border-radius:8px;padding:4px 7px;background:var(--card-tint);color:var(--primary-dark);font-size:7px;text-decoration:none}.book-item-rich{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid rgba(70,75,72,.055);border-radius:14px;background:rgba(255,255,255,.76)}.book-cover-mini{width:42px;height:55px;flex:0 0 42px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(145deg,var(--card-tint),var(--accent-tint));font-size:21px}.book-rich-main{min-width:0;flex:1}.book-rich-title{display:flex;align-items:center;gap:6px}.book-rich-title b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#4f5752;font-size:11px}.book-rich-title span{margin-left:auto;padding:3px 6px;border-radius:7px;background:var(--card-tint);color:var(--primary-dark);font-size:7px}.book-rich-main>small{display:block;margin-top:3px;color:#9ea5a1;font-size:7px}.book-progress{height:4px;margin:7px 0;border-radius:4px;background:var(--card-tint);overflow:hidden}.book-progress i{display:block;height:100%;border-radius:4px;background:linear-gradient(90deg,var(--primary),var(--secondary))}.book-rich-actions{display:flex;align-items:center;gap:5px}.book-rich-actions button{border:0;border-radius:8px;padding:4px 7px;background:var(--card-tint);color:var(--primary-dark);font-size:7px}.book-rich-actions em{margin-left:auto;color:#a7ada9;font-size:7px;font-style:normal}.book-rich-del{border:0;background:none;color:#c4c9c6;font-size:16px}.reading-note-editor{margin:11px 0;padding:12px;border:1px solid color-mix(in srgb,var(--primary) 20%,transparent);border-radius:15px;background:linear-gradient(145deg,#fff,var(--card-tint))}.reading-note-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.reading-note-editor textarea,.reading-note-editor>input{width:100%;margin-top:7px;resize:vertical}.reading-note-editor>button{width:100%;margin-top:7px}.reading-notes{margin-top:13px}.reading-note-card{margin-bottom:8px;padding:12px;border:1px solid rgba(70,75,72,.055);border-radius:14px;background:rgba(255,255,255,.74)}.reading-note-head{display:flex;align-items:flex-start;gap:7px}.reading-note-head>div{min-width:0;flex:1}.reading-note-head b,.reading-note-head small{display:block}.reading-note-head b{color:#505853;font-size:10px}.reading-note-head small{margin-top:2px;color:#a6aca8;font-size:7px}.reading-note-head span{color:#d3a75c;font-size:8px}.reading-note-head button{border:0;background:none;color:#c5cac7}.reading-note-card h4{margin:9px 0 5px;color:var(--primary-dark);font-size:10px}.reading-note-card blockquote{margin:7px 0;padding:8px 10px;border-left:3px solid var(--primary);border-radius:0 9px 9px 0;background:var(--card-tint);color:#737b76;font-size:8px;line-height:1.6}.reading-note-card p{margin:7px 0 0;color:#747c77;font-size:9px;line-height:1.65;white-space:pre-wrap}
@media(min-width:700px){#kp-library.active{display:grid;grid-template-columns:.8fr 1.2fr;gap:11px;align-items:start}.knowledge-editor,.knowledge-library-card{margin:0}.book-list{display:grid;grid-template-columns:1fr 1fr}.reading-note-card{display:inline-block;width:calc(50% - 5px);vertical-align:top}.reading-note-card:nth-child(even){margin-left:6px}}
@media(max-width:480px){.knowledge-form{grid-template-columns:1fr 1fr}.knowledge-form #knowledgeTitle{grid-column:1/-1}.knowledge-toolbar{grid-template-columns:1fr}.book-fields{grid-template-columns:1fr 1fr}}

/* ===== 云同步与上线可用性补强 ===== */
.auth-forgot{align-self:flex-end;border:0;background:none;color:var(--primary-dark);font-size:8px}.auth-reset{display:flex;flex-direction:column;gap:9px}.auth-reset h2{margin:8px 0;color:#48514c;text-align:center;font-size:18px}.auth-reset input{border:1px solid rgba(70,75,72,.09);border-radius:13px;padding:11px;background:#fff;font-size:11px}.auth-reset button{border:0;border-radius:13px;padding:11px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.auth-legal{text-align:center;margin:4px 0 0;color:#a2a9a5;font-size:7px}.auth-legal a{margin:0 3px;color:var(--primary-dark)}
.auth-gate{position:fixed;z-index:5000;inset:0;display:grid;place-items:center;overflow:auto;padding:max(28px,env(safe-area-inset-top)) 18px max(28px,env(safe-area-inset-bottom));background:radial-gradient(circle at 14% 12%,color-mix(in srgb,var(--secondary) 28%,transparent),transparent 27%),radial-gradient(circle at 86% 86%,color-mix(in srgb,var(--primary) 25%,transparent),transparent 30%),linear-gradient(155deg,color-mix(in srgb,var(--bg1) 92%,#fff),color-mix(in srgb,var(--bg2) 88%,#fff))}.auth-gate.hidden{display:none}.auth-decor{position:absolute;border-radius:50%;filter:blur(2px);opacity:.42}.auth-decor-one{width:170px;height:170px;left:-60px;bottom:8%;background:var(--secondary)}.auth-decor-two{width:120px;height:120px;right:-35px;top:8%;background:var(--primary)}.auth-shell{position:relative;z-index:1;width:min(420px,94vw);padding:clamp(24px,5vw,38px);border:1px solid rgba(255,255,255,.78);border-radius:28px;background:rgba(255,255,255,.76);box-shadow:0 25px 70px rgba(65,72,68,.13);backdrop-filter:blur(18px)}.auth-brand{text-align:center}.auth-brand>span{width:62px;height:62px;margin:auto;border-radius:21px;display:grid;place-items:center;background:linear-gradient(145deg,var(--card-tint),#fff);box-shadow:0 10px 28px rgba(70,80,74,.1);font-size:29px}.auth-brand small{display:block;margin-top:16px;color:var(--primary-dark);font-size:8px;font-weight:700;letter-spacing:2.5px}.auth-brand h1{margin:8px 0 5px;color:#414a45;font-size:25px}.auth-brand p{margin:0;color:#929a95;font-size:10px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:22px 0 13px;padding:4px;border-radius:15px;background:var(--card-tint)}.auth-tabs button{border:0;border-radius:12px;padding:9px;background:transparent;color:#89918c;font-size:10px}.auth-tabs button.active{background:#fff;color:var(--primary-dark);font-weight:700;box-shadow:0 4px 13px rgba(65,72,68,.06)}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-form label{color:#767f79;font-size:9px}.auth-form input{display:block;width:100%;margin-top:5px;border:1px solid rgba(70,75,72,.09);border-radius:13px;padding:11px 12px;background:rgba(255,255,255,.88);color:#4f5752;font-size:11px}.auth-submit{border:0;border-radius:14px;padding:12px;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 9px 23px color-mix(in srgb,var(--primary) 22%,transparent);color:#fff;font-size:11px;font-weight:700}.auth-status{min-height:16px;margin:10px 0 0;text-align:center;color:#9ca39f;font-size:8px}
/* 认证按钮 loading 状态 */
.btn-loading{opacity:.78;cursor:wait;position:relative;transition:all .2s}
.btn-loading::after{content:'';display:inline-block;width:14px;height:14px;margin-left:6px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spinBtn .6s linear infinite;vertical-align:middle}
@keyframes spinBtn{to{transform:rotate(360deg)}}
.auth-loading-tip{margin:6px 0 0;text-align:center;color:var(--primary-dark);font-size:9px;font-weight:600;animation:pulseTip 1.2s ease-in-out infinite}
@keyframes pulseTip{0%,100%{opacity:1}50%{opacity:.45}}.auth-project-config{margin-top:13px;padding-top:12px;border-top:1px dashed rgba(70,75,72,.09)}.auth-project-config summary{text-align:center;color:#a1a8a4;font-size:8px;cursor:pointer}.auth-project-config>div{display:grid;gap:6px;margin-top:8px}.auth-project-config input{border:1px solid rgba(70,75,72,.09);border-radius:10px;padding:8px;background:#fff;font-size:8px}.auth-project-config button{border:0;border-radius:10px;padding:8px;background:var(--card-tint);color:var(--primary-dark);font-size:8px}.auth-project-config small{display:block;margin-top:6px;color:#aaa;font-size:7px;line-height:1.5}
.cloud-status{padding:4px 8px;border-radius:10px;background:#f1f2f1;color:#929995;font-size:8px}.cloud-status.online{background:#e5f5ed;color:#57947a}.cloud-config{margin:10px 0;padding:9px;border-radius:12px;background:var(--card-tint)}.cloud-config summary{color:var(--primary-dark);font-size:9px;cursor:pointer}.cloud-config-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:7px;margin-top:8px}.cloud-config input,.cloud-login input{min-width:0;border:1px solid rgba(70,75,72,.09);border-radius:10px;padding:9px;background:#fff;color:#626a65;font-size:9px}.cloud-config button,.cloud-login button,.cloud-user button{border:0;border-radius:10px;padding:9px 11px;background:var(--card-tint);color:var(--primary-dark);font-size:9px}.cloud-login{display:grid;grid-template-columns:1fr 1fr auto auto;gap:7px}.cloud-login button:nth-last-child(1){background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}.cloud-user{margin-top:10px;padding:10px;border-radius:12px;background:linear-gradient(145deg,#fff,var(--card-tint))}.cloud-user p{margin:0 0 8px;color:#69716c;font-size:9px}.cloud-user>div{display:flex;flex-wrap:wrap;gap:6px}.cloud-user button:first-child{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}
button,input,select,textarea{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:600px){.cloud-config-grid,.cloud-login{grid-template-columns:1fr 1fr}.cloud-config-grid input,.cloud-login input{grid-column:1/-1}.cloud-config-grid button{grid-column:1/-1}.settings-card input,.settings-card select,.settings-card button{min-height:34px}.page-sub,.settings-note,.tip-text{font-size:max(9px,2.4vw);line-height:1.55}}
.app-load-error{position:fixed;left:16px;right:16px;bottom:18px;z-index:99999;padding:14px 16px;border-radius:16px;background:#fff1ee;color:#8b4038;box-shadow:0 8px 30px rgba(0,0,0,.16);font:14px/1.5 system-ui}
.focus-mode{position:fixed;z-index:3000;inset:0;display:grid;place-items:center;overflow:hidden;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 20% 15%,color-mix(in srgb,var(--secondary) 30%,transparent),transparent 28%),radial-gradient(circle at 82% 82%,color-mix(in srgb,var(--primary) 24%,transparent),transparent 30%),linear-gradient(155deg,color-mix(in srgb,var(--bg1) 88%,#fff),color-mix(in srgb,var(--bg2) 88%,#fff))}.focus-mode.hidden{display:none}.focus-mode-dots{position:absolute;inset:0;opacity:.2;background-image:radial-gradient(circle,var(--primary-dark) 1.4px,transparent 1.6px);background-size:30px 30px;mask-image:linear-gradient(to bottom,#000,transparent 80%)}.focus-mode-exit{position:absolute;z-index:2;top:max(20px,env(safe-area-inset-top));right:20px;border:1px solid rgba(70,75,72,.08);border-radius:18px;padding:8px 13px;background:rgba(255,255,255,.65);color:#7e8781;font-size:10px}.focus-mode-inner{position:relative;z-index:1;width:min(520px,92vw);text-align:center}.focus-mode-label{margin:0 0 8px;color:var(--primary-dark);font-size:10px;font-weight:700;letter-spacing:4px}.focus-mode h2{margin:0 0 clamp(22px,5vh,46px);color:#4c5550;font-size:clamp(22px,5vw,38px)}.focus-mode-ring{--focus-pct:0deg;width:min(62vw,330px);height:min(62vw,330px);margin:auto;border-radius:50%;display:grid;place-content:center;background:radial-gradient(circle,color-mix(in srgb,var(--bg1) 62%,#fff) 0 60%,transparent 60.5%),conic-gradient(var(--primary) var(--focus-pct),rgba(255,255,255,.68) 0);box-shadow:0 24px 70px rgba(70,85,76,.12),inset 0 0 0 1px rgba(255,255,255,.7)}.focus-mode-ring b{color:var(--primary-dark);font-size:clamp(44px,12vw,78px);letter-spacing:3px}.focus-mode-ring small{margin-top:8px;color:#89928c;font-size:clamp(10px,2vw,14px)}.focus-encourage{min-height:24px;margin:clamp(24px,5vh,45px) auto 18px;color:#707a74;font-size:clamp(12px,2vw,16px);line-height:1.7}.focus-mode-actions{display:flex;justify-content:center;gap:10px}.focus-mode-actions button{min-width:110px;border:1px solid rgba(70,75,72,.07);border-radius:18px;padding:11px 18px;background:rgba(255,255,255,.72);color:var(--primary-dark);font-size:11px}.focus-mode-actions button:last-child{border:0;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff}
