:root{color:#1f2925;font-synthesis:none;text-rendering:optimizelegibility;--cream:#f5f3ed;--surface:#fffefa;--ink:#1f2925;--muted:#5f6b65;--border:#e2e3dc;--line:#e2e3dc;--card:#fffefa;--teal:#2f8278;--teal-soft:#dcece6;--indigo:#5c67b8;--amber:#bd8a44;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--shadow-sm:0 5px 18px #2e3c3406;--shadow:0 18px 48px #2e3c3414;background:#f5f3ed;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:var(--cream);min-width:320px}body{background:var(--cream);min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}*,:before,:after{overflow-wrap:anywhere}button,input,textarea,select{font:inherit}button{cursor:pointer;min-height:44px}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb, var(--teal) 45%, white);outline-offset:2px}.app-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.app-layout{grid-template-columns:220px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{border-right:1px solid var(--line);background:#f0eee7;flex-direction:column;padding:34px 22px;display:flex}.brand-mark{align-items:center;gap:10px;margin:4px 4px 58px;display:flex}.brand-mark>span{background:var(--ink);color:#f6f4ed;letter-spacing:.08em;border-radius:11px;place-items:center;width:35px;height:35px;font-size:11px;font-weight:700;display:grid}.brand-mark strong,.brand-mark small{display:block}.brand-mark strong{letter-spacing:-.02em;font-size:14px}.brand-mark small{color:var(--muted);letter-spacing:.14em;margin-top:2px;font-size:8px}.app-nav{gap:7px;display:grid}.app-nav__item{color:#53625a;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;min-height:44px;padding:0 12px;transition:background .2s,color .2s;display:flex}.app-nav__item:hover,.app-nav__item.is-active{color:var(--ink);background:#e3e5dd}.app-nav__item.is-active{font-weight:650}.app-nav__dot{background:#a9b2aa;border-radius:50%;width:7px;height:7px}.app-sidebar__quote{color:#5f6b65;margin:auto 4px 6px;font-size:12px;line-height:1.75}.app-main{width:100%;min-width:0;max-width:1280px;padding:52px clamp(24px,5vw,80px) 80px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:46px;display:flex}.page-eyebrow,.task-card__eyebrow{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px;font-size:10px;font-weight:700}.page-header h1{color:#17211c;letter-spacing:-.055em;max-width:650px;margin:0;font-size:clamp(1.8rem,3.1vw,3.2rem);font-weight:530;line-height:1.1}.page-header__date{color:var(--muted);white-space:nowrap;align-items:center;gap:10px;font-size:12px;display:flex}.page-header__dot{background:#b3bcb4;border-radius:50%;width:4px;height:4px}.metric-summary{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--line);box-shadow:var(--shadow);grid-template-columns:1.4fr 1fr 1fr;gap:1px;margin-bottom:50px;display:grid;overflow:hidden}.metric-summary>div{background:#fffefae6;min-height:142px;padding:25px 28px}.metric-summary__label{color:var(--muted);letter-spacing:.06em;margin-bottom:16px;font-size:11px;display:block}.metric-summary strong{color:var(--ink);letter-spacing:-.045em;font-size:clamp(1.4rem,2.7vw,2.2rem);font-weight:500;display:block}.metric-summary__date,.metric-summary__hint{color:#66736c;margin-top:6px;font-size:11px;display:block}.metric-summary__bar{background:#e7e9e3;border-radius:999px;height:4px;margin-top:15px;overflow:hidden}.metric-summary__bar span{border-radius:inherit;background:var(--teal);height:100%;transition:width .3s;display:block}.reading-book-panel{border-radius:var(--radius-md);background:#f2f8f4;border:1px solid #d9e5de;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 24px;margin-bottom:28px;padding:20px 22px;display:grid}.reading-book-panel__content h2{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:1.25rem;font-weight:600}.reading-book-panel__author,.reading-book-panel__hint{color:var(--muted);margin:5px 0 0;font-size:11px}.reading-book-panel__hint{margin-top:9px}.reading-book-panel__action,.reading-book-panel__form-actions button{color:#2a7168;background:#fbfffc;border:1px solid #a9c9bb;border-radius:9px;min-height:40px;padding:0 14px;font-size:11px;font-weight:650}.reading-book-panel__form{grid-template-columns:repeat(2,minmax(140px,1fr));align-items:end;gap:9px;display:grid}.reading-book-panel__form label{color:var(--muted);gap:5px;font-size:10px;display:grid}.reading-book-panel__form input{min-height:38px;color:var(--ink);background:#fff;border:1px solid #cbded4;border-radius:8px;padding:8px 9px;font-size:12px}.reading-book-panel__form-actions{grid-column:1/-1;gap:7px;display:flex}.reading-book-panel__form-actions button[type=submit]{color:#f7fbf7;border-color:var(--ink);background:var(--ink)}.reading-book-panel__form-actions button:disabled{cursor:not-allowed;opacity:.45}.reading-book-panel__history{color:var(--muted);grid-column:1/-1;font-size:11px}.reading-book-panel__history summary{cursor:pointer}.reading-book-panel__history ul{gap:5px;margin:10px 0 0;padding-left:17px;display:grid}.reading-book-panel__history li{gap:8px;display:flex}.reading-book-panel__history small{color:var(--muted)}.sleep-reflection-card{border-radius:var(--radius-md);background:#fffaf1;border:1px solid #e4ddd2;margin-bottom:18px;padding:22px}.sleep-reflection-card__header{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.sleep-reflection-card__header h2{color:var(--ink);letter-spacing:-.035em;margin:0;font-size:1.2rem;font-weight:600}.sleep-reflection-card__header p:last-child{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.6}.sleep-reflection-card__badge{color:#805c24;background:#f8ecd6;border-radius:999px;flex:none;padding:6px 9px;font-size:10px}.sleep-reflection-card__choices{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.sleep-reflection-card__choices label{min-height:40px;color:var(--ink);cursor:pointer;background:#fffdf8;border:1px solid #e5d8c2;border-radius:9px;align-items:center;gap:8px;padding:0 12px;font-size:12px;display:flex}.sleep-reflection-card__choices input{accent-color:var(--amber)}.sleep-reflection-card__details{border-top:1px dashed #e5d8c2;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;padding-top:14px;display:grid}.sleep-reflection-card__details label{color:var(--muted);gap:6px;font-size:11px;display:grid}.sleep-reflection-card__details input,.sleep-reflection-card__details select,.sleep-reflection-card__details textarea{width:100%;min-height:38px;color:var(--ink);background:#fff;border:1px solid #e1d6c3;border-radius:8px;padding:8px 9px;font-size:12px}.sleep-reflection-card__other{grid-column:1/-1}.sleep-reflection-card__save{color:#fffaf1;background:#9e7337;border:1px solid #b88743;border-radius:9px;min-height:40px;margin-top:16px;padding:0 15px;font-size:11px;font-weight:650}.sleep-reflection-card__save:disabled{cursor:not-allowed;opacity:.45}.sleep-reflection-card__save-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.sleep-reflection-card__save-row .sleep-reflection-card__save{margin-top:0}.sleep-reflection-card__saved{color:#2a7168;font-size:11px}.sleep-reflection-card__failed{color:#a33f36;font-size:11px}.today-intro{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.today-intro h2{letter-spacing:-.045em;margin:0;font-size:clamp(1.35rem,2vw,1.8rem);font-weight:500}.today-intro h2 em{color:var(--teal);font-style:normal}.today-intro__hint{color:#5f6b65;text-align:right;font-size:11px;line-height:1.7}.task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.task-card{border:1px solid var(--line);background:var(--card);border-radius:17px;min-width:0;padding:22px;transition:border-color .2s,box-shadow .2s;box-shadow:0 5px 18px #2e3c3406}.task-card:hover{border-color:#c7d9d2;box-shadow:0 9px 26px #2e3c340f}.task-card__header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.task-card__eyebrow{margin-bottom:7px;font-size:9px}.task-card h3{letter-spacing:-.025em;margin:0;font-size:1.12rem;font-weight:600}.task-card__status{color:#53625a;background:#f0f1ec;border-radius:999px;flex:none;padding:5px 9px;font-size:10px}.task-card__description{color:#5f6b65;min-height:39px;margin:14px 0 18px;font-size:12px;line-height:1.7}.task-card__primary{width:100%;min-height:44px;color:var(--ink);background:#fafaf6;border:1px solid #d4d9d2;border-radius:10px;font-size:12px;transition:background .2s,border-color .2s}.task-card__primary:hover,.task-card__primary:focus-visible{border-color:var(--teal);background:var(--teal-soft)}.task-card__details{border-top:1px dashed #dce2dc;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;padding-top:14px;display:grid}.task-card__details label{color:#5f6b65;gap:6px;font-size:11px;display:grid}.task-card__details input,.task-card__details select,.task-card__details textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #dfe3dd;border-radius:7px;padding:8px 9px;font-size:12px}.task-card__environment-item{background:#fafbf8;border:1px solid #e5e9e3;border-radius:9px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;display:flex}.task-card__environment-label{color:var(--ink);gap:3px;font-size:12px;font-weight:600;display:grid}.task-card__environment-label small{color:var(--muted);font-size:10px;font-weight:400}.task-card__choice-group{align-items:center;gap:12px;display:flex}.task-card__choice{cursor:pointer;align-items:center;color:var(--muted)!important;grid-template-columns:none!important;gap:5px!important;font-size:11px!important;display:flex!important}.task-card__choice input{height:16px;accent-color:var(--teal);margin:0;width:16px!important;padding:0!important}.task-card__choice span{color:inherit;font-size:inherit;margin:0!important}.task-card__details input:focus,.task-card__details select:focus,.task-card__details textarea:focus{outline-offset:1px;outline:2px solid #abd0c4}.task-card__details span{color:#66736c;text-align:right;pointer-events:none;margin-top:-27px;margin-right:9px;font-size:10px}.task-card__notes{grid-column:1/-1}.task-card__phase-hint{color:#41685c;background:#edf6f1;border-radius:8px;grid-column:1/-1;margin:0;padding:10px 12px;font-size:11px;line-height:1.6}.save-banner{color:#805c24;background:#fff8e9;border:1px solid #e7c98f;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;margin:-24px 0 24px;padding:11px 15px;font-size:12px;display:flex}.save-banner button{width:auto;min-height:44px;color:inherit;background:#fffdf5;border:1px solid #d7b875;border-radius:7px;padding:0 13px;font-size:11px;font-weight:650}.save-banner button[aria-label=关闭提示]{background:0 0;border:0;width:44px;padding:0;font-size:20px;font-weight:400}.placeholder-view{max-width:650px;padding:8vh 0}.placeholder-view h2{letter-spacing:-.065em;margin:0 0 18px;font-size:clamp(2rem,4vw,3.6rem);font-weight:500;line-height:1.05}.placeholder-view p:last-child{max-width:500px;color:var(--muted);line-height:1.8}.reflection-view{max-width:760px}.reflection-form{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow);padding:30px}.reflection-form__intro h2,.growth-intro h2{letter-spacing:-.055em;margin:0 0 12px;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:500}.reflection-form__intro p:last-child,.growth-intro p:last-child{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.reflection-form__fields{gap:20px;margin-top:28px;display:grid}.reflection-form__field{color:var(--ink);gap:8px;font-size:13px;font-weight:600;display:grid}.reflection-form__field span{align-items:center;gap:10px;display:flex}.reflection-form__field i{color:var(--teal);letter-spacing:.1em;font-size:10px;font-style:normal}.reflection-form__field textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:70px;color:var(--ink);background:#fff;border-radius:10px;padding:12px;line-height:1.7}.reflection-form__field textarea:focus{outline-offset:1px;outline:2px solid #abd0c4}.reflection-form__submit{color:#f7fbf7;background:var(--ink);border:0;border-radius:10px;min-height:44px;margin-top:22px;padding:0 20px;font-size:12px}.reflection-form__submit-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:22px;display:flex}.reflection-form__submit-row .reflection-form__submit{margin-top:0}.reflection-form__saved{color:#2a7168;font-size:11px}.reflection-form__failed{color:#a33f36;font-size:11px}.growth-view{max-width:1080px}.growth-intro{margin-bottom:28px}.growth-intro p:last-child{max-width:560px}.growth-grid{grid-template-columns:1.35fr 1fr;gap:16px;display:grid}.chart-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);min-width:0;padding:22px;box-shadow:0 8px 26px #2e3c340a}.chart-card__header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;display:flex}.chart-card__header h3{letter-spacing:-.03em;margin:0;font-size:1.15rem;font-weight:600}.chart-card__metric{color:var(--teal);white-space:nowrap;font-size:12px}.progress-chart{grid-column:1/-1}.progress-chart__svg{width:100%;height:180px;color:var(--teal);overflow:visible}.chart-summary{color:var(--muted);margin:14px 0 0;font-size:12px;line-height:1.7}.radar-chart__svg{width:min(100%,280px);color:var(--teal);margin:-5px auto 4px;display:block;overflow:visible}.radar-chart__svg text{fill:var(--muted);font-size:9px;font-weight:600}.radar-chart__formula{color:var(--muted);text-align:center;margin:0 0 8px;font-size:10px}.radar-chart__table{border-collapse:collapse;width:100%;font-size:12px}.radar-chart__table tr{border-top:1px solid #edf0eb}.radar-chart__table th,.radar-chart__table td{text-align:left;padding:8px 0;font-weight:400}.radar-chart__table td{color:var(--teal);text-align:right;font-variant-numeric:tabular-nums}.day-heatmap__grid{grid-template-columns:repeat(10,1fr);gap:7px;display:grid}.day-heatmap__cell{aspect-ratio:1;color:#5f6b65;background:#eef0eb;border-radius:7px;place-items:center;font-size:10px;display:grid}.day-heatmap__cell[data-level="3"]{color:#f3faf6;background:var(--teal)}.growth-log{grid-column:1/-1}.growth-log__select{color:var(--muted);gap:5px;font-size:10px;display:grid}.growth-log__select select{border:1px solid var(--line);min-width:170px;color:var(--ink);background:#fff;border-radius:8px;padding:8px 10px;font-size:12px}.growth-log__summary{border-bottom:1px solid #edf0eb;align-items:baseline;gap:10px;margin:0 0 18px;padding-bottom:14px;display:flex}.growth-log__summary strong{color:var(--teal);letter-spacing:-.04em;font-size:24px;font-weight:600}.growth-log__summary span{color:var(--muted);font-size:11px}.growth-log__sections{grid-template-columns:1.2fr .8fr;gap:16px;display:grid}.growth-log__section{background:#f6f6f1;border-radius:11px;padding:16px}.growth-log__section h4{color:var(--ink);margin:0 0 12px;font-size:13px}.growth-log__task-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.growth-log__task{background:#fff;border:1px solid #e8ebe5;border-radius:9px;padding:11px 12px}.growth-log__task-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.growth-log__task-head strong{color:var(--ink);font-size:12px}.growth-log__task p,.growth-log__section>p{color:var(--muted);white-space:pre-wrap;margin:6px 0 0;font-size:11px;line-height:1.55}.growth-log__status{color:var(--muted);background:#f1f2ed;border-radius:999px;padding:4px 7px;font-size:9px}.growth-log__highlight{font-weight:600;color:var(--ink)!important}.growth-log dl{grid-template-columns:repeat(3,1fr);gap:14px;margin:0;display:grid}.growth-log dl div{background:#f6f6f1;border-radius:10px;padding:14px}.growth-log dt{color:var(--muted);font-size:11px}.growth-log dd{white-space:pre-wrap;margin:8px 0 0;font-size:13px;line-height:1.65}.empty-state{color:var(--muted);background:#f6f6f1;border-radius:10px;margin:0;padding:22px;font-size:13px;line-height:1.7}.app-sidebar__signout{color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;margin-top:auto;padding:8px 0;font-size:10px}.auth-page{background:radial-gradient(circle at 70% 10%, #eff6f0 0, transparent 38%), var(--paper);place-items:center;min-height:100vh;padding:28px;display:grid}.auth-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);width:min(100%,440px);box-shadow:var(--shadow);padding:34px}.auth-card h1{color:var(--ink);letter-spacing:-.06em;margin:0 0 14px;font-size:clamp(2rem,5vw,3rem);font-weight:500;line-height:1.08}.auth-card__intro{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.auth-card form{gap:8px;margin-top:26px;display:grid}.auth-card label{color:var(--ink);font-size:12px;font-weight:600}.auth-card input{border:1px solid var(--line);min-height:46px;color:var(--ink);background:#fff;border-radius:10px;padding:0 12px;font-size:14px}.auth-card input:focus{outline-offset:1px;outline:2px solid #abd0c4}.auth-card button{color:#f7fbf7;background:var(--ink);cursor:pointer;border:0;border-radius:10px;min-height:46px;margin-top:8px;font-size:12px;font-weight:650}.auth-card button:disabled{cursor:wait;opacity:.55}.auth-mode-switch{background:#eef3ee;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;margin-top:24px;padding:4px;display:grid}.auth-mode-switch button{min-height:36px;color:var(--muted);background:0 0;margin:0;font-size:12px;font-weight:600}.auth-mode-switch button.is-active{color:var(--ink);background:#fff;box-shadow:0 2px 8px #1b2d2514}.auth-card__secondary-button{color:var(--ink)!important;border:1px solid var(--line)!important;background:0 0!important}.auth-card__password-hint{color:var(--muted);margin:4px 0 0;font-size:11px;line-height:1.5}.auth-card__notice,.auth-card__error{margin:16px 0 0;font-size:12px;line-height:1.6}.auth-card__notice{color:#2a7168}.auth-card__error{color:#a33f36}@media (width<=760px){.app-layout{display:block}.app-sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:20px;padding:15px 18px}.brand-mark{margin:0 auto 0 0}.app-nav{flex:auto;justify-content:flex-end;gap:3px;min-width:0;display:flex}.app-nav__item{min-height:44px;padding:0 10px;font-size:12px}.app-nav__dot,.app-sidebar__quote{display:none}.app-sidebar__signout{margin:0}.app-main{padding:34px 18px 55px}.page-header{flex-direction:column;align-items:flex-start;margin-bottom:34px}.page-header__date{align-self:flex-start}.metric-summary{grid-template-columns:1fr 1fr}.metric-summary>div{min-height:120px;padding:18px}.metric-summary__day{grid-column:1/-1}.reading-book-panel{grid-template-columns:1fr}.reading-book-panel__action{justify-self:start}.reading-book-panel__form{grid-template-columns:1fr}.sleep-reflection-card__header{flex-direction:column}.sleep-reflection-card__details{grid-template-columns:1fr}.sleep-reflection-card__other{grid-column:auto}.today-intro{flex-direction:column;align-items:flex-start}.today-intro__hint{text-align:left}.task-grid,.growth-grid{grid-template-columns:1fr}.progress-chart,.growth-log{grid-column:auto}.growth-log dl,.growth-log__sections,.growth-log__task-list{grid-template-columns:1fr}}.app-layout:before{background:radial-gradient(circle at 35% 35%,#ddaa7057,#ddaa7000 68%)}.app-layout:after{background:radial-gradient(circle at 65% 35%,#b8845342,#b8845300 70%)}.metric-summary__live{color:#8d5b35;background:#fff2e0db;border:1px solid #a975483d;border-radius:999px;align-items:center;gap:7px;width:fit-content;margin-top:12px;padding:6px 9px 6px 7px;font-size:10px;font-weight:650;display:inline-flex;box-shadow:0 6px 16px #85542b1a}.metric-summary__live i{background:#b97842;border-radius:50%;width:8px;height:8px;animation:1.8s ease-out infinite liveDot;display:block;box-shadow:0 0 #b9784275}.task-card__celebration{min-height:40px;padding-right:14px;font-size:11px;box-shadow:0 12px 26px #84512738,0 0 0 4px #d6a0631a}.task-card__celebration b{width:24px;height:24px;font-size:15px}@keyframes liveDot{0%{box-shadow:0 0 #b978427a}70%{box-shadow:0 0 0 8px #b9784200}to{box-shadow:0 0 #b9784200}}@media (prefers-reduced-motion:reduce){.metric-summary__live i{animation:none}}.app-layout{isolation:isolate;position:relative}.app-layout:before,.app-layout:after{z-index:0;content:"";pointer-events:none;filter:blur(2px);border-radius:50%;width:38vw;height:38vw;display:block;position:fixed}.app-layout:before{background:radial-gradient(circle at 35% 35%,#ddaa704d,#ddaa7000 68%);animation:12s ease-in-out infinite ambientDrift;top:8vh;right:-12vw}.app-layout:after{background:radial-gradient(circle at 65% 35%,#b884533d,#b8845300 70%);animation:10s ease-in-out infinite reverse ambientBreathe;bottom:-18vh;left:-12vw}.app-sidebar,.app-main{z-index:1;position:relative}.app-nav__item.is-active .app-nav__dot{animation:3.2s ease-in-out infinite livePulse}.task-card__celebration{color:#774b2b;letter-spacing:.01em;background:#fff1daf5;border:1px solid #ba824c52;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:7px 11px 7px 8px;font-size:10px;font-weight:650;animation:.9s cubic-bezier(.2,.8,.25,1) both liveReward;display:flex;top:16px;right:16px;box-shadow:0 10px 20px #84512729}.task-card__celebration b{color:#fff7ec;background:#b87942;border-radius:50%;place-items:center;width:20px;height:20px;font-size:13px;line-height:1;animation:.9s cubic-bezier(.2,.8,.25,1) both liveStar;display:grid}@keyframes ambientDrift{0%,to{opacity:.72;transform:translate(0,0)scale(1)}50%{opacity:1;transform:translate(-24px,20px)scale(1.08)}}@keyframes ambientBreathe{0%,to{opacity:.55;transform:scale(.94)}50%{opacity:.9;transform:scale(1.08)}}@keyframes livePulse{0%,to{box-shadow:0 0 0 4px #f2ddc8,0 0 #a5683d1f}50%{box-shadow:0 0 0 4px #f2ddc8,0 0 0 7px #a5683d00}}@keyframes liveReward{0%{opacity:0;transform:translateY(-8px)scale(.86)}46%{opacity:1;transform:translateY(0)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes liveStar{0%{transform:scale(.4)rotate(-20deg)}55%{transform:scale(1.15)rotate(8deg)}to{transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.app-layout:before,.app-layout:after,.app-nav__item.is-active .app-nav__dot,.task-card__celebration,.task-card__celebration b{animation:none}}@media (width<=760px){.app-layout:before,.app-layout:after{opacity:.52;width:72vw;height:72vw}.task-card__celebration{max-width:calc(100% - 24px);right:12px}}@media (width<=430px){.app-sidebar{gap:8px;padding-inline:12px}.brand-mark strong{font-size:13px}.brand-mark small{display:none}.app-nav__item{flex:1 1 0;justify-content:center;padding:0 8px}.metric-summary{grid-template-columns:1fr}.metric-summary>div{min-height:auto}.metric-summary__day{grid-column:auto}}:root{--cream:#ebe5da;--surface:#f6f0e7;--ink:#2d271f;--muted:#766c61;--border:#67523d29;--line:#67523d26;--card:#fffaf2f0;--teal:#a5683d;--teal-soft:#f0dfce;--indigo:#806f5e;--amber:#b8884d;--radius-sm:10px;--radius-md:16px;--radius-lg:28px;--shadow-sm:0 8px 22px #4e3b2a0f;--shadow:0 24px 64px #4e3b2a1c}body{color:var(--ink);background:radial-gradient(circle at 82% -12%, #fffaf0eb, transparent 34%), radial-gradient(circle at 0 100%, #d2b38f29, transparent 36%), var(--cream)}.app-layout{background:0 0}.app-sidebar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f1eadfc7;border-right-color:#67523d21}.brand-mark>span{color:#f9eee1;background:#31291f;box-shadow:0 8px 18px #31291f2e}.brand-mark strong{color:#30281f;letter-spacing:-.04em}.brand-mark small{color:#9b8168}.app-nav__item{color:#867565;border:1px solid #0000;transition:color .25s,background .25s,border-color .25s,transform .25s}.app-nav__item:hover{color:var(--ink);background:#fff9efb3;transform:translate(2px)}.app-nav__item.is-active{color:#3b2d21;background:#fff9efeb;border-color:#a975482e;box-shadow:0 8px 18px #694c3114}.app-nav__item.is-active .app-nav__dot{background:var(--teal);box-shadow:0 0 0 4px #f2ddc8,0 0 0 1px #a5683d33}.app-sidebar__quote,.app-sidebar__signout{color:#8b7967}.app-main{padding-top:clamp(42px,6vw,76px)}.page-header{margin-bottom:54px;position:relative}.page-header:after{content:"";transform-origin:0;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#b7784214 18%,#b77842b8 48%,#b7784214 82%,#0000 100%);border-radius:999px;height:2px;animation:5.5s cubic-bezier(.4,0,.2,1) infinite ambientBeam;position:absolute;bottom:-22px;left:0;right:0}.page-eyebrow,.task-card__eyebrow{color:#a07b59;letter-spacing:.2em}.page-header h1{color:#2c261f;letter-spacing:-.07em;font-weight:470}.page-header__date{color:#8b7967}.page-header__dot{background:#c79a70}.metric-summary{box-shadow:var(--shadow);background:#b1875d2e;border-color:#75533429;margin-bottom:42px}.metric-summary>div{background:#fffaf2c7}.metric-summary__label{color:#927962;letter-spacing:.1em}.metric-summary strong{color:#32291f;font-weight:470}.metric-summary__date,.metric-summary__hint{color:#8c7967}.metric-summary__bar{background:#eadfd1}.metric-summary__bar span{background:linear-gradient(90deg,#a5683d,#d19b62);box-shadow:0 0 16px #b67e4a52}.metric-summary__bar--active span{animation:.8s cubic-bezier(.22,.8,.3,1) both metricFill}.sleep-reflection-card{box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fff9eff2,#f6e7d3db);border-color:#a9754833}.sleep-reflection-card__badge{color:#8b5e35;background:#f2dec6}.sleep-reflection-card__choices label{background:#fffcf6c2;border-color:#e3cbb0;transition:transform .2s,border-color .2s,box-shadow .2s}.sleep-reflection-card__choices label:hover{border-color:#b98252;transform:translateY(-1px);box-shadow:0 6px 14px #8e613a1a}.sleep-reflection-card__save{background:#985e35;border-color:#9b6035;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 18px #91562e2e}.sleep-reflection-card__save:hover{transform:translateY(-1px);box-shadow:0 12px 24px #91562e42}.reading-book-panel{box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#f8f0e4f0,#e8d8c5bf);border-color:#a975482e}.reading-book-panel__content h2{color:#382d23}.reading-book-panel__author,.reading-book-panel__hint{color:#8a7662}.reading-book-panel__action{color:#8b5f3c;background:#fffbf4e6;border-color:#c69e79;transition:background .2s,transform .2s}.reading-book-panel__action:hover{background:#fff8ee;transform:translateY(-1px)}.today-intro h2{color:#392e24}.today-intro h2 em{color:#a5683d}.today-intro__hint{color:#897664}.task-grid{gap:18px}.task-card{background:#fffaf2e6;border-color:#6e523926;border-radius:20px;transition:transform .3s cubic-bezier(.22,.8,.3,1),border-color .3s,box-shadow .3s,background .3s;position:relative;box-shadow:0 10px 28px #4f38250e}.task-card:hover{border-color:#a975485c;transform:translateY(-3px);box-shadow:0 16px 34px #4f38251a}.task-card--completed,.task-card--overachieved{background:#fff8ecf2;border-color:#a4704357}.task-card__status{color:#806b58;background:#eee4d8}.task-card--completed .task-card__status,.task-card--overachieved .task-card__status{color:#8c5c36;background:#f2ddc8}.task-card--overachieved .task-card__status{color:#8f6736;background:#f3e1bf}.task-card__description{color:#7f7062}.task-card__primary{color:#48382a;background:#fffcf6d1;border-color:#decdb9;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}.task-card__primary:hover,.task-card__primary:focus-visible{background:#f8e8d7;border-color:#b9794b;transform:translateY(-1px);box-shadow:0 8px 18px #9460351f}.task-card--completed .task-card__primary,.task-card--overachieved .task-card__primary{color:#8d5c37;background:#f8e7d4;border-color:#d9b58f}.task-card__details{border-top-color:#e7d9c9}.task-card__details input,.task-card__details select,.task-card__details textarea{background:#fffdf9e0;border-color:#e1d2c1}.task-card__environment-item{background:#fffcf6ad;border-color:#eadccc}.task-card__environment-label{color:#46372a}.task-card__environment-label small,.task-card__choice{color:#887563!important}.task-card__choice input{accent-color:#a5683d}.task-card__phase-hint{color:#815f42;background:#f4e5d4}.task-card--celebrating{animation:1.45s cubic-bezier(.22,.8,.3,1) both cardCelebrate}.task-card--celebrating:after{z-index:-1;border-radius:inherit;content:"";opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 48%,#d29b5d6b,#0000 66%);animation:1.45s ease-out both celebrationHalo;position:absolute;inset:-2px}.task-card__celebration{color:#b97842;text-shadow:0 4px 12px #af6a3047;pointer-events:none;font-size:24px;line-height:1;animation:1.45s cubic-bezier(.2,.85,.25,1) both celebrationMark;position:absolute;top:18px;right:20px}.save-banner{color:#8b6234;box-shadow:var(--shadow-sm);background:#fff5dfeb;border-color:#e4c18f;animation:.35s ease-out both saveBannerIn}.save-banner button{color:#8b6234;background:#fffcf4db;border-color:#dbb681}.growth-intro h2{color:#392e24}.growth-intro p:last-child{color:#817263}.chart-card{animation:.65s cubic-bezier(.22,.8,.3,1) both growthCardIn;animation-delay:var(--stagger,0s);background:#fffaf2e6;border-color:#6e523926;border-radius:22px;box-shadow:0 12px 32px #4f382511}.progress-chart{--stagger:20ms}.radar-chart{--stagger:.1s}.day-heatmap{--stagger:.18s}.growth-log{--stagger:.26s}.chart-card__header h3{color:#3c3025}.chart-card__metric,.progress-chart__svg,.radar-chart__svg{color:#a5683d}.progress-chart__svg polyline{stroke-dasharray:1200;stroke-dashoffset:1200px;animation:1.1s cubic-bezier(.2,.8,.25,1) .18s forwards chartDraw}.radar-chart__svg polygon:last-of-type{transform-origin:110px 110px;animation:.9s cubic-bezier(.2,.8,.25,1) .26s both radarReveal}.day-heatmap__cell{color:#8f7d6a;background:#eee5da;transition:transform .2s,box-shadow .2s}.day-heatmap__cell:hover{transform:translateY(-2px);box-shadow:0 6px 14px #855f3b29}.day-heatmap__cell[data-level="1"]{color:#916a4c;background:#f0ddca}.day-heatmap__cell[data-level="2"]{color:#85552f;background:#dbb790}.day-heatmap__cell[data-level="3"]{color:#fff7ec;background:#a5683d;box-shadow:0 5px 14px #a5683d38}.growth-log__section,.growth-log dl div{background:#f5ece1}.growth-log__task{background:#fffdf8d1;border-color:#e8d9c8}.growth-log__task-head strong,.growth-log dt,.growth-log dd{color:#46372a}.growth-log__status{color:#806b58;background:#eee4d8}.growth-log__status--completed{color:#8d5c37;background:#f2ddc8}.growth-log__status--overachieved{color:#8f6736;background:#f3e1bf}@keyframes metricFill{0%{filter:saturate(.6);transform-origin:0;transform:scaleX(.84)}to{filter:saturate();transform-origin:0;transform:scaleX(1)}}@keyframes saveBannerIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes growthCardIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes chartDraw{to{stroke-dashoffset:0}}@keyframes radarReveal{0%{opacity:.02;transform:scale(.75)}to{opacity:.18;transform:scale(1)}}@keyframes ambientBeam{0%,to{opacity:.35;transform:scaleX(.18)}18%{opacity:.75}52%{opacity:1;transform:scaleX(1)}82%{opacity:.5}}@keyframes cardCelebrate{0%{transform:translateY(-3px)scale(1)}28%{transform:translateY(-8px)scale(1.018)}58%{transform:translateY(-2px)scale(1.006)}to{transform:translateY(-1px)scale(1)}}@keyframes celebrationHalo{0%{opacity:0;transform:scale(.82)}32%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(1.18)}}@keyframes celebrationMark{0%{opacity:0;transform:scale(.45)rotate(-14deg)}32%{opacity:1;transform:scale(1.18)rotate(5deg)}58%{opacity:1;transform:scale(1)rotate(0)}to{opacity:.92;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=760px){.app-sidebar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f1eadfeb}.app-main{padding-top:32px}.page-header{margin-bottom:34px}.metric-summary{border-radius:22px;margin-bottom:34px}.task-grid{gap:14px}.task-card:hover{transform:none}.chart-card{border-radius:20px}}
