:root{--cream: #f9f5f0;--cream-dark: #f2ebe0;--cream-border: #e5d9c8;--paper: #fdf8f2;--ink: #4a3f35;--ink-light: #7a6a5a;--ink-faint: #c4b8a8;--blue: #b8d4e3;--blue-light: #daeaf4;--blue-dark: #8ab4cc;--yellow: #f9e4a3;--yellow-dark: #e8c96a;--green: #c8dac0;--green-dark: #9cb89a;--pink: #f0c4c4;--pink-dark: #e0a0a0;--nav-height: 72px;--nav-safe: env(safe-area-inset-bottom, 0px);--shadow-paper: 0 4px 16px rgba(74,63,53,.1), 0 1px 4px rgba(74,63,53,.06);--shadow-lift: 0 8px 24px rgba(74,63,53,.14), 0 2px 6px rgba(74,63,53,.08);--radius-card: 18px;--radius-btn: 999px;--transition: .3s cubic-bezier(.34, 1.4, .64, 1);--transition-fast: .18s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:PingFang SC,Noto Sans SC,Source Han Sans SC,-apple-system,Helvetica Neue,Arial,sans-serif;background-color:var(--cream);color:var(--ink);min-height:100vh;min-height:-webkit-fill-available;min-height:100dvh;overflow:hidden;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E")}#app{width:100%;max-width:430px;margin:0 auto;height:100vh;height:-webkit-fill-available;height:100dvh;position:relative;overflow:hidden;background-color:var(--cream);background-image:repeating-linear-gradient(0deg,transparent,transparent 27px,rgba(180,160,130,.07) 27px,rgba(180,160,130,.07) 28px),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E")}.page{position:absolute;inset:0;bottom:calc(var(--nav-height) + var(--nav-safe));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:0 1rem calc(3rem + env(safe-area-inset-bottom,0px));opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .35s ease,transform .35s cubic-bezier(.34,1.2,.64,1);scroll-behavior:smooth}.page.active{opacity:1;transform:translateY(0);pointer-events:auto}.washi-tape{position:sticky;top:0;left:50%;transform:translate(-50%);width:64px;height:22px;border-radius:2px;z-index:10;opacity:.85;background-size:8px 100%}.washi-tape:before{content:"";position:absolute;inset:0;border-radius:2px;opacity:.3;background-image:repeating-linear-gradient(60deg,transparent,transparent 4px,rgba(255,255,255,.5) 4px,rgba(255,255,255,.5) 5px)}.washi-tape-blue{background-color:var(--blue)}.washi-tape-pink{background-color:var(--pink)}.washi-tape-green{background-color:var(--green)}.washi-tape-yellow{background-color:var(--yellow)}.paper-card{background:var(--paper);border-radius:var(--radius-card);box-shadow:var(--shadow-paper);padding:1.5rem;margin-bottom:1rem;position:relative;border:1.5px solid rgba(200,184,160,.4);border-bottom-left-radius:14px;border-top-right-radius:20px;animation:cardAppear .45s cubic-bezier(.34,1.3,.64,1) both;transition:transform .3s ease,box-shadow .3s ease}.paper-card:hover{transform:translateY(-2px) rotate(.3deg);box-shadow:var(--shadow-lift)}@keyframes cardAppear{0%{opacity:0;transform:translateY(18px) rotate(-.5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.masking-tape{position:absolute;top:-10px;left:50%;transform:translate(-50%) rotate(-1.5deg);width:80px;height:20px;border-radius:2px;opacity:.8}.masking-tape:before{content:"";position:absolute;inset:0;border-radius:2px;background-image:repeating-linear-gradient(90deg,transparent,transparent 6px,rgba(255,255,255,.4) 6px,rgba(255,255,255,.4) 7px)}.masking-tape-pink{background-color:var(--pink);transform:translate(-50%) rotate(1deg)}.masking-tape-blue{background-color:var(--blue);transform:translate(-50%) rotate(-2deg)}.masking-tape-yellow{background-color:var(--yellow);transform:translate(-50%) rotate(1.5deg)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0 1rem}.page-header-inner{display:flex;align-items:center;gap:.5rem}.page-icon{width:32px;height:32px;flex-shrink:0}.page-title{font-size:1.25rem;font-weight:700;color:var(--ink);letter-spacing:.02em}.date-chip{font-size:.75rem;color:var(--ink-light);background:#c8dac059;border:1px solid rgba(156,184,154,.4);padding:.25rem .75rem;border-radius:999px;letter-spacing:.02em;flex-shrink:0}#page-home{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:0}.deco-stars{position:absolute;inset:0;pointer-events:none;z-index:0}.star{position:absolute;animation:twinkle 3s ease-in-out infinite}.star-1{width:20px;top:12%;left:10%;animation-delay:0s}.star-2{width:14px;top:18%;right:14%;animation-delay:.6s}.star-3{width:10px;top:8%;left:40%;animation-delay:1.2s}.star-4{width:12px;top:30%;right:8%;animation-delay:.4s}.star-5{width:8px;top:25%;left:25%;animation-delay:1.8s}.star-6{width:10px;top:5%;right:30%;animation-delay:.9s}@keyframes twinkle{0%,to{opacity:.7;transform:scale(1)}50%{opacity:.3;transform:scale(.85)}}.moon-container{position:relative;z-index:1;margin-top:2rem;margin-bottom:.5rem;animation:moonFloat 6s ease-in-out infinite}.moon-svg{width:130px;height:130px;drop-shadow:0 8px 24px rgba(249,228,163,.4);filter:drop-shadow(0 6px 18px rgba(249,228,163,.35))}@keyframes moonFloat{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(1deg)}}.home-card{position:relative;z-index:1;width:100%;max-width:360px;padding:2rem 1.75rem;margin:0 auto .75rem;text-align:center;transform:rotate(-.5deg)}.home-card:hover{transform:rotate(0) translateY(-2px)}.card-inner{display:flex;flex-direction:column;align-items:center}.home-title{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.title-line-1{font-size:2.8rem;font-weight:700;color:var(--ink);letter-spacing:.05em;line-height:1.1}.title-line-2{font-size:2.8rem;font-weight:700;color:var(--ink-light);letter-spacing:.05em;line-height:1.1}.flower-row{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem}.tiny-flower{width:28px;height:28px}.tiny-leaf{width:18px;height:22px}.sticky-note{padding:1rem 1.25rem;border-radius:12px;margin-bottom:1.5rem;position:relative;box-shadow:2px 4px 10px #4a3f351a}.sticky-note:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:40px;height:8px;border-radius:2px;opacity:.6}.sticky-note-yellow{background-color:var(--yellow);transform:rotate(.8deg)}.sticky-note-yellow:before{background-color:var(--yellow-dark)}.subtitle-text{font-size:1rem;line-height:1.7;color:var(--ink);font-weight:500;letter-spacing:.03em}.start-area{display:flex;flex-direction:column;align-items:center;gap:.5rem}.drawn-arrow{width:60px;height:36px;transform:rotate(10deg);opacity:.6}.corner-deco{position:absolute;width:36px;height:36px;pointer-events:none}.corner-tl{top:10px;left:12px}.corner-br{bottom:10px;right:12px}.bottom-leaves{position:relative;z-index:1;opacity:.8}.bottom-leaves svg{width:100px;height:36px}.app-version{text-align:center;font-size:.65rem;letter-spacing:.06em;color:var(--ink-faint);opacity:.5;margin-top:.25rem;pointer-events:none;user-select:none;-webkit-user-select:none}.hand-drawn-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-family:inherit;font-size:1rem;font-weight:600;letter-spacing:.04em;padding:.85rem 2rem;border-radius:var(--radius-btn);border:2px solid transparent;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background-color var(--transition-fast);position:relative;user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:52px;min-width:120px}.hand-drawn-btn:after{content:"";position:absolute;bottom:8px;left:20%;right:20%;height:2px;background:currentColor;border-radius:1px;opacity:.2;transform:scaleX(.7) rotate(-.5deg)}.hand-drawn-btn:active{transform:scale(.96) rotate(-.5deg) translateY(2px);box-shadow:0 1px 4px #4a3f351a!important}.btn-primary{background:var(--yellow);color:var(--ink);border-color:var(--yellow-dark);box-shadow:0 4px 12px #e8c96a59}.btn-primary:hover{background:#f6dd8a;box-shadow:0 6px 16px #e8c96a73;transform:translateY(-2px) rotate(.3deg)}.btn-sage{background:var(--green);color:var(--ink);border-color:var(--green-dark);box-shadow:0 4px 12px #9cb89a4d}.btn-sage:hover{background:#b8d0b0;box-shadow:0 6px 16px #9cb89a66;transform:translateY(-2px) rotate(-.3deg)}.btn-blue{background:var(--blue);color:var(--ink);border-color:var(--blue-dark);box-shadow:0 4px 12px #8ab4cc4d}.btn-row{display:flex;justify-content:center;padding:.75rem 0 2rem}.form-card{padding:1.75rem 1.5rem}.form-section{margin-bottom:1.5rem}.form-section:last-child{margin-bottom:0}.form-label{display:flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:600;color:var(--ink-light);margin-bottom:.75rem;letter-spacing:.04em}.label-icon{width:18px;height:18px;flex-shrink:0}.mood-picker{display:flex;flex-wrap:wrap;gap:.5rem}.mood-btn{font-size:1.4rem;width:48px;height:48px;border-radius:50%;border:2px solid transparent;background:var(--cream);cursor:pointer;transition:transform var(--transition),border-color var(--transition-fast),background var(--transition-fast);display:flex;align-items:center;justify-content:center;position:relative}.mood-btn:hover{transform:scale(1.15) rotate(5deg)}.mood-btn:active{transform:scale(.9)}.mood-btn.selected{border-color:var(--pink-dark);background:var(--pink);transform:scale(1.1);box-shadow:0 2px 8px #e0a0a059}.mood-btn.selected:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px dashed var(--pink-dark);opacity:.5}.paper-divider{height:1px;background:linear-gradient(90deg,transparent,var(--cream-border),transparent);margin:0 -1.5rem 1.5rem}.textarea-wrapper{position:relative}.journal-textarea{width:100%;font-family:inherit;font-size:.9375rem;line-height:1.8;color:var(--ink);background:transparent;border:none;resize:none;outline:none;padding:.25rem 0;letter-spacing:.02em;position:relative;z-index:1}.journal-textarea::placeholder{color:var(--ink-faint);font-style:italic}.goals-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.goal-strip{display:flex;align-items:center;gap:.3rem;background:var(--blue-light);border:1px solid rgba(184,212,227,.5);border-radius:14px 6px 14px 14px;padding:.45rem .5rem .45rem .8rem;animation:stripIn .3s cubic-bezier(.34,1.4,.64,1) both}.goal-strip.level-important{background:#f0c4c46b;border-color:#e0a0a08c}.goal-strip.level-optional{background:#f9e4a33d;border-color:#e8c96a80}@keyframes stripIn{0%{opacity:0;transform:translate(-12px) rotate(-1deg)}to{opacity:1;transform:translate(0) rotate(0)}}.goal-strip-text{flex:1;min-width:0;font-size:.9rem;color:var(--ink);line-height:1.4;overflow-wrap:anywhere}.goal-priority-btn{min-width:52px;min-height:30px;padding:.2rem .45rem;border-radius:999px;border:1px solid rgba(138,180,204,.7);background:#ffffffb8;color:var(--ink-light);font-family:inherit;font-size:.62rem;font-weight:700;white-space:nowrap;cursor:pointer}.goal-priority-btn.level-important{border-color:var(--pink-dark);background:#ffffff9e;color:#a96363}.goal-priority-btn.level-optional{border-color:var(--yellow-dark);color:#9a7a2d}.goal-strip-move{width:30px;height:32px;flex:0 0 30px;border:none;border-radius:9px;background:#ffffff94;color:var(--ink-light);font-family:inherit;font-size:.9rem;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast)}.goal-strip-move:active:not(:disabled){transform:scale(.9)}.goal-strip-move:disabled{opacity:.24;cursor:default}.goal-strip-delete{background:none;border:none;cursor:pointer;color:var(--ink-faint);padding:.35rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),transform var(--transition-fast);min-width:32px;min-height:32px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.goal-strip-delete:hover{color:var(--pink-dark);transform:scale(1.2) rotate(90deg)}.goal-strip-delete svg{width:14px;height:14px}@media(max-width:370px){.goal-strip{flex-wrap:wrap}.goal-strip-text{flex-basis:calc(100% - 92px)}}.add-goal-row{display:flex;align-items:center;gap:.5rem}.goal-input{flex:1;font-family:inherit;font-size:.9rem;color:var(--ink);background:var(--cream);border:1.5px solid var(--cream-border);border-radius:999px;padding:.6rem 1rem;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.goal-input::placeholder{color:var(--ink-faint);font-size:.85rem;font-style:italic}.goal-input:focus{border-color:var(--blue-dark);box-shadow:0 0 0 3px #b8d4e34d}.add-goal-btn{width:40px;height:40px;border-radius:50%;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--transition),opacity var(--transition-fast);opacity:.7;flex-shrink:0}.add-goal-btn svg{width:32px;height:32px}.add-goal-btn:hover{opacity:1;transform:scale(1.15) rotate(90deg)}.add-goal-btn:active{transform:scale(.9)}.morning-card{margin-top:.75rem;overflow:visible}.card-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);margin-bottom:.75rem}.letter-text{font-size:.9375rem;line-height:1.75;color:var(--ink);white-space:pre-wrap;min-height:3em}.letter-mood{margin-top:.75rem;display:flex;align-items:center}.mood-display{font-size:1.6rem;animation:moodPop .5s cubic-bezier(.34,1.6,.64,1) both;display:inline-block}@keyframes moodPop{0%{opacity:0;transform:scale(.5) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(0)}}.progress-plant-area{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:.75rem 0;border-bottom:1px solid var(--cream-border)}.progress-bar-wrapper{flex:1;display:flex;flex-direction:column;gap:.35rem}.progress-bar-track{height:10px;background:var(--cream-dark);border-radius:999px;overflow:hidden;border:1px solid rgba(200,184,160,.3)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--green-dark),var(--green));border-radius:999px;transition:width .7s cubic-bezier(.34,1.2,.64,1)}.progress-text{font-size:.75rem;color:var(--ink-light);font-weight:600}.progress-plant{width:56px;height:56px;flex-shrink:0;transition:transform .5s ease}.goals-checklist{list-style:none;display:flex;flex-direction:column;gap:.5rem}.goal-item{display:flex;align-items:center;gap:.75rem;padding:.7rem .75rem;border-radius:999px;border:1.5px solid var(--cream-border);background:var(--cream);transition:background var(--transition-fast),border-color var(--transition-fast);animation:itemAppear .4s cubic-bezier(.34,1.3,.64,1) both;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:48px}.goal-item:active{transform:scale(.98)}@keyframes itemAppear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.goal-item.completed{background:#c8dac040;border-color:#9cb89a66}.goal-checkbox{width:24px;height:24px;border-radius:50%;border:2px solid var(--cream-border);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition);position:relative;overflow:hidden}.goal-item.completed .goal-checkbox{border-color:var(--green-dark);background:var(--green)}.flower-check{opacity:0;transform:scale(0);transition:all var(--transition);font-size:14px;line-height:1}.goal-item.completed .flower-check{opacity:1;transform:scale(1)}.goal-text{flex:1;font-size:.9rem;color:var(--ink);transition:color var(--transition-fast)}.task-level-badge{flex-shrink:0;padding:.18rem .45rem;border-radius:999px;border:1px solid rgba(138,180,204,.55);background:var(--blue-light);color:var(--ink-light);font-size:.6rem;font-weight:700;line-height:1.2;white-space:nowrap}.task-level-badge.level-important,.task-tag.level-important{border-color:#e0a0a08c;background:#f0c4c473;color:#a96363}.task-level-badge.level-optional,.task-tag.level-optional{border-color:#e8c96a85;background:#f9e4a352;color:#8d7131}.goal-item.completed .goal-text{color:var(--ink-light);text-decoration:line-through;text-decoration-color:var(--green-dark)}.goals-empty-hint{font-size:.875rem;color:var(--ink-faint);text-align:center;padding:1rem 0;font-style:italic}.leaf-visible{animation:leafGrow .6s cubic-bezier(.34,1.4,.64,1) forwards}@keyframes leafGrow{0%{opacity:0;transform:scale(0) rotate(-30deg)}to{opacity:1;transform:scale(1) rotate(0)}}.flower-bloom{animation:flowerBloom .8s cubic-bezier(.34,1.6,.64,1) forwards}@keyframes flowerBloom{0%{opacity:0;transform:scale(0) rotate(-45deg)}60%{transform:scale(1.3) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0)}}.fortune-card{transform:rotate(.4deg)}.fortune-text{font-size:1.0625rem;line-height:1.6;color:var(--ink);font-weight:600;text-align:center;padding:.5rem 0}.fortune-divider{width:60%;margin:.75rem auto;height:1px;background:linear-gradient(90deg,transparent,var(--cream-border),transparent)}.daily-sentence{font-size:.875rem;color:var(--ink-light);text-align:center;line-height:1.7;font-style:italic}.drawer-list{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1rem}.drawer-day-card{cursor:pointer;transition:transform var(--transition),box-shadow var(--transition);animation:cardAppear .4s cubic-bezier(.34,1.3,.64,1) both;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.drawer-day-card:nth-child(2n){transform:rotate(-.4deg)}.drawer-day-card:nth-child(odd){transform:rotate(.4deg)}.drawer-day-card:hover{transform:translateY(-3px) rotate(0)!important;box-shadow:var(--shadow-lift)}.drawer-day-card:active{transform:scale(.97)!important}.drawer-day-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.drawer-day-date{font-size:.9rem;font-weight:700;color:var(--ink)}.drawer-day-mood{font-size:1.3rem}.drawer-completion{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.completion-bar{flex:1;height:6px;background:var(--cream-dark);border-radius:999px;overflow:hidden}.completion-fill{height:100%;background:linear-gradient(90deg,var(--green-dark),var(--green));border-radius:999px;transition:width .7s ease}.completion-text{font-size:.7rem;color:var(--ink-faint);white-space:nowrap}.drawer-letter-preview{font-size:.8rem;color:var(--ink-light);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-style:italic}.drawer-tasks-preview{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.task-tag{font-size:.7rem;padding:.15rem .5rem;border-radius:999px;background:var(--blue-light);color:var(--ink-light);border:1px solid rgba(184,212,227,.4)}.task-tag.done{background:#c8dac066;border-color:#9cb89a4d;text-decoration:line-through;color:var(--ink-faint)}.modal-overlay{position:fixed;inset:0;background:#4a3f3559;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-end;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{width:100%;max-width:430px;margin:0 auto;max-height:85dvh;overflow-y:auto;border-radius:24px 24px 0 0;padding:2rem 1.5rem calc(2rem + env(safe-area-inset-bottom,0px));animation:slideUp .35s cubic-bezier(.34,1.2,.64,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;border:none;background:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast),background var(--transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-close:hover{background:var(--cream-dark);transform:scale(1.1) rotate(90deg)}.modal-close svg{width:16px;height:16px}.modal-delete{position:absolute;top:1rem;right:4.4rem;min-height:44px;padding:0 .75rem;border:1px solid rgba(188,105,105,.42);border-radius:999px;background:#fdf8f2f0;color:#a65f5f;display:inline-flex;align-items:center;gap:.35rem;font:inherit;font-size:.76rem;font-weight:700;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.modal-delete svg{width:16px;height:16px}.record-delete-confirm{margin:3.3rem 0 1.25rem;padding:1rem;border:1.5px solid rgba(188,105,105,.42);border-radius:14px;background:#f5d6d261;color:var(--ink)}.record-delete-confirm[hidden]{display:none}.record-delete-confirm strong{display:block;margin-bottom:.35rem;font-size:.92rem}.record-delete-confirm p{color:var(--ink-light);font-size:.8rem;line-height:1.55}.record-delete-actions{display:flex;justify-content:flex-end;gap:.55rem;margin-top:.85rem}.record-delete-actions button{min-height:40px;padding:0 .9rem;border-radius:999px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}.record-delete-cancel{border:1px solid var(--cream-border);background:var(--cream);color:var(--ink-light)}.record-delete-confirm-btn{border:1px solid #ad6868;background:#ad6868;color:#fffaf3}.modal-date{font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:1.5rem;padding-right:8.5rem}.modal-section{margin-bottom:1.25rem}.modal-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.4rem}.modal-letter{font-size:.9375rem;line-height:1.75;color:var(--ink);white-space:pre-wrap;background:var(--cream);border-radius:12px;padding:.75rem 1rem;border:1px solid var(--cream-border)}.modal-tasks{display:flex;flex-direction:column;gap:.4rem}.modal-task{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--ink-light);padding:.4rem 0}.modal-task.done{color:var(--ink-faint);text-decoration:line-through}.modal-task-icon{font-size:1rem;flex-shrink:0}.modal-task .task-level-badge{margin-left:auto}.empty-state{padding:1rem 0}.empty-text{font-size:1rem;color:var(--ink-light);font-weight:600;margin-bottom:.3rem}.empty-sub{font-size:.875rem;color:var(--ink-faint);font-style:italic}.save-toast{position:fixed;bottom:calc(var(--nav-height) + var(--nav-safe) + 1rem);left:50%;transform:translate(-50%) translateY(20px);background:var(--ink);color:var(--cream);font-size:.875rem;padding:.6rem 1.25rem;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;width:max-content;white-space:normal;text-align:center;line-height:1.4;z-index:200;max-width:calc(min(430px,100vw) - 2rem);box-shadow:0 6px 20px #4b413738}.save-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.ddl-reminder-card{margin-bottom:.85rem;padding:1rem 1.05rem;border:1.5px solid rgba(224,160,160,.72);border-radius:16px;background:linear-gradient(145deg,#fdf8f2fa,#f0c4c44d);box-shadow:0 5px 16px #b469691f;animation:cardAppear .35s cubic-bezier(.34,1.3,.64,1) both}.ddl-reminder-heading{display:flex;align-items:center;gap:.45rem;margin-bottom:.7rem;color:#9f5f5f;font-size:.86rem;font-weight:800;letter-spacing:.04em}.ddl-reminder-icon{font-size:1.05rem}.ddl-reminder-list{display:flex;flex-direction:column;gap:.45rem}.ddl-reminder-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.55rem;padding:.6rem .7rem;border-radius:12px;background:#ffffff9e;border:1px solid rgba(224,160,160,.28)}.ddl-reminder-item.due-today{border-color:#c8696980;background:#fff5f5db}.ddl-reminder-urgency{padding:.18rem .45rem;border-radius:999px;background:var(--pink);color:#955454;font-size:.62rem;font-weight:800;white-space:nowrap}.due-tomorrow .ddl-reminder-urgency{background:var(--yellow);color:#856b2c}.ddl-reminder-copy{display:flex;flex-direction:column;gap:.16rem;min-width:0}.ddl-reminder-copy strong{color:var(--ink);font-size:.84rem;line-height:1.35;overflow-wrap:anywhere}.ddl-reminder-copy span{color:var(--ink-light);font-size:.7rem;line-height:1.4;overflow-wrap:anywhere}.ddl-reminder-link{align-self:flex-end;padding:.3rem .25rem;border:none;background:transparent;color:#9f5f5f;font-family:inherit;font-size:.7rem;font-weight:700;cursor:pointer}.ddl-form-card{padding:1.45rem 1.35rem 1.3rem;overflow:visible;border-color:#f0c4c47a}.ddl-form-title{margin-bottom:1rem;color:var(--ink);font-size:1rem;font-weight:750}.ddl-field-label{display:flex;align-items:baseline;gap:.35rem;margin:.75rem 0 .35rem;color:var(--ink-light);font-size:.75rem;font-weight:700}.ddl-field-label span{color:var(--ink-faint);font-size:.62rem;font-weight:500}.ddl-input{width:100%;min-height:44px;padding:.65rem .8rem;border:1.5px solid var(--cream-border);border-radius:12px;outline:none;background:#f9f5f0b8;color:var(--ink);font-family:inherit;font-size:.86rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ddl-input:focus{border-color:var(--pink-dark);box-shadow:0 0 0 3px #f0c4c43d}.ddl-input::placeholder{color:var(--ink-faint)}.ddl-note{resize:vertical;line-height:1.55}.ddl-add-btn{width:100%;margin-top:1rem}.ddl-list-heading{display:flex;align-items:center;justify-content:space-between;padding:.25rem .25rem .65rem;color:var(--ink);font-size:.92rem;font-weight:750}.ddl-count{color:var(--ink-faint);font-size:.68rem;font-weight:600}.deadline-list{display:flex;flex-direction:column;gap:.7rem}.deadline-card{padding:1rem 1.05rem;border:1.5px solid rgba(184,212,227,.58);border-radius:15px;background:var(--paper);box-shadow:var(--shadow-paper);animation:cardAppear .35s ease both}.deadline-card.overdue{border-color:#e0a0a0b8;background:linear-gradient(145deg,var(--paper),rgba(240,196,196,.2))}.deadline-card.completed{opacity:.62;background:#f2ebe0ad}.deadline-card-top{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-bottom:.55rem}.deadline-date{color:var(--ink-faint);font-size:.68rem;line-height:1.35}.deadline-timing{flex-shrink:0;padding:.18rem .5rem;border-radius:999px;background:var(--yellow);color:#82672b;font-size:.62rem;font-weight:800}.deadline-card.overdue .deadline-timing{background:var(--pink);color:#955454}.deadline-card.completed .deadline-timing{background:var(--green);color:#587254}.deadline-title{color:var(--ink);font-size:.98rem;line-height:1.4;overflow-wrap:anywhere}.deadline-card.completed .deadline-title{color:var(--ink-light);text-decoration:line-through}.deadline-note{margin-top:.45rem;color:var(--ink-light);font-size:.76rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.deadline-actions{display:flex;justify-content:flex-end;gap:.45rem;margin-top:.8rem;padding-top:.65rem;border-top:1px solid var(--cream-border)}.deadline-actions button{min-height:36px;padding:.35rem .75rem;border-radius:999px;font-family:inherit;font-size:.68rem;font-weight:700;cursor:pointer}.deadline-complete-btn{border:1px solid rgba(156,184,154,.62);background:#c8dac057;color:#617c5e}.deadline-delete-btn{border:1px solid rgba(224,160,160,.45);background:transparent;color:#aa6a6a}.ddl-empty{padding:2rem 1rem;color:var(--ink-faint);text-align:center;font-size:.82rem;line-height:1.6}.ddl-empty span{display:block;margin-bottom:.5rem;font-size:2rem}#bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:430px;height:calc(var(--nav-height) + var(--nav-safe));padding-bottom:var(--nav-safe);background:var(--paper);border-top:1.5px solid var(--cream-border);display:flex;align-items:flex-start;justify-content:space-around;padding-top:.5rem;z-index:50;box-shadow:0 -4px 16px #4a3f350f}#bottom-nav:before{content:"";position:absolute;top:-1px;left:10%;right:10%;height:3px;background:linear-gradient(90deg,transparent,var(--cream-border),transparent);border-radius:999px}.nav-tab{display:flex;flex-direction:column;align-items:center;gap:.2rem;background:none;border:none;cursor:pointer;padding:.25rem .45rem;border-radius:12px;transition:transform var(--transition),color var(--transition-fast);color:var(--ink-faint);min-width:54px;min-height:52px;position:relative;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.nav-tab:after{content:"";position:absolute;top:-.5rem;left:50%;transform:translate(-50%) scaleX(0);width:32px;height:3px;border-radius:999px;background:var(--ink-light);transition:transform var(--transition)}.nav-tab.active{color:var(--ink);transform:translateY(-3px)}.nav-tab.active:after{transform:translate(-50%) scaleX(1)}.nav-tab:active{transform:scale(.9) translateY(-1px)}.nav-icon{display:flex;align-items:center;justify-content:center}.nav-icon svg{width:26px;height:26px;transition:transform var(--transition)}.nav-tab:hover .nav-icon svg{transform:scale(1.1) rotate(-3deg)}.nav-tab.active .nav-icon svg{transform:scale(1.1)}.nav-label{font-size:.7rem;font-weight:600;letter-spacing:.04em;transition:color var(--transition-fast)}@keyframes gentleWobble{0%,to{transform:rotate(-.5deg)}50%{transform:rotate(.5deg)}}.sticky-effect{animation:cardAppear .45s cubic-bezier(.34,1.3,.64,1) both,gentleWobble 8s ease-in-out infinite}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--cream-border);border-radius:2px}:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px;border-radius:4px}.night-mode-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;padding:.35rem;margin-bottom:.65rem;border:1.5px solid rgba(200,184,160,.42);border-radius:16px;background:#fdf8f2e6;box-shadow:0 3px 12px #4a3f3512}.night-mode-tab{min-width:0;min-height:58px;padding:.45rem .25rem;border:1.5px solid transparent;border-radius:12px;background:transparent;color:var(--ink-faint);font-family:inherit;font-size:.72rem;font-weight:700;line-height:1.25;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;transition:transform var(--transition),color var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.night-mode-tab:hover{color:var(--ink-light);background:#f9e4a32e}.night-mode-tab:active{transform:scale(.96)}.night-mode-tab.active{color:var(--ink);background:var(--yellow);border-color:#e8c96abf;box-shadow:0 2px 8px #e8c96a40}.night-mode-tab:nth-child(2).active{background:var(--green);border-color:#9cb89ab3;box-shadow:0 2px 8px #9cb89a38}.night-mode-tab:nth-child(3).active{background:var(--blue-light);border-color:#8ab4cca6;box-shadow:0 2px 8px #8ab4cc38}.night-mode-emoji{font-size:1.15rem;line-height:1}.night-mode-description{min-height:2.5rem;margin:0 .35rem .7rem;color:var(--ink-light);font-size:.76rem;line-height:1.55;text-align:center}.target-date-card{padding:1rem 1.15rem;border:1.5px solid rgba(184,212,227,.5);background:linear-gradient(145deg,var(--paper) 0%,#f5f9fb 100%);display:flex;flex-direction:column;gap:.85rem}.future-date-panel{width:100%}.target-date-copy{display:flex;flex-direction:column;gap:.2rem}.target-date-eyebrow{font-size:.95rem;font-weight:700;color:var(--ink)}.target-date-hint{font-size:.72rem;line-height:1.45;color:var(--ink-faint)}.target-date-controls{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.5rem;align-items:stretch}.target-date-preset,.target-date-custom{min-height:44px;border-radius:12px;border:1.5px solid rgba(184,212,227,.75);background:#ffffffb8;color:var(--ink-light);font-family:inherit;font-size:.78rem;font-weight:700}.target-date-preset{padding:.55rem .85rem;cursor:pointer;transition:transform var(--transition),background var(--transition-fast),border-color var(--transition-fast)}.target-date-preset:hover,.target-date-preset.selected{background:var(--blue-light);border-color:var(--blue-dark)}.target-date-preset:active{transform:scale(.96)}.target-date-custom{padding:.55rem .65rem;cursor:pointer}.target-date-custom.selected{background:var(--blue-light);border-color:var(--blue-dark)}.target-date-custom:active{transform:scale(.97)}.target-date-custom-panel{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;padding:.65rem .75rem;border-radius:12px;background:#b8d4e333;border:1px dashed rgba(126,174,198,.65);animation:cardAppear .22s ease-out both}.target-date-custom-panel[hidden]{display:none}.target-date-custom-panel label{font-size:.72rem;font-weight:700;color:var(--ink-light);white-space:nowrap}.target-date-custom-panel input{width:100%;min-width:0;min-height:38px;padding:.4rem .55rem;border:1px solid rgba(184,212,227,.9);border-radius:9px;background:#ffffffe6;color:var(--ink);font-family:inherit;font-size:.78rem}@media(max-width:370px){.target-date-controls{grid-template-columns:1fr 1fr}.target-date-custom,.target-date-custom-panel{grid-column:1 / -1}}.goals-hero-card{padding:1.5rem 1.5rem 1.25rem;border:2px solid rgba(156,184,154,.55);background:linear-gradient(145deg,var(--paper) 0%,#f5f9f3 100%);margin-top:.5rem;overflow:visible}.goals-hero-header{margin-bottom:1.25rem}.goals-hero-title-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.goals-hero-title{font-size:1.2rem;font-weight:700;color:var(--ink);letter-spacing:.03em}.goals-hero-sub{font-size:.8rem;color:var(--ink-faint);font-style:italic;padding-left:1.75rem;line-height:1.4}.add-goal-area{display:flex;flex-direction:column;gap:.6rem;margin-top:.75rem}.task-level-picker{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;gap:.35rem}.task-level-picker-label{color:var(--ink-faint);font-size:.68rem;font-weight:700;white-space:nowrap}.task-level-btn{min-width:0;min-height:36px;padding:.35rem .25rem;border:1.5px solid var(--cream-border);border-radius:999px;background:#ffffff94;color:var(--ink-faint);font-family:inherit;font-size:.67rem;font-weight:700;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.task-level-btn:active{transform:scale(.95)}.task-level-btn.selected[data-task-level=normal]{border-color:var(--blue-dark);background:var(--blue-light);color:var(--ink)}.task-level-btn.selected[data-task-level=important]{border-color:var(--pink-dark);background:#f0c4c49e;color:#955a5a}.task-level-btn.selected[data-task-level=optional]{border-color:var(--yellow-dark);background:#f9e4a385;color:#806529}.add-goal-footer{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.goal-save-hint{color:var(--ink-faint);font-size:.64rem;line-height:1.35;text-align:right}.add-goal-text-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:.35rem;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--green-dark);background:#c8dac04d;border:1.5px dashed rgba(156,184,154,.6);border-radius:999px;padding:.5rem 1rem;min-height:44px;cursor:pointer;letter-spacing:.02em;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast),transform var(--transition),border-color var(--transition-fast)}.add-goal-text-btn:hover{background:#c8dac080;border-color:var(--green-dark);transform:translateY(-1px)}.add-goal-text-btn:active{transform:scale(.97) translateY(1px)}.letter-card{padding:1.25rem 1.5rem;border:1.5px solid rgba(240,196,196,.4)}.mood-card{padding:1rem 1.25rem;border:1.5px solid rgba(184,212,227,.35)}.night-card-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.875rem}.night-card-title{font-size:.875rem;font-weight:700;color:var(--ink-light);letter-spacing:.04em;cursor:default}label.night-card-title{cursor:text}.btn-envelope{background:var(--pink);color:var(--ink);border-color:var(--pink-dark);box-shadow:0 4px 12px #e0a0a04d;font-size:.9375rem}.btn-envelope:hover{background:#ecb4b4;box-shadow:0 6px 16px #e0a0a06b;transform:translateY(-2px) rotate(.4deg)}.mood-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.mood-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.55rem .2rem .45rem;width:auto;height:auto;min-height:62px;border-radius:14px;border:1.5px solid transparent;background:var(--cream);cursor:pointer;font-size:inherit;transition:transform var(--transition),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);-webkit-tap-highlight-color:transparent}.mood-emoji{font-size:1.6rem;line-height:1;display:block;transition:transform var(--transition)}.mood-label{font-size:.6rem;font-weight:600;color:var(--ink-faint);letter-spacing:.02em;transition:color var(--transition-fast);line-height:1}.mood-btn:hover{background:#f9e4a333;border-color:#c8b8a066;transform:translateY(-2px) scale(1.04)}.mood-btn:hover .mood-emoji{transform:scale(1.15) rotate(5deg)}.mood-btn:active{transform:scale(.93)}.mood-btn.selected{border-color:var(--pink-dark);background:var(--pink);box-shadow:0 3px 10px #e0a0a059;transform:scale(1.06)}.mood-btn.selected .mood-emoji{transform:scale(1.1)}.mood-btn.selected .mood-label{color:var(--ink-light)}.mood-btn.selected:after{display:none}@media(min-width:431px){#app{border-left:1px solid var(--cream-border);border-right:1px solid var(--cream-border);box-shadow:0 0 40px #4a3f3514}}
