/* 明日簿 V1.0：字体随站点本地提供，跨电脑与手机保持一致 */
@font-face{font-family:"MingribuTitle";src:url("./fonts/MaShanZheng-Regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"MingribuHand";src:url("./fonts/Xiaolai-Regular.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}

/* 明日簿 V1.0：更丰富但保持克制的时间驾驶舱 */
:root{--v10-card:rgba(255,255,255,.72);--v10-card-strong:rgba(255,255,255,.9);--v10-soft-shadow:0 18px 50px rgba(50,99,130,.10);--v10-deep-shadow:0 26px 70px rgba(34,74,102,.18)}
html{font-family:"MiSans","HarmonyOS Sans SC","Microsoft YaHei UI","PingFang SC","Noto Sans SC","Segoe UI",sans-serif}
body{font-feature-settings:"kern" 1,"tnum" 1;color-scheme:light}
.shell{max-width:1420px;padding-top:38px}
.topbar{padding-left:clamp(20px,3.7vw,58px);padding-right:clamp(20px,3.7vw,58px)}
.brand-mark{border-radius:14px;transform:rotate(-3deg);font-family:"STZhongsong","Songti SC",serif}
.brand strong{font-family:inherit;font-weight:780;letter-spacing:.12em}
.hero{margin-bottom:22px;padding-left:5px;padding-right:5px}
.hero h1{font-family:inherit;font-weight:780;letter-spacing:-.055em;font-size:clamp(38px,4.3vw,62px);line-height:1.03}
.hero-copy{font-size:14px;letter-spacing:.01em}
.date-nav{box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 10px 30px rgba(55,100,130,.07)}

.week-ribbon{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:14px;padding:15px 18px;margin-bottom:16px;border:1px solid rgba(255,255,255,.75);border-radius:24px;background:rgba(255,255,255,.43);box-shadow:inset 0 1px 0 rgba(255,255,255,.82);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.week-ribbon-copy span,.week-ribbon-copy small{display:block}.week-ribbon-copy span{font-size:13px;font-weight:760}.week-ribbon-copy small{font-size:10px;color:var(--muted);margin-top:3px}
.week-date-list{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.week-date{position:relative;min-width:0;border:0;border-radius:17px;padding:9px 7px 10px;background:transparent;color:var(--muted);cursor:pointer;text-align:center;transition:.2s ease}
.week-date span,.week-date strong,.week-date small{display:block}.week-date span{font-size:9px}.week-date strong{font-size:17px;color:var(--ink);margin:4px 0 7px}.week-date small{height:4px;background:rgba(60,100,125,.12);border-radius:99px;overflow:hidden}.week-date small i{display:block;height:100%;border-radius:inherit;background:var(--theme-accent);width:var(--day-progress,0%)}
.week-date:hover{background:rgba(255,255,255,.56);transform:translateY(-1px)}
.week-date.selected{background:var(--v10-card-strong);box-shadow:0 9px 24px rgba(50,95,123,.11)}
.week-date.selected strong{color:var(--theme-deep)}.week-date.today:after{content:"";position:absolute;right:8px;top:8px;width:5px;height:5px;border-radius:50%;background:var(--theme-accent)}

.day-overview{display:grid;grid-template-columns:minmax(360px,1.55fr) repeat(2,minmax(190px,.7fr));gap:14px;margin-bottom:16px}
.focus-card,.overview-card{position:relative;overflow:hidden;border-radius:26px;border:1px solid rgba(255,255,255,.75);box-shadow:var(--v10-soft-shadow)}
.focus-card{min-height:168px;padding:23px 24px;display:grid;grid-template-columns:92px minmax(0,1fr) auto;align-items:center;gap:20px;color:white;background:linear-gradient(130deg,var(--theme-deep),color-mix(in srgb,var(--theme-accent) 76%,var(--theme-deep)))}
.focus-card:before{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-95px;top:-115px;background:rgba(255,255,255,.13)}
.focus-orbit{--focus-angle:0deg;position:relative;width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(rgba(255,255,255,.95) var(--focus-angle),rgba(255,255,255,.18) 0)}
.focus-orbit:before{content:"";position:absolute;inset:6px;border-radius:50%;background:color-mix(in srgb,var(--theme-deep) 78%,var(--theme-accent))}.focus-orbit span{position:relative;font-size:15px;font-weight:760}
.focus-copy{min-width:0}.focus-copy .section-kicker{color:rgba(255,255,255,.65);margin-bottom:6px}.focus-label{font-size:10px;color:rgba(255,255,255,.68)}.focus-copy h2{font-family:inherit;font-size:21px;line-height:1.32;margin:5px 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.focus-copy p:last-child{font-size:10px;color:rgba(255,255,255,.7);margin:0}
.focus-action{position:relative;border:1px solid rgba(255,255,255,.28);border-radius:13px;background:rgba(255,255,255,.14);color:white;padding:10px 12px;cursor:pointer;font-size:11px;white-space:nowrap}.focus-action:hover{background:rgba(255,255,255,.22)}
.overview-card{padding:22px;background:var(--v10-card);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);display:flex;align-items:flex-start;gap:14px}
.overview-card:after{content:"";position:absolute;width:120px;height:120px;right:-50px;bottom:-65px;border-radius:50%;background:color-mix(in srgb,var(--theme-soft) 58%,transparent)}
.overview-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--theme-soft) 72%,white);color:var(--theme-deep);font-size:17px;flex:none}.overview-card small,.overview-card strong,.overview-card p{display:block}.overview-card small{font-size:10px;color:var(--muted)}.overview-card strong{font-size:18px;margin:7px 0 5px;letter-spacing:-.03em}.overview-card p{font-size:10px;color:var(--muted);margin:0;line-height:1.5}

.quick-plan{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:17px;padding:16px 18px;border-radius:24px;background:rgba(255,255,255,.33);border:1px solid rgba(255,255,255,.55)}
.quick-plan>div:first-child{min-width:220px}.quick-plan .section-kicker{margin-bottom:5px}.quick-plan h2{font-size:16px;margin:0;letter-spacing:-.02em}.template-list{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px;flex:1}
.template-list button{min-width:0;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.58);color:var(--ink);border-radius:16px;padding:9px 11px;display:flex;align-items:center;gap:9px;text-align:left;cursor:pointer;transition:.2s}.template-list button:hover{background:rgba(255,255,255,.9);transform:translateY(-1px);box-shadow:0 10px 24px rgba(46,91,119,.08)}
.template-list i{width:29px;height:29px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--theme-soft) 70%,white);color:var(--theme-deep);font-style:normal;font-weight:750;font-size:11px;flex:none}.template-list span,.template-list strong,.template-list small{display:block;min-width:0}.template-list strong{font-size:11px;white-space:nowrap}.template-list small{font-size:9px;color:var(--muted);margin-top:2px;white-space:nowrap}

.dashboard{grid-template-columns:minmax(0,1.75fr) minmax(300px,.72fr);gap:16px}.schedule-panel{min-height:570px;padding:25px;border-radius:28px}.side-column{gap:16px}.stat-card,.reflection-card{border-radius:26px}.panel-heading h2{font-family:inherit;font-weight:760;letter-spacing:-.035em}.panel-heading .section-kicker{margin-bottom:5px}
.progress-wrap{margin:23px 0 17px}.progress-track{height:8px}.task-list{gap:8px}.task-item{border:1px solid rgba(255,255,255,.7);border-left:4px solid color-mix(in srgb,var(--theme-accent) 72%,white);background:rgba(255,255,255,.42);border-radius:18px;padding:15px 13px;box-shadow:0 8px 25px rgba(46,91,119,.05)}
.task-item:first-child{border-top:1px solid rgba(255,255,255,.7)}.task-time{font-family:"Segoe UI",sans-serif;font-weight:650}.task-title{font-size:14px}.tag{font-weight:700;letter-spacing:.02em}.photo-checkin{opacity:.76}.task-item.done{border-left-color:#7ac59a}.task-item.done .check{box-shadow:0 0 0 5px color-mix(in srgb,var(--theme-accent) 15%,transparent)}.task-item.focus-pulse{animation:focusPulse 1.15s ease}
.streak-number strong{font-family:inherit;font-weight:780;letter-spacing:-.06em}.reflection-card textarea{min-height:126px}.empty-state{padding:70px 20px}

/* AI 由大弹窗改为右侧陪伴抽屉 */
.coach-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(540px,100vw);height:100dvh;max-height:none;border-radius:30px 0 0 30px;background:rgba(246,251,255,.96);box-shadow:-28px 0 80px rgba(25,61,85,.22);animation:coachDrawerIn .28s cubic-bezier(.2,.8,.2,1)}
.coach-dialog::backdrop{background:rgba(16,29,38,.34);backdrop-filter:blur(5px)}
.coach-shell{display:flex;flex-direction:column;min-height:100%;height:100%;max-height:none;overflow:hidden}
.coach-visual{min-height:155px;flex:none;padding:22px 64px 20px 132px;display:block;text-align:left;border-radius:30px 0 0;background:linear-gradient(135deg,var(--theme-deep),color-mix(in srgb,var(--theme-accent) 76%,var(--theme-deep)))}
.coach-visual .cartoon-avatar.large-avatar{position:absolute;left:26px;bottom:14px;width:96px;height:126px;border-radius:25px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.25);overflow:hidden;box-shadow:none}.coach-visual .cartoon-avatar.large-avatar img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 14px rgba(20,54,72,.13))}.coach-visual h2{font-family:inherit;font-weight:760;font-size:24px;margin:7px 0 4px}.coach-visual>p:last-child{font-size:10px}.coach-visual .online-dot{margin:17px 0 0!important}.coach-close{right:22px;top:18px;width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.12)}
.coach-chat{padding:25px 26px 20px;flex:1;min-height:0}.chat-heading h2{font-family:inherit;font-size:23px;font-weight:760;letter-spacing:-.035em}.chat-status-line{display:block;font-size:9px;color:var(--muted);margin-top:5px}.chat-status-line i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#61bd82;margin-right:5px}.messages{max-height:none;min-height:0;padding:22px 1px;gap:11px}.message{font-size:13px;line-height:1.75;padding:12px 15px}.quick-prompts{padding-top:2px}.quick-prompts button{background:rgba(255,255,255,.6)}.chat-input{background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.88);border-radius:17px;padding:5px!important;box-shadow:0 12px 30px rgba(44,89,118,.08)}.chat-input input{border:0;background:transparent;box-shadow:none!important}.chat-input>button[type="submit"]{border-radius:12px}.privacy-tip{margin-bottom:0}
@keyframes coachDrawerIn{from{transform:translateX(50px);opacity:.4}}
@keyframes focusPulse{0%,100%{box-shadow:0 8px 25px rgba(46,91,119,.05)}45%{box-shadow:0 0 0 5px color-mix(in srgb,var(--theme-accent) 18%,transparent),0 18px 38px rgba(46,91,119,.13)}}

body.dark{color-scheme:dark;--v10-card:rgba(24,39,47,.76);--v10-card-strong:rgba(31,49,58,.94)}
body.dark .week-ribbon,body.dark .quick-plan{background:rgba(24,39,47,.56);border-color:rgba(255,255,255,.11)}body.dark .week-date.selected,body.dark .template-list button,body.dark .task-item{background:rgba(34,52,61,.76);border-color:rgba(255,255,255,.1)}body.dark .overview-card{background:rgba(27,43,51,.78)}body.dark .coach-dialog{background:rgba(18,31,38,.98)}body.dark .chat-input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}

@media(max-width:1100px){.day-overview{grid-template-columns:1.4fr 1fr}.rhythm-card{display:none}.quick-plan{display:block}.quick-plan>div:first-child{margin-bottom:12px}.dashboard{grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr)}}
@media(max-width:800px){.shell{padding:22px 13px 112px}.hero{margin-bottom:17px}.hero h1{font-size:36px}.hero-copy{display:block}.week-ribbon{display:block;padding:11px 9px;border-radius:21px;overflow:hidden}.week-ribbon-copy{display:none}.week-date-list{gap:3px}.week-date{padding:8px 3px;border-radius:14px}.week-date strong{font-size:15px}.week-date span{font-size:8px}.day-overview{grid-template-columns:1fr 1fr;gap:10px}.focus-card{grid-column:1/-1;min-height:146px;grid-template-columns:72px minmax(0,1fr);padding:19px;gap:15px}.focus-orbit{width:68px;height:68px}.focus-action{display:none}.focus-copy h2{font-size:18px}.overview-card{padding:15px;min-height:106px;gap:10px}.overview-icon{width:31px;height:31px}.overview-card strong{font-size:15px}.rhythm-card{display:flex}.quick-plan{padding:15px;border-radius:21px}.quick-plan>div:first-child{min-width:0}.template-list{display:flex;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:2px}.template-list button{min-width:138px;scroll-snap-align:start}.dashboard{grid-template-columns:1fr}.schedule-panel{min-height:470px;padding:18px;border-radius:24px}.task-item{grid-template-columns:54px 1fr auto;gap:9px;padding:13px 10px;border-radius:16px}.side-column{gap:11px}.stat-card,.reflection-card{border-radius:23px}.desktop-pet{bottom:calc(82px + env(safe-area-inset-bottom))}.coach-dialog{width:100vw;height:100dvh;border-radius:0}.coach-visual{border-radius:0;min-height:136px;padding:18px 54px 17px 112px}.coach-visual .cartoon-avatar.large-avatar{left:18px;bottom:10px;width:78px;height:104px}.coach-visual .online-dot{margin:10px 0 0!important}.coach-visual h2{font-size:20px}.coach-chat{padding:19px 16px calc(15px + env(safe-area-inset-bottom))}.messages{padding:15px 0}.chat-heading h2{font-size:20px}.quick-prompts{flex-wrap:nowrap;overflow:auto;padding-bottom:3px}.quick-prompts button{white-space:nowrap}.chat-input{grid-template-columns:38px 1fr auto}.voice-input{width:38px}.coach-close{right:14px;top:12px}}
@media(max-width:460px){.hero{display:flex;align-items:flex-end}.hero h1{font-size:31px}.hero-copy{font-size:11px}.date-nav{margin-top:0}.date-nav #todayBtn{display:none}.week-date:nth-child(1),.week-date:nth-child(7){display:none}.week-date-list{grid-template-columns:repeat(5,1fr)}.day-overview{display:grid}.overview-card p{display:none}.quick-plan h2{font-size:15px}.panel-heading h2{font-size:19px}.schedule-panel .panel-heading .primary-button{font-size:0;width:42px;height:42px;padding:0}.schedule-panel .panel-heading .primary-button span{font-size:22px;margin:0}.task-note{font-size:11px}.photo-checkin span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.week-date,.template-list button,.coach-dialog{transition:none;animation:none}}

/* V1.0 正式视觉：参考暖白手帐的布局、纸感与自然配色 */
:root{--paper-ivory:#f6f1e7;--paper-warm:#eee5d5;--forest:#385f43;--forest-dark:#274a34;--sage:#7f9d76;--gold-line:#d9c6a5;--warm-ink:#242a25;--warm-muted:#77786f;--warm-card:rgba(255,253,248,.88)}
body[data-palette]{background:linear-gradient(145deg,#f9f6ef 0%,#f3ecdf 46%,#e8dfcf 100%);color:var(--warm-ink)}
body[data-palette]:before{width:52vw;height:38vw;left:34vw;top:70px;background:radial-gradient(ellipse,rgba(239,221,184,.55),transparent 68%);filter:blur(24px)}
body[data-palette]:after{width:36vw;height:34vw;right:-9vw;bottom:-11vw;background:color-mix(in srgb,var(--theme-soft) 34%,transparent);filter:blur(46px)}
.custom-background-layer{position:fixed;z-index:-3;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.02);transition:opacity .3s ease;pointer-events:none}
body.has-custom-background .custom-background-layer{opacity:var(--background-strength,.38)}
body.has-custom-background:before{inset:0;width:auto;height:auto;left:0;top:0;border-radius:0;background:linear-gradient(135deg,rgba(255,252,245,.9),rgba(248,242,230,.63));filter:none}
body.has-custom-background.dark:before{background:linear-gradient(135deg,rgba(18,28,23,.9),rgba(25,34,29,.7))}
.grain{opacity:.2;mix-blend-mode:multiply}
.topbar{height:78px;background:rgba(252,249,242,.86);border-color:rgba(125,107,76,.16);box-shadow:0 8px 28px rgba(80,64,39,.06);backdrop-filter:blur(26px) saturate(115%);-webkit-backdrop-filter:blur(26px) saturate(115%)}
.brand-mark{border:0;background:transparent;box-shadow:none;width:46px;height:46px;font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:29px;color:var(--forest-dark);transform:none}
.brand strong{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:24px;font-weight:700;letter-spacing:.08em}.brand small{font-size:9px}.version-badge{display:inline-block;margin-left:5px;padding:2px 5px;border:1px solid color-mix(in srgb,var(--theme-accent) 36%,transparent);border-radius:99px;color:var(--theme-accent);font:650 8px/1.2 "Segoe UI",sans-serif;letter-spacing:.05em;vertical-align:middle}
.view-tabs{background:transparent;border:0;box-shadow:none;gap:15px}.view-tab{position:relative;border-radius:0;padding:10px 5px;font-size:13px}.view-tab.active{background:transparent;box-shadow:none;color:var(--theme-deep);font-weight:750}.view-tab.active:after{content:"";position:absolute;height:3px;left:18%;right:18%;bottom:1px;border-radius:99px;background:var(--theme-accent)}
.top-actions .text-button{font-size:11px}.shell{max-width:1480px;padding-top:30px}
.hero{position:relative;min-height:216px;margin-bottom:15px;padding:38px 42% 28px 34px;align-items:flex-start;border:1px solid rgba(146,123,84,.15);border-radius:30px;background:linear-gradient(100deg,rgba(255,253,248,.96) 0%,rgba(255,252,245,.86) 52%,rgba(232,222,198,.42) 100%);box-shadow:0 20px 60px rgba(92,73,44,.09);overflow:hidden}
.hero:before{content:"";position:absolute;right:3%;bottom:-48%;width:38%;height:150%;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 68% 30%,rgba(255,255,255,.86),transparent 25%),linear-gradient(145deg,transparent 25%,rgba(192,176,139,.16) 26% 28%,transparent 29% 43%,rgba(93,122,79,.18) 44% 46%,transparent 47%);transform:rotate(-4deg)}
.hero:after{content:"❦";position:absolute;right:23%;bottom:24px;color:rgba(69,101,61,.36);font:92px/1 Georgia,serif;transform:rotate(-18deg)}
.hero>div:first-child{position:relative;z-index:1}.hero .eyebrow{color:var(--theme-accent);font-size:11px}.hero h1{font-family:"Kaiti SC","STKaiti","KaiTi","Songti SC",serif;font-size:clamp(42px,4.5vw,68px);font-weight:700;letter-spacing:.015em;line-height:1.08}.hero-copy{font-size:15px;color:var(--warm-muted)}
.hero .date-nav{position:absolute;z-index:2;right:27px;top:25px;background:rgba(255,253,248,.76);border-color:rgba(135,112,75,.16)}
.week-ribbon{background:rgba(255,253,248,.7);border-color:rgba(152,126,84,.15);box-shadow:0 10px 35px rgba(91,72,43,.05);border-radius:22px}.week-date.selected{background:#fffdf8;box-shadow:0 7px 20px rgba(82,65,40,.09)}
.day-overview{grid-template-columns:minmax(420px,1.6fr) repeat(2,minmax(190px,.65fr))}.focus-card{color:var(--warm-ink);background:linear-gradient(135deg,rgba(255,253,247,.98),rgba(239,235,219,.95));border-color:rgba(140,116,75,.17);box-shadow:0 18px 48px rgba(82,64,37,.09)}.focus-card:before{background:color-mix(in srgb,var(--theme-soft) 50%,transparent)}.focus-orbit{background:conic-gradient(var(--theme-accent) var(--focus-angle),rgba(66,94,70,.12) 0)}.focus-orbit:before{background:#faf6ed}.focus-orbit span{color:var(--theme-deep)}.focus-copy .section-kicker{color:var(--theme-accent)}.focus-label,.focus-copy p:last-child{color:var(--warm-muted)}.focus-action{border-color:rgba(61,92,66,.22);background:var(--theme-deep);color:white}.focus-action:hover{background:color-mix(in srgb,var(--theme-deep) 86%,black)}
.overview-card{background:var(--warm-card);border-color:rgba(140,116,75,.15);box-shadow:0 15px 40px rgba(82,64,37,.07)}.overview-icon{background:color-mix(in srgb,var(--theme-soft) 58%,#fffaf0)}
.quick-plan{background:rgba(255,253,248,.66);border-color:rgba(149,122,79,.15)}.template-list button{background:rgba(255,253,248,.84);border-color:rgba(158,131,86,.16)}.template-list i{background:color-mix(in srgb,var(--theme-soft) 52%,#fffaf0)}
.dashboard{grid-template-columns:minmax(0,1.8fr) minmax(310px,.72fr)}.panel,.metric-card{background:rgba(255,253,248,.82);border-color:rgba(145,119,77,.16);box-shadow:0 18px 52px rgba(83,65,38,.08),inset 0 1px 0 rgba(255,255,255,.9)}.schedule-panel{background:linear-gradient(145deg,rgba(255,254,250,.94),rgba(249,245,235,.86))}
.task-list{position:relative;padding-left:13px}.task-list:before{content:"";position:absolute;left:18px;top:17px;bottom:17px;width:1px;background:rgba(77,105,76,.25)}.task-item{position:relative;z-index:1;margin-left:18px;background:rgba(255,253,248,.84);border:1px solid rgba(156,130,88,.17);border-left:0;border-radius:13px;padding:13px 12px;box-shadow:0 5px 16px rgba(83,66,40,.035)}.task-item:before{content:"";position:absolute;left:-26px;top:50%;width:11px;height:11px;border:2px solid var(--theme-deep);border-radius:50%;background:#fbf7ef;transform:translateY(-50%)}.task-item.done:before{background:var(--theme-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-soft) 45%,transparent)}.task-item.done{border-left:0}.task-time{color:#565d56}.progress-track{background:rgba(85,105,78,.11)}.progress-fill{background:linear-gradient(90deg,var(--theme-deep),var(--theme-accent))}.primary-button{background:linear-gradient(135deg,var(--theme-deep),color-mix(in srgb,var(--theme-deep) 78%,var(--theme-accent)));box-shadow:0 9px 22px rgba(48,78,52,.2)}.soft-button{background:rgba(255,253,248,.75);border:1px solid rgba(126,105,72,.15)}
.stat-card{background:linear-gradient(145deg,rgba(255,253,248,.94),color-mix(in srgb,var(--theme-soft) 28%,#fffaf1))}.reflection-card textarea{background:rgba(250,246,237,.84);border:1px solid rgba(147,122,80,.1)}.streak-seal{color:#a6673f;border-color:#bd8056}.section-kicker{color:var(--theme-accent)}
.coach-dialog{background:rgba(251,248,240,.98);box-shadow:-30px 0 90px rgba(57,48,32,.22)}.coach-chat{background:linear-gradient(150deg,rgba(255,253,248,.97),rgba(246,241,230,.94))}.message.bot{background:rgba(255,253,248,.92);border:1px solid rgba(143,118,78,.12)}
.background-settings{margin:22px 0 12px;padding:17px;border:1px solid rgba(130,111,78,.16);border-radius:18px;background:rgba(255,255,255,.3)}.background-settings h3{font-size:15px;margin:0 0 4px}.background-settings>div:first-child>small{color:var(--muted);font-size:9px}.background-settings .section-kicker{margin-bottom:5px}.background-actions{display:flex;gap:8px;margin:14px 0}.background-upload{display:inline-flex;align-items:center;justify-content:center}.background-actions .danger-button{padding:9px 12px;border-radius:11px}.background-strength{display:grid;grid-template-columns:auto 1fr 36px;align-items:center;gap:10px;margin:11px 0!important}.background-strength input{margin:0;padding:0;border:0;box-shadow:none;width:100%;accent-color:var(--theme-accent)}.background-strength span{font-size:10px;text-align:right}.background-status{font-size:9px;color:var(--muted);margin:8px 0 0}
.theme-dialog{max-height:min(94dvh,900px);overflow:auto;scrollbar-width:thin}
body.dark[data-palette]{background:linear-gradient(145deg,#1a211c,#24251e);--warm-ink:#f1eee5;--warm-muted:#aaa99f;--warm-card:rgba(30,39,32,.86)}body.dark .topbar{background:rgba(23,31,26,.88)}body.dark .hero{background:linear-gradient(100deg,rgba(29,38,31,.96),rgba(39,43,34,.91));border-color:rgba(255,255,255,.1)}body.dark .focus-card,body.dark .week-ribbon,body.dark .quick-plan,body.dark .overview-card,body.dark .panel,body.dark .metric-card,body.dark .template-list button,body.dark .task-item{background:rgba(31,40,33,.86);border-color:rgba(255,255,255,.1)}body.dark .focus-orbit:before,body.dark .task-item:before{background:#222b24}body.dark .reflection-card textarea{background:rgba(20,28,23,.7)}body.dark .coach-dialog,body.dark .coach-chat{background:rgba(20,28,23,.98)}
@media(max-width:1100px){.hero{padding-right:34%}.hero:after{right:16%}.day-overview{grid-template-columns:1.4fr 1fr}}
@media(max-width:800px){.topbar{height:64px;background:rgba(252,249,242,.9)}.brand-mark{width:36px;height:36px;font-size:23px}.brand strong{font-size:19px}.version-badge{font-size:7px}.shell{padding-top:14px}.hero{min-height:190px;display:block;padding:28px 18px 22px;margin-bottom:12px;border-radius:24px}.hero:before{right:-6%;width:64%;opacity:.75}.hero:after{right:17%;font-size:64px;bottom:34px}.hero h1{position:relative;z-index:1;font-size:36px;max-width:280px}.hero-copy{position:relative;z-index:1;max-width:260px}.hero .date-nav{right:14px;top:14px}.day-overview{grid-template-columns:1fr 1fr}.focus-card{grid-column:1/-1}.dashboard{grid-template-columns:1fr}.task-list{padding-left:8px}.task-list:before{left:12px}.task-item{margin-left:14px}.task-item:before{left:-21px}.background-settings{padding:15px}}
@media(max-width:460px){.hero{min-height:174px;padding-top:31px}.hero h1{font-size:33px}.hero .eyebrow{max-width:180px}.hero .date-nav{top:auto;bottom:15px}.day-overview{display:grid}.overview-card{min-height:100px}.background-strength{grid-template-columns:1fr 35px}.background-strength{font-size:0}.background-actions>*{flex:1}}

/* V1.0 手绘手帐主题：纸张、蜡笔色块与不规则插画排版 */
:root{--book-red:#c94b31;--book-red-deep:#a93a28;--book-yellow:#edb83f;--book-yellow-soft:#f4d884;--book-green:#718753;--book-green-dark:#536d42;--book-cream:#fff7e7;--book-ink:#38291e;--book-line:#cfb98f}
body[data-palette]{background-color:#f3e7cf;background-image:linear-gradient(rgba(255,249,234,.88),rgba(247,235,209,.9)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.58' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E");color:var(--book-ink)}
.grain{opacity:.32}.topbar{background:rgba(255,248,232,.93);border-bottom:2px dashed rgba(116,91,53,.18);box-shadow:0 7px 0 rgba(126,96,52,.035)}
.brand-mark{color:var(--book-red);font-weight:900;font-size:0}.brand-mark:before{content:"☀";font:800 25px/1 "Kaiti SC","STKaiti","KaiTi",serif}.brand strong{color:var(--book-red);font-size:26px;text-shadow:1px 1px 0 rgba(159,55,39,.08)}.version-badge{color:var(--book-green);border-color:rgba(78,105,61,.28)}
.view-tab.active{color:var(--book-red)}.view-tab.active:after{height:4px;background:var(--book-red);transform:rotate(-1deg)}
.top-actions .text-button:hover,.icon-button:hover{background:rgba(232,183,62,.13)}
.shell{max-width:1500px}.hero{min-height:360px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;padding:38px 44px;background:rgba(255,248,232,.8);border:2px solid rgba(112,87,51,.16);border-radius:25px 29px 22px 31px;box-shadow:5px 7px 0 rgba(94,71,38,.07),0 24px 60px rgba(92,67,32,.08);overflow:visible}
.hero:before{inset:10px;border:1px dashed rgba(151,91,46,.18);width:auto;height:auto;border-radius:20px;background:none;transform:rotate(.15deg)}.hero:after{content:"✦  ·  ☀  ·  ♡";right:37%;bottom:25px;color:var(--book-yellow);font:700 24px/1 "Kaiti SC","STKaiti","KaiTi",serif;transform:rotate(-4deg)}
.hero .eyebrow{color:var(--book-green);font:800 12px/1.3 "Kaiti SC","STKaiti","KaiTi",serif;letter-spacing:.11em}.hero h1{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:31px;color:var(--book-red);letter-spacing:.04em;margin-bottom:10px}.hero-copy{font-size:12px}.hero-manifesto{position:relative;z-index:2;margin:24px 0 0;font:800 clamp(39px,4vw,62px)/1.18 "Kaiti SC","STKaiti","KaiTi",serif;letter-spacing:.04em;color:var(--book-ink)}.hero-manifesto strong{color:var(--book-red);font-weight:900;background:linear-gradient(transparent 76%,var(--book-yellow) 0 89%,transparent 0)}
.hero-character{position:relative;z-index:2;align-self:end;justify-self:center;width:250px;text-align:center}.hero-character img{display:block;width:210px;height:245px;margin:0 auto;object-fit:contain;object-position:center bottom;filter:drop-shadow(3px 7px 0 rgba(75,91,57,.1))}.hero-character span{position:absolute;right:-44px;top:0;max-width:130px;padding:10px 13px;border:2px solid var(--book-yellow);border-radius:50% 48% 51% 45%;background:#fff8e8;font:700 12px/1.45 "Kaiti SC","STKaiti","KaiTi",serif;transform:rotate(4deg)}.hero-character span:before{content:"";position:absolute;left:-12px;bottom:3px;width:17px;height:11px;border-left:2px solid var(--book-yellow);transform:rotate(-28deg)}
.hero .date-nav{top:20px;right:22px;border:2px solid rgba(105,79,43,.14);background:#fff9eb}.date-nav button:hover{background:rgba(238,183,62,.14)}
.week-ribbon{position:relative;background:#fff8e8;border:2px solid rgba(119,89,48,.14);box-shadow:4px 5px 0 rgba(95,71,38,.05);transform:rotate(-.15deg)}.week-ribbon:before{content:"";position:absolute;left:22px;top:-9px;width:82px;height:19px;background:rgba(186,164,115,.28);transform:rotate(-2deg)}.week-ribbon-copy span{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:16px}.week-date.selected{border:2px solid rgba(193,67,43,.16);background:#fffaf0;box-shadow:2px 4px 0 rgba(112,82,43,.06);transform:rotate(1deg)}.week-date.selected strong{color:var(--book-red)}.week-date.today:after{background:var(--book-red)}.week-date small i{background:var(--book-green)}
.day-overview{gap:17px}.focus-card,.overview-card{border:2px solid rgba(114,84,44,.12);box-shadow:4px 6px 0 rgba(90,67,34,.055)}.focus-card{background:var(--book-red);color:#fff8e7;border-radius:25px 20px 29px 18px;transform:rotate(-.25deg)}.focus-card:before{width:220px;height:190px;background:rgba(255,218,129,.15);right:-50px;top:-70px}.focus-orbit{background:conic-gradient(#fff7dc var(--focus-angle),rgba(255,255,255,.24) 0)}.focus-orbit:before{background:var(--book-red)}.focus-orbit span{color:#fff}.focus-copy .section-kicker,.focus-label,.focus-copy p:last-child{color:rgba(255,249,230,.82)}.focus-copy h2{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:26px}.focus-action{background:#fff7df;color:var(--book-red-deep);border-color:rgba(255,255,255,.5);font-weight:800}.focus-action:hover{background:#fff2c7}
.overview-card{border-radius:20px 28px 19px 26px}.time-card{background:var(--book-yellow)}.rhythm-card{background:var(--book-green);color:#fff}.rhythm-card small,.rhythm-card p{color:rgba(255,255,255,.76)}.overview-icon{background:rgba(255,250,230,.65);color:var(--book-red)}.overview-card strong{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:22px}
.quick-plan{position:relative;background:#fff7e6;border:2px solid rgba(119,87,45,.13);box-shadow:4px 5px 0 rgba(94,70,37,.045);border-radius:19px 24px 20px 27px}.quick-plan:after{content:"✎";position:absolute;right:16px;top:-14px;color:var(--book-red);font:30px "Kaiti SC","STKaiti","KaiTi",serif;transform:rotate(14deg)}.quick-plan h2{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:19px}.template-list button{border:2px solid rgba(111,82,45,.13);box-shadow:2px 3px 0 rgba(88,64,32,.05);border-radius:15px 20px 14px 18px}.template-list button:nth-child(1) i{background:var(--book-red);color:#fff}.template-list button:nth-child(2) i{background:var(--book-yellow)}.template-list button:nth-child(3) i{background:var(--book-green);color:#fff}.template-list button:hover{box-shadow:4px 5px 0 rgba(88,64,32,.07);transform:translateY(-2px) rotate(-.3deg)}
.panel,.metric-card{background:#fff8e8;border:2px solid rgba(111,82,45,.13);box-shadow:5px 7px 0 rgba(89,65,32,.055),0 18px 45px rgba(78,57,28,.05)}.schedule-panel{background:#fff8e8;border-radius:24px 29px 21px 27px}.panel-heading h2{font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:29px}.section-kicker{color:var(--book-red)}.primary-button{background:var(--book-red);box-shadow:3px 4px 0 var(--book-red-deep);border-radius:13px 17px 12px 18px}.primary-button:hover{transform:translateY(1px);box-shadow:2px 2px 0 var(--book-red-deep)}
.progress-track{height:9px;background:#eadfc6}.progress-fill{background:var(--book-green)}.task-list:before{width:2px;background:repeating-linear-gradient(to bottom,var(--book-line) 0 8px,transparent 8px 14px)}.task-item{min-height:105px;border:0;border-radius:19px 27px 17px 24px;box-shadow:none;margin-bottom:5px;padding:17px 15px;transition:.2s}.task-item:before{width:14px;height:14px;border:3px solid var(--book-green-dark);background:#fff7e5}.task-item[data-category="工作"]{background:var(--book-red);color:#fff}.task-item[data-category="学习"]{background:var(--book-yellow-soft)}.task-item[data-category="健康"]{background:#aebd88}.task-item[data-category="生活"]{background:#dfe3b8}.task-item[data-category="休息"]{background:#e4c5a6}.task-item[data-category="其他"]{background:#d6c3ad}.task-item[data-category="工作"] .task-time,.task-item[data-category="工作"] .task-note{color:rgba(255,255,255,.82)}.task-item .task-title{font:800 18px/1.25 "Kaiti SC","STKaiti","KaiTi",serif;letter-spacing:.03em}.task-item .task-note{color:rgba(56,41,30,.68)}.task-item .tag{background:rgba(255,250,231,.58);color:var(--book-green-dark);border:1px solid rgba(74,94,59,.1)}.task-item[data-category="工作"] .tag{color:var(--book-red);background:#fff3d8}.task-item .check{width:37px;height:37px;border:3px solid currentColor;color:transparent;background:rgba(255,255,255,.18)}.task-item.done .check{color:#fff;background:var(--book-green-dark);border-color:var(--book-green-dark)}.task-item.done:before{background:var(--book-green-dark)}.photo-checkin{border-color:rgba(70,73,50,.28);background:rgba(255,250,231,.24)}
.stat-card{background:#fff7e5;border-radius:26px 20px 27px 19px;transform:rotate(.18deg)}.streak-number strong{color:var(--book-red)}.streak-seal{border:2px solid var(--book-red);color:var(--book-red);font-family:"Kaiti SC","STKaiti","KaiTi",serif}.week-day.active i{background:var(--book-green)}.reflection-card{background:#fff8e9;border-radius:19px 26px 20px 28px}.reflection-card textarea{background:#fffaf0;border:2px dashed rgba(118,86,44,.15);font-family:"Kaiti SC","STKaiti","KaiTi",serif;font-size:15px}.soft-button{background:#fff8e7;border:2px solid rgba(110,80,42,.14);border-radius:12px 17px 11px 16px}.tag{background:#e4ebd3}
.desktop-pet{filter:drop-shadow(4px 7px 0 rgba(69,73,43,.12))}.pet-bubble{font-family:"Kaiti SC","STKaiti","KaiTi",serif;background:#fff6da;border:2px solid var(--book-yellow);box-shadow:3px 4px 0 rgba(119,83,32,.06)}
.metric-card strong{font-family:"Kaiti SC","STKaiti","KaiTi",serif;color:var(--book-red)}.metric-card.accent{background:var(--book-red)}.trend-col i{background:linear-gradient(180deg,var(--book-red),var(--book-yellow))}.summary-panel{background:#fff3d5}.range-switch button.active{background:var(--book-red)}
.coach-dialog{background:#fff7e8}.coach-visual{background:var(--book-red)}.coach-chat{background:#fff9ec}.chat-heading h2{font-family:"Kaiti SC","STKaiti","KaiTi",serif}.message.bot{background:#fff2cf;border:2px solid rgba(130,91,39,.1)}.message.user{background:var(--book-red)}.chat-input>button[type="submit"]{background:var(--book-red)}
.message.waiting{color:#796b56;min-width:112px}.message.waiting:after{content:' ···';display:inline-block;letter-spacing:.12em;animation:thinkingDots 1.15s steps(4,end) infinite}.quick-prompts button:disabled,.chat-input button:disabled{opacity:.55;cursor:wait;filter:saturate(.65)}
@keyframes thinkingDots{0%{clip-path:inset(0 100% 0 0)}100%{clip-path:inset(0 0 0 0)}}
.theme-dialog,.settings-dialog,.account-dialog,.photo-dialog,#taskDialog{background:#fff8e8;border:2px solid rgba(109,79,42,.16)}.theme-shell h2,.settings-shell h2,.account-shell h2{font-family:"Kaiti SC","STKaiti","KaiTi",serif}.background-settings{background:#fff1cd;border:2px dashed rgba(140,91,42,.2)}
body.dark[data-palette]{--book-ink:#f4ead3;background-color:#28251f;background-image:linear-gradient(rgba(28,31,25,.86),rgba(34,31,24,.91)),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.58' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E")}.dark .hero,.dark .week-ribbon,.dark .quick-plan,.dark .panel,.dark .metric-card,.dark .schedule-panel,.dark .reflection-card{background:#302f27}.dark .task-item[data-category]{filter:saturate(.7) brightness(.68)}.dark .topbar{background:rgba(38,37,30,.94)}
@media(max-width:1100px){.hero{grid-template-columns:1fr 230px}.hero-character{width:220px}.hero-character img{width:185px}.hero:after{right:34%}}
@media(max-width:800px){.topbar{background:rgba(255,248,232,.96)}.brand-mark{display:none}.brand strong{font-size:21px}.hero{min-height:335px;display:block;padding:26px 20px 18px;overflow:hidden}.hero:before{inset:8px}.hero:after{right:auto;left:19px;bottom:13px;font-size:17px}.hero h1{font-size:25px}.hero-copy{max-width:190px}.hero-manifesto{font-size:37px;margin-top:17px;max-width:245px}.hero-character{position:absolute;right:-3px;bottom:-4px;width:150px}.hero-character img{width:128px;height:154px}.hero-character span{display:none}.hero .date-nav{top:14px;right:13px;bottom:auto;height:auto}.hero .date-nav button{height:auto}.day-overview{gap:11px}.focus-card{min-height:158px}.focus-copy h2{font-size:22px}.overview-card strong{font-size:19px}.quick-plan{overflow:hidden}.schedule-panel{border-radius:22px}.task-item{min-height:112px;padding:15px 11px}.task-item .task-title{font-size:17px}.task-list:before{left:10px}.task-item:before{left:-23px}.mobile-nav{background:rgba(255,248,231,.94);border:2px solid rgba(116,84,43,.13);box-shadow:3px 5px 0 rgba(88,64,32,.07)}.mobile-nav button.active{background:#fff2cf;color:var(--book-red);box-shadow:none}.desktop-pet{right:-2px;width:58px;height:72px}}
@media(max-width:460px){.hero{min-height:315px}.hero-manifesto{font-size:34px}.hero-character{width:135px}.hero-character img{width:117px;height:142px}.week-ribbon{border-radius:18px}.focus-card{transform:none}.overview-card{border-radius:17px 22px 16px 21px}.quick-plan h2{font-size:18px}.template-list button{min-width:145px}.task-item{grid-template-columns:58px 1fr auto}.panel-heading h2{font-size:25px}}

/* V1.0 字体定稿：参考图的粗笔标题 + 轻松手写正文 */
html,body,button,input,select,textarea{font-family:"MingribuHand","Kaiti SC","STKaiti","KaiTi","Microsoft YaHei UI",sans-serif}
body{font-weight:400;letter-spacing:.015em}
.brand strong,.hero h1,.hero-manifesto,.panel-heading h2,.quick-plan h2,.focus-copy h2,.overview-card strong,.task-item .task-title,.streak-number strong,.metric-card strong,.chat-heading h2,.coach-visual h2,.theme-shell h2,.settings-shell h2,.account-shell h2,.week-ribbon-copy span{font-family:"MingribuTitle","MingribuHand","Kaiti SC","STKaiti","KaiTi",serif;font-weight:400}
.brand strong{font-size:30px;letter-spacing:.12em}.hero h1{font-size:36px}.hero-manifesto{font-weight:400;letter-spacing:.065em}.hero-manifesto strong{font-weight:400}.panel-heading h2{font-size:32px;letter-spacing:.035em}.focus-copy h2{font-size:29px}.task-item .task-title{font-size:21px;font-weight:400;letter-spacing:.055em}.quick-plan h2{font-size:22px}.overview-card strong{font-size:25px}
.view-tab,.top-actions,.date-nav,.week-date,.section-kicker,.task-time,.task-note,.tag,.primary-button,.soft-button,.template-list,.message,.chat-input,.metric-card small,.overview-card small,.overview-card p{font-family:"MingribuHand","Kaiti SC","STKaiti","KaiTi",sans-serif}
.view-tab,.primary-button,.soft-button,.focus-action,.template-list strong,.tag{font-weight:400}
.task-time{font-family:"MingribuHand","Segoe UI",sans-serif;font-weight:400}.version-badge{font-family:"MingribuHand","Segoe UI",sans-serif;font-weight:400}
@media(max-width:800px){.brand strong{font-size:25px}.hero h1{font-size:29px}.panel-heading h2{font-size:29px}.task-item .task-title{font-size:19px}.quick-plan h2{font-size:21px}.focus-copy h2{font-size:25px}}
@media(max-width:460px){.hero h1{font-size:27px}.hero-manifesto{font-size:36px;line-height:1.22}.panel-heading h2{font-size:27px}}

/* V1.0 r8：数字人自由活动、洞察字体与小组互动 */
body{overflow-x:hidden}.calendar-hero h1,.insights-hero h1{margin:0;font:400 39px "MingribuTitle","MingribuHand","Kaiti SC","STKaiti","KaiTi",serif;color:var(--ref-red);letter-spacing:.035em}.insights-hero>div>p:last-child{margin:7px 0 0}
.desktop-pet.walking{animation:none!important}.desktop-pet.walking>img{animation:petCardWalk 3s ease-in-out both!important}.desktop-pet.detached{position:fixed!important;z-index:26!important;width:280px!important;height:198px!important;margin:0!important;padding:12px!important;border-radius:22px!important;cursor:grab;touch-action:none;box-shadow:0 20px 50px rgba(76,55,30,.2),4px 6px 0 rgba(91,65,32,.08)!important}.desktop-pet.detached.is-dragging{cursor:grabbing}.desktop-pet.detached>img{left:8px!important;width:112px!important;height:158px!important}.desktop-pet.detached .pet-bubble{left:116px!important;right:9px!important;top:26px!important;padding:16px 10px!important;font-size:11px!important}.desktop-pet.detached .pet-bubble strong{font-size:20px!important}.desktop-pet.detached.walking>img{animation:petDetachedStep .55s ease-in-out infinite alternate!important}
@keyframes petCardWalk{0%,100%{transform:translateX(0) translateY(0)}45%,55%{transform:translateX(clamp(36px,8vw,92px)) translateY(-4px)}}@keyframes petDetachedStep{to{transform:translateY(-7px) rotate(2deg)}}
.group-community-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:17px}.group-visual-card,.group-chat-card{padding:21px;min-width:0}.group-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.group-card-heading h2{margin:0;font:400 28px "MingribuTitle"}.group-member-faces{display:flex;flex-direction:row-reverse;justify-content:flex-end}.group-member-faces span{width:31px;height:31px;margin-left:-8px;display:grid;place-items:center;border:2px solid #fff7e5;border-radius:50%;background:hsl(calc(35 + var(--face-shift)*34) 45% 59%);color:white;font:400 15px "MingribuTitle"}.group-pulse-chart{height:178px;margin:21px 0 10px;display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:10px;border-bottom:2px dashed rgba(111,80,42,.14)}.group-pulse-day{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}.group-pulse-day i{position:relative;width:min(31px,76%);height:var(--pulse);min-height:10px;border-radius:12px 12px 3px 3px;background:linear-gradient(180deg,var(--ref-red),var(--ref-yellow));box-shadow:2px 3px 0 rgba(104,74,38,.08)}.group-pulse-day b{position:absolute;top:-18px;left:0;right:0;text-align:center;font-size:10px;color:var(--ref-red)}.group-pulse-day span{font-size:10px;color:var(--muted)}.group-visual-card>p{margin:7px 0 0;color:var(--muted);font-size:10px}.group-live-dot{padding:5px 9px;border-radius:99px;background:#e4eed7;color:var(--ref-green);font-size:9px}.group-live-dot:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#56ad72;box-shadow:0 0 0 3px rgba(86,173,114,.12)}.group-chat-messages{height:210px;margin:13px 0;padding:11px;overflow:auto;border:1px solid rgba(104,76,42,.12);border-radius:15px;background:#fffaf0}.group-chat-message{display:flex;gap:8px;margin-bottom:11px}.group-chat-message>span{width:29px;height:29px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--ref-green);color:white;font:400 14px "MingribuTitle"}.group-chat-message>div{max-width:82%;padding:8px 10px;border-radius:4px 13px 13px;background:#eef1dd}.group-chat-message.mine{flex-direction:row-reverse}.group-chat-message.mine>span{background:var(--ref-red)}.group-chat-message.mine>div{background:#fff0c9}.group-chat-message strong,.group-chat-message small{display:block;font-size:9px}.group-chat-message p{margin:3px 0;font-size:12px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.group-chat-message small{color:var(--muted)}.group-chat-empty{padding:60px 10px;text-align:center;color:var(--muted);font-size:11px}.group-chat-form{display:grid;grid-template-columns:1fr auto;gap:8px}.group-chat-form input{margin:0}.group-chat-form .primary-button{padding-inline:18px}.group-chat-form .primary-button:disabled{opacity:.55}.message{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:800px){.calendar-hero h1,.insights-hero h1{font-size:32px}.insights-hero{display:block;padding:20px}.insights-hero .range-switch{margin-top:17px}.group-community-grid{grid-template-columns:1fr}.desktop-pet.detached{width:224px!important;height:160px!important}.desktop-pet.detached>img{width:87px!important;height:125px!important}.desktop-pet.detached .pet-bubble{left:91px!important;top:20px!important}.desktop-pet.detached .pet-bubble:before{font-size:11px}.desktop-pet.detached .pet-bubble strong{font-size:17px!important}}

/* V1.0 参考图复刻层：三栏手帐纸 / 手机单页手帐 */
:root{--ref-paper:#fff7e6;--ref-red:#c8472f;--ref-yellow:#efbd45;--ref-green:#778b55;--ref-brown:#3c291b;--ref-pencil:#79624a}
body[data-palette]{background:#ead9b8;color:var(--ref-brown);background-image:linear-gradient(rgba(255,248,229,.86),rgba(255,244,217,.82)),repeating-linear-gradient(0deg,transparent 0 5px,rgba(112,82,41,.022) 5px 6px)}
.topbar{height:84px;padding-inline:max(34px,calc((100vw - 1460px)/2));background:rgba(255,247,228,.97);border-bottom:1px solid rgba(102,75,42,.2);box-shadow:none}.brand{min-width:190px}.brand-mark:before{content:"☀"}.brand small{display:none}.brand strong{font-size:34px;color:var(--ref-red)}.view-tabs{gap:34px}.view-tab{font-size:15px;color:var(--ref-brown)}.view-tab.active{color:var(--ref-red)}.top-actions{gap:12px}.top-actions .text-button{font-size:12px;color:var(--ref-brown)}
.shell{width:min(1460px,calc(100% - 38px));max-width:none;padding:32px 0 90px}
#plannerView{display:grid;grid-template-columns:minmax(400px,1.12fr) minmax(320px,.78fr) minmax(340px,.9fr);grid-template-areas:"hero plan overview" "priority plan side" "quick plan side";gap:22px;align-items:start}
#plannerView>.hero{grid-area:hero}#plannerView>.priority-board{grid-area:priority}#plannerView>.week-ribbon{display:none}#plannerView>.day-overview{grid-area:overview}#plannerView>.quick-plan{grid-area:quick}#plannerView>.dashboard{display:contents}#plannerView .schedule-panel{grid-area:plan}#plannerView .side-column{grid-area:side}
.hero{min-height:285px;display:block;padding:34px 190px 24px 30px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}.hero:before{inset:-8px -5px;border:0;background:radial-gradient(circle at 7% 12%,var(--ref-yellow) 0 3px,transparent 4px),radial-gradient(circle at 13% 18%,var(--ref-red) 0 2px,transparent 3px);opacity:.4}.hero:after{content:"☀  〰  ♡";right:auto;left:285px;bottom:13px;font-size:21px;color:var(--ref-yellow)}.hero .eyebrow{display:none}.hero h1{font-family:"MingribuTitle",serif;font-size:30px;color:var(--ref-red);margin:0 0 23px}.hero-copy{display:none}.hero-manifesto{margin:0;font-family:"MingribuTitle",serif;font-size:clamp(49px,4vw,67px);line-height:1.17;color:var(--ref-brown)}.hero-manifesto strong{color:var(--ref-red)}.hero-character{position:absolute;z-index:2;right:4px;bottom:2px;width:205px}.hero-character img{width:192px;height:225px}.hero-character span{display:none}.hero .date-nav{top:-3px;right:0;padding:2px;border:0;background:transparent}.hero .date-nav button{font-size:13px;background:rgba(255,249,233,.75)}
.priority-board{position:relative;padding:0 4px}.priority-board:before{content:"";position:absolute;left:-20px;top:20px;width:33px;height:90px;background:rgba(209,176,111,.28);transform:rotate(-7deg)}.priority-heading{display:none}.priority-list{display:grid;gap:14px}.priority-item{position:relative;min-height:105px;width:100%;display:grid;grid-template-columns:42px 62px 1fr 44px;align-items:center;gap:8px;padding:12px 17px;border:0;border-radius:27px 21px 30px 19px;color:var(--ref-brown);box-shadow:none;text-align:left;transform:rotate(-.2deg)}.priority-item:nth-child(2){transform:rotate(.25deg);border-radius:20px 29px 20px 27px}.priority-item:nth-child(3){transform:rotate(-.35deg);border-radius:29px 20px 26px 21px}.priority-item.red{background:var(--ref-red);color:#fff8df}.priority-item.yellow{background:var(--ref-yellow)}.priority-item.green{background:var(--ref-green);color:#fff9e8}.priority-number{position:absolute;left:-9px;top:-8px;width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:var(--ref-green);color:white;font:400 24px/1 "MingribuTitle"}.priority-doodle{font:400 42px/1 "MingribuTitle";text-align:center}.priority-title{border:0;background:transparent;color:inherit;font:400 27px/1.2 "MingribuTitle";text-align:left;cursor:pointer}.priority-check{width:38px;height:38px;border:3px solid currentColor;border-radius:50%;background:transparent;color:transparent;font-size:19px}.priority-item.done{filter:saturate(.72);opacity:.78}.priority-item.done .priority-title{text-decoration:line-through}.priority-item.done .priority-check{color:inherit}.priority-item.placeholder{opacity:.72;cursor:pointer}.priority-item.placeholder .priority-check{color:transparent}.priority-item.placeholder .priority-title{font-size:22px}
.mood-strip{margin-top:18px;padding:15px 16px 13px;display:flex;align-items:center;gap:8px;border:2px solid rgba(104,77,43,.12);border-radius:20px 26px 17px 24px;background:rgba(255,248,229,.7)}.mood-strip>span{margin-right:auto;font:400 17px "MingribuTitle"}.mood-strip button{width:49px;height:49px;padding:5px;border:1px solid rgba(103,77,43,.12);border-radius:13px;background:rgba(255,252,240,.55);font-size:18px;color:var(--ref-pencil)}.mood-strip button.selected{border:2px solid var(--ref-red);color:var(--ref-red)}.mood-strip small{display:block;font:400 10px "MingribuHand"}
.day-overview{display:grid;grid-template-columns:1fr 1fr;gap:14px}.focus-card{grid-column:1/-1;min-height:174px;padding:23px;grid-template-columns:72px 1fr;background:#fff5dc;color:var(--ref-brown);border:1px solid rgba(104,77,43,.15);border-radius:20px;transform:none;box-shadow:3px 4px 0 rgba(96,70,35,.06)}.focus-card:after{content:"★";position:absolute;right:15px;top:12px;color:var(--ref-yellow);font-size:28px}.focus-orbit{width:66px;height:66px;background:conic-gradient(var(--ref-red) var(--focus-angle),#eadfc6 0)}.focus-orbit:before{background:#fff5dc}.focus-orbit span{color:var(--ref-red)}.focus-copy .section-kicker{color:var(--ref-green)}.focus-label,.focus-copy p:last-child{color:var(--ref-pencil)}.focus-copy h2{font-size:26px;color:var(--ref-red);white-space:normal}.focus-action{display:none}.overview-card{min-height:132px;padding:18px 14px;display:block;border:1px solid rgba(105,78,43,.15);border-radius:19px;background:#fff5dc;box-shadow:3px 4px 0 rgba(96,70,35,.05)}.overview-icon{margin-bottom:8px}.overview-card strong{font-size:28px;color:var(--ref-red)}.time-card,.rhythm-card{background:#fff5dc;color:var(--ref-brown)}.rhythm-card small,.rhythm-card p{color:var(--ref-pencil)}
.quick-plan{display:block;padding:16px 17px;background:rgba(255,247,225,.72);border:1px solid rgba(103,76,42,.15);border-radius:18px;box-shadow:none}.quick-plan:after{display:none}.quick-plan>div:first-child{margin-bottom:11px}.quick-plan h2{font-size:21px}.template-list{grid-template-columns:1fr 1fr}.template-list button{background:#fff8e7;border:1px solid rgba(101,73,40,.14);box-shadow:none}.template-list button:nth-child(4){display:none}
.schedule-panel{min-height:874px;padding:24px 20px;background:#fff7e5;border:1px solid rgba(103,76,42,.16);border-radius:21px;box-shadow:4px 6px 0 rgba(91,65,32,.06)}.schedule-panel:before{content:"今日时间轴";display:block;width:max-content;margin:-35px auto 17px;padding:8px 24px;background:#879468;color:#fff7e4;font:400 23px "MingribuTitle";transform:rotate(-2deg)}.schedule-panel .panel-heading h2{display:none}.schedule-panel .section-kicker{display:none}.schedule-panel .primary-button{position:absolute;right:18px;top:14px;width:39px;height:39px;padding:0;font-size:0;border-radius:50%;box-shadow:2px 3px 0 var(--ref-red)}.schedule-panel .primary-button span{font-size:25px;margin:0}.progress-wrap{margin:5px 0 24px}.task-list{padding-left:23px}.task-list:before{left:30px;top:15px;bottom:16px;background:repeating-linear-gradient(to bottom,#826d50 0 7px,transparent 7px 13px)}.task-item{min-height:132px;margin-left:28px;margin-bottom:20px;padding:20px 13px 14px;border:0;border-radius:32px 25px 35px 21px;background:#f7d6c7!important;color:var(--ref-brown)!important}.task-item:nth-child(2){background:#f5e4ad!important}.task-item:nth-child(3n){background:#dce3c1!important}.task-item:before{left:-37px;width:19px;height:19px;border:4px solid var(--ref-red);background:#fff8e6}.task-item:nth-child(2):before{border-color:#d59c25}.task-item:nth-child(3n):before{border-color:var(--ref-green)}.task-time{position:absolute;left:0;top:-27px;font-size:18px;color:var(--ref-red)!important}.task-item .task-title{font-size:23px;color:var(--ref-brown)}.task-item .task-note{color:var(--ref-pencil)!important}.task-item .tag{background:rgba(255,250,231,.7);color:var(--ref-green)}.task-item .check{border-color:var(--ref-red);color:transparent}.task-item.done .check{color:white}.schedule-footer{margin-top:auto;display:grid;grid-template-columns:1fr 1fr}.empty-state{padding:105px 15px}.empty-state h3{font-family:"MingribuTitle"}
.side-column{gap:18px}.stat-card,.reflection-card{padding:22px;background:#fff7e5;border:1px solid rgba(102,75,42,.16);border-radius:19px;box-shadow:4px 6px 0 rgba(91,65,32,.06);transform:none}.stat-card .panel-heading h2,.reflection-card .panel-heading h2{font-size:27px}.stat-card:before{content:"本周洞察";position:absolute;left:20px;top:-14px;padding:5px 13px;background:#879468;color:#fff8e8;font:400 21px "MingribuTitle";transform:rotate(-2deg)}.streak-number strong{color:var(--ref-red)}.streak-seal{color:var(--ref-red);border-color:var(--ref-red)}.week-day.active i{background:var(--ref-green)}.reflection-card textarea{background:#fffaf0}
.desktop-pet{position:relative;right:auto;bottom:auto;width:100%;height:245px;padding:20px;border:1px solid rgba(103,76,42,.16);border-radius:20px;background:#fff2d1;box-shadow:4px 6px 0 rgba(91,65,32,.06);overflow:hidden}.desktop-pet img{position:absolute;left:13px;bottom:0;width:138px;height:190px;object-fit:contain;filter:none}.pet-bubble{display:block!important;opacity:1!important;transform:none!important;position:absolute!important;left:143px!important;right:13px!important;top:34px!important;bottom:auto!important;width:auto!important;padding:20px 13px!important;border:2px solid var(--ref-yellow)!important;border-radius:48% 52% 47% 53%!important;background:#fff9e8!important;color:var(--ref-brown)!important;font-size:14px!important}.pet-bubble strong{display:block;color:var(--ref-red);font:400 24px "MingribuTitle"}.pet-bubble:after{display:none}.pet-bubble:before{content:"AI 小伙伴";display:block;margin-bottom:7px;color:var(--ref-brown);font:400 14px "MingribuTitle"}
@media(max-width:1120px){#plannerView{grid-template-columns:minmax(380px,1fr) minmax(310px,.82fr);grid-template-areas:"hero plan" "priority plan" "overview side" "quick side"}.day-overview{grid-template-columns:1fr 1fr}.hero{padding-right:175px}.hero-character{width:180px}.hero-character img{width:170px}.schedule-panel{min-height:820px}}
@media(max-width:800px){.topbar{height:67px;padding:0 18px}.brand{min-width:0}.brand strong{font-size:27px}.version-badge{font-size:7px}.top-actions .text-button{font-size:0}.shell{width:100%;padding:14px 12px 110px}#plannerView{display:block}.hero{min-height:300px;margin:0 0 13px;padding:25px 126px 18px 17px;background:transparent;border:0;box-shadow:none}.hero h1{font-size:26px;margin-bottom:22px}.hero-manifesto{font-size:43px;line-height:1.18}.hero-character{right:-5px;bottom:2px;width:144px}.hero-character img{width:138px;height:171px}.hero:after{left:18px;bottom:9px}.hero .date-nav{right:3px;top:0}.priority-board{padding:0 4px;margin-bottom:16px}.priority-list{gap:12px}.priority-item{min-height:96px;grid-template-columns:36px 53px 1fr 38px;padding:10px 13px}.priority-title{font-size:24px}.priority-doodle{font-size:36px}.priority-number{width:32px;height:32px;font-size:21px}.priority-check{width:34px;height:34px}.mood-strip{overflow-x:auto}.mood-strip>span{min-width:116px}.mood-strip button{flex:none}.day-overview{display:none!important}.quick-plan{margin-bottom:17px;padding:14px}.quick-plan>div:first-child{margin-bottom:9px}.template-list{display:flex}.template-list button{min-width:136px}.schedule-panel{min-height:650px;margin-top:28px;padding:22px 17px}.schedule-panel:before{font-size:21px}.task-item{min-height:112px;margin-bottom:18px}.side-column{margin-top:18px}.desktop-pet{height:220px;right:auto;bottom:auto;width:100%}.desktop-pet img{width:125px;height:170px}.pet-bubble{left:130px!important}.mobile-nav{font-family:"MingribuHand"}}
@media(max-width:430px){.hero{min-height:282px;padding-right:112px}.hero h1{font-size:24px}.hero-manifesto{font-size:39px}.hero-character{width:127px}.hero-character img{width:122px;height:156px}.priority-item{grid-template-columns:28px 42px 1fr 34px}.priority-title{font-size:22px}.priority-doodle{font-size:31px}.mood-strip>span{display:none}.mood-strip{justify-content:space-around}.template-list button:nth-child(3){display:none}.task-item .task-title{font-size:21px}.schedule-footer{grid-template-columns:1fr}}

/* 卡片文字排版校正 */
.priority-item{grid-template-columns:62px minmax(0,1fr) 44px}.priority-title{min-width:0;white-space:normal;word-break:keep-all}
@media(min-width:801px){.hero{padding-right:120px}.hero-character{width:180px}.hero-character img{width:168px;height:205px}.hero-manifesto{font-size:58px}}
@media(max-width:800px){.priority-item{grid-template-columns:53px minmax(0,1fr) 38px}.hero{padding-right:96px}.hero-manifesto{font-size:39px}.hero-character{width:126px}.hero-character img{width:120px}}
@media(max-width:430px){.priority-item{grid-template-columns:42px minmax(0,1fr) 34px}.hero{padding-right:90px}.hero-manifesto{font-size:37px}.hero-character{width:119px}.hero-character img{width:114px}}

/* 时间轴内容横排校正 */
.schedule-panel .task-item{grid-template-columns:minmax(0,1fr) auto;gap:10px}.schedule-panel .task-body{grid-column:1;min-width:0}.schedule-panel .task-actions{grid-column:2}.schedule-panel .task-title-row{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap}.schedule-panel .task-title{white-space:normal;word-break:keep-all}.schedule-panel .task-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:800px){.schedule-panel .task-item{grid-template-columns:minmax(0,1fr) 44px}.schedule-panel .task-actions{flex-direction:column}.schedule-panel .task-title-row{flex-direction:row}.schedule-panel .task-note{white-space:normal}}

/* 第一阶段：历史任务与常用任务库 */
#taskDialog{width:min(650px,calc(100vw - 24px));max-height:min(92dvh,860px);overflow:auto}.task-picker{margin:-5px 0 20px;padding:15px;border:2px dashed rgba(120,83,39,.18);border-radius:17px;background:#fff1ce}.task-picker[hidden]{display:none}.task-picker-head{display:grid;grid-template-columns:1fr 190px;align-items:center;gap:12px;margin-bottom:11px}.task-picker-head strong,.task-picker-head small{display:block}.task-picker-head strong{font:400 20px "MingribuTitle";color:var(--ref-red)}.task-picker-head small{margin-top:2px;color:var(--muted);font-size:10px}.task-picker-head input{margin:0;padding:9px 11px;background:#fffaf0}.task-library{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:184px;overflow:auto;padding:1px}.library-item{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;border:1px solid rgba(105,76,40,.14);border-radius:12px 16px 11px 15px;background:rgba(255,251,239,.82)}.library-item.favorite{border-color:rgba(200,71,47,.35);background:#fff8df}.library-pick,.library-star{border:0;background:transparent;color:inherit;cursor:pointer}.library-pick{min-width:0;padding:9px 4px 9px 11px;text-align:left}.library-pick span,.library-pick small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.library-pick span{font-size:13px;color:var(--ref-brown)}.library-pick small{margin-top:3px;color:var(--muted);font-size:9px}.library-star{height:100%;padding:4px;color:var(--ref-red);font-size:18px}.library-empty{grid-column:1/-1;margin:4px 0;color:var(--muted);font-size:11px;text-align:center}.library-item:hover{transform:translateY(-1px);border-color:rgba(200,71,47,.3)}
@media(max-width:600px){#taskDialog form{padding:20px 16px}.task-picker{padding:12px}.task-picker-head{grid-template-columns:1fr}.task-picker-head input{width:100%}.task-library{display:flex;overflow-x:auto;max-height:none}.library-item{min-width:225px}.task-picker-head small{font-size:9px}}

/* 第二阶段：月历与整日计划模板 */
.calendar-hero,.insights-hero{display:flex;align-items:end;justify-content:space-between;margin-bottom:22px;padding:25px 29px;border:1px solid rgba(105,76,40,.14);border-radius:22px;background:#fff7e5;box-shadow:4px 6px 0 rgba(91,65,32,.05)}.calendar-hero h1{margin:0;font:400 39px "MingribuTitle";color:var(--ref-red)}.calendar-hero p:last-child{margin:7px 0 0;color:var(--muted);font-size:12px}.calendar-nav{display:flex;align-items:center;border:1px solid rgba(103,75,41,.14);border-radius:13px;background:#fffaf0;overflow:hidden}.calendar-nav button{width:43px;height:43px;border:0;background:transparent;color:var(--ref-red);cursor:pointer}.calendar-nav strong{min-width:126px;text-align:center;font:400 20px "MingribuTitle"}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.62fr);gap:20px}.month-card,.plan-template-card{padding:22px;background:#fff7e5}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{text-align:center;color:var(--ref-green);font-size:11px}.calendar-day{position:relative;min-height:108px;padding:12px;border:1px solid rgba(105,77,42,.12);border-radius:16px 20px 14px 18px;background:#fffaf0;color:var(--ref-brown);text-align:left;cursor:pointer}.calendar-day>span{font:400 23px "MingribuTitle"}.calendar-day strong,.calendar-day small{display:block;margin-top:22px;color:var(--muted);font-size:10px}.calendar-day i{position:absolute;left:11px;right:11px;bottom:10px;height:5px;border-radius:9px;background:linear-gradient(90deg,var(--ref-green) var(--calendar-progress),#ece2c9 0)}.calendar-day.outside{opacity:.35}.calendar-day.today{border:2px solid var(--ref-red)}.calendar-day.selected{background:#fff0ca;transform:rotate(-1deg)}.calendar-day:hover{transform:translateY(-2px)}.plan-template-card h2{margin:0;font:400 29px "MingribuTitle"}.plan-template-card>p:not(.section-kicker){color:var(--muted);font-size:11px;line-height:1.6}.plan-template-card>.primary-button{width:100%;margin:8px 0 15px}.day-template-list{display:grid;gap:8px}.day-template-list article{display:grid;grid-template-columns:1fr 34px;border:1px solid rgba(103,75,41,.14);border-radius:13px;background:#fffaf0;overflow:hidden}.day-template-use,.day-template-delete{border:0;background:transparent;color:inherit;cursor:pointer}.day-template-use{padding:11px;text-align:left}.day-template-use strong,.day-template-use small{display:block}.day-template-use strong{font-size:13px}.day-template-use small{margin-top:4px;color:var(--muted);font-size:9px}.day-template-delete{color:var(--ref-red);font-size:18px}
@media(max-width:800px){.view-tabs{display:none}.calendar-hero{display:block;padding:20px}.calendar-hero h1{font-size:32px}.calendar-nav{margin-top:17px;justify-content:space-between}.calendar-nav strong{flex:1}.calendar-layout{grid-template-columns:1fr}.month-card{padding:12px}.calendar-weekdays,.calendar-grid{gap:4px}.calendar-day{min-height:69px;padding:7px;border-radius:10px}.calendar-day>span{font-size:18px}.calendar-day strong,.calendar-day small{margin-top:10px;font-size:8px}.calendar-day i{left:6px;right:6px;bottom:6px}.plan-template-card{padding:18px}.mobile-nav{grid-template-columns:repeat(5,1fr)}}

/* 第三、四阶段：小组、共同打卡与互动洞察 */
.group-hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:31px 34px;border-radius:24px 29px 22px 27px;background:var(--ref-red);color:#fff6df;box-shadow:5px 7px 0 rgba(126,54,35,.15)}.group-hero h1{margin:0;font:400 42px "MingribuTitle"}.group-hero p:last-child{margin:7px 0 0}.group-hero .eyebrow{color:#ffe6a8}.group-hero .primary-button{background:#fff5d8;color:var(--ref-red);box-shadow:3px 4px 0 rgba(116,44,29,.25)}.group-gate{padding:70px 25px;text-align:center}.group-gate>span{font-size:50px}.group-gate h2{font:400 31px "MingribuTitle"}.group-gate p{color:var(--muted)}.group-tools{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.group-create,.group-join{padding:20px}.group-create h2,.group-join h2,.group-detail h2,.group-checkin-card h2,.group-week-card h2{margin:0;font:400 28px "MingribuTitle"}.group-create input,.group-join input{margin:9px 0}.group-create .primary-button,.group-join .soft-button{width:100%;margin-top:8px}.group-status{min-height:20px;margin:12px 3px;color:var(--ref-red);font-size:11px}.group-list{display:flex;gap:9px;overflow:auto;margin-bottom:17px}.group-chip{min-width:170px;display:grid;grid-template-columns:39px 1fr;grid-template-rows:auto auto;gap:2px 9px;padding:10px;border:1px solid rgba(104,76,42,.14);border-radius:14px;background:#fff7e5;color:var(--ref-brown);text-align:left;cursor:pointer}.group-chip>span{grid-row:1/3;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:var(--ref-yellow);font:400 22px "MingribuTitle"}.group-chip strong{align-self:end}.group-chip small{color:var(--muted)}.group-chip.active{border:2px solid var(--ref-red);background:#fff0cf}.group-detail{display:grid;gap:17px}.group-detail-head{padding:23px;display:flex;justify-content:space-between;gap:20px}.group-detail-head p:last-child{color:var(--muted)}.invite-card{min-width:180px;padding:12px 15px;border:2px dashed rgba(197,72,47,.25);border-radius:15px;background:#fff1cf;text-align:center}.invite-card span,.invite-card strong{display:block}.invite-card strong{margin:5px 0;font:400 27px "MingribuTitle";letter-spacing:.13em;color:var(--ref-red)}.invite-card button{border:0;background:transparent;color:var(--ref-green);cursor:pointer}.group-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:17px}.group-checkin-card,.group-week-card{padding:21px}.group-checkin-card textarea{width:100%;min-height:76px;margin:9px 0;padding:11px;border:1px solid var(--line);border-radius:12px;background:#fffaf0;resize:vertical}.group-checkin-card .primary-button{width:100%}.group-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:19px 0}.group-metrics span{padding:12px 7px;border-radius:13px;background:#fff1d1;text-align:center;font-size:10px}.group-metrics strong{display:block;color:var(--ref-red);font:400 29px "MingribuTitle"}.group-week-card>p:last-child{color:var(--muted);line-height:1.7}.group-feed{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.group-post{padding:18px}.group-post-head{display:flex;align-items:center;gap:10px}.group-post-head>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--ref-green);color:#fff;font:400 20px "MingribuTitle"}.group-post-head strong,.group-post-head small{display:block}.group-post-head small{margin-top:2px;color:var(--muted);font-size:9px}.group-post h3{margin:15px 0 5px;font:400 23px "MingribuTitle"}.group-post>p{color:var(--muted);font-size:12px}.group-reactions{display:flex;gap:7px;margin-top:15px}.group-reactions button{padding:7px 11px;border:1px solid rgba(104,76,42,.13);border-radius:99px;background:#fff1d2;cursor:pointer}.group-feed-empty{grid-column:1/-1;padding:55px;text-align:center;color:var(--muted)}
@media(max-width:800px){.group-hero{display:block;padding:23px}.group-hero h1{font-size:34px}.group-hero .primary-button{margin-top:15px}.group-tools,.group-dashboard,.group-feed{grid-template-columns:1fr}.group-detail-head{display:block}.invite-card{margin-top:15px}.group-metrics{gap:5px}.group-list{margin-inline:-2px}}

/* 页面标签切换必须真正移除非当前模块；ID 布局规则不能覆盖 hidden。 */
#plannerView[hidden],#calendarView[hidden],#insightsView[hidden],#groupsView[hidden]{display:none!important}

/* V1.0 数字人工作室 */
.settings-dialog{max-height:92dvh;overflow:auto}.avatar-studio{margin:18px 0 22px;padding:17px;border:2px dashed rgba(132,88,38,.2);border-radius:18px 22px 17px 21px;background:#fff1cd}.avatar-studio-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.avatar-studio-heading h3{margin:0;font:400 25px "MingribuTitle";color:var(--ref-red)}.avatar-studio-heading>span{padding:5px 9px;border-radius:99px;background:#e4e9c8;color:var(--ref-green);font-size:9px}.avatar-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.avatar-preset-grid button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;align-items:center;gap:1px 8px;min-width:0;padding:8px;border:1px solid rgba(105,76,40,.14);border-radius:13px;background:#fff9e9;color:var(--ref-brown);text-align:left;cursor:pointer}.avatar-preset-grid button.active{border:2px solid var(--ref-red);background:#fff7dc;box-shadow:2px 3px 0 rgba(133,63,36,.1)}.avatar-preset-grid img{grid-row:1/3;width:42px;height:48px;object-fit:contain}.avatar-preset-grid button[data-avatar-preset="sunset"] img{filter:sepia(.16) saturate(1.2) hue-rotate(330deg)}.avatar-preset-grid button[data-avatar-preset="starlight"] img{filter:hue-rotate(55deg) saturate(.72)}.avatar-preset-grid strong,.avatar-preset-grid small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.avatar-preset-grid strong{font-size:11px}.avatar-preset-grid small{color:var(--muted);font-size:8px}.avatar-upload-row{display:flex;gap:8px}.avatar-upload-row>*{flex:1;text-align:center;cursor:pointer}.avatar-local-note{margin:8px 0 13px;color:var(--muted);font-size:9px;line-height:1.55}.avatar-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.avatar-profile-grid label,.avatar-concept-field{font-size:10px;color:var(--ref-brown)}.avatar-profile-grid select{margin-top:5px;padding:9px;background:#fffaf0}.avatar-concept-field{display:block;margin-top:10px}.avatar-concept-field textarea{width:100%;min-height:68px;margin-top:6px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fffaf0;color:var(--ink);font:11px/1.6 inherit;resize:vertical}.avatar-save{width:100%;margin-top:10px}body[data-avatar-preset="sunset"] #petSprite,body[data-avatar-preset="sunset"] #coachAvatarImg,body[data-avatar-preset="sunset"] #summaryAvatarImg{filter:sepia(.16) saturate(1.2) hue-rotate(330deg) drop-shadow(0 9px 12px rgba(91,54,35,.13))}body[data-avatar-preset="starlight"] #petSprite,body[data-avatar-preset="starlight"] #coachAvatarImg,body[data-avatar-preset="starlight"] #summaryAvatarImg{filter:hue-rotate(55deg) saturate(.72) drop-shadow(0 9px 12px rgba(45,63,88,.13))}body.custom-avatar #petSprite,body.custom-avatar #coachAvatarImg,body.custom-avatar #summaryAvatarImg{filter:none;object-fit:contain;object-position:center bottom}
@media(max-width:600px){.avatar-studio{padding:14px}.avatar-preset-grid{grid-template-columns:1fr}.avatar-preset-grid button{grid-template-columns:48px 1fr}.avatar-preset-grid img{width:48px;height:52px}.avatar-profile-grid{grid-template-columns:1fr}.avatar-upload-row{flex-direction:column}}
.avatar-studio-entry{position:absolute;right:58px;bottom:16px;padding:7px 11px;border:1px solid rgba(255,255,255,.32);border-radius:99px;background:rgba(255,255,255,.14);color:#fff8e7;font:11px "MingribuHand";cursor:pointer}.avatar-studio-entry:hover{background:rgba(255,255,255,.24)}
@media(max-width:600px){.avatar-studio-entry{right:52px;bottom:12px;padding:6px 9px;font-size:10px}}

/* V1.0 多角色库与角色独立动作方案 */
.avatar-library-intro{margin:9px 0 4px;color:var(--muted);font-size:10px;line-height:1.65}.avatar-preset-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-height:340px;overflow:auto;padding:3px}.avatar-preset-grid button{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:7px;overflow:hidden}.avatar-preset-grid .avatar-card-image{height:92px;display:grid;place-items:center;border-radius:10px 13px 9px 12px;background:linear-gradient(145deg,#fffdf5,#f1e6ca);overflow:hidden}.avatar-preset-grid img{width:100%;height:100%;object-fit:contain;object-position:center bottom}.avatar-preset-grid button[data-avatar-id="sunset"] img{filter:sepia(.16) saturate(1.2) hue-rotate(330deg)}.avatar-preset-grid button[data-avatar-id="starlight"] img{filter:hue-rotate(55deg) saturate(.72)}.avatar-preset-grid button strong{font-size:11px}.avatar-preset-grid button small{font-size:8px}.avatar-preset-grid button i{position:absolute;right:5px;top:5px;padding:3px 6px;border-radius:99px;background:var(--ref-green);color:#fff;font:normal 8px "MingribuHand"}.avatar-preset-grid button.active:after{content:"✓ 使用中";position:absolute;left:6px;top:6px;padding:3px 6px;border-radius:99px;background:var(--ref-red);color:#fff;font-size:8px}.avatar-upload-row button:disabled{opacity:.45;cursor:not-allowed}.avatar-action-panel{margin:13px 0;padding:13px;border:1px solid rgba(108,76,39,.14);border-radius:15px;background:#fff8e7}.avatar-action-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.avatar-action-heading strong,.avatar-action-heading small{display:block}.avatar-action-heading strong{color:var(--ref-brown);font:400 17px "MingribuTitle"}.avatar-action-heading small{margin-top:2px;color:var(--muted);font-size:8px}.avatar-action-heading>span{padding:4px 7px;border-radius:99px;background:#e7ebcf;color:var(--ref-green);font-size:8px}.avatar-action-fields input,.avatar-action-fields select{width:100%;margin-top:5px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#fffdf6;color:var(--ink);font:11px inherit}.avatar-action-preview{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.avatar-action-preview button{padding:7px;border:1px dashed rgba(184,71,45,.3);border-radius:10px;background:#fff1cf;color:var(--ref-brown);font:10px "MingribuHand";cursor:pointer}.avatar-action-preview button:hover{background:#ffe4ae;transform:translateY(-1px)}
body.static-avatar #petSprite,body.static-avatar #coachAvatarImg,body.static-avatar #summaryAvatarImg{filter:none;object-fit:contain;object-position:center bottom}body.static-avatar .desktop-pet[data-motion="gentle"][data-action="wave"]>img{animation:avatarGentleWave 1.1s ease-in-out 2}body.static-avatar .desktop-pet[data-motion="gentle"][data-action="happy"]>img{animation:avatarGentleHappy .7s ease-in-out 3}body.static-avatar .desktop-pet[data-motion="energetic"][data-action="wave"]>img,body.static-avatar .desktop-pet[data-motion="energetic"][data-action="happy"]>img{animation:avatarEnergetic .5s ease-in-out 4}body.static-avatar .desktop-pet[data-motion="presenter"][data-action="wave"]>img,body.static-avatar .desktop-pet[data-motion="presenter"][data-action="happy"]>img{animation:avatarPresenter .8s ease-in-out 3}body.static-avatar .desktop-pet[data-motion="calm"][data-action="wave"]>img,body.static-avatar .desktop-pet[data-motion="calm"][data-action="happy"]>img{animation:avatarCalm 1.35s ease-in-out 2}body.static-avatar .desktop-pet[data-action="think"]>img{animation:avatarListen 1.4s ease-in-out infinite}body.static-avatar .desktop-pet[data-action="sleep"]>img{animation:avatarRest 2.2s ease-in-out infinite;filter:saturate(.8) brightness(.94)}body.static-avatar .desktop-pet[data-action="drag"]>img{animation:none!important;transform:rotate(-3deg) scale(1.03)}@keyframes avatarGentleWave{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(2deg)}}@keyframes avatarGentleHappy{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.025)}}@keyframes avatarEnergetic{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(3deg) scale(1.035)}}@keyframes avatarPresenter{0%,100%{transform:rotate(0)}50%{transform:rotate(1.6deg) translateY(-4px)}}@keyframes avatarCalm{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px) scale(1.01)}}@keyframes avatarListen{0%,100%{transform:rotate(0)}50%{transform:rotate(-2deg) translateY(2px)}}@keyframes avatarRest{0%,100%{transform:translateY(3px) scale(.99)}50%{transform:translateY(6px) scale(.985)}}
@media(max-width:600px){.avatar-preset-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:330px}.avatar-preset-grid button{display:flex;grid-template-columns:none}.avatar-preset-grid .avatar-card-image{height:82px}.avatar-preset-grid img{width:100%;height:100%}.avatar-upload-row{flex-direction:row}.avatar-action-preview{grid-template-columns:repeat(4,1fr)}}

/* V1.0 r6：角色全局同步与手帐标题完整显示 */
body.static-avatar #heroAvatarImg,body.custom-avatar #heroAvatarImg{filter:none;object-fit:contain;object-position:center bottom}
.schedule-panel,.stat-card{overflow:visible!important}
.schedule-panel:before,.stat-card:before{position:relative;z-index:3}
.stat-card:before{display:block;width:max-content;margin-bottom:-6px}
@media(max-width:800px){.schedule-panel{margin-top:42px}.schedule-panel:before{margin-top:-36px}.stat-card{margin-top:28px}.stat-card:before{top:-15px}}

/* 与月历保持完全一致的手帐标题字体 */
.insights-hero h1{margin:0;font:400 39px "MingribuTitle";color:var(--ref-red)}
@media(max-width:800px){.insights-hero h1{font-size:32px}}

/* V1.0 r9：所有内置与上传数字人共用的桌宠动作系统 */
.avatar-action-preview{grid-template-columns:repeat(5,minmax(0,1fr))}
.avatar-action-preview button[data-avatar-action="roam"]{background:#e7edcf;color:var(--ref-green);border-color:rgba(91,116,62,.35)}
.desktop-pet>img{transform-origin:50% 86%;will-change:transform}
.desktop-pet[data-action="wave"]>img{animation:petActionWave .62s ease-in-out 4!important}
.desktop-pet[data-action="nod"]>img{animation:petActionNod .58s ease-in-out 4!important}
.desktop-pet[data-action="think"]>img{animation:petActionThink 1.15s ease-in-out infinite!important}
.desktop-pet[data-action="happy"]>img{animation:petActionHappy .62s ease-in-out 4!important}
.desktop-pet[data-action="jump"]>img{animation:petActionJump .68s cubic-bezier(.2,.8,.3,1) 4!important}
.desktop-pet[data-action="dance"]>img{animation:petActionDance .52s ease-in-out 6!important}
.desktop-pet[data-action="stretch"]>img{animation:petActionStretch 1s ease-in-out 3!important}
.desktop-pet[data-action="sleep"]>img{animation:petActionSleep 2.1s ease-in-out infinite!important;filter:saturate(.82) brightness(.95)}
.desktop-pet[data-action="sit"]>img{animation:petActionSit 1.4s ease-in-out infinite!important}
.desktop-pet[data-action="wake"]>img{animation:petActionWake .7s ease-out 3!important}
.desktop-pet[data-action="surprise"]>img{animation:petActionSurprise .5s ease-out 4!important}
.desktop-pet[data-action="selfie"]>img{animation:petActionSelfie 1.05s ease-in-out 3!important}
.desktop-pet[data-action="walk"]>img{animation:petActionWalk .48s ease-in-out infinite alternate!important}
.desktop-pet[data-action="drag"]>img{animation:none!important;transform:rotate(-3deg) scale(1.03)!important}
@keyframes petActionWave{0%,100%{transform:translate(0,0) rotate(0)}25%{transform:translate(-4px,-7px) rotate(-5deg)}75%{transform:translate(5px,-4px) rotate(5deg)}}
@keyframes petActionNod{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(7px) scaleY(.96) rotate(1deg)}}
@keyframes petActionThink{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(-4px,3px) rotate(-4deg)}}
@keyframes petActionHappy{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-14px) scale(1.055)}}
@keyframes petActionJump{0%,100%{transform:translateY(0) scale(1)}45%{transform:translateY(-27px) scale(1.04)}70%{transform:translateY(3px) scale(.98)}}
@keyframes petActionDance{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-9px) rotate(-6deg)}75%{transform:translateX(9px) rotate(6deg)}}
@keyframes petActionStretch{0%,100%{transform:scale(1)}50%{transform:translateY(-7px) scaleX(.94) scaleY(1.09)}}
@keyframes petActionSleep{0%,100%{transform:translateY(5px) rotate(-2deg) scale(.985)}50%{transform:translateY(8px) rotate(-2deg) scale(.965)}}
@keyframes petActionSit{0%,100%{transform:translateY(7px) scaleY(.96)}50%{transform:translateY(9px) scaleY(.94)}}
@keyframes petActionWake{0%{transform:translateY(12px) scale(.9)}55%{transform:translateY(-8px) scale(1.06)}100%{transform:translateY(0) scale(1)}}
@keyframes petActionSurprise{0%,100%{transform:scale(1)}50%{transform:translateY(-9px) scale(1.08)}}
@keyframes petActionSelfie{0%,100%{transform:rotate(0) translateY(0)}50%{transform:rotate(4deg) translateY(-6px) scale(1.025)}}
@keyframes petActionWalk{to{transform:translateY(-8px) rotate(2.5deg)}}
@media(max-width:600px){.avatar-action-preview{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* V1.0 r10：无边框自由桌宠与位置锁定 */
.desktop-pet.detached{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;filter:none!important;overflow:visible!important}
.desktop-pet.detached[data-pinned="true"]:after{content:"📌 已固定";position:absolute;right:8px;top:5px;padding:4px 7px;border-radius:99px;background:rgba(255,248,226,.9);color:var(--ref-green);font:9px "MingribuHand";box-shadow:1px 2px 6px rgba(67,50,29,.1)}
.avatar-action-preview button[data-avatar-action="pin"]{background:#f6e7bd;color:var(--ref-brown);border-color:rgba(111,80,42,.28)}
.desktop-pet.detached.is-dragging[data-pinned="true"]:after{content:"拖到这里后保持固定"}

/* V1.0 r11：明显可辨的心情配色与高清自定义背景 */
body[data-palette="blue"]{--mood-canvas:#b9dff2;--mood-paper:#e4f3fa;--mood-card:#f1f9fc;--mood-accent:#2e82b2;--mood-support:#668ca4}
body[data-palette="green"]{--mood-canvas:#c5e3cd;--mood-paper:#e5f3e7;--mood-card:#f2f9f1;--mood-accent:#3b9167;--mood-support:#708b59}
body[data-palette="pink"]{--mood-canvas:#f1cada;--mood-paper:#fae7ef;--mood-card:#fff3f7;--mood-accent:#c55f8c;--mood-support:#95718b}
body[data-palette="purple"]{--mood-canvas:#d9cdf0;--mood-paper:#eee8fa;--mood-card:#f8f4fd;--mood-accent:#7559b5;--mood-support:#7f759e}
body[data-palette="orange"]{--mood-canvas:#f2cfaa;--mood-paper:#fae8d3;--mood-card:#fff5e9;--mood-accent:#c9712c;--mood-support:#98764e}
body[data-palette]:not(.dark){--ref-red:var(--mood-accent);--book-red:var(--mood-accent);--ref-green:var(--mood-support);--theme-accent:var(--mood-accent);--theme-deep:color-mix(in srgb,var(--mood-accent) 58%,#253529);--theme-soft:var(--mood-paper);background-color:var(--mood-canvas)!important;background-image:linear-gradient(138deg,color-mix(in srgb,var(--mood-paper) 78%,white),var(--mood-canvas) 66%,color-mix(in srgb,var(--mood-canvas) 72%,var(--mood-accent))),repeating-linear-gradient(0deg,transparent 0 5px,rgba(82,66,48,.025) 5px 6px)!important}
body[data-palette]:not(.dark) .topbar{background:color-mix(in srgb,var(--mood-paper) 91%,white)!important;border-color:color-mix(in srgb,var(--mood-accent) 20%,transparent)!important}
body[data-palette]:not(.dark) .panel,body[data-palette]:not(.dark) .schedule-panel,body[data-palette]:not(.dark) .stat-card,body[data-palette]:not(.dark) .reflection-card,body[data-palette]:not(.dark) .quick-plan,body[data-palette]:not(.dark) .mood-strip,body[data-palette]:not(.dark) .calendar-hero,body[data-palette]:not(.dark) .insights-hero,body[data-palette]:not(.dark) .focus-card,body[data-palette]:not(.dark) .overview-card{background:color-mix(in srgb,var(--mood-card) 88%,transparent)!important;border-color:color-mix(in srgb,var(--mood-accent) 19%,transparent)!important}
body[data-palette]:not(.dark) .reflection-card textarea,body[data-palette]:not(.dark) .template-list button,body[data-palette]:not(.dark) .calendar-day{background:color-mix(in srgb,var(--mood-paper) 72%,white)!important}

/* r13 · 重要日期、照片墙、每日记录与桌宠缩放 */
.view-tabs{gap:16px}.desktop-pet.detached{transform:scale(var(--pet-scale,1))!important;transform-origin:left top}.desktop-pet.detached:before{content:"滚轮缩放";position:absolute;left:8px;bottom:-17px;padding:2px 6px;border-radius:8px;background:rgba(255,249,232,.88);color:var(--ref-pencil);font:8px "MingribuHand";opacity:0;transition:opacity .2s}.desktop-pet.detached:hover:before{opacity:1}
.photo-wall-card{padding:17px!important;border:1px solid rgba(103,76,42,.14);border-radius:22px;background:rgba(255,247,225,.72)}.photo-wall-card:before{display:none}.photo-wall-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.photo-wall-heading h2{margin:2px 0;font:400 26px "MingribuTitle"}.photo-wall-heading small{color:var(--muted);font-size:10px}.photo-wall-heading>button{border:0;border-radius:12px;padding:9px 12px;background:var(--ref-red);color:#fff9e8;font:12px "MingribuHand";cursor:pointer}.photo-wall-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-auto-rows:102px;gap:8px;min-height:142px}.photo-wall-item{position:relative;overflow:hidden;border:6px solid #fffaf0;border-radius:13px;background:#eadfc7;box-shadow:2px 3px 0 rgba(70,51,28,.08);transform:rotate(-1deg)}.photo-wall-item:nth-child(even){transform:rotate(1.2deg)}.photo-wall-item:first-child{grid-row:span 2}.photo-wall-item img{width:100%;height:100%;object-fit:cover}.photo-wall-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:9px}.photo-wall-item img:not([hidden])+.photo-wall-placeholder{display:none}.photo-wall-item>span{position:absolute;left:5px;bottom:4px;max-width:70%;padding:3px 6px;border-radius:8px;background:rgba(255,250,236,.86);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-wall-actions{position:absolute;right:4px;top:4px;display:flex;gap:3px;opacity:0;transition:.2s}.photo-wall-item:hover .photo-wall-actions{opacity:1}.photo-wall-actions button{border:0;border-radius:8px;padding:4px 6px;background:rgba(50,37,26,.75);color:white;font-size:9px;cursor:pointer}.photo-wall-empty{grid-column:1/-1;min-height:145px;border:2px dashed rgba(120,90,48,.22);border-radius:18px;background:rgba(255,250,237,.55);color:var(--ref-pencil);display:grid;place-items:center;align-content:center;gap:4px;cursor:pointer}.photo-wall-empty b{font-size:27px;color:var(--ref-red)}.photo-wall-empty strong{font:19px "MingribuTitle"}.photo-wall-empty small{font-size:9px}
.calendar-side-stack{display:grid;gap:18px}.calendar-side-stack>.panel{padding:20px;background:#fff7e5}.important-date-head{display:flex;align-items:start;justify-content:space-between;gap:10px}.important-date-head h2{margin:0;font:400 28px "MingribuTitle"}.important-date-head .primary-button{padding:9px 12px}.important-date-card>p{color:var(--muted);font-size:10px;line-height:1.55}.important-date-list{display:grid;gap:7px}.important-date-list article{display:grid;grid-template-columns:1fr 32px;border:1px solid rgba(104,76,42,.13);border-radius:13px;background:#fffaf0;overflow:hidden}.important-date-list button{border:0;background:transparent;color:inherit;cursor:pointer}.important-date-list [data-important-action=edit]{display:flex;align-items:center;gap:9px;padding:9px;text-align:left}.important-date-list i{font-style:normal;font-size:20px}.important-date-list strong,.important-date-list small{display:block}.important-date-list strong{font-size:12px}.important-date-list small{margin-top:2px;color:var(--muted);font-size:8px}.important-date-list [data-important-action=delete]{color:var(--ref-red);font-size:17px}.important-empty{padding:14px!important;border:2px dashed rgba(106,77,42,.16)!important;border-radius:12px;color:var(--ref-green)!important}.calendar-day.has-event{box-shadow:inset 0 3px 0 var(--ref-yellow)}.calendar-event{display:block;margin-top:6px;padding:3px 5px;border-radius:6px;background:var(--ref-red);color:white;font:normal 8px/1.25 "MingribuHand";white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-day.has-event strong,.calendar-day.has-event small{margin-top:6px}
.important-date-dialog{width:min(520px,calc(100vw - 24px));padding:0;border:0;border-radius:24px;background:#fff8e8;color:var(--ref-brown)}.important-date-dialog::backdrop{background:rgba(46,39,28,.5);backdrop-filter:blur(5px)}.important-date-dialog form{display:grid;gap:15px;padding:26px}.important-date-dialog label{display:grid;gap:7px;font-size:12px}.important-date-dialog input,.important-date-dialog select{width:100%;padding:12px;border:1px solid rgba(103,75,41,.2);border-radius:11px;background:#fffdf5;color:inherit;font:14px "MingribuHand"}
.calendar-kind-field{display:grid;gap:8px;font-size:12px}.calendar-kind-switch{display:grid;grid-template-columns:1fr 1fr;padding:4px;border:1px solid rgba(103,75,41,.16);border-radius:13px;background:#f4ead4}.calendar-kind-switch button{padding:10px;border:0;border-radius:10px;background:transparent;color:var(--muted);font:13px "MingribuHand";cursor:pointer}.calendar-kind-switch button.active{background:var(--ref-green);color:white;box-shadow:0 3px 0 rgba(88,65,36,.1)}.calendar-date-hint{min-height:17px;color:var(--ref-green);font-size:10px;line-height:1.45}.calendar-day .calendar-lunar{position:absolute;right:11px;top:14px;margin:0;color:var(--ref-green);font:9px "MingribuHand"}.calendar-day.today .calendar-lunar{right:10px;top:13px}
.record-hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:29px;border:1px solid rgba(105,76,40,.14);border-radius:24px;background:linear-gradient(135deg,#fff2ce,#f7e7dd);box-shadow:4px 6px 0 rgba(91,65,32,.05)}.record-hero h1{margin:0;font:400 40px "MingribuTitle";color:var(--ref-red)}.record-hero p:last-child{margin:7px 0 0;color:var(--muted)}.record-date-nav{display:flex;border:1px solid rgba(103,75,41,.15);border-radius:14px;background:#fffaf0;overflow:hidden}.record-date-nav button{min-height:46px;padding:0 14px;border:0;background:transparent;color:var(--ref-brown);cursor:pointer}.record-date-nav button:nth-child(2){min-width:170px;border-inline:1px solid rgba(103,75,41,.12);font:15px "MingribuTitle"}.record-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:20px}.journal-editor,.journal-gallery{padding:25px;background:#fff7e5}.journal-editor>input{width:100%;padding:16px 18px;border:0;border-bottom:2px solid var(--ref-yellow);background:#fffaf0;color:var(--ref-brown);font:24px "MingribuTitle"}.journal-toolbar{display:flex;align-items:center;gap:7px;margin:16px 0 10px;flex-wrap:wrap}.journal-toolbar>span{margin-right:6px;color:var(--muted);font-size:10px}.journal-toolbar button{width:36px;height:34px;border:1px solid rgba(105,77,42,.14);border-radius:10px;background:#fffaf0;font-size:18px;cursor:pointer}.journal-editor textarea{width:100%;min-height:430px;resize:vertical;padding:22px;border:1px dashed rgba(105,77,42,.22);border-radius:18px;background:repeating-linear-gradient(#fffdf5 0 35px,#eadfc8 36px);color:var(--ref-brown);font:17px/36px "MingribuHand"}.journal-footer{display:flex;align-items:center;justify-content:space-between;margin-top:12px;color:var(--muted)}.journal-gallery>p{color:var(--muted);font-size:10px}.record-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.record-image-grid article{position:relative;aspect-ratio:1;overflow:hidden;border:5px solid #fffaf0;border-radius:14px;background:#e9dec6}.record-image-grid img{width:100%;height:100%;object-fit:cover}.record-image-actions{position:absolute;inset:auto 4px 4px;display:flex;gap:4px;justify-content:center}.record-image-actions button{border:0;border-radius:7px;padding:4px 6px;background:rgba(48,36,25,.72);color:#fff;font-size:8px}.record-image-empty{grid-column:1/-1;min-height:170px;border:2px dashed rgba(105,77,42,.2);border-radius:16px;background:#fffaf0;color:var(--muted);display:grid;place-items:center;align-content:center;gap:8px;cursor:pointer;font-size:25px}.record-image-empty span{font-size:10px}
.dark .photo-wall-card,.dark .calendar-side-stack>.panel,.dark .record-hero,.dark .journal-editor,.dark .journal-gallery{background:#302f27}.dark .journal-editor>input,.dark .journal-editor textarea,.dark .photo-wall-empty,.dark .important-date-list article{background:#39372e;color:#f4ead3}
@media(max-width:800px){.mobile-nav{grid-template-columns:repeat(6,1fr)!important}.photo-wall-card{margin-bottom:16px}.photo-wall-grid{grid-auto-rows:92px}.photo-wall-actions{opacity:1}.calendar-event{max-width:44px;padding:2px;font-size:7px}.record-hero{display:block;padding:20px}.record-hero h1{font-size:31px}.record-date-nav{margin-top:16px}.record-layout{grid-template-columns:1fr}.journal-editor,.journal-gallery{padding:18px}.journal-editor textarea{min-height:330px}.record-date-nav button:nth-child(2){min-width:0;flex:1}.desktop-pet.detached:before{display:none}}

/* r14 · 独立时光墙：软木板、照片绳与每日便签 */
.view-tabs{gap:8px}.view-tab{padding-inline:10px}.mood-board{padding:19px!important;border:1px solid rgba(103,76,42,.14);border-radius:22px;background:rgba(255,247,225,.72)}.mood-board:before{display:none}.mood-board-copy h2{margin:2px 0 4px;font:400 25px "MingribuTitle"}.mood-board-copy small{color:var(--muted);font-size:10px}.mood-board .mood-strip{margin-top:15px}
.memory-hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:28px 30px;border:1px solid rgba(105,76,40,.14);border-radius:24px;background:linear-gradient(135deg,#fff1cc,#f5dfce);box-shadow:4px 6px 0 rgba(91,65,32,.06)}.memory-hero h1{margin:0;font:400 40px "MingribuTitle";color:var(--ref-red)}.memory-hero p:last-child{margin:7px 0 0;color:var(--muted)}.memory-mode-switch{display:flex;padding:5px;border:1px solid rgba(103,75,41,.15);border-radius:15px;background:#fffaf0}.memory-mode-switch button{min-width:108px;padding:11px 16px;border:0;border-radius:11px;background:transparent;color:var(--ref-pencil);font:14px "MingribuHand";cursor:pointer}.memory-mode-switch button.active{background:var(--ref-green);color:white;box-shadow:2px 3px 0 rgba(68,52,30,.1)}.memory-panel[hidden]{display:none!important}.memory-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:16px 20px;border:1px solid rgba(103,76,42,.14);border-radius:18px;background:rgba(255,248,229,.84)}.memory-tools>div:first-child{display:grid;gap:3px}.memory-tools strong{font:400 25px "MingribuTitle"}.memory-tools span{color:var(--muted);font-size:10px}.memory-date-nav{display:flex;align-items:center;gap:7px}.memory-date-nav>button:not(.primary-button){width:38px;height:38px;border:1px solid rgba(103,75,41,.15);border-radius:11px;background:#fffaf0;color:var(--ref-brown);cursor:pointer}.memory-date-nav #memoryToday{width:auto;padding-inline:13px}
.corkboard-shell,.note-corkboard{position:relative;min-height:720px;padding:72px 34px 42px;overflow:hidden;border:15px solid #69462f;border-radius:13px;background-color:#bd8b5c;background-image:radial-gradient(circle at 20% 30%,rgba(89,54,32,.18) 0 1px,transparent 1.5px),radial-gradient(circle at 70% 60%,rgba(255,232,188,.2) 0 1px,transparent 1.6px),repeating-linear-gradient(25deg,rgba(255,255,255,.025) 0 2px,rgba(70,41,25,.025) 2px 4px);background-size:11px 13px,17px 19px,auto;box-shadow:inset 0 0 45px rgba(79,44,24,.25),0 15px 35px rgba(75,52,29,.16)}.photo-string,.note-garland{position:absolute;z-index:1;left:-3%;width:106%;height:55px;border-top:3px solid rgba(91,62,39,.72);border-radius:50%;pointer-events:none}.string-one{top:68px;transform:rotate(1deg)}.string-two{top:320px;transform:rotate(-1.2deg)}.string-three{top:565px;transform:rotate(.7deg)}
.corkboard-shell .photo-wall-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));grid-auto-rows:auto;gap:42px 22px;min-height:550px}.corkboard-shell .photo-wall-item{position:relative;display:block;grid-row:auto!important;aspect-ratio:.82;overflow:visible;border:9px solid #fffdf5;border-bottom-width:35px;border-radius:2px;background:#e8deca;box-shadow:2px 7px 11px rgba(54,34,20,.34);transform:rotate(-3deg);transition:transform .2s,filter .2s}.corkboard-shell .photo-wall-item:nth-child(2n){transform:rotate(2.5deg) translateY(10px)}.corkboard-shell .photo-wall-item:nth-child(3n){transform:rotate(-1deg) translateY(-8px)}.corkboard-shell .photo-wall-item:nth-child(5n){transform:rotate(4deg) translateY(12px)}.corkboard-shell .photo-wall-item:hover{z-index:4;transform:rotate(0) scale(1.07);filter:saturate(1.08)}.corkboard-shell .photo-wall-item.selected-date{outline:4px solid rgba(239,189,69,.9);outline-offset:4px}.corkboard-shell .photo-wall-item img{display:block;width:100%;height:100%;object-fit:cover}.corkboard-shell .photo-wall-item>span{left:0;right:0;bottom:-31px;max-width:none;padding:2px 4px;background:transparent;color:#4b3426;text-align:center;font:11px "MingribuHand"}.corkboard-shell .photo-wall-item>span small{display:block;color:#94745d;font-size:8px}.photo-clip{position:absolute;z-index:3;left:50%;top:-25px;width:14px;height:31px;border:2px solid rgba(72,55,42,.76);border-radius:8px 8px 5px 5px;background:linear-gradient(90deg,#d9d9d2,#fff,#aaa);box-shadow:1px 2px 3px rgba(45,30,20,.35);transform:translateX(-50%)}.photo-clip:after{content:"";position:absolute;left:4px;top:5px;width:3px;height:16px;border:1px solid #8d8d88;border-radius:5px}.corkboard-shell .photo-wall-actions{right:-5px;top:-5px;z-index:5}.corkboard-shell .photo-wall-empty{grid-column:1/-1;min-height:360px;border-color:rgba(255,249,232,.68);background:rgba(255,247,225,.15);color:#fff9e8}.corkboard-shell .photo-wall-empty b{color:#fff}.corkboard-shell .photo-wall-empty strong{font-size:28px;text-shadow:1px 2px 0 rgba(70,43,26,.2)}
.note-corkboard{padding-top:75px}.note-garland{top:57px}.daily-note-wall{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:38px 24px}.hanging-note,.notes-empty{position:relative;min-height:205px;padding:28px 22px 20px;border:0;color:#4b3426;text-align:left;cursor:pointer;box-shadow:3px 8px 13px rgba(54,34,20,.28);transform:rotate(-2deg);background:#fff2a9;font-family:"MingribuHand"}.hanging-note:nth-child(2n){transform:rotate(2.2deg);background:#ffd9df}.hanging-note:nth-child(3n){transform:rotate(-.7deg);background:#cfead6}.hanging-note:nth-child(4n){transform:rotate(3deg);background:#d9d0f2}.hanging-note:nth-child(5n){background:#cfe9f4}.hanging-note:hover{z-index:3;transform:rotate(0) scale(1.04)}.hanging-note>i{position:absolute;left:50%;top:-17px;width:13px;height:31px;border-radius:4px;background:#9d7758;box-shadow:1px 2px 3px rgba(45,30,20,.35);transform:translateX(-50%)}.hanging-note time{display:block;color:#9b634d;font-size:10px}.hanging-note strong{display:block;margin:12px 0 9px;font:400 20px/1.35 "MingribuTitle"}.hanging-note span{display:-webkit-box;overflow:hidden;color:#684f3d;font-size:12px;line-height:1.65;-webkit-line-clamp:4;-webkit-box-orient:vertical}.hanging-note small{position:absolute;right:16px;bottom:12px;color:#94745d;font-size:8px}.notes-empty{grid-column:1/-1;min-height:360px;display:grid;place-items:center;align-content:center;gap:8px;background:rgba(255,247,225,.72);text-align:center}.notes-empty b{font-size:35px}.notes-empty strong{font:25px "MingribuTitle"}.notes-empty span{font-size:11px}
.dark .memory-hero,.dark .memory-tools,.dark .mood-board{background:#302f27}.dark .memory-mode-switch{background:#39372e}
@media(max-width:1050px){.corkboard-shell .photo-wall-grid{grid-template-columns:repeat(4,1fr)}.daily-note-wall{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.mobile-nav{grid-template-columns:repeat(7,1fr)!important}.mobile-nav button{font-size:8px}.memory-hero{display:block;padding:20px}.memory-hero h1{font-size:31px}.memory-mode-switch{margin-top:16px}.memory-mode-switch button{flex:1;min-width:0}.memory-tools{display:block;padding:14px}.memory-date-nav{margin-top:12px;flex-wrap:wrap}.corkboard-shell,.note-corkboard{min-height:620px;padding:62px 17px 30px;border-width:9px}.corkboard-shell .photo-wall-grid{grid-template-columns:repeat(2,1fr);gap:38px 15px}.corkboard-shell .photo-wall-item{border-width:7px;border-bottom-width:31px}.daily-note-wall{grid-template-columns:1fr 1fr;gap:31px 12px}.hanging-note{min-height:180px;padding:24px 14px 18px}.hanging-note strong{font-size:17px}.mood-board{margin-bottom:16px}.mood-board-copy h2{font-size:21px}}

/* r15 · 首页心情小记与全时光批量照片 */
.mood-note-row{display:grid;grid-template-columns:82px minmax(0,1.35fr) minmax(150px,.8fr);align-items:center;gap:13px;margin-top:14px}.mood-doodle{display:grid;place-items:center;min-height:72px;border:1px dashed rgba(103,76,42,.18);border-radius:19px;background:rgba(255,250,237,.52);color:var(--ref-yellow);font:22px "MingribuTitle"}.mood-note-row label{display:grid;gap:5px}.mood-note-row label>span{color:var(--ref-green);font-size:9px;letter-spacing:.08em}.mood-note-row input{width:100%;padding:13px 14px;border:1px solid rgba(103,76,42,.14);border-radius:13px;background:rgba(255,252,243,.78);color:var(--ref-brown);font:13px "MingribuHand"}.mood-note-row blockquote{min-height:72px;display:grid;place-items:center;margin:0;padding:12px;border-radius:17px;background:color-mix(in srgb,var(--mood-accent) 16%,#fff8e8);color:var(--ref-pencil);font:13px/1.6 "MingribuTitle";text-align:center}.mood-board .mood-strip{margin-top:12px;padding-block:10px}.mood-board .mood-strip>span{font-size:15px}.mood-board .mood-strip button{width:44px;height:44px}
.memory-date-nav label{display:flex;align-items:center;gap:8px;padding:5px 7px 5px 11px;border:1px solid rgba(103,75,41,.15);border-radius:11px;background:#fffaf0;color:var(--muted);font-size:9px}.memory-date-nav input{border:0;background:transparent;color:var(--ref-brown);font:11px "MingribuHand";outline:0}.memory-date-nav .primary-button{white-space:nowrap}.corkboard-shell:after{content:"这里汇集所有日期的照片 · 同一天也可以挂很多张";position:absolute;right:24px;bottom:13px;color:rgba(255,249,232,.72);font:10px "MingribuHand";letter-spacing:.08em}.dark .mood-note-row input{background:#39372e;color:#f4ead3}.dark .mood-note-row blockquote{background:#38362d}.dark .memory-date-nav label{background:#39372e}
@media(max-width:800px){.mood-note-row{grid-template-columns:58px 1fr}.mood-note-row blockquote{grid-column:1/-1;min-height:54px}.mood-doodle{min-height:69px;font-size:16px}.memory-date-nav label{flex:1;min-width:190px}.memory-date-nav input{flex:1}.corkboard-shell:after{right:12px;font-size:8px}}

/* r16 · 独立重要日期中心 */
.view-tabs{gap:3px}.view-tab{padding-inline:8px}.important-hero{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:18px;padding:29px 31px;border:1px solid rgba(105,76,40,.14);border-radius:24px;background:linear-gradient(135deg,#fff1cf,#f5dfd4);box-shadow:4px 6px 0 rgba(91,65,32,.06)}.important-hero h1{margin:0;font:400 40px "MingribuTitle";color:var(--ref-red)}.important-hero p:last-child{margin:7px 0 0;color:var(--muted)}.important-hero>.primary-button{padding:14px 19px;white-space:nowrap}.important-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.important-summary-grid article{position:relative;min-height:126px;padding:20px 22px;border:1px solid rgba(103,76,42,.14);border-radius:20px;background:#fff7e5;box-shadow:3px 5px 0 rgba(82,59,31,.06);overflow:hidden}.important-summary-grid article:after{content:"★";position:absolute;right:15px;top:10px;color:rgba(239,189,69,.5);font-size:33px}.important-summary-grid article:nth-child(2):after{content:"◷"}.important-summary-grid article:nth-child(3):after{content:"↻"}.important-summary-grid span,.important-summary-grid small{display:block;color:var(--muted);font-size:10px}.important-summary-grid strong{display:block;margin:6px 0 2px;color:var(--ref-red);font:36px "MingribuTitle"}.important-workspace{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.6fr);gap:18px}.important-quick-card,.important-list-card{padding:24px;background:#fff7e5}.important-quick-card h2,.important-list-heading h2{margin:0;font:400 29px "MingribuTitle"}.important-quick-card>p:not(.section-kicker){color:var(--muted);font-size:10px}.important-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:16px}.important-quick-grid button{display:flex;align-items:center;gap:9px;min-height:78px;padding:10px;border:1px solid rgba(103,76,42,.14);border-radius:15px;background:#fffaf0;color:var(--ref-brown);text-align:left;cursor:pointer;transition:.2s}.important-quick-grid button:hover{transform:translateY(-2px);border-color:var(--ref-yellow)}.important-quick-grid i{font-style:normal;font-size:25px}.important-quick-grid strong,.important-quick-grid small{display:block}.important-quick-grid strong{font-size:12px}.important-quick-grid small{margin-top:3px;color:var(--muted);font-size:8px}.important-calendar-tip{display:flex;align-items:center;gap:12px;margin-top:18px;padding:15px;border-radius:16px;background:color-mix(in srgb,var(--mood-accent) 15%,#fff8e8)}.important-calendar-tip>b{font-size:27px;color:var(--ref-green)}.important-calendar-tip strong,.important-calendar-tip small{display:block}.important-calendar-tip strong{font-size:12px}.important-calendar-tip small{margin-top:4px;color:var(--muted);font-size:8px}.important-list-heading{display:flex;align-items:start;justify-content:space-between;gap:15px;margin-bottom:18px}.important-filters{display:flex;gap:4px;padding:4px;border:1px solid rgba(103,76,42,.13);border-radius:12px;background:#fffaf0}.important-filters button{padding:7px 10px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:9px;cursor:pointer}.important-filters button.active{background:var(--ref-green);color:white}.important-list-card .important-date-list{gap:10px}.important-list-card .important-date-entry{display:grid;grid-template-columns:1fr 42px;border:1px solid rgba(103,76,42,.13);border-radius:16px;background:#fffaf0;overflow:hidden;transition:.2s}.important-list-card .important-date-entry:hover{transform:translateX(3px);border-color:var(--ref-yellow)}.important-date-main{display:grid!important;grid-template-columns:44px minmax(0,1fr) 105px;align-items:center!important;gap:12px!important;padding:13px 15px!important}.important-date-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff2cf;font-size:23px}.important-date-copy strong,.important-date-copy small,.important-date-next b,.important-date-next small{display:block}.important-date-copy strong{font-size:15px}.important-date-copy small{margin-top:4px;color:var(--muted);font-size:9px}.important-date-next{text-align:right}.important-date-next b{color:var(--ref-red);font:17px "MingribuTitle"}.important-date-next small{margin-top:2px;color:var(--muted);font-size:8px}.important-date-remove{border-left:1px solid rgba(103,76,42,.1)!important;color:var(--ref-red)!important}.important-list-card .important-empty{width:100%;min-height:190px;font-size:14px}.dark .important-hero,.dark .important-summary-grid article,.dark .important-quick-card,.dark .important-list-card{background:#302f27}.dark .important-quick-grid button,.dark .important-filters,.dark .important-list-card .important-date-entry{background:#39372e}
@media(max-width:1050px){.important-workspace{grid-template-columns:1fr}.important-quick-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.mobile-nav{grid-template-columns:repeat(8,1fr)!important}.mobile-nav button{font-size:7px}.important-hero{display:block;padding:20px}.important-hero h1{font-size:31px}.important-hero>.primary-button{width:100%;margin-top:16px}.important-summary-grid{gap:7px}.important-summary-grid article{min-height:108px;padding:14px 11px}.important-summary-grid strong{font-size:29px}.important-summary-grid article:after{font-size:22px}.important-quick-card,.important-list-card{padding:17px}.important-quick-grid{grid-template-columns:1fr 1fr}.important-list-heading{display:block}.important-filters{margin-top:12px;overflow-x:auto}.important-filters button{flex:1;white-space:nowrap}.important-date-main{grid-template-columns:38px minmax(0,1fr)!important;padding:10px!important}.important-date-icon{width:36px;height:36px}.important-date-next{grid-column:2;text-align:left}.important-date-next b,.important-date-next small{display:inline;margin-right:5px}.important-date-remove{width:36px}}
@media(max-width:800px){.calendar-day .calendar-lunar{right:6px;top:8px;font-size:7px}.calendar-day.today .calendar-lunar{right:5px;top:7px}}

/* r18 · 成长树：把每次完成变成雨与果实 */
.growth-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:29px 31px;border:1px solid rgba(75,118,91,.17);border-radius:24px;background:linear-gradient(135deg,#e8f5e8,#e6f1df 48%,#fff1cf);box-shadow:4px 6px 0 rgba(61,92,69,.08)}.growth-hero h1{margin:0;color:var(--ref-green);font:400 40px "MingribuTitle"}.growth-hero p:last-child{max-width:720px;margin:7px 0 0;color:var(--muted)}.growth-hero>.primary-button{padding:14px 18px;white-space:nowrap}.growth-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}.growth-summary-grid article{position:relative;min-height:116px;padding:19px 22px;border:1px solid rgba(103,76,42,.12);border-radius:20px;background:rgba(255,248,229,.9);box-shadow:3px 5px 0 rgba(82,59,31,.05);overflow:hidden}.growth-summary-grid article:after{content:"💧";position:absolute;right:17px;top:15px;font-size:28px;opacity:.55}.growth-summary-grid article:nth-child(2):after{content:"☂"}.growth-summary-grid article:nth-child(3):after{content:"🍎"}.growth-summary-grid span,.growth-summary-grid small{display:block;color:var(--muted);font-size:10px}.growth-summary-grid strong{display:block;margin:5px 0 1px;color:var(--ref-green);font:34px "MingribuTitle"}.growth-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr);gap:18px}.growth-garden{position:relative;min-height:650px;padding:0;overflow:hidden;background:linear-gradient(#dceef1 0 42%,#eaf5dc 42% 72%,#c9dba6 72%);isolation:isolate}.growth-garden:after{content:"";position:absolute;inset:auto 0 0;height:31%;background:repeating-linear-gradient(96deg,transparent 0 20px,rgba(75,117,58,.08) 21px 23px);z-index:-1}.growth-sky{position:absolute;inset:0 0 42%}.growth-cloud{position:absolute;width:130px;height:38px;border-radius:60px;background:rgba(255,255,255,.78);filter:drop-shadow(0 6px 5px rgba(76,99,98,.08))}.growth-cloud:before,.growth-cloud:after{content:"";position:absolute;bottom:6px;border-radius:50%;background:inherit}.growth-cloud:before{left:20px;width:55px;height:55px}.growth-cloud:after{right:19px;width:68px;height:68px}.cloud-one{left:11%;top:16%}.cloud-two{right:9%;top:26%;transform:scale(.76)}.rain-drop-zone{position:absolute;inset:0}.growth-raindrop{position:absolute;left:var(--drop-x);top:var(--drop-y);display:grid;place-items:center;width:43px;height:53px;border:0;background:transparent;color:#4798be;filter:drop-shadow(0 4px 3px rgba(41,106,137,.16));cursor:pointer;animation:rainHover calc(2.7s + var(--drop-speed)) ease-in-out infinite alternate;animation-delay:var(--drop-delay)}.growth-raindrop:before{content:"";width:25px;height:34px;border-radius:55% 55% 58% 58%/70% 70% 42% 42%;background:linear-gradient(145deg,#a9e5f2,#4ba4c9);transform:rotate(45deg)}.growth-raindrop span{position:absolute;top:16px;color:white;font:9px "MingribuHand";transform:rotate(-10deg)}.growth-raindrop:hover{animation-play-state:paused;transform:scale(1.14)}@keyframes rainHover{to{translate:0 28px}}.rain-empty{position:absolute;left:50%;top:37%;transform:translateX(-50%);padding:9px 15px;border-radius:18px;background:rgba(255,255,255,.58);color:var(--muted);font-size:10px;white-space:nowrap}.growth-tree-wrap{position:absolute;inset:27% 0 84px}.growth-tree{--tree-size:.45;position:absolute;left:50%;bottom:28px;width:330px;height:385px;transform:translateX(-50%) scale(var(--tree-size));transform-origin:center bottom;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.growth-tree.stage-1{--tree-size:.58}.growth-tree.stage-2{--tree-size:.74}.growth-tree.stage-3{--tree-size:.9}.growth-tree.stage-4,.growth-tree.stage-5{--tree-size:1}.tree-trunk{position:absolute;left:137px;bottom:18px;width:62px;height:220px;border-radius:48% 52% 18px 18px;background:linear-gradient(90deg,#755039,#a6784c 48%,#66462f);clip-path:polygon(31% 0,67% 0,78% 76%,100% 100%,61% 92%,50% 100%,38% 91%,0 100%,23% 75%);z-index:1}.tree-roots{position:absolute;left:92px;bottom:11px;width:155px;height:35px;border-radius:50%;background:#806044;filter:blur(1px)}.tree-crown{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 27%,#9dca72,#4f9259 62%,#347248);box-shadow:inset -14px -17px 0 rgba(33,99,57,.13),0 8px 15px rgba(49,89,55,.16);z-index:2}.crown-back{left:38px;top:50px;width:264px;height:210px}.crown-front{left:2px;top:116px;width:190px;height:157px}.tree-flowers{position:absolute;inset:62px 35px 113px;z-index:4;opacity:0;transition:opacity .5s}.stage-4 .tree-flowers,.stage-5 .tree-flowers{opacity:1}.tree-flowers i{position:absolute;color:#fff1c8;font:27px serif;text-shadow:0 2px #e6a9a3}.tree-flowers i:nth-child(1){left:28%;top:5%}.tree-flowers i:nth-child(2){right:18%;top:23%}.tree-flowers i:nth-child(3){left:8%;top:55%}.tree-flowers i:nth-child(4){right:5%;bottom:8%}.tree-flowers i:nth-child(5){left:48%;bottom:3%}.tree-fruit-layer{position:absolute;inset:58px 28px 110px;z-index:5}.tree-fruit{position:absolute;left:var(--fruit-x);top:var(--fruit-y);width:38px;height:38px;border:0;border-radius:50% 46% 52% 45%;background:linear-gradient(135deg,#ffca59,#e96b42 58%,#bd4435);box-shadow:inset 5px 4px rgba(255,239,170,.42),0 4px 5px rgba(73,46,30,.2);cursor:pointer;animation:fruitSway 2.6s ease-in-out infinite alternate;transform-origin:50% -10px}.tree-fruit:before{content:"";position:absolute;left:19px;top:-9px;width:3px;height:12px;background:#5e6f36;transform:rotate(13deg)}.tree-fruit:after{content:"";position:absolute;left:20px;top:-5px;width:12px;height:7px;border-radius:90% 20%;background:#6e9b4f}.tree-fruit:hover{filter:brightness(1.12);scale:1.13}@keyframes fruitSway{to{rotate:6deg}}.growth-ground{position:absolute;left:50%;bottom:32px;width:70%;height:65px;border-radius:50%;background:radial-gradient(ellipse,#82985f,#718652 53%,transparent 55%);transform:translateX(-50%)}.growth-stage{position:absolute;left:18px;right:18px;bottom:18px;display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:13px 15px;border:1px solid rgba(74,104,64,.14);border-radius:18px;background:rgba(255,250,234,.88);backdrop-filter:blur(7px);z-index:7}.growth-stage>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#e0ecd0;font-size:25px}.growth-stage strong,.growth-stage small{display:block}.growth-stage strong{font:18px "MingribuTitle"}.growth-stage small{margin-top:3px;color:var(--muted);font-size:9px}.growth-stage>b{color:var(--ref-green);font-size:10px}.growth-side{display:grid;gap:18px}.rain-bottle-card,.fruit-basket-card{padding:22px;background:rgba(255,248,229,.92)}.growth-card-heading{display:flex;align-items:start;justify-content:space-between;gap:10px}.growth-card-heading h2{margin:0;font:27px "MingribuTitle"}.growth-card-heading>span{padding:6px 9px;border-radius:11px;background:#e5efd7;color:var(--ref-green);font-size:8px}.rain-bottle-card>p{color:var(--muted);font-size:9px;line-height:1.6}.rain-history,.fruit-history{display:grid;gap:8px;margin-top:14px;max-height:280px;overflow:auto}.rain-history button,.fruit-history button{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;width:100%;padding:9px;border:1px solid rgba(103,76,42,.12);border-radius:13px;background:#fffaf0;color:inherit;text-align:left;cursor:pointer}.rain-history button>i,.fruit-history button>i{display:grid;place-items:center;width:33px;height:33px;border-radius:11px;background:#ddf1f3;font-style:normal}.rain-history strong,.rain-history small,.fruit-history strong,.fruit-history small{display:block}.rain-history strong,.fruit-history strong{font-size:11px}.rain-history small,.fruit-history small{margin-top:2px;color:var(--muted);font-size:8px}.rain-history em{color:#4987a5;font:normal 8px "MingribuHand"}.fruit-history button>i{background:#fff0c5}.fruit-history em{color:var(--ref-red);font:normal 8px "MingribuHand"}.growth-list-empty{padding:22px!important;display:block!important;color:var(--muted);text-align:center!important}.growth-detail-dialog{width:min(460px,calc(100vw - 26px));padding:0;border:0;border-radius:27px;background:#fff8e8;color:var(--ref-brown)}.growth-detail-dialog::backdrop{background:rgba(35,52,43,.48);backdrop-filter:blur(5px)}.growth-detail-content{position:relative;padding:32px;text-align:center}.growth-detail-content>#closeGrowthDetail{position:absolute;right:17px;top:14px;border:0;background:transparent;color:var(--muted);font-size:25px;cursor:pointer}.growth-detail-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 17px;border-radius:24px;background:linear-gradient(145deg,#e0f3f2,#fff0c8);font-size:39px}.growth-detail-content h2{margin:5px 0 11px;font:31px "MingribuTitle"}.growth-detail-content>p:not(.section-kicker){margin:0 auto;color:var(--ref-pencil);font:16px/1.75 "MingribuTitle"}.growth-detail-content>small{display:block;margin:15px 0;color:var(--muted)}.growth-detail-content>.primary-button{width:100%;margin-top:7px}.dark .growth-hero,.dark .growth-summary-grid article,.dark .rain-bottle-card,.dark .fruit-basket-card{background:#302f27}.dark .rain-history button,.dark .fruit-history button,.dark .growth-stage{background:#39372e}.dark .growth-detail-dialog{background:#302f27;color:#f4ead3}
@media(max-width:1050px){.growth-layout{grid-template-columns:1fr}.growth-side{grid-template-columns:1fr 1fr}.growth-garden{min-height:590px}}
@media(max-width:800px){.mobile-nav{grid-template-columns:repeat(9,1fr)!important}.mobile-nav button{font-size:6.5px}.growth-hero{display:block;padding:20px}.growth-hero h1{font-size:31px}.growth-hero>.primary-button{width:100%;margin-top:15px}.growth-summary-grid{gap:7px}.growth-summary-grid article{min-height:103px;padding:13px 10px}.growth-summary-grid strong{font-size:28px}.growth-summary-grid article:after{right:9px;font-size:19px}.growth-garden{min-height:560px}.growth-tree-wrap{inset:25% 0 88px}.growth-tree{left:50%}.growth-stage{grid-template-columns:43px 1fr;left:9px;right:9px;padding:10px}.growth-stage>span{width:40px;height:40px}.growth-stage>b{grid-column:2}.growth-side{grid-template-columns:1fr}.rain-bottle-card,.fruit-basket-card{padding:17px}.growth-cloud{scale:.72}.growth-raindrop{scale:.84}.growth-detail-content{padding:27px 21px}}
.growth-raindrop{height:81px;animation:none}.growth-raindrop:before{animation:rainHover calc(2.7s + var(--drop-speed)) ease-in-out infinite alternate;animation-delay:var(--drop-delay)}.growth-raindrop span{top:29px;animation:rainHover calc(2.7s + var(--drop-speed)) ease-in-out infinite alternate;animation-delay:var(--drop-delay)}.growth-raindrop:hover:before,.growth-raindrop:hover span{animation-play-state:paused}.tree-fruit{animation:none}

/* r19 · 跨页面数字人和精简桌宠气泡 */
.global-pet.desktop-pet.detached{position:fixed!important;display:block!important;width:286px!important;height:184px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:none!important;overflow:visible!important;z-index:40!important}.global-pet.desktop-pet.detached>img{left:0!important;bottom:0!important;width:116px!important;height:166px!important;object-fit:contain!important;filter:drop-shadow(0 8px 8px rgba(58,45,31,.15))}.global-pet.desktop-pet.detached .pet-bubble{display:block!important;left:105px!important;right:0!important;top:20px!important;bottom:auto!important;width:auto!important;min-height:116px;padding:14px 15px 12px!important;border:1px solid rgba(74,117,82,.24)!important;border-radius:21px!important;background:rgba(255,250,236,.96)!important;color:var(--ref-brown)!important;box-shadow:0 12px 28px rgba(53,70,49,.15),3px 4px 0 rgba(79,111,65,.08)!important;text-align:left!important;backdrop-filter:blur(10px)}.global-pet .pet-bubble:before{display:none!important}.global-pet .pet-bubble:after{content:"";display:block!important;position:absolute;left:-10px;top:66px;width:18px;height:18px;border-left:1px solid rgba(74,117,82,.2);border-bottom:1px solid rgba(74,117,82,.2);background:rgba(255,250,236,.96);transform:rotate(45deg)}.global-pet .pet-bubble-label{display:flex;align-items:center;gap:5px;margin-bottom:7px;color:var(--ref-green);font:700 8px/1.2 "MingribuHand";letter-spacing:.13em}.global-pet .pet-bubble-label i{width:7px;height:7px;border-radius:50%;background:#5aba7c;box-shadow:0 0 0 3px rgba(90,186,124,.14)}.global-pet .pet-bubble strong{display:block;margin:0 0 5px;color:var(--ref-red);font:400 20px/1.05 "MingribuTitle"!important}.global-pet #coachPreview{display:-webkit-box;min-height:31px;color:var(--ref-pencil);font:11px/1.45 "MingribuHand";-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.global-pet .pet-bubble small{display:block;margin-top:7px;padding-top:6px;border-top:1px dashed rgba(103,76,42,.14);color:var(--muted);font:7px/1 "MingribuHand"}.global-pet.desktop-pet.detached[data-pinned="true"]:after{right:0;top:0}.dark .global-pet.desktop-pet.detached .pet-bubble{background:rgba(48,47,39,.96);color:#f4ead3}.dark .global-pet .pet-bubble:after{background:rgba(48,47,39,.96)}
@media(max-width:800px){.global-pet.desktop-pet.detached{width:226px!important;height:158px!important}.global-pet.desktop-pet.detached>img{width:91px!important;height:130px!important}.global-pet.desktop-pet.detached .pet-bubble{left:82px!important;top:16px!important;min-height:103px;padding:11px 12px 10px!important;border-radius:18px!important}.global-pet .pet-bubble strong{font-size:17px!important}.global-pet #coachPreview{min-height:28px;font-size:9px}.global-pet .pet-bubble small{font-size:6.5px}.global-pet .pet-bubble:after{left:-8px;top:57px;width:14px;height:14px}}

/* r20 · 安排删除与全部重置 */
.schedule-reset-button{position:absolute;right:68px;top:16px;z-index:3;padding:8px 11px;border:1px solid rgba(173,70,47,.22);border-radius:12px;background:rgba(255,249,233,.9);color:var(--ref-red);font:10px "MingribuHand";cursor:pointer;box-shadow:2px 3px 0 rgba(169,58,40,.08)}.schedule-reset-button:hover{background:#fff1dd;transform:translateY(-1px)}.schedule-reset-button:disabled{opacity:.38;cursor:not-allowed;transform:none}.schedule-panel .task-actions{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:48px}.schedule-panel .mini-action{display:flex;align-items:center;justify-content:center;gap:3px;width:48px;height:24px;padding:2px 5px!important;border:1px solid rgba(85,110,72,.22);border-radius:9px;background:rgba(255,252,239,.72);color:var(--ref-green);font:8px "MingribuHand";opacity:1!important;visibility:visible!important}.schedule-panel .mini-action b{font:13px/1 sans-serif}.schedule-panel .task-delete-action{border-color:rgba(184,66,45,.27);background:rgba(255,241,224,.84);color:var(--ref-red)}.schedule-panel .task-delete-action:hover{background:#ffe2d8;color:#a93425}.schedule-panel .task-edit-action:hover{background:#edf3df}.schedule-panel .task-item.done{opacity:.82}.schedule-panel .task-item{min-height:146px}
@media(max-width:800px){.schedule-reset-button{right:65px;top:15px;padding:7px 9px;font-size:9px}.schedule-panel .task-item{grid-template-columns:minmax(0,1fr) 50px;min-height:150px}.schedule-panel .task-actions{min-width:46px}.schedule-panel .mini-action{width:45px}.schedule-panel .task-note{padding-right:2px}}
@media(max-width:430px){.schedule-reset-button{right:61px;max-width:74px;line-height:1.15}.schedule-panel .primary-button{right:13px}.schedule-panel .task-item{margin-left:21px;padding-right:8px}}

/* r23 · 八项顶部导航在中等桌面宽度保持独立，不与账号区重叠 */
@media(min-width:801px) and (max-width:1480px){
  .topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding-inline:18px}
  .brand{min-width:0}
  .brand small{display:none}
  .view-tabs{position:static;left:auto;transform:none;min-width:0;justify-content:center;gap:2px}
  .view-tab{flex:0 0 auto;padding-inline:6px;font-size:12px;white-space:nowrap}
  .top-actions{min-width:0;gap:2px}
  .top-actions .text-button{padding-inline:6px;white-space:nowrap}
  .top-actions #exportBtn,.top-actions .file-button{display:none}
  #accountText,#aiStatusText{display:block;max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(min-width:801px) and (max-width:1050px){
  .topbar{gap:7px;padding-inline:12px}
  .brand-mark{width:36px;height:36px;font-size:19px}
  .brand strong{font-size:17px;white-space:nowrap}
  .version-badge{display:none}
  .view-tab{padding-inline:4px;font-size:11px}
  .top-actions .text-button{width:34px;padding:8px;justify-content:center}
  #accountText,#aiStatusText{display:none}
  .top-actions .icon-button{width:34px}
}

/* r24 · 轻量真 3D 成长花园 */
.growth-3d-shell{position:absolute;inset:0;z-index:3;overflow:hidden;background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.4),transparent 46%);isolation:isolate}
#growth3dCanvas{display:block;width:100%;height:100%;opacity:0;cursor:grab;touch-action:none;transition:opacity .5s ease;outline:none}
#growth3dCanvas:active{cursor:grabbing}
.growth-3d-ready #growth3dCanvas{opacity:1}
.growth-3d-toolbar{position:absolute;left:16px;right:16px;top:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:2;pointer-events:none}
.growth-3d-toolbar span,.growth-3d-toolbar button,.growth-3d-hint{border:1px solid rgba(75,118,91,.15);background:rgba(255,250,238,.76);color:var(--ref-pencil);box-shadow:0 5px 18px rgba(67,87,61,.08);backdrop-filter:blur(9px)}
.growth-3d-toolbar span{padding:7px 10px;border-radius:12px;font-size:8px}
.growth-3d-toolbar button{padding:7px 11px;border-radius:12px;font:9px "MingribuHand";cursor:pointer;pointer-events:auto}
.growth-3d-toolbar button:hover{background:rgba(255,255,255,.94);transform:translateY(-1px)}
.growth-3d-hint{position:absolute;left:50%;top:58px;transform:translateX(-50%);padding:7px 12px;border-radius:15px;font-size:8px;white-space:nowrap;opacity:.8;pointer-events:none;transition:opacity .25s}
.growth-3d-shell:has(#growth3dCanvas:active) .growth-3d-hint{opacity:0}
.growth-2d-fallback{position:absolute;inset:0;z-index:1;transition:opacity .4s ease}
.growth-3d-ready + .growth-2d-fallback{opacity:0;pointer-events:none}
.growth-3d-failed{pointer-events:none;background:transparent}
.growth-3d-failed #growth3dCanvas,.growth-3d-failed .growth-3d-hint{display:none}
.growth-3d-failed .growth-3d-toolbar{top:12px;justify-content:center}
.growth-3d-failed .growth-3d-toolbar button{display:none}
.growth-garden{background:linear-gradient(#d8edf1 0 47%,#e8f2dd 65%,#bdcf98 100%)}
.growth-stage{z-index:7}
.dark .growth-3d-toolbar span,.dark .growth-3d-toolbar button,.dark .growth-3d-hint{background:rgba(39,49,42,.74);color:#f4ead3;border-color:rgba(255,255,255,.12)}
@media(max-width:800px){
  .growth-3d-toolbar{left:10px;right:10px;top:10px}
  .growth-3d-toolbar span{max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .growth-3d-hint{top:50px;font-size:7px}
  .growth-3d-toolbar button{font-size:8px}
}
@media(prefers-reduced-motion:reduce){#growth3dCanvas,.growth-2d-fallback{transition:none}}
body[data-palette]:not(.dark) .theme-dialog{background:color-mix(in srgb,var(--mood-card) 94%,white)}
body.has-custom-background[data-palette]:not(.dark){background-color:transparent!important;background-image:none!important}
body.has-custom-background .custom-background-layer{z-index:-2;opacity:1!important;transform:scale(1.005);filter:saturate(calc(.88 + var(--background-strength,.6)*.28)) contrast(calc(.94 + var(--background-strength,.6)*.12));image-rendering:auto}
body.has-custom-background:before{z-index:-1;background:rgb(255 249 237/calc(.74 - var(--background-strength,.6)*.64))!important;filter:none!important}
body.has-custom-background:after{opacity:calc(.46 - var(--background-strength,.6)*.34)}
body.has-custom-background .grain{opacity:calc(.2 - var(--background-strength,.6)*.12)}
body.has-custom-background.dark:before{background:rgb(18 25 21/calc(.68 - var(--background-strength,.6)*.5))!important}

/* r25 · 精简心情卡与每日饮水记录 */
.mood-board-head{display:grid;grid-template-columns:minmax(0,1fr) 132px minmax(235px,.72fr);align-items:center;gap:18px;margin-bottom:18px}.mood-board-head .mood-board-copy{min-width:0}.mood-board-head .mood-board-copy small{display:block;margin-top:7px;color:var(--muted);font:9px/1.55 "MingribuHand"}.mood-mini-scene{display:flex;align-items:center;justify-content:center;gap:7px;min-height:82px;border:1px dashed rgba(205,124,39,.24);border-radius:24px;background:linear-gradient(145deg,rgba(255,244,207,.74),rgba(232,245,224,.64));color:#e2a624}.mood-mini-scene span{font-size:31px}.mood-mini-scene i,.mood-mini-scene b{font:24px/1 "MingribuTitle"}.mood-mini-scene b{font-size:31px;color:#d97b5a}.mood-board-head blockquote{display:flex;align-items:center;min-height:82px;margin:0;padding:16px 19px;border:1px solid rgba(196,119,66,.13);border-radius:24px;background:rgba(255,235,217,.72);color:var(--ref-pencil);font:14px/1.65 "MingribuTitle"}.hydration-card{position:relative;margin:0 0 24px;padding:25px 28px;border:1px solid rgba(63,133,132,.18);border-radius:28px;background:linear-gradient(135deg,rgba(241,251,247,.92),rgba(229,246,244,.87) 58%,rgba(255,247,220,.9));box-shadow:5px 7px 0 rgba(54,112,105,.07);overflow:hidden}.hydration-card:after{content:"";position:absolute;right:-55px;bottom:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(109,190,193,.17),transparent 69%);pointer-events:none}.hydration-heading{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.hydration-heading h2{margin:2px 0 0;color:var(--ref-brown);font:31px/1.2 "MingribuTitle"}.hydration-heading small{display:block;margin-top:6px;color:var(--muted);font-size:9px}.hydration-heading>button{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 10px;min-width:144px;padding:10px 14px;border:1px solid rgba(58,127,122,.2);border-radius:17px;background:rgba(255,253,243,.78);color:var(--ref-green);text-align:left;cursor:pointer}.hydration-heading>button:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(53,108,102,.1)}.hydration-heading>button span{font-size:8px;letter-spacing:.1em}.hydration-heading>button strong{font:19px "MingribuTitle"}.hydration-heading>button i{grid-column:2;color:var(--muted);font:7px "MingribuHand"}.hydration-workspace{position:relative;z-index:1;display:grid;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:29px;margin-top:19px;padding:18px 21px;border:1px solid rgba(74,137,132,.13);border-radius:24px;background:rgba(255,255,249,.56)}.water-orb{position:relative;width:142px;height:142px;margin:auto;border:5px solid rgba(255,255,255,.8);border-radius:50%;background:rgba(215,238,235,.48);box-shadow:inset 0 0 0 1px rgba(60,132,133,.16),0 9px 20px rgba(62,120,116,.11);overflow:hidden}.water-orb:after{content:"";position:absolute;inset:10px 22px auto;height:30px;border-radius:50%;background:linear-gradient(rgba(255,255,255,.53),transparent);transform:rotate(-18deg)}.water-orb-fill{position:absolute;left:-6%;right:-6%;bottom:0;height:0;background:linear-gradient(180deg,#75cfd4,#459cae 64%,#398a9f);transition:height .45s cubic-bezier(.2,.8,.2,1)}.water-orb-fill:before{content:"";position:absolute;left:-5%;right:-5%;top:-11px;height:22px;border-radius:48%;background:rgba(153,226,228,.94);animation:waterWave 3.4s ease-in-out infinite alternate}@keyframes waterWave{to{transform:translateX(9px) rotate(2deg)}}.water-orb-copy{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;align-content:center;color:var(--ref-brown);text-shadow:0 1px rgba(255,255,255,.65)}.water-orb-copy strong{font:36px/1 "MingribuTitle"}.water-orb-copy>span{margin:8px 0 0 4px;font-size:9px}.water-orb-copy small{flex-basis:100%;margin-top:5px;text-align:center;font:10px "MingribuHand"}.water-log{min-width:0}.water-log-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--muted);font-size:9px}.water-log-head b{color:#408f8e;font-weight:600}.water-cups{display:grid;grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:8px}.water-cups button{display:grid;place-items:center;gap:3px;min-width:0;padding:7px 3px 5px;border:1px solid rgba(63,128,126,.14);border-radius:13px;background:rgba(255,253,244,.73);color:var(--muted);cursor:pointer}.water-cups button i{position:relative;width:21px;height:28px;border:2px solid rgba(64,132,132,.42);border-top-width:1px;border-radius:3px 3px 7px 7px;overflow:hidden}.water-cups button i:after{content:"";position:absolute;inset:auto 2px 2px;height:0;border-radius:2px 2px 5px 5px;background:linear-gradient(#83d1d5,#429aaa);transition:height .3s}.water-cups button.filled{border-color:rgba(55,147,147,.35);background:rgba(222,246,242,.86);color:var(--ref-green)}.water-cups button.filled i{border-color:#3d9a99}.water-cups button.filled i:after{height:20px}.water-cups button:hover{transform:translateY(-2px)}.water-cups button span{font:8px "MingribuHand"}.water-actions{display:grid;grid-template-columns:1fr 1.25fr .72fr;gap:9px;margin-top:13px}.water-actions button{padding:10px 8px;border:1px solid rgba(65,127,122,.17);border-radius:13px;background:rgba(255,252,241,.77);color:var(--ref-green);font:9px "MingribuHand";cursor:pointer}.water-actions button:hover{transform:translateY(-1px)}.water-actions .water-add{border-color:#3e9894;background:#429b91;color:white;box-shadow:2px 3px 0 rgba(40,112,104,.13)}.dark .mood-mini-scene,.dark .mood-board-head blockquote,.dark .hydration-card,.dark .hydration-workspace,.dark .hydration-heading>button,.dark .water-cups button,.dark .water-actions button{background:#302f27;color:#f4ead3}.dark .water-actions .water-add{background:#4e9f96}.dark .water-orb{border-color:#3d443c;background:#273a39}.dark .water-orb-copy{color:#fff6df;text-shadow:none}
@media(max-width:960px){.mood-board-head{grid-template-columns:minmax(0,1fr) 110px}.mood-board-head blockquote{grid-column:1/-1;min-height:auto}.hydration-workspace{grid-template-columns:145px 1fr;gap:18px}}
@media(max-width:800px){.mood-board-head{grid-template-columns:1fr auto;gap:12px;margin-bottom:14px}.mood-mini-scene{width:92px;min-height:70px}.mood-mini-scene span{font-size:25px}.mood-mini-scene i{display:none}.mood-mini-scene b{font-size:26px}.mood-board-head blockquote{padding:13px 15px;border-radius:18px;font-size:12px}.hydration-card{padding:19px 16px;border-radius:23px}.hydration-heading h2{font-size:26px}.hydration-heading>button{min-width:118px;padding:9px 11px}.hydration-heading>button strong{font-size:16px}.hydration-workspace{grid-template-columns:112px minmax(0,1fr);gap:12px;padding:14px 11px}.water-orb{width:106px;height:106px}.water-orb-copy strong{font-size:27px}.water-cups{grid-template-columns:repeat(4,1fr);max-height:102px;overflow:auto}.water-cups button{padding:5px 2px}.water-cups button i{width:18px;height:23px}.water-cups button.filled i:after{height:16px}.water-actions{grid-template-columns:1fr 1.25fr}.water-actions button:last-child{grid-column:1/-1;padding:7px}.water-log-head{display:block}.water-log-head b{display:block;margin-top:3px}}
@media(max-width:480px){.hydration-heading{align-items:center}.hydration-heading small{max-width:170px}.hydration-workspace{grid-template-columns:1fr}.water-orb{width:116px;height:116px}.water-cups{max-height:none}.water-actions{grid-template-columns:1fr 1.2fr .7fr}.water-actions button:last-child{grid-column:auto;padding:9px 5px}}
@media(prefers-reduced-motion:reduce){.water-orb-fill,.water-cups button i:after{transition:none}.water-orb-fill:before{animation:none}}

/* r26 · 心情卡紧凑排版：适配首页窄栏，不再拆成竖排 */
.mood-board-head{grid-template-columns:minmax(0,1fr) 82px;gap:12px 14px;margin-bottom:0}.mood-board-head .mood-board-copy h2{max-width:none;margin-top:4px;font-size:26px;line-height:1.28;white-space:normal;word-break:keep-all}.mood-board-head .mood-board-copy small{max-width:280px;margin-top:5px;font-size:8px}.mood-mini-scene{grid-column:2;grid-row:1;width:82px;min-height:72px;gap:3px;border-radius:20px}.mood-mini-scene span{font-size:25px}.mood-mini-scene i{font-size:16px}.mood-mini-scene b{font-size:26px}.mood-board-head blockquote{grid-column:1/-1;grid-row:2;min-height:54px;padding:12px 15px;border-radius:17px;font-size:12px;line-height:1.55}.mood-board .mood-strip{margin-top:11px;padding:10px 11px;gap:6px}.mood-board .mood-strip>span{min-width:0;font-size:14px;white-space:nowrap}.mood-board .mood-strip button{width:43px;height:43px;flex:0 0 43px;border-radius:12px;font-size:16px}.mood-board .mood-strip small{font-size:8px}
@media(min-width:1121px){.mood-board-head .mood-board-copy h2{font-size:24px}.mood-board-head .mood-board-copy small{font-size:8px}.mood-board .mood-strip>span{white-space:normal}}
@media(max-width:800px){.mood-board-head{grid-template-columns:minmax(0,1fr) 76px}.mood-board-head .mood-board-copy h2{font-size:22px}.mood-mini-scene{width:76px;min-height:65px}.mood-board-head blockquote{min-height:48px}.mood-board .mood-strip{justify-content:space-between;overflow:visible}.mood-board .mood-strip>span{min-width:0;font-size:13px}.mood-board .mood-strip button{width:42px;height:42px;flex-basis:42px}}
@media(max-width:430px){.mood-board .mood-strip>span{display:none}.mood-board .mood-strip{justify-content:space-around}}

/* r27 · 2.5D 数字人效果预览 */
.pet-depth-preview.detached{--pet-look-x:0deg;--pet-look-shift-x:0px;--pet-look-shift-y:0px;--pet-shadow-x:0px;perspective:520px}.pet-depth-preview.detached>img{z-index:2;translate:var(--pet-look-shift-x) var(--pet-look-shift-y);rotate:0 1 0 var(--pet-look-x);transform-style:preserve-3d;transform-origin:50% 82%;filter:drop-shadow(var(--pet-shadow-x) 9px 8px rgba(44,52,36,.2)) drop-shadow(0 1px 0 rgba(255,255,255,.42));transition:rotate .25s ease,translate .25s ease,filter .25s ease}.pet-depth-preview.detached[data-action="stand"]>img{animation:petDepthFloat 3.2s ease-in-out infinite!important}.pet-depth-preview.detached.is-dragging>img{translate:0 -3px;rotate:0 1 0 0deg;transition:none}.pet-stage-shadow{position:absolute;z-index:0;left:8px;bottom:2px;width:104px;height:18px;border-radius:50%;background:radial-gradient(ellipse,rgba(45,63,42,.3),rgba(51,70,45,.1) 48%,transparent 72%);filter:blur(3px);transform-origin:center;animation:petDepthShadow 3.2s ease-in-out infinite;pointer-events:none}.pet-depth-preview.detached.is-dragging .pet-stage-shadow{opacity:.25;transform:scale(.7)}.pet-depth-preview.detached.walking .pet-stage-shadow{animation:petDepthStepShadow .55s ease-in-out infinite alternate}.pet-depth-preview.detached:focus-visible{outline:2px solid rgba(67,151,137,.7);outline-offset:8px}.pet-depth-preview.detached:hover .pet-stage-shadow{background:radial-gradient(ellipse,rgba(44,74,55,.34),rgba(70,108,75,.11) 50%,transparent 73%)}
@keyframes petDepthFloat{0%,100%{translate:var(--pet-look-shift-x) var(--pet-look-shift-y)}50%{translate:var(--pet-look-shift-x) calc(var(--pet-look-shift-y) - 5px)}}@keyframes petDepthShadow{0%,100%{transform:scale(1);opacity:.78}50%{transform:scale(.82);opacity:.48}}@keyframes petDepthStepShadow{to{transform:scale(.76);opacity:.42}}
@media(max-width:800px){.pet-stage-shadow{left:4px;width:84px;height:14px}.pet-depth-preview.detached>img{filter:drop-shadow(0 7px 6px rgba(44,52,36,.18))}}
@media(prefers-reduced-motion:reduce){.pet-depth-preview.detached[data-action="stand"]>img,.pet-stage-shadow{animation:none!important}.pet-depth-preview.detached>img{transition:none}}

/* r28 · 可见的分层 2.5D：头部、身体与背景产生不同视差 */
.pet-depth-preview.detached{--pet-depth-x:0px;--pet-depth-y:0px;--pet-body-x:0px;--pet-body-y:0px;--pet-back-x:0px;--pet-back-y:0px;--pet-head-rotate:0deg;--pet-body-rotate:0deg}.pet-depth-layers{position:absolute;z-index:3;left:0;bottom:0;width:116px;height:166px;pointer-events:none;transform-style:preserve-3d;transition:opacity .18s ease}.pet-depth-layers:before{content:"";position:absolute;z-index:-1;left:4px;top:15px;width:104px;height:115px;border-radius:48%;background:radial-gradient(circle at 50% 38%,rgba(255,246,193,.34),rgba(105,185,164,.13) 48%,transparent 72%);translate:var(--pet-back-x) var(--pet-back-y);filter:blur(1px);transition:translate .22s ease}.pet-depth-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 4px 5px rgba(49,61,42,.1));will-change:transform;transition:transform .2s cubic-bezier(.2,.75,.25,1),opacity .18s ease}.pet-depth-body{clip-path:inset(31% 0 12% 0);opacity:.82;transform:perspective(440px) translate3d(var(--pet-body-x),var(--pet-body-y),10px) rotateY(var(--pet-body-rotate))}.pet-depth-head{clip-path:inset(0 0 52% 0);transform:perspective(440px) translate3d(var(--pet-depth-x),var(--pet-depth-y),24px) rotateY(var(--pet-head-rotate));filter:drop-shadow(0 5px 6px rgba(50,61,41,.12)) brightness(1.025)}.pet-depth-preview.detached:not([data-action="stand"]) .pet-depth-layers,.pet-depth-preview.detached.is-dragging .pet-depth-layers{opacity:0}.pet-depth-preview.detached[data-action="stand"] .pet-depth-head{animation:petHeadDepth 4.2s ease-in-out infinite alternate}.pet-depth-preview.detached[data-action="stand"] .pet-depth-body{animation:petBodyDepth 4.2s ease-in-out infinite alternate}.pet-depth-preview.detached .pet-bubble small:after{content:" · 分层景深";color:#3d9990}.pet-depth-preview.detached:hover .pet-bubble small:after{content:" · 移动鼠标看景深"}
@keyframes petHeadDepth{from{margin-left:-1px}to{margin-left:2px}}@keyframes petBodyDepth{from{margin-left:0}to{margin-left:-1px}}
@media(max-width:800px){.pet-depth-layers{left:0;width:91px;height:130px}.pet-depth-layers:before{left:2px;top:12px;width:85px;height:91px}.pet-depth-preview.detached[data-action="stand"] .pet-depth-head{animation-duration:3.4s}.pet-depth-preview.detached[data-action="stand"] .pet-depth-body{animation-duration:3.4s}}
@media(prefers-reduced-motion:reduce){.pet-depth-layer{animation:none!important;transition:none}.pet-depth-layers:before{transition:none}}

/* r28.1 · 使用互不重叠的人物切片，避免出现双影 */
.pet-depth-preview.detached{--pet-leg-x:0px;--pet-leg-y:0px;--pet-leg-rotate:0deg}.pet-depth-preview.detached[data-action="stand"]>#petSprite{opacity:0}.pet-depth-preview.detached:not([data-action="stand"])>#petSprite{opacity:1}.pet-depth-preview.detached>#petSprite{transition:opacity .14s ease,rotate .25s ease,translate .25s ease,filter .25s ease}.pet-depth-head{clip-path:inset(0 0 69% 0);opacity:1}.pet-depth-body{clip-path:inset(27% 0 30% 0);opacity:1}.pet-depth-legs{clip-path:inset(66% 0 0 0);transform:perspective(440px) translate3d(var(--pet-leg-x),var(--pet-leg-y),2px) rotateY(var(--pet-leg-rotate));filter:drop-shadow(0 4px 5px rgba(49,61,42,.12))}.pet-depth-preview.detached[data-action="stand"] .pet-depth-legs{animation:petLegDepth 4.2s ease-in-out infinite alternate}@keyframes petLegDepth{from{margin-left:0}to{margin-left:.5px}}

/* r29 · 完整人物动态增强：不切片、不重影 */
.pet-whole-motion.detached{--pet-look-x:0deg;--pet-look-shift-x:0px;--pet-look-shift-y:0px;--pet-shadow-x:0px;perspective:560px}.pet-whole-motion.detached>#petSprite{z-index:3;opacity:1!important;translate:var(--pet-look-shift-x) var(--pet-look-shift-y);rotate:0 1 0 var(--pet-look-x);scale:1;transform-style:preserve-3d;transform-origin:50% 84%;filter:drop-shadow(var(--pet-shadow-x) 10px 8px rgba(41,56,39,.22)) drop-shadow(0 1px 0 rgba(255,255,255,.38));transition:rotate .22s ease,translate .22s ease,filter .22s ease}.pet-whole-motion.detached[data-action="stand"]>#petSprite{animation:wholePetBreathe 3.1s ease-in-out infinite!important}.pet-whole-motion.detached.is-dragging>#petSprite{animation:none!important;translate:0 -4px;rotate:0 1 0 0deg;scale:1.025;transition:none}.pet-motion-aura{position:absolute;z-index:1;left:1px;bottom:9px;width:116px;height:148px;border-radius:48%;background:radial-gradient(circle at 50% 42%,rgba(255,245,183,.38),rgba(104,191,166,.13) 48%,transparent 72%);filter:blur(.4px);pointer-events:none;animation:wholePetAura 3.1s ease-in-out infinite}.pet-motion-aura:before,.pet-motion-aura:after{content:"✦";position:absolute;color:rgba(226,174,55,.72);font:12px serif;text-shadow:0 1px white;animation:wholePetSpark 2.7s ease-in-out infinite alternate}.pet-motion-aura:before{left:2px;top:28px}.pet-motion-aura:after{content:"·";right:3px;top:8px;font-size:24px;animation-delay:-1.2s}.pet-whole-motion.detached:not([data-action="stand"]) .pet-motion-aura{opacity:.5}.pet-whole-motion.detached.is-dragging .pet-motion-aura{opacity:.18}.pet-whole-motion.detached .pet-bubble small:after{content:" · 完整人物动态";color:#3d9990}.pet-whole-motion.detached:hover .pet-bubble small:after{content:" · 移动鼠标看转向"}
@keyframes wholePetBreathe{0%,100%{translate:var(--pet-look-shift-x) var(--pet-look-shift-y);scale:1}50%{translate:var(--pet-look-shift-x) calc(var(--pet-look-shift-y) - 5px);scale:1.015}}@keyframes wholePetAura{0%,100%{transform:scale(.96);opacity:.62}50%{transform:scale(1.04);opacity:.9}}@keyframes wholePetSpark{to{translate:2px -7px;scale:1.25;opacity:.35}}
@media(max-width:800px){.pet-motion-aura{left:0;bottom:7px;width:91px;height:116px}.pet-whole-motion.detached>#petSprite{filter:drop-shadow(var(--pet-shadow-x) 7px 6px rgba(41,56,39,.2))}}
@media(prefers-reduced-motion:reduce){.pet-whole-motion.detached[data-action="stand"]>#petSprite,.pet-motion-aura,.pet-motion-aura:before,.pet-motion-aura:after{animation:none!important}.pet-whole-motion.detached>#petSprite{transition:none}}

