.today-link{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:17px;font-size:10px;color:#92917e}.today-link span:last-child{color:#9c7557}.today-link:hover span:last-child{color:var(--accent)}.section-aside{font-size:11px;color:var(--muted);padding-bottom:10px}.plans{padding-top:45px;padding-bottom:65px}.plan-book{border:1px solid #deded0;background:#fffdf6}.plan-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.plan-tabs button{display:flex;justify-content:center;align-items:center;gap:15px;background:#eeefe5;padding:19px 12px;font-size:10px;color:#93957f;border-right:1px solid var(--line);transition:background .2s,color .2s}.plan-tabs button:last-child{border-right:0}.plan-tabs button span{font-size:12px;color:#737a68}.plan-tabs button[aria-selected=true]{background:#fffdf6;color:#a16b45;box-shadow:inset 0 3px #a67450}.plan-tabs button[aria-selected=true] span{color:var(--ink)}.plan-tabs button:hover{background:#f5f3e8}.plan-panel{padding:40px;display:grid;grid-template-columns:38% 1fr;gap:55px}.plan-overline{font-size:10px;letter-spacing:2px;color:#92937f}.plan-intro h3{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.7;margin:17px 0 15px;letter-spacing:1px}.plan-intro>p{font-size:12px;color:var(--muted);line-height:2}.plan-step-count{display:flex;align-items:baseline;gap:11px;margin:24px 0 12px;color:#92947d;font-size:10px}.plan-step-count strong{font-family:var(--serif);font-size:46px;font-weight:400;color:#748063;line-height:1.2}.plan-intro .plan-hint{font-size:10px;margin-top:20px;color:#929381}.plan-step{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid #e9e7dc;cursor:pointer;position:relative}.plan-step:first-child{padding-top:0}.plan-step input{width:18px;height:18px;margin:5px 0 0;flex-shrink:0;accent-color:#738360;cursor:pointer}.plan-step span{display:block}.step-title{font-size:13px;color:#4f5a4b}.step-description{font-size:10px;color:#92927f;margin-top:3px;line-height:1.9}.plan-step:has(input:checked) .step-title{color:#8a947e;text-decoration:line-through;text-decoration-thickness:1px}.field-label{display:block;font-size:11px;color:#767f69;margin:18px 0 9px}.plan-details textarea{width:100%;font-size:12px}.save-status{display:block;font-size:10px;color:#8e937f;min-height:18px;margin-top:9px}.save-status.error{color:#a44830}textarea,input,select{font-family:var(--sans);color:var(--ink);font-size:12px}textarea{border:1px solid #dddfce;background:#fffef9;border-radius:3px;padding:13px 14px;line-height:2;resize:vertical;max-width:100%}textarea::placeholder{color:#a9a797}textarea:focus,input:focus,select:focus{outline:2px solid #9aab83;outline-offset:2px}.journal{padding-top:50px;padding-bottom:65px;border-top:1px solid var(--line)}.journal-count{font-size:11px;color:var(--muted);padding-bottom:8px}.journal-count strong{font-family:var(--serif);font-size:23px;font-weight:400;color:#727d62;margin-right:5px}.journal-layout{display:grid;grid-template-columns:38% 1fr;gap:36px;align-items:start}.note-composer{background:#eceedf;border:1px solid #e0e3cf;padding:27px}.composer-title{display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:20px;letter-spacing:1px}.composer-title>span:last-child{color:#969f7e;font-size:27px}.note-composer .field-label{margin-top:17px;font-size:10px}.note-composer textarea{width:100%;min-height:150px}.note-meta{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;margin:14px 0 22px}.note-meta label{min-width:0;font-size:10px;color:#8d947d;display:flex;flex-direction:column;gap:7px}.note-meta input,.note-meta select{width:100%;min-width:0;height:37px;border:1px solid #d7dbc6;background:#f8f9f0;padding:5px 8px;border-radius:2px;font-size:11px}.note-composer .button{border:0}.notes-collection{min-width:0}.note-filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:20px}.note-filters button{font-size:11px;padding:6px 13px;border-radius:2px;background:none;color:#929582}.note-filters button.selected{background:#dfe4d2;color:#4d5c40}.note-filters button:hover{background:#e8ebdf}.notes-empty{min-height:335px;border:1px dashed #d5d8c6;background:#f4f3e9;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;padding:40px 25px}.notes-empty img{width:36px;height:36px;opacity:.55;margin-bottom:23px}.notes-empty h3{font-family:var(--serif);font-size:23px;font-weight:400;margin:0 0 12px;color:#768066}.notes-empty p{font-size:11px;color:#989a85;margin:0;line-height:2.1}.note-entry{background:#fffdf6;border:1px solid #e4e1d3;padding:22px 24px;position:relative;margin-bottom:14px}.note-entry[data-type=家人]{background:#f6ece5}.note-entry[data-type=旅行]{background:#eef1ea}.note-entry[data-type=运动]{background:#eff1e4}.note-entry[data-type=梦想]{background:#f3eee1}.note-entry-header{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#96927d;font-size:10px}.note-tag{font-size:10px;color:#888b72;border:1px solid #b9bda866;border-radius:20px;padding:0 9px}.note-entry p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#626c57;line-height:2.1;margin:14px 0 20px}.note-entry-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:9px;letter-spacing:1px;color:#b1ad96}.delete-note{background:none;color:#a39e8b;font-size:10px;padding:5px}.delete-note:hover{color:#a65f43}.note-undo{display:flex;gap:15px;align-items:center;padding:11px 15px;background:#e6eadc;font-size:11px;color:#758363}.note-undo[hidden]{display:none}.note-undo button{font-size:11px;color:#596e41;background:none;text-decoration:underline;padding:4px}.journal-storage{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}.journal-storage p{font-size:10px;color:#949780}.journal-storage button{white-space:nowrap}.future-letter{padding-top:30px;padding-bottom:80px}.letter-paper{padding:35px 40px 40px;background:#f2ece0;border:1px solid #e5dccb;position:relative}.letter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:30px;margin-bottom:18px}.letter-heading .section-kicker{margin:0}.letter-stamp{padding:12px 14px 8px;border:1px dashed #bcab8e;display:flex;flex-direction:column;align-items:center;gap:6px;transform:rotate(8deg);color:#ad9373;font-size:7px;letter-spacing:2px}.letter-stamp img{opacity:.65}.letter-layout{display:grid;grid-template-columns:38% 1fr;gap:55px}.letter-intro h2{font-size:31px;color:#665e49}.letter-intro p{font-size:11px;color:#a1967b;line-height:2.2;margin-top:22px}.letter-signoff{font-family:var(--serif);font-size:16px;letter-spacing:2px;color:#a18f6a;display:block;margin-top:25px}.letter-layout .field-label{margin-top:0}.letter-layout textarea{width:100%;background:repeating-linear-gradient(transparent 0,transparent 31px,#d7ccb755 31px,#d7ccb755 32px);border:0;border-bottom:1px solid #cfbfa2;line-height:32px;padding:0 4px;min-height:224px}.letter-controls{display:flex;align-items:center;gap:20px;margin-top:22px}.letter-controls .save-status{margin-top:0;max-width:220px}.letter-controls .button{border:0}.life-toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);z-index:100;max-width:90vw;box-shadow:0 4px 20px #0002;background:#3c4837;color:#fff9ed;border-radius:4px;padding:12px 20px;font-size:12px}.site-header nav{gap:27px}.header-note{font-size:10px}
@media(max-width:1100px){.site-header nav{gap:23px}.plan-panel,.letter-layout{gap:30px;grid-template-columns:35% 1fr}.plan-panel{padding:28px}.plan-intro h3{font-size:25px}.journal-layout{grid-template-columns:40% 1fr;gap:22px}.note-composer{padding:22px}.note-meta{gap:8px}.letter-paper{padding:30px}.letter-intro h2{font-size:28px}}
@media(max-width:760px){.site-header{height:auto;min-height:92px;flex-wrap:wrap;justify-content:flex-start;gap:13px 20px;padding-top:15px;padding-bottom:12px}.brand{flex:1}.site-header nav{order:2;flex-basis:100%;justify-content:space-between;gap:12px;flex-wrap:wrap}.site-header nav a{font-size:10px;padding:3px 0}.site-header nav a:nth-child(2){display:none}.today-link{margin-top:18px;font-size:9px}.plans{padding-top:25px;padding-bottom:40px}.plans .section-heading{gap:10px}.section-aside{font-size:10px;padding-bottom:0}.plan-tabs{grid-template-columns:1fr 1fr}.plan-tabs button{justify-content:flex-start;padding:15px 14px;gap:10px;border-bottom:1px solid var(--line);font-size:9px}.plan-tabs button:nth-child(2){border-right:0}.plan-tabs button:nth-child(n+3){border-bottom:0}.plan-tabs button span{font-size:11px}.plan-panel{padding:23px 20px;grid-template-columns:1fr;gap:15px}.plan-intro h3{font-size:25px;margin:10px 0}.plan-intro>p{font-size:11px}.plan-step-count{margin:14px 0 0}.plan-step-count strong{font-size:35px}.plan-intro .plan-hint{font-size:9px;margin-top:10px}.plan-step:first-child{padding-top:12px;border-top:1px solid #e9e7dc}.step-title{font-size:12px}.step-description{font-size:10px}.plan-step{gap:12px}.journal{padding-top:37px;padding-bottom:40px}.journal .section-heading{gap:13px}.journal-layout{grid-template-columns:1fr;gap:25px}.note-composer{padding:23px}.note-meta{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px}.note-filters{gap:5px}.note-filters button{font-size:10px;padding:6px 12px}.notes-empty{min-height:240px;padding:25px 15px}.notes-empty h3{font-size:21px}.journal-storage{align-items:flex-start;flex-direction:column;gap:6px;margin-top:19px}.journal-storage p{font-size:9px;margin:0}.journal-storage button{align-self:flex-end;font-size:11px}.note-entry{padding:20px}.note-entry p{font-size:12px}.future-letter{padding-top:10px;padding-bottom:45px}.letter-paper{padding:23px 20px 25px}.letter-heading{margin-bottom:20px}.letter-heading .section-kicker{font-size:9px;letter-spacing:1px}.letter-stamp{padding:8px 10px 6px;font-size:6px}.letter-stamp img{height:22px;width:22px}.letter-layout{grid-template-columns:1fr;gap:25px}.letter-intro h2{font-size:27px}.letter-intro p{margin-top:12px}.letter-signoff{font-size:14px;margin-top:15px}.letter-controls{align-items:flex-start;flex-direction:column;gap:12px}.letter-layout textarea{font-size:12px}.life-toast{font-size:11px;bottom:15px;width:max-content}}
@media(max-width:370px){.site-header nav{gap:9px}.site-header nav a{font-size:9px}.note-composer{padding:18px}.note-filters button{padding:6px 9px}.plan-panel{padding:20px 16px}.plan-tabs button{padding:13px 11px}.letter-paper{padding:20px 17px}.composer-title{font-size:19px}}
