:root{--bg:#f5f3ee;--paper:#fffefa;--ink:#293d36;--muted:#7d837a;--green:#416853;--line:#e3e5da;--soft:#e8eddf;--peach:#f4e9da;--radius:22px;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #b38c55;outline-offset:4px}a{color:inherit;text-decoration:none}.demo-strip{text-align:center;background:#eae8df;color:#6d7167;font-size:11px;letter-spacing:.6px;padding:9px 12px}.app-shell{max-width:1440px;margin:auto;display:grid;grid-template-columns:218px minmax(0,1fr) 310px;min-height:calc(100vh - 34px)}.sidebar{padding:42px 30px;border-right:1px solid var(--line);position:sticky;top:0;height:calc(100vh - 34px);display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;font-size:25px;font-weight:650;letter-spacing:3px}.brand-icon{background:var(--green);color:#edf1e3;width:44px;height:44px;display:grid;place-items:center;border-radius:15px;font-size:37px;font-family:Georgia;line-height:1}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:1px;margin-top:5px;color:var(--muted)}.sidebar-copy{font-size:14px;line-height:1.9;color:var(--muted);margin:43px 0 30px}.desktop-nav{display:grid;gap:9px}.nav-link{padding:14px 12px;border-radius:12px;display:flex;align-items:center;gap:12px;font-size:14px;color:#7a8178}.nav-link svg{width:19px;height:19px}.nav-link.active{color:var(--green);background:#e8ecdf;font-weight:600}.side-foot{margin-top:auto;color:#6e7d6d;font-size:12px;line-height:2}.side-foot small{font-size:10px;color:var(--muted)}.status-dot{display:inline-block;width:6px;height:6px;background:#71966b;border-radius:50%;margin-right:5px}main{padding:42px 40px 60px;min-width:0}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted);margin:0 0 10px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}h1{font-size:32px;letter-spacing:1px;font-weight:600;margin:0 0 9px}h2{font-size:17px;font-weight:600;margin:0}h3{font-size:14px;margin:0}.sub{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.profile-btn{border:1px solid #d8dfcd;border-radius:50%;width:42px;height:42px;background:#e2e8d7;color:#58714b;font-size:16px}.hero{background:#e6ecdD;position:relative;overflow:hidden;border-radius:var(--radius);padding:28px;margin-bottom:24px;min-height:162px;display:flex;align-items:center}.hero h2{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:27px;line-height:1.5;font-weight:600;position:relative;z-index:1}.hero p{font-size:12px;color:#758269;margin:12px 0 0}.hero-art{position:absolute;right:15px;bottom:-9px;width:165px;height:150px;opacity:.85}.section-heading{display:flex;justify-content:space-between;align-items:center;margin:25px 0 14px}.text-btn{color:var(--green);border:0;background:none;padding:5px 0;font-size:12px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:23px;margin-bottom:16px}.card-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.tag{font-size:10px;color:#748267;background:#eff1e8;padding:5px 9px;border-radius:7px;white-space:nowrap}.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-label{display:block;font-size:11px;color:var(--muted);margin:0 0 8px}.time-input{font-family:ui-rounded,-apple-system,sans-serif;font-size:29px;font-weight:450;color:var(--ink);width:100%;background:#f5f6ef;border:1px solid transparent;border-radius:13px;padding:14px 12px;min-width:0}.time-input:focus{outline:0;border-color:#819679}.sleep-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:12px}.sleep-meta strong{font-weight:500;color:var(--green)}.goal-row{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #edf0e5}.goal-row:last-child{border-bottom:0;padding-bottom:0}.goal-row:first-child{padding-top:0}.goal-check{appearance:none;-webkit-appearance:none;width:23px;height:23px;flex-shrink:0;border:1.5px solid #c4ceba;border-radius:7px;background:#fff;margin:0;cursor:pointer;display:grid;place-content:center}.goal-check:checked{background:var(--green);border-color:var(--green)}.goal-check:checked:after{content:'✓';color:#fff;font-size:16px}.goal-name{flex:1;font-size:14px;line-height:1.5}.goal-row small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.moods{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.mood{border:1px solid transparent;background:#f5f5ef;border-radius:13px;padding:12px 2px 9px;color:var(--muted);font-size:11px}.mood-face{display:block;font-size:25px;font-family:Georgia;margin-bottom:8px;color:#87917b}.mood.selected{border-color:#91a383;background:#eaf0e2;color:var(--green)}.mood.selected .mood-face{color:var(--green)}textarea{resize:vertical;min-height:95px;width:100%;border:1px solid var(--line);background:#fafbf6;border-radius:12px;padding:13px;color:var(--ink);font-size:13px;line-height:1.7}input[type=text],input[type=date],select{border:1px solid var(--line);border-radius:10px;background:#fffefa;padding:10px;color:var(--ink);max-width:100%;font-size:13px}input[type=text]{width:100%}.share-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;font-size:12px;border-bottom:1px solid #edf0e5}.share-row:last-child{border:0}.share-row select{font-size:11px;padding:7px}.save-row{display:flex;align-items:center;gap:18px;margin-top:22px}.primary{background:var(--green);color:#fff;border:0;border-radius:12px;padding:14px 22px;font-size:13px;font-weight:500}.secondary{background:#eff2e8;border:1px solid #dae1d0;color:var(--green);border-radius:11px;padding:11px 17px;font-size:12px}.save-row .primary{flex:1}.save-row small{font-size:11px;color:var(--muted)}.rail{padding:48px 28px 40px 8px}.rail-head{display:flex;gap:10px;align-items:center;margin-bottom:21px;font-size:12px;color:var(--muted)}.avatar-pair{display:flex;padding-right:5px}.avatar{width:32px;height:32px;border:2px solid var(--bg);border-radius:50%;background:#dae3ce;display:grid;place-items:center;color:#677958;font-size:11px}.avatar+.avatar{margin-left:-7px;background:#ebddca;color:#997e58}.rail .card{padding:20px;border-radius:18px}.rail h3{font-size:13px}.week{display:flex;justify-content:space-between;margin:21px 0 14px}.day{display:flex;flex-direction:column;align-items:center;gap:10px;font-size:10px;color:var(--muted)}.day i{width:22px;height:22px;border-radius:50%;background:#eef0e6;font-style:normal;display:grid;place-items:center;font-size:10px;color:white}.day i.filled{background:#88a078}.day i.today{outline:1px solid #88a078;outline-offset:3px}.mini-note{font-size:11px;color:var(--muted);line-height:1.8}.task{display:flex;gap:10px;margin-top:18px;align-items:flex-start;font-size:12px;line-height:1.6}.task .goal-check{width:18px;height:18px;border-radius:5px;margin-top:1px}.task small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.rail-quote{padding:14px 10px;color:#8d927f;font-family:"Songti SC",serif;font-size:17px;line-height:1.9}.mobile-nav{display:none}.date-field{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted);margin-bottom:20px}.timeline-item{padding:22px;background:var(--paper);border:1px solid var(--line);border-radius:18px;margin-bottom:13px}.timeline-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.timeline-date{font-size:13px;font-weight:600}.timeline-item p{font-size:13px;line-height:1.8;margin:7px 0;color:#657261}.timeline-item .actions{display:flex;gap:16px;margin-top:13px}.danger{color:#9a6256}.empty{padding:35px 18px;text-align:center;line-height:1.9;color:var(--muted);font-size:13px}.partner-top{display:flex;align-items:center;gap:15px}.partner-top .avatar{width:50px;height:50px;background:#e9ddc9;border:0;font-size:18px}.metric-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.metric{border-radius:14px;background:#f2f4e9;padding:18px}.metric strong{display:block;font-size:22px;margin:8px 0;font-weight:500}.privacy-note{background:#f0eee5;padding:15px 18px;border-radius:12px;font-size:11px;line-height:1.8;color:#797e70;margin:18px 0}.tiny-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.history-filters{display:flex;gap:10px;margin:18px 0}.history-filters input{flex:1;min-width:0}.history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.history-summary div{background:#e9eddf;border-radius:14px;padding:15px;text-align:center}.history-summary strong{font-size:22px;display:block;font-weight:500}.history-summary span{font-size:10px;color:var(--muted)}#toast{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);background:#293d36;color:white;padding:12px 22px;border-radius:12px;font-size:12px;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s}#toast.show{opacity:1}dialog{border:1px solid var(--line);border-radius:23px;width:calc(100% - 34px);max-width:440px;padding:26px;color:var(--ink);background:var(--paper)}dialog::backdrop{background:#24362c55;backdrop-filter:blur(3px)}dialog h2{margin:0 0 12px}dialog p{font-size:12px;color:var(--muted);line-height:1.8}dialog .modal-actions{display:flex;gap:10px;margin-top:23px;justify-content:flex-end}.goal-editor{display:flex;gap:9px;margin:10px 0}.goal-editor input{flex:1}.goal-editor button{border:0;background:none;color:#99796b}.mode-choice{width:100%;margin:7px 0;text-align:left;padding:16px;border-radius:12px;background:#f0f3e8;border:1px solid var(--line);color:var(--ink)}.mode-choice small{display:block;margin-top:5px;color:var(--muted)}.warning{padding:14px;background:#f6ecdf;border-radius:12px;font-size:12px;line-height:1.8;color:#8a7051}.inline-error{color:#a85d46;font-size:12px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1500px){main{padding:48px 55px}.hero{min-height:185px}}@media(max-width:1180px){.app-shell{grid-template-columns:180px minmax(0,1fr) 265px}.sidebar{padding:35px 20px}main{padding:34px 26px}.rail{padding:40px 20px 30px 0}.hero-art{width:130px;right:0}.hero h2{font-size:24px}}@media(max-width:950px){.app-shell{grid-template-columns:160px minmax(0,1fr)}.rail{display:none}.sidebar{padding:32px 16px}.brand{font-size:22px}.brand-icon{width:37px;height:37px}main{max-width:700px;width:100%;margin:auto}}@media(max-width:600px){.demo-strip{font-size:9px;padding:8px 5px;letter-spacing:0}.app-shell{display:block}.sidebar{display:none}main{padding:28px 21px 110px}.page-header{margin-bottom:22px}h1{font-size:28px}.eyebrow{font-size:10px;letter-spacing:1px}.hero{padding:22px;min-height:157px;margin-bottom:22px}.hero h2{font-size:25px}.hero-art{width:140px;right:-10px;opacity:.7}.hero p{font-size:11px}.card{padding:20px;border-radius:19px}.card-title{margin-bottom:16px}.time-input{font-size:26px;padding:13px 9px}.moods{gap:6px}.mood{padding-top:10px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom));background:#fffefaF5;backdrop-filter:blur(12px);border-top:1px solid var(--line);justify-content:space-around;z-index:5}.mobile-nav .nav-link{font-size:10px;gap:5px;display:flex;flex-direction:column;padding:6px 16px;border-radius:10px}.nav-link.active{background:none;color:var(--green)}.mobile-nav .nav-link svg{width:21px;height:21px}.date-field{font-size:11px}.sub{font-size:12px}.save-row{gap:10px}.history-filters{flex-wrap:wrap}.history-filters label{width:100%}.history-summary strong{font-size:20px}.history-summary div{padding:13px 8px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.focus-strip,.week-select{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0;font-size:12px}.focus-strip strong{margin-left:10px;font-size:18px}.check-inline{display:flex;align-items:center;gap:8px;font-size:12px;margin:16px 0;color:var(--muted)}input[type=checkbox]{accent-color:var(--green)}.doctor-note{font-size:12px;line-height:1.8;background:var(--soft);padding:14px;border-radius:12px;white-space:pre-wrap}.med-summary{font-size:12px;line-height:1.7;color:#61715e}.med-summary p{padding:8px 0;border-bottom:1px solid var(--line)}.review-callout{display:flex;align-items:center;justify-content:space-between;margin:26px 0;padding:20px;background:#e8eddf;border-radius:18px;gap:14px}.plan-intro{padding:8px 0 24px}.plan-intro h2{font-size:23px;line-height:1.6;margin:14px 0 8px;font-family:'Songti SC',serif}.project-card{display:flex;gap:17px}.project-number{flex-shrink:0;background:#e6ecdc;border-radius:12px;width:35px;height:35px;display:grid;place-items:center;color:#60774f}.project-card p{font-size:13px;line-height:1.9;color:#78816f}.project-setting{font-size:12px;display:flex;gap:16px}.task-detail{padding:14px 0;border-bottom:1px solid var(--line)}.task-detail:last-child{border-bottom:0}.task-detail .tiny-head{margin-bottom:8px;gap:8px}.task-note{font-size:12px;line-height:1.8;white-space:pre-wrap}.sleep-trend{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:20px 0}.sleep-trend div{padding:12px 3px;background:#e9eddf;border-radius:10px;text-align:center;font-size:10px;color:#7d837a}.sleep-trend strong{display:block;font-size:11px;color:var(--green);margin-top:10px}.week-select strong{font-size:12px}.med-fields{border:1px solid var(--line);border-radius:12px;padding:14px;margin:18px 0}.med-fields legend{font-size:13px}.med-fields input,.med-fields select{margin-bottom:14px}.med-fields .text-btn{display:block;margin-top:12px}#plan-form>input[type=time]{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}#review-body,#review-next{margin-bottom:15px}.card>h2+.field-label{margin-top:18px}@media(max-width:600px){.week-select .secondary{padding:9px 12px}.project-card{padding:18px 16px;gap:12px}.project-card h2{padding-top:6px}.review-callout{padding:16px}.review-callout .secondary{white-space:nowrap}}
.completion-card{border-color:#b7c8aa;background:#fbfcf5}.completion-card .eyebrow{margin-bottom:7px}.completion-card .card-title{gap:10px}.completion-card .text-btn{white-space:nowrap}.completion-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.completion-footer strong{font-size:13px;color:var(--green)}.completion-footer .primary{padding:12px 15px}.completion-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.completion-pair>div{border-radius:14px;background:var(--soft);padding:16px}.completion-pair strong{display:block;font-size:24px;margin-top:14px;font-weight:500}.completion-pair h3{font-size:12px}
.accomplishments-card{background:#fffcf6;border-color:#e7ddcd}.accomplishments-card textarea{min-height:145px;background:#fffefa}.accomplishment-log{margin:16px 0;padding-top:8px}.accomplishment-log ul{margin:12px 0 0;padding-left:21px;font-size:13px;line-height:1.9;color:#657261}.accomplishment-log li{padding:3px 0;overflow-wrap:anywhere}.accomplishments-card .card-title{gap:12px}.accomplishment-log+.accomplishment-log{border-top:1px solid var(--line);padding-top:18px}
.signed-out .app-shell,.signed-out .mobile-nav,.signed-out .demo-strip{display:none}#auth-gate{width:100%;max-width:470px;margin:40px auto;padding:25px}.auth-brand{font:60px Georgia;color:var(--green);text-align:center;margin:20px}.auth-switch{display:flex;justify-content:space-between;margin-top:20px}#auth-gate h1{font-size:27px}#auth-gate label{display:block;font-size:13px;margin:20px 0 8px}#auth-gate input{width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:11px;padding:13px;min-width:0}#auth-gate form>.primary{width:100%;margin-top:12px}.demo-strip{display:flex;align-items:center;justify-content:center;gap:16px;position:sticky;top:0;z-index:8}.sync-error{background:#f5e3d6;color:#874f30}.account-actions{display:grid;gap:10px;margin:18px 0}#accept-pair{margin-top:25px}#accept-pair button{margin-top:14px}#generated-code{font-family:monospace;word-break:break-all;min-height:85px;margin-top:10px}#invite-output .text-btn{margin-right:20px}
