/* Layout and visual tokens copied from the approved calendar preview. */
#homePage,#thoughtSheet{--mo-bg:#e7e7e3;--mo-ink:#262624;--mo-muted:#666761;--mo-line:#d9d9d4;--mo-pane:#f7f7f4;--mo-soft:#e7e7e3;--mo-sheet:#fafaf7;--mo-rose:#a5686a;--mo-rose-soft:#ede0df;--mo-cast:#c8c9c4}
html[data-theme=dark] #homePage,html[data-theme=dark] #thoughtSheet{--mo-bg:#191918;--mo-ink:#f0eeea;--mo-muted:#a7a6a0;--mo-line:#494946;--mo-pane:#242423;--mo-soft:#363633;--mo-sheet:#232321;--mo-rose:#ca999a;--mo-rose-soft:#433334;--mo-cast:#363837}
#homePage{display:block;top:0;bottom:0;padding:calc(18px + env(safe-area-inset-top)) 20px calc(110px + env(safe-area-inset-bottom));text-align:left;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC',sans-serif;color:var(--mo-ink);background:var(--mo-bg);isolation:isolate}
#homePage::before{content:'';display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;margin:0;background:radial-gradient(ellipse at 95% 8%,var(--mo-pane) 0,transparent 42%),radial-gradient(ellipse at 0 38%,var(--mo-cast) 0,transparent 45%),linear-gradient(133deg,transparent 37%,var(--mo-pane) 50%,transparent 65%),repeating-linear-gradient(119deg,transparent 0 2px,#86867d05 2px 3px);opacity:.9}
body[data-page=homePage] #bgLayer{background:#e7e7e3!important}
html[data-theme=dark] body[data-page=homePage] #bgLayer{background:#191918!important}
#homePage [hidden]{display:none!important}
#homeOverview{flex:none;width:100%;max-width:680px;margin:0 auto}
#homePage #homeSchedule{position:static;max-width:680px;margin:0 auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
#homePage,#thoughtSheet{font-size:14px}
#homePage *{box-sizing:border-box}
#homePage [hidden]{display:none!important}
#homePage button{font:inherit;color:inherit;letter-spacing:inherit}
#homePage button:focus-visible,#homePage input:focus-visible,#homePage textarea:focus-visible{outline:2px solid var(--mo-rose);outline-offset:3px}
#homePage .mo-eyebrow{display:flex;align-items:center;justify-content:space-between;color:var(--mo-muted);font-family:Georgia,"Songti SC","MO Noto Sans SC",serif;letter-spacing:2.5px;font-size:11px}
#homePage .mo-theme{border:1px solid var(--mo-line);border-radius:50%;width:34px;height:34px;background:var(--mo-pane);display:grid;place-items:center;padding:0}
#homePage .mo-theme svg{width:15px;height:15px}
#homePage .mo-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:54px;line-height:1.05;letter-spacing:-2.5px;margin:5px 0 16px}
#homePage .mo-hero p{font-size:12px;line-height:1.8;margin:0;color:var(--mo-muted)}
#homePage .mo-hero p span{font-family:Georgia,serif;letter-spacing:.4px}
#homePage .mo-couple{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--mo-line);padding-top:14px;margin-top:19px;font-size:11px;color:var(--mo-muted)}
#homePage .mo-couple>span:first-child{font-family:Georgia,serif;font-size:16px;letter-spacing:1px;color:var(--mo-ink)}
#homePage .mo-couple b{font-size:11px;color:var(--mo-rose);font-weight:400;margin:0 3px}
#homePage .mo-home-cards{display:grid;gap:12px;margin-top:21px}
#homePage .mo-feature{display:flex;flex-direction:column;align-items:stretch;text-align:left;position:relative;padding:17px 17px 15px;border:1px solid var(--mo-line);border-radius:23px;background:linear-gradient(119deg,var(--mo-pane),var(--mo-soft) 62%,var(--mo-pane));box-shadow:inset 0 1px 0 #ffffff35;transition:transform .15s ease}
#homePage .mo-feature:hover{transform:translateY(-2px)}
#homePage .mo-feature-top{display:flex;align-items:center;justify-content:space-between;font-family:Georgia,serif;font-size:11px;letter-spacing:1.8px;color:var(--mo-muted)}
#homePage .mo-feature-top svg{width:20px;height:20px;stroke-width:1}
#homePage .mo-feature-title{font-family:Georgia,"Times New Roman",serif;font-size:26px;font-weight:400;letter-spacing:-.3px;margin:12px 0 4px}
#homePage .mo-feature-cn{font-size:12px;color:var(--mo-muted)}
#homePage .mo-feature-foot{display:flex;justify-content:space-between;gap:6px;align-items:center;margin-top:15px;font-size:11px;color:var(--mo-muted)}
#homePage em{font-family:Georgia,"Songti SC","MO Noto Sans SC",serif;font-weight:400}
#homePage .mo-home-note{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--mo-muted);margin-top:19px}
#homePage .mo-home-note>span:first-child{font-family:Georgia,serif;letter-spacing:1px}
#homePage .mo-page-head{display:flex;align-items:center;justify-content:space-between;margin:0 -8px 27px}
#homePage .mo-page-head h2{font-family:Georgia,"Songti SC","MO Noto Sans SC",serif;font-size:23px;font-weight:400;margin:0}
#homePage .mo-icon-button{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:0;background:transparent;border-radius:50%;padding:0;color:var(--mo-muted)}
#homePage .mo-icon-button svg{width:19px;height:19px;stroke-width:1.5}
#homePage .mo-section-sub{display:flex;justify-content:space-between;align-items:center;color:var(--mo-muted);font-size:11px;margin:0 2px 13px}
#homePage .mo-section-sub em{font-size:14px}
#homePage .mo-segment{display:flex;gap:4px;padding:4px;border-radius:25px;background:var(--mo-soft);margin-bottom:14px}
#homePage .mo-segment button{border:0;border-radius:20px;background:transparent;padding:7px 3px;flex:1;font-size:12px;color:var(--mo-muted)}
#homePage .mo-segment button[aria-selected="true"]{background:var(--mo-pane);color:var(--mo-ink);box-shadow:0 1px 6px #00000008}
#homePage .mo-calendar-panel{background:var(--mo-pane);border:1px solid var(--mo-line);border-radius:14px;padding:10px 9px 13px}
#homePage .mo-month-head{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
#homePage .mo-month-head h3{font-size:14px;font-weight:500;margin:0}
#homePage .mo-month-head button{color:var(--mo-rose)}
#homePage .mo-weekdays,#homePage .mo-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
#homePage .mo-weekdays{font-size:11px;text-align:center;color:var(--mo-muted);padding:7px 0 9px}
#homePage .mo-day{position:relative;border:0;border-radius:9px;background:transparent;min-height:41px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 0;font-size:13px}
#homePage .mo-day small{font-size:11px;color:var(--mo-muted)}
#homePage .mo-day.mo-has-entry{background:var(--mo-rose-soft)}
#homePage .mo-day.mo-has-entry:after{content:"";position:absolute;top:4px;right:5px;width:3px;height:3px;background:var(--mo-rose);border-radius:50%}
#homePage .mo-day[aria-pressed="true"]{background:var(--mo-rose);color:#fff9f7}
#homePage .mo-day[aria-pressed="true"] small{color:#fff9f7}
#homePage .mo-day[aria-pressed="true"]:after{background:#fff9f7}
#homePage .mo-empty-cell{min-height:41px}
#homePage .mo-selected-head{display:flex;justify-content:space-between;align-items:center;margin:18px 1px 12px}
#homePage .mo-selected-head h3{margin:0;font-size:13px;font-weight:500}
#homePage .mo-selected-head>span{font-size:11px;color:var(--mo-muted)}
#homePage .mo-day-section{margin-bottom:13px;background:var(--mo-pane);border:1px solid var(--mo-line);border-radius:13px;padding:0 12px 12px}
#homePage .mo-section-head{min-height:43px;display:flex;justify-content:space-between;align-items:center;gap:6px;border-bottom:1px solid var(--mo-line);margin-bottom:10px;font-size:12px}
#homePage .mo-section-head>span{display:flex;align-items:center;gap:7px}
#homePage .mo-section-head svg{width:14px;height:14px;stroke-width:1.3;color:var(--mo-rose)}
#homePage .mo-text-button{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--mo-rose);font-size:11px;padding:7px 0}
#homePage .mo-event-row{display:flex;gap:10px;align-items:center;padding:5px 0}
#homePage .mo-event-time{font-size:12px;color:var(--mo-rose);min-width:41px}
#homePage .mo-event-copy{flex:1;min-width:0;font-size:13px;overflow-wrap:anywhere}
#homePage .mo-event-copy small{display:block;font-size:11px;color:var(--mo-muted);margin-top:3px}
#homePage .mo-empty-text{font-size:12px;color:var(--mo-muted);margin:4px 0}
#homePage .mo-diary-entry{padding:1px 0 8px}
#homePage .mo-diary-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;margin-bottom:8px}
#homePage .mo-diary-head small{font-size:11px;color:var(--mo-muted)}
#homePage .mo-diary-entry p{font-family:"Songti SC","Noto Serif CJK SC",Georgia,"MO Noto Sans SC",serif;font-size:13px;line-height:1.9;margin:0;color:var(--mo-muted);white-space:pre-wrap;overflow-wrap:anywhere}
#homePage .mo-entry-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:7px}
#homePage .mo-month-group{margin-bottom:16px}
#homePage .mo-month-group h3{font-family:Georgia,"Songti SC","MO Noto Sans SC",serif;font-size:14px;font-weight:400;margin:17px 0 10px}
#homePage .mo-month-entry{display:flex;justify-content:space-between;align-items:center;width:100%;gap:12px;border:1px solid var(--mo-line);background:var(--mo-pane);border-radius:12px;padding:13px;text-align:left;margin-bottom:7px;font-size:12px}
#homePage .mo-month-entry small{display:block;color:var(--mo-muted);font-size:11px;margin-top:5px}
#homePage .mo-month-entry svg{width:15px;height:15px;color:var(--mo-muted);flex-shrink:0}
#homePage .mo-primary-button{display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:var(--mo-ink);color:var(--mo-bg);border-radius:25px;padding:12px 17px;font-size:12px;min-height:43px}
#homePage .mo-primary-button svg{width:14px;height:14px}
#homePage .mo-sheet{position:relative;width:100%;background:var(--mo-sheet);border-radius:30px 30px 0 0;padding:8px 23px 28px;box-shadow:0 -8px 30px #0000000d;max-height:calc(100% - 12px);overflow:auto}
#homePage .mo-drag-handle{width:29px;height:4px;border-radius:4px;background:var(--mo-line);margin:0 auto 16px}
#homePage .mo-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px}
#homePage .mo-sheet-head h2{font-size:17px;font-weight:500;margin:0;letter-spacing:-.5px}
#homePage .mo-close{padding:8px 12px;border-radius:25px;border:1px solid var(--mo-line);background:var(--mo-pane);color:var(--mo-rose);font-size:12px}
#homePage .mo-process-sub{display:flex;justify-content:space-between;font-size:11px;color:var(--mo-muted);margin-bottom:24px}
#homePage .mo-timeline{padding:0;list-style:none;margin:0}
#homePage .mo-step{position:relative;padding:0 0 24px 29px}
#homePage .mo-step:before{content:"";position:absolute;left:7px;top:21px;bottom:2px;border-left:1px solid var(--mo-line)}
#homePage .mo-step:last-child:before{display:none}
#homePage .mo-step-icon{position:absolute;left:0;top:1px;color:var(--mo-rose);width:15px;height:17px;background:var(--mo-sheet);display:grid;place-items:center}
#homePage .mo-step-icon svg{width:14px;height:14px;stroke-width:1.3}
#homePage .mo-step-head{display:flex;justify-content:space-between;gap:9px;font-size:12px;align-items:center}
#homePage .mo-step-head time{font-size:11px;color:var(--mo-muted)}
#homePage .mo-step p{font-size:12px;line-height:1.8;color:var(--mo-muted);margin:7px 0 0}
#homePage .mo-step details{margin-top:8px;font-size:11px;color:var(--mo-muted)}
#homePage .mo-step summary{color:var(--mo-rose);padding:3px 0}
#homePage .mo-step details>div{padding:9px 10px;background:var(--mo-soft);border-radius:9px;margin-top:8px;line-height:1.8;overflow-wrap:anywhere}
#homePage .mo-sheet-link{width:100%;margin-top:3px}
#homePage .mo-form{display:grid;gap:15px}
#homePage .mo-form label{display:grid;gap:8px;font-size:12px;color:var(--mo-muted)}
#homePage .mo-form input,#homePage .mo-form textarea{width:100%;border:1px solid var(--mo-line);border-radius:12px;padding:12px;background:var(--mo-pane);color:var(--mo-ink);font:inherit;font-size:16px;min-width:0}
#homePage .mo-form textarea{resize:vertical;min-height:188px;line-height:1.8}
#homePage .mo-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#homePage .mo-form-error{color:var(--mo-rose);font-size:12px;margin:0}
#homePage .mo-form-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--mo-muted)}
#homePage .mo-toast{position:absolute;z-index:8;bottom:109px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;padding:10px 17px;border-radius:22px;background:var(--mo-ink);color:var(--mo-bg);box-shadow:0 6px 20px #00000018;font-size:12px}
/* Retain the existing chat composer. */
#thoughtOverlay{background:#00000030;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
#thoughtSheet{width:min(680px,100%);max-height:calc(100dvh - 74px);padding:8px 23px calc(28px + env(safe-area-inset-bottom));background:var(--mo-sheet);color:var(--mo-ink);border-radius:30px 30px 0 0;box-shadow:0 -8px 30px #0000000d}
#thoughtSheet .thought-sheet-handle{flex:none;width:29px;height:4px;border-radius:4px;background:var(--mo-line);opacity:1;margin:0 auto 16px}
#thoughtSheet .thought-sheet-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 20px;padding:0;border:0}
#thoughtSheet .thought-sheet-head strong{order:1;font-size:17px;font-weight:500;letter-spacing:-.5px}
#thoughtSheet .thought-sheet-head>span{display:none}
#thoughtSheet #thoughtClose{order:2;padding:8px 12px;border-radius:25px;border:1px solid var(--mo-line);background:var(--mo-pane);color:var(--mo-rose);font-size:12px;min-height:36px}
#thoughtSheet #thoughtBody{padding:0;white-space:normal;min-height:0;font-size:12px;line-height:1.8;color:var(--mo-ink)}
#thoughtSheet .thought-process-sub{display:flex;justify-content:space-between;font-size:11px;color:var(--mo-muted);margin-bottom:24px}
#thoughtSheet .thought-empty{color:var(--mo-muted);font-size:12px}
#thoughtSheet .thought-timeline{padding:0;list-style:none;margin:0}
#thoughtSheet .thought-step{position:relative;padding:0 0 24px 29px;min-height:38px}
#thoughtSheet .thought-step::before{content:'';position:absolute;left:7px;top:21px;bottom:2px;border-left:1px solid var(--mo-line)}
#thoughtSheet .thought-step:last-child::before{display:none}
#thoughtSheet .thought-step-icon{position:absolute;left:0;top:1px;color:var(--mo-rose);width:15px;height:17px;background:var(--mo-sheet);display:grid;place-items:center}
#thoughtSheet .thought-step-icon svg{width:14px;height:14px;stroke-width:1.3}
#thoughtSheet .thought-step-head{display:flex;justify-content:space-between;gap:9px;font-size:12px;align-items:center;line-height:1.5}
#thoughtSheet .thought-step-head strong,#thoughtSheet strong.thought-step-head{font-weight:400}
#thoughtSheet .thought-step-head time{font-size:11px;color:var(--mo-muted)}
#thoughtSheet .thought-step-copy{font-size:12px;line-height:1.8;color:var(--mo-muted);margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
#thoughtSheet .thought-step details{margin-top:8px;font-size:11px;color:var(--mo-muted)}
#thoughtSheet .thought-step summary{color:var(--mo-rose);padding:3px 0;cursor:pointer}
#thoughtSheet .thought-step pre{padding:9px 10px;background:var(--mo-soft);border-radius:9px;margin:8px 0 0;line-height:1.8;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}
#thoughtSheet .thought-calendar-link{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;border:0;background:var(--mo-ink);color:var(--mo-bg);border-radius:25px;padding:12px 17px;font-size:12px;min-height:43px;margin-top:3px}
#thoughtSheet .thought-calendar-link svg{width:14px;height:14px}
#homePage #homeDaysNum{font-weight:400}
#homePage .mo-feature-foot>span{max-width:52%;white-space:normal;overflow-wrap:anywhere;text-align:right;line-height:1.6}
#homePage #scheduleMonthLabel{border:0;background:none;font-size:14px;font-weight:500;color:var(--mo-ink);padding:0;min-height:36px}
#homePage .schedule-month-picker{position:absolute;left:0;width:1px!important;height:1px;padding:0;border:0;opacity:0;pointer-events:none}
#homePage .calendar-sync-notice{display:flex;justify-content:space-between;align-items:center;gap:8px}
#homePage .calendar-sync-status{display:none;margin:0 0 12px;font-size:11px;color:var(--mo-rose)}
#homePage .calendar-sync-status.is-error{display:block}
#homePage .calendar-month-navigation{margin:0 0 10px}
#homePage .calendar-month-navigation strong{font-size:14px;font-weight:500}
#homePage .mo-diary-head .calendar-diary-title{overflow-wrap:anywhere}
#homePage .mo-event-copy .schedule-event-title{font-size:13px;font-weight:400;white-space:normal}
#homePage .mo-sheet{position:fixed;inset:auto 0 0;width:min(680px,100%);max-width:100%;max-height:calc(100dvh - 74px);margin:0 auto;padding:8px 23px calc(28px + env(safe-area-inset-bottom));border:0;border-radius:30px 30px 0 0;background:var(--mo-sheet);color:var(--mo-ink);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:0 -8px 30px #0000000d;overflow:auto}
#homePage .mo-sheet::backdrop{background:#00000030;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
#homePage .mo-form{padding:0;gap:15px}
#homePage .mo-sheet-head{margin:0 0 5px}
#homePage .mo-sheet-head h2{margin:0;font-size:17px;font-weight:500;letter-spacing:-.5px}
#homePage .mo-form label{margin:0}
#homePage .mo-form label input,#homePage .mo-form label select,#homePage .mo-form label textarea{font-size:16px;padding:12px;background:var(--mo-pane);border:1px solid var(--mo-line);border-radius:12px;color:var(--mo-ink)}
#homePage .mo-form select{width:100%;min-height:44px}
#homePage .mo-form .mo-form-error:empty{display:none}
#homePage .mo-form .mo-primary-button{color:var(--mo-bg)}
#homePage #diaryContent{min-height:188px;height:188px}
#homePage .calendar-event-extras{font-size:11px;color:var(--mo-muted)}
#homePage .calendar-event-extras summary{cursor:pointer;min-height:24px}
#homePage .calendar-event-extras label{margin-top:12px}
#homePage .calendar-event-extras textarea{min-height:90px}
#homePage .schedule-delete{justify-self:start;border:0;background:transparent;color:var(--mo-rose);font-size:11px;padding:7px 0}
#homePage .mo-sheet .mo-close{min-height:36px}
.preview-nav-icon,.preview-calendar-nav{display:none}
body[data-page=homePage] #tabBar{--mo-ink:#262624;--mo-muted:#666761;--mo-line:#d9d9d4;--mo-pane:#f7f7f4;--mo-soft:#e7e7e3;display:flex;gap:0;justify-content:space-around;width:min(704px,calc(100% - 24px));height:auto;min-height:0;bottom:calc(10px + env(safe-area-inset-bottom));padding:8px;background:linear-gradient(130deg,var(--mo-pane),var(--mo-soft));border:1px solid var(--mo-line);border-radius:28px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:var(--mo-ink)}
html[data-theme=dark] body[data-page=homePage] #tabBar{--mo-ink:#f0eeea;--mo-muted:#a7a6a0;--mo-line:#494946;--mo-pane:#242423;--mo-soft:#363633}

body[data-page=homePage] #tabBar .tab{border:0;background:transparent;border-radius:22px;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;min-width:0;min-height:0;color:var(--mo-muted);font-size:11px;font-weight:400;box-shadow:none;transition:none}
body[data-page=homePage] #tabBar .tab[aria-current=page]{background:var(--mo-pane);color:var(--mo-ink);box-shadow:0 2px 8px #00000008}
body[data-page=homePage] #tabBar .tab-icon{display:none}
body[data-page=homePage] #tabBar .preview-nav-icon{display:block}
body[data-page=homePage] #tabBar svg{width:19px;height:19px;stroke-width:1.5}
@media(max-width:360px){#homePage{padding-inline:15px;padding-top:calc(14px + env(safe-area-inset-top))}#homePage .mo-feature{padding:15px}#homePage .mo-feature-title{font-size:24px}#homePage .mo-feature-foot{flex-wrap:wrap}#homePage .mo-days{gap:2px}#homePage .mo-sheet{padding-left:18px;padding-right:18px}#homePage .mo-form-row{grid-template-columns:1fr}}
@media(pointer:coarse){#homePage .mo-theme,#homePage .mo-icon-button{width:44px;height:44px}#homePage .mo-text-button{min-height:44px}#homePage .mo-segment button{min-height:40px}#homePage .mo-day,#homePage .mo-empty-cell{min-height:44px}}
@media(prefers-reduced-motion:reduce){#homePage .mo-feature{transition:none}}

html body[data-page=chat] #composer{min-height:60px;padding:7px 8px;border-radius:32px;background:rgba(250,249,248,.74);border:1px solid rgba(255,255,255,.72);box-shadow:0 6px 22px rgba(35,31,29,.08);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
html[data-theme=dark] body[data-page=chat] #composer{background:rgba(37,36,35,.78);border-color:rgba(255,255,255,.16)}
html body[data-page=chat] #composer #addButton,html body[data-page=chat] #composer #voiceButton{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:transparent;box-shadow:none;color:var(--text)}
html body[data-page=chat] #composer .record-button,html body[data-page=chat] #composer .send-button{width:44px;height:44px;flex:0 0 44px;border-radius:50%;background:var(--text);color:var(--page);box-shadow:none}
html body[data-page=chat] #composer .composer-tools{gap:4px;margin:0}
html body[data-page=chat] #composer textarea{min-height:44px;padding:10px 3px;line-height:24px;color:var(--text)}
html body[data-page=chat] #composer textarea::placeholder{color:var(--meta)}
