@import"https://fonts.googleapis.com/css2?family=Vend+Sans:wght@400;500;600;700&display=swap";:root{--paper: #f7f2e8;--paper-dark: #ede7d8;--grid: rgba(130, 180, 230, .15);--ink: #2c1a0e;--ink-light: #6b4e36;--ink-faint: #b09880;--accent: #3d6fa8;--accent-soft: rgba(61, 111, 168, .15);--done: #4a7c59;--started: #3d6fa8;--abandoned: #9a3b3b;--pushed: #9c6a2e;--event: #7e3f8f;--appointment: #2d6d78;--today-ring: #3d6fa8;--nav-bg: rgba(247, 242, 232, .92);--radius: 6px;--grid-size: 64px;font-family:Vend Sans,sans-serif;font-size:22px;line-height:2;color:var(--ink);background-color:var(--paper)}@media (prefers-color-scheme: dark){:root{--paper: #1c1a14;--paper-dark: #252318;--grid: rgba(80, 120, 180, .18);--ink: #e8dfc8;--ink-light: #b8a890;--ink-faint: #6b5c48;--accent: #7eb0e0;--accent-soft: rgba(126, 176, 224, .15);--done: #7aaf8a;--started: #7eb0e0;--abandoned: #d47a7a;--pushed: #d4934a;--event: #c07ad0;--appointment: #7ec0c8;--today-ring: #7eb0e0;--nav-bg: rgba(28, 26, 20, .92)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{min-height:100dvh;background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size)}#root{min-height:100dvh}.app{max-width:680px;margin:0 auto;padding-bottom:4rem}.week-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--nav-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1.5px solid var(--grid)}.week-nav-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:0}.week-nav-status{display:flex;align-items:center;gap:.45rem}.week-range{font-size:1.1rem;font-weight:600;color:var(--ink);letter-spacing:.01em}.today-btn{font-family:Vend Sans,sans-serif;font-size:.85rem;color:var(--ink-light);background:none;border:none;cursor:pointer;padding:0;line-height:1;text-decoration:underline;text-underline-offset:2px}.today-btn:hover{color:var(--accent)}.nav-btn{background:none;border:none;color:var(--ink-light);cursor:pointer;padding:.2rem;border-radius:var(--radius);line-height:0;transition:color .15s,background .15s}.nav-btn:hover{color:var(--accent);background:var(--accent-soft)}.nav-btn-icon{display:block}.sync-indicator{display:flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem}.sync-icon{flex-shrink:0}.sync-icon.online{color:var(--done)}.sync-icon.offline{color:var(--ink-faint)}.sync-icon.error{color:#c94b4b}.sync-icon.syncing{color:var(--accent);animation:sync-spin .9s linear infinite;transform-origin:center}@keyframes sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.journal{padding:0 1rem}.day-section{padding:1.2rem 0 .8rem;border-bottom:1.5px solid var(--grid)}.forgotten-section{border:1.5px dashed var(--ink-faint);border-radius:6px;padding:.8rem 1rem;margin:1rem 0}.forgotten-section .day-name{color:var(--ink-light);font-style:italic}.day-section--today .day-header{position:relative}.day-section--today .day-header:before{content:"";position:absolute;left:-.6rem;top:50%;transform:translateY(-50%);width:4px;height:80%;background:var(--today-ring);border-radius:2px}.day-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem;padding-left:.2rem;position:relative}.day-name{font-size:1.55rem;font-weight:700;color:var(--ink);line-height:1}.day-date{font-size:1rem;color:var(--ink-light);font-weight:400}.today-pill{font-size:.75rem;font-weight:600;color:var(--accent);border:1.5px solid var(--accent);border-radius:999px;padding:0 .4rem;line-height:1.4;letter-spacing:.02em}.bullet-list{list-style:none;display:flex;flex-direction:column;gap:.1rem}.bullet-item{display:flex;align-items:flex-start;gap:.4rem;min-height:2rem;padding:.1rem 0;position:relative}.bullet-item--carried .bullet-icon,.bullet-item--carried .bullet-content{opacity:.85}.bullet-item--carried .bullet-content{font-style:italic}.carried-badge{display:inline-flex;align-items:center;justify-content:center;color:var(--ink-faint);flex-shrink:0}.reschedule-anchor{position:relative;display:inline-flex;align-items:center;flex-shrink:0;height:calc(1.1rem * 1.5)}.reschedule-trigger,.reschedule-badge{background:none;border:none;padding:0;cursor:pointer;color:var(--ink-faint);display:inline-flex;align-items:center;justify-content:center;border-radius:3px;transition:color .15s}.reschedule-trigger:hover,.reschedule-trigger:focus-visible,.reschedule-badge:hover,.reschedule-badge:focus-visible{color:var(--pushed);outline:none}.reschedule-badge{color:var(--pushed);opacity:.7;gap:.15rem}.reschedule-badge:hover,.reschedule-badge:focus-visible{opacity:1}.reschedule-date{font-size:.85rem;font-variant-numeric:tabular-nums}.date-picker-popover{position:absolute;top:calc(100% + .4rem);right:0;z-index:20;background:var(--paper);border:1.5px solid var(--grid);border-radius:var(--radius);box-shadow:0 8px 24px #0000002e;padding:.6rem;width:17rem;font-size:.85rem;line-height:1.3;color:var(--ink)}.date-picker-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.date-picker-title{font-weight:600;color:var(--ink)}.date-picker-nav{background:none;border:none;padding:.2rem .35rem;cursor:pointer;color:var(--ink-light);display:inline-flex;align-items:center;border-radius:3px;transition:background .15s,color .15s}.date-picker-nav:hover,.date-picker-nav:focus-visible{background:var(--accent-soft);color:var(--ink);outline:none}.date-picker-weekdays,.date-picker-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.date-picker-weekday{text-align:center;font-size:.7rem;color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;padding:.2rem 0}.date-picker-cell{background:none;border:none;padding:.35rem 0;cursor:pointer;font:inherit;color:var(--ink);border-radius:3px;text-align:center;transition:background .15s,color .15s,outline-color .15s}.date-picker-cell:hover:not(:disabled),.date-picker-cell:focus-visible:not(:disabled){background:var(--accent-soft);outline:none}.date-picker-cell--out{color:var(--ink-faint)}.date-picker-cell--disabled{color:var(--ink-faint);opacity:.4;cursor:not-allowed}.date-picker-cell--today{outline:1.5px solid var(--today-ring);outline-offset:-1.5px}.date-picker-cell--selected{background:var(--accent-soft);font-weight:600}.bullet-icon{flex-shrink:0;background:none;border:none;padding:0;cursor:pointer;color:var(--ink-faint);display:flex;align-items:center;justify-content:center;border-radius:3px;transition:color .15s;height:calc(1.1rem * 1.5);overflow:visible}.bullet-icon-svg--add{opacity:.65}.bullet-icon-stack{position:relative;display:inline-flex}.bullet-icon-stack svg{position:absolute;top:0;right:0;bottom:0;left:0}.bullet-icon-stack__overlay{transform:scale(.92)}.bullet-icon--task{color:var(--ink-light)}.bullet-icon--task.bullet-icon--started{color:var(--started)}.bullet-icon--task.bullet-icon--done{color:var(--done)}.bullet-icon--task.bullet-icon--abandoned{color:var(--abandoned)}.bullet-icon--task.bullet-icon--pushed{color:var(--pushed)}.bullet-icon--event{color:var(--event)}.bullet-icon--event.bullet-icon--abandoned{color:var(--abandoned)}.bullet-icon--appointment{color:var(--appointment)}.bullet-icon--appointment.bullet-icon--done{color:var(--done)}.bullet-icon--appointment.bullet-icon--abandoned{color:var(--abandoned)}.bullet-icon--note{color:var(--ink-faint)}.bullet-icon--note.bullet-icon--abandoned{color:var(--abandoned)}.bullet-icon--add{color:var(--ink-faint)}.bullet-icon:hover{color:var(--accent)!important}.bullet-content{flex:1;font-family:Vend Sans,sans-serif;font-size:1.1rem;font-weight:400;color:var(--ink);background:transparent;border:none;outline:none;padding:0;line-height:1.5;min-width:0;resize:none;overflow:hidden;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap;display:block}.bullet-content::placeholder{color:var(--ink-faint)}.bullet-item--task .bullet-icon--done~.bullet-content{color:var(--ink-light)}.bullet-item--task:has(.bullet-icon--started) .bullet-content{color:var(--started)}.bullet-item--task:has(.bullet-icon--done) .bullet-content{color:var(--done)}.bullet-item--task:has(.bullet-icon--abandoned) .bullet-content{color:var(--ink-faint);text-decoration:line-through;text-decoration-color:var(--ink-faint)}.bullet-item--event:has(.bullet-icon--abandoned) .bullet-content,.bullet-item--appointment:has(.bullet-icon--abandoned) .bullet-content,.bullet-item--note:has(.bullet-icon--abandoned) .bullet-content{color:var(--ink-faint);text-decoration:line-through;text-decoration-color:var(--ink-faint)}.bullet-item--appointment:has(.bullet-icon--done) .bullet-content{color:var(--done)}.bullet-item--task:has(.bullet-icon--pushed) .bullet-content{color:var(--pushed)}.sign-in-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem}.sign-in-card{display:flex;flex-direction:column;align-items:center;gap:1rem;background:var(--paper-dark);border:1.5px solid var(--grid);border-radius:12px;padding:2.5rem 3rem;box-shadow:0 4px 24px #00000014;max-width:360px;width:100%}.sign-in-icon img{border-radius:12px}.sign-in-title{font-size:2.2rem;font-weight:700;color:var(--ink);margin:0;text-align:center}.sign-in-sub{font-size:1rem;color:var(--ink-light);text-align:center}.sign-in-btn{font-family:Vend Sans,sans-serif;font-size:1.2rem;font-weight:600;color:var(--paper);background:var(--ink);border:none;border-radius:var(--radius);padding:.5rem 2rem;cursor:pointer;transition:opacity .15s;margin-top:.5rem}.sign-in-btn:hover{opacity:.8}@media (max-width: 480px){:root{font-size:16px}.week-nav{padding:.5rem .75rem}.journal{padding:0 .75rem}.day-name{font-size:1.35rem}.sign-in-card{padding:2rem 1.5rem}}
