:root{--bg-page:#f7f1e3;--bg-warm:#fffaf2;--sun:#f4e5a3;--sun-soft:#f9f0cb;--lavender:#eee4ff;--lavender-deep:#7d68a9;--sage:#e5efe1;--sage-deep:#6a8577;--blue:#e2edf7;--blue-deep:#5e7fa7;--peach:#fbe7d7;--peach-deep:#b67f61;--cream:#fffdf8;--card-border:#80715726;--text:#403b38;--text-soft:#635c57;--muted:#7b7269;--shadow-soft:#806c4a1a;color:var(--text);background:radial-gradient(circle at top, #fffaf1 0%, #f9f1d8 18%, #f5efe0 42%, var(--bg-page) 100%);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-weight:500;line-height:1.5}*{box-sizing:border-box}html{background:var(--bg-page)}body{background:radial-gradient(circle at 20% 20%,#ffffff47,#0000 20%),radial-gradient(circle at 80% 0,#f4e5a32e,#0000 22%),linear-gradient(#ffffff2e,#ffffff1a);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}#root{min-height:100vh}h1,p{margin:0}button,input{color:inherit}#root{justify-content:center;min-height:100vh;display:flex}.app-shell{z-index:1;box-sizing:border-box;width:min(728px,100% - 40px);min-height:100vh;margin:0;padding:clamp(32px,6vh,72px) 0 56px;animation:.7s cubic-bezier(.22,1,.36,1) both pageFadeIn;position:relative}body{position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 10% 15%,#7aa76e29,#0000 18%),radial-gradient(circle at 82% 20%,#7aa76e1f,#0000 17%),radial-gradient(circle at 18% 78%,#7aa76e24,#0000 18%),radial-gradient(circle at 75% 82%,#7aa76e1f,#0000 19%);position:fixed;inset:0}.background-leaf{pointer-events:none;z-index:0;transform:rotate(var(--leaf-rotation,0deg));transform-origin:50%;position:fixed}.leaf-art{width:100%;height:100%;display:block;overflow:hidden}.leaf-body{fill:rgba(126, 167, 112, var(--leaf-opacity,.22));filter:saturate(.9)}.leaf-structure{overflow:hidden}.leaf-midrib{fill:none;stroke:#46673e9e;stroke-width:.85px;stroke-linecap:round;stroke-linejoin:round;opacity:var(--leaf-midrib-opacity,.55)}.leaf-vein{fill:none;stroke:#4f704480;stroke-width:.55px;stroke-linecap:round;stroke-linejoin:round;opacity:var(--leaf-vein-opacity,.22)}.leaf-01 .leaf-midrib,.leaf-09 .leaf-midrib,.leaf-17 .leaf-midrib,.leaf-22 .leaf-midrib,.leaf-29 .leaf-midrib,.leaf-37 .leaf-midrib,.leaf-45 .leaf-midrib,.leaf-50 .leaf-midrib{opacity:.72}.leaf-01 .leaf-vein,.leaf-09 .leaf-vein,.leaf-17 .leaf-vein,.leaf-22 .leaf-vein,.leaf-29 .leaf-vein,.leaf-37 .leaf-vein,.leaf-45 .leaf-vein,.leaf-50 .leaf-vein{opacity:.42}.app-header{z-index:1;margin-bottom:20px;animation:.65s both softRise;position:relative}@keyframes softRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.brand-row{justify-content:space-between;align-items:flex-start;gap:10px;animation:.65s cubic-bezier(.18,.89,.32,1.08) 80ms both softRise;display:flex}.project-list{z-index:1;flex-direction:column;gap:24px;animation:.7s .12s both softRise;display:flex;position:relative}.project-card{--project-rail:#d7c0eb;--project-soft:#ffffff80;--project-wash:#dfd8fa38;--project-task:#ffffff52;--project-hover:#7a67b60f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:.6s cubic-bezier(.17,.84,.44,1) both cardDockIn;animation-delay:calc(var(--card-index,0) * 70ms + .15s);background:linear-gradient(#ffffffc2,#faf6ece6);border:1px solid #7e705b26;border-radius:24px;position:relative;overflow:hidden;box-shadow:0 12px 30px #7866520f,inset 0 1px #fff9}@keyframes cardDockIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.project-header{min-height:66px;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:20px 18px 18px;transition:background-color .2s,transform .2s;display:flex}.task{background:var(--project-task);border:1px solid #796c5a14;border-radius:16px;align-items:center;gap:12px;min-height:54px;padding:14px 16px;transition:transform .22s,opacity .22s,background-color .32s,box-shadow .22s,border-color .32s;display:flex;position:relative;overflow:visible}.task.done{background:linear-gradient(#e6f1dfbf,#d6eac9b8);border-color:#7ea27829;box-shadow:inset 0 1px #ffffff80}.task.done .task-label span{color:#6f7d73;transition:color .25s;position:relative}.task.done .task-label span:after{content:"";transform-origin:0;background:#536b5ab8;height:1px;animation:.34s both strikeIn;position:absolute;top:54%;left:0;right:0}@keyframes strikeIn{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.task-label input{appearance:none;cursor:pointer;background:#ffffff8c;border:1px solid #78716442;border-radius:5px;width:20px;height:20px;transition:transform .22s,box-shadow .25s,background-color .25s,border-color .25s;position:relative}.task-label input:after{content:"";border:2px solid #fffffff5;border-width:0 2px 2px 0;width:4px;height:9px;transition:transform .2s;position:absolute;top:1px;left:5px;transform:rotate(45deg)scale(0)}.task-label input:checked{background:linear-gradient(#88b07aeb,#76a670d6);border-color:#678e6680;animation:.28s checkPop;box-shadow:0 0 0 3px #7ea8751f}.task-label input:checked:after{transform:rotate(45deg)scale(1)}@keyframes checkPop{0%{transform:scale(.84)}55%{transform:scale(1.08)}to{transform:scale(1)}}.task-label span{flex:1;font-size:1.18rem;line-height:1.55;transition:transform .22s,color .22s;display:inline-block;position:relative}.task-label input:checked+span{color:#6f7d73}.actions-row{z-index:1;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%;margin-top:18px;padding-top:6px;animation:.7s .21s both softRise;display:grid;position:relative}.actions-row .new-project-button{justify-self:start}.actions-row .utility-button{justify-self:end}.site-philosophy,.small-affirmation{text-align:center;color:#756b61;letter-spacing:.09em;font-family:inherit;font-weight:700}.small-affirmation{opacity:.95;white-space:nowrap;margin:0;font-size:.76rem;line-height:1.35}.site-philosophy{opacity:.9;width:100%;margin:10px 0 0;font-size:.76rem;line-height:1.35}.project-card .project-card:after,.project-card[data-palette=lavender] .project-card:after,.project-card[data-palette=sage] .project-card:after,.project-card[data-palette=blue] .project-card:after,.project-card[data-palette=peach] .project-card:after,.project-card[data-palette=butter] .project-card:after{display:none}.app-header{z-index:1;margin-bottom:20px;position:relative}.brand-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.brand-block{flex-direction:column;gap:4px;display:flex}.brand-name{letter-spacing:-.08em;color:#2f2c2d;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:1.9rem;font-weight:700;line-height:1;display:inline-block}.brand-tagline{color:#756c62;letter-spacing:.11em;text-transform:uppercase;font-size:.66rem;font-weight:600}.header-actions{align-items:center;gap:8px;padding-top:4px;display:flex;position:relative}.icon-button{width:40px;height:40px;color:var(--text-soft);cursor:pointer;background:#ffffff94;border:1px solid #7f6d532e;border-radius:50%;justify-content:center;align-items:center;font-size:1.15rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:inline-flex;box-shadow:0 4px 12px #7866520a}.icon-button:hover{transform:translateY(-1px)}.icon-button.is-active{border-color:#8276a861;box-shadow:0 0 0 4px #8276a80f}.header-search-wrap{z-index:1;margin-top:10px;position:relative}.header-search-input{box-sizing:border-box;width:100%;font:inherit;color:#2c243d;background:#ffffffc7;border:1px solid #8f83aa33;border-radius:12px;outline:none;padding:10px 12px}.header-search-input:focus{border-color:#8276a88c;box-shadow:0 0 0 4px #8276a814}.project-list{z-index:1;flex-direction:column;gap:20px;display:flex;position:relative}.project-card{--project-rail:#d7c0eb;--project-soft:#ffffff80;--project-wash:#dfd8fa38;--project-task:#ffffff52;--project-hover:#7a67b60f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#ffffffc2,#faf6ece6);border:1px solid #7e705b26;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 10px 22px #7866520f,inset 0 1px #fff9}.project-card[data-palette=lavender]{--project-rail:#cbb8ea;--project-soft:#f0e7ffb8;--project-wash:#c9b5ea38;--project-task:#ffffff61;--project-hover:#8470bc0f}.project-card[data-palette=sage]{--project-rail:#b7d7b0;--project-soft:#e3f1e0b8;--project-wash:#b7d7b02e;--project-task:#ffffff63;--project-hover:#6c916a0f}.project-card[data-palette=blue]{--project-rail:#bfd3f0;--project-soft:#e3eef9b8;--project-wash:#bfd3f02e;--project-task:#ffffff5c;--project-hover:#5e7fa70f}.project-card[data-palette=peach]{--project-rail:#f5c7ad;--project-soft:#ffeee6c2;--project-wash:#f5c7ad2e;--project-task:#ffffff61;--project-hover:#b4765a0f}.project-card[data-palette=butter]{--project-rail:#f0d97b;--project-soft:#f9f2cbb8;--project-wash:#f0d97b2e;--project-task:#ffffff61;--project-hover:#a48c400f}.project-card:before{content:"";background:linear-gradient(90deg, var(--project-rail), var(--project-soft));opacity:1;height:4px;position:absolute;inset:0 0 auto}.project-card:after{content:"";background:radial-gradient(circle, var(--project-wash) 0%, #fff0 72%);pointer-events:none;border-radius:50%;width:46px;height:46px;position:absolute;inset:14px 14px auto auto}.project-completion-burst{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:visible}.project-card--composer{padding:18px 20px}.project-header-row{align-items:center;gap:10px;padding:0 12px 0 0;display:flex}.project-header{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:10px;padding:16px 16px 14px;transition:background-color .2s,transform .2s;display:flex}.project-header:hover{background:var(--project-hover);transform:translate(1px)}.project-chevron{color:#7a6d5a;width:18px;font-size:1rem;transition:transform .2s}.project-header span:nth-child(2){color:#3b3631;flex:1;font-size:1rem;font-weight:600}.project-count{background:linear-gradient(135deg, var(--project-soft), #ffffffb8);color:#5c524b;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 8px;font-size:.72rem;font-weight:700;display:inline-flex}.project-action-group{align-items:center;gap:8px;padding-right:8px;display:flex}.project-edit-button,.project-delete-button{color:#796d5d;cursor:pointer;background:#ffffff80;border:1px solid #7b6e5e26;border-radius:999px;padding:5px 8px;font-size:.8rem;transition:opacity .2s,transform .2s}.project-edit-button:hover,.project-delete-button:hover{opacity:.9;transform:translateY(-1px)}.project-inline-editor{flex:1;padding:16px 20px}.project-inline-editor input,.task-inline-editor input{width:100%;font:inherit;color:var(--text);background:#ffffffbf;border:1px solid #8f83aa33;border-radius:12px;outline:none;padding:10px 12px}.project-inline-editor input:focus,.task-inline-editor input:focus{border-color:#8276a88c;box-shadow:0 0 0 4px #8276a814}.project-body{padding:0 20px 18px;animation:.28s slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.task-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.task{background:var(--project-task);border:1px solid #796c5a14;border-radius:12px;align-items:center;gap:8px;padding:8px 10px;transition:transform .22s,opacity .22s,background-color .22s,box-shadow .22s;display:flex;position:relative;overflow:visible}.project-completion-burst{z-index:2;pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:visible}.completion-leaf{left:var(--origin-x,50%);top:var(--origin-y,50%);width:var(--leaf-size,12px);height:calc(var(--leaf-size,12px) * 1.5);background:linear-gradient(135deg, #ffffffb8, var(--leaf-color,#83ad6fe6));opacity:0;animation:.9s ease-out forwards leaf-float;animation-delay:var(--delay,0s);transform-origin:50%;border-radius:100% 0;position:absolute;box-shadow:inset -2px -3px 6px #5e492814}@keyframes leaf-float{0%{opacity:0;transform:translate(0, 0) scale(.65) rotate(var(--rotate,0deg))}15%{opacity:.7}to{opacity:0;transform:translate(var(--dx,0px), var(--dy,-18px)) scale(1.02) rotate(calc(var(--rotate,0deg) + 32deg))}}.task:hover{box-shadow:0 5px 12px #7866520a}.task.done{background:#e8f0e0ad}.task.done .task-label span{color:#6f7d73;text-decoration:line-through}.task-label{cursor:pointer;color:#2f2d2b;flex:1;align-items:center;gap:10px;display:flex}.task-label input{accent-color:#719076;cursor:pointer;width:17px;height:17px;transition:transform .2s;transform:scale(1.02)}.task-label input:checked{transform:scale(1.08)}.task-label span{flex:1;font-size:.96rem;line-height:1.4}.task-action-group{align-items:center;gap:8px;display:flex}.task-edit-button,.task-delete-button{cursor:pointer;border:none;transition:background .2s,transform .2s}.task-edit-button{color:#7b6e5c;background:#ffffff85;border-radius:999px;padding:5px 7px;font-size:.72rem}.task-delete-button{color:#7b6e5c;background:#ffffff85;border-radius:999px;width:24px;height:24px;font-size:1.1rem;line-height:1}.task-edit-button:hover,.task-delete-button:hover{transform:translateY(-1px)}.task-inline-editor{flex:1}.empty-state{color:var(--muted);margin:0 0 12px;padding:12px 12px 0}.task-input-row,.project-name-input{box-sizing:border-box;width:100%;margin-top:14px}.task-input-row input,.project-name-input{width:100%;font:inherit;color:#2c243d;background:#f9f5ffe6;border:1px solid #8f83aa38;border-radius:12px;outline:none;padding:10px 12px}.task-input-row input:focus,.project-name-input:focus{border-color:#8276a88c;box-shadow:0 0 0 4px #8276a814}.add-task-button,.new-project-button,.utility-button{appearance:none;cursor:pointer;font:inherit;background:0 0;border:none;transition:transform .2s,opacity .2s,box-shadow .2s}.add-task-button{color:#5e4c7d;margin-top:12px;padding:0;font-weight:600}.actions-row{z-index:1;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:6px;display:flex;position:relative}.new-project-button,.utility-button{border-radius:999px;padding:10px 14px;font-weight:600}.new-project-button{color:#2f2a29;background:linear-gradient(135deg,#f2e0a1d9,#e8f3e4e6);box-shadow:0 8px 18px #80673a1a}.utility-button{color:var(--text-soft);background:#ffffff94;border:1px solid #8f83aa2e}.small-affirmation{text-align:center;color:#8d7863;opacity:.85;flex:1;font-size:.7rem;font-style:italic}.add-task-button:hover,.new-project-button:hover,.utility-button:hover,.project-header:hover{transform:translateY(-1px)}.add-task-button:active,.new-project-button:active,.utility-button:active{transform:translateY(0)}@media (width<=560px){.app-shell{width:calc(100% - 32px)}.actions-row{grid-template-columns:1fr auto}.small-affirmation{grid-area:2/1/auto/-1;justify-self:center}.project-header{padding:16px}.project-body{padding:0 16px 16px}}.actions-row{position:relative}.actions-row .small-affirmation{white-space:nowrap;text-align:center;margin:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.site-philosophy{text-align:center}.kofi-link{color:#6b5a4d;width:fit-content;font:inherit;letter-spacing:.04em;background:#ffffff9e;border:1px solid #8f83aa29;border-radius:999px;justify-content:center;align-items:center;margin:10px auto 0;padding:9px 16px;font-size:.82rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s,background-color .2s;display:flex;box-shadow:0 7px 18px #7866520f}.kofi-link:hover{background:#ffffffc7;transform:translateY(-1px);box-shadow:0 9px 20px #78665217}.kofi-link:active{transform:translateY(0)}@media (width<=560px){.actions-row{grid-template-columns:1fr 1fr;row-gap:10px}.actions-row .new-project-button{justify-self:start}.actions-row .utility-button{justify-self:end}.actions-row .small-affirmation{white-space:nowrap;grid-area:2/1/auto/-1;justify-self:center;margin:0;position:static;transform:none}}
