:root{--ink:#14231c;--ink-soft:#5a6b62;--ink-faint:#8b988f;--surface:#f6f5f0;--card:#fff;--line:#e4e4dc;--brand:#17402e;--brand-ink:#eaf4ee;--accent:#2fa36b;--accent-soft:#dff2e7;--status-pending:#b7791f;--status-pending-soft:#f9eedc;--status-progress:#2b6cb0;--status-progress-soft:#e1ecf7;--status-done:#2f855a;--status-done-soft:#dff2e7;--note-plain:#fff;--note-paper:#fbf3d5;--note-mint:#e2f3e7;--note-blush:#fbe7e4;--note-sky:#e3eff9;--note-sun:#fdebc8;--ws-green:#2fa36b;--ws-amber:#d99a2b;--ws-blue:#3f7fbf;--ws-rose:#d26a7c;--ws-violet:#8a6fc9;--ws-slate:#6b7a74;--r-sm:10px;--r-md:16px;--r-lg:24px;--shadow-card:0 1px 2px #14231c0f, 0 4px 16px #14231c12;--shadow-float:0 8px 30px #14231c38;--danger:#b23b2e;--scrim:#14231c59;--font-display:"Bricolage Grotesque", serif;--font-body:"Instrument Sans", sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e8ede9;--ink-soft:#a8b5ac;--ink-faint:#6e7b72;--surface:#131a16;--card:#1c2420;--line:#2a342e;--brand:#2fa36b;--brand-ink:#0e1511;--accent:#3fbf7f;--accent-soft:#3fbf7f29;--status-pending:#d9a94b;--status-pending-soft:#d9a94b24;--status-progress:#6fa8dc;--status-progress-soft:#6fa8dc24;--status-done:#57b98a;--status-done-soft:#57b98a24;--note-plain:#1c2420;--note-paper:#2e2a1c;--note-mint:#1d2b22;--note-blush:#2c2022;--note-sky:#1d2630;--note-sun:#2e2718;--shadow-card:0 1px 2px #0006;--shadow-float:0 8px 30px #00000080;--danger:#e06a5d;--scrim:#00000080}}:root[data-theme=dark]{--ink:#e8ede9;--ink-soft:#a8b5ac;--ink-faint:#6e7b72;--surface:#131a16;--card:#1c2420;--line:#2a342e;--brand:#2fa36b;--brand-ink:#0e1511;--accent:#3fbf7f;--accent-soft:#3fbf7f29;--status-pending:#d9a94b;--status-pending-soft:#d9a94b24;--status-progress:#6fa8dc;--status-progress-soft:#6fa8dc24;--status-done:#57b98a;--status-done-soft:#57b98a24;--note-plain:#1c2420;--note-paper:#2e2a1c;--note-mint:#1d2b22;--note-blush:#2c2022;--note-sky:#1d2630;--note-sun:#2e2718;--shadow-card:0 1px 2px #0006;--shadow-float:0 8px 30px #00000080;--danger:#e06a5d;--scrim:#00000080}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background-color:var(--surface);background-image:radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--ink) 3.5%, transparent) 1px, transparent 0);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background-size:3px 3px;margin:0}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}button{color:inherit;font-family:inherit}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--due-over:var(--danger)}.note-card{border-radius:var(--r-md);box-shadow:var(--shadow-card);cursor:pointer;break-inside:avoid;flex-direction:column;gap:6px;margin-bottom:12px;padding:14px 16px 12px;transition:box-shadow .16s,transform .16s;animation:.24s cubic-bezier(.2,.9,.3,1) both pop-in;display:flex;position:relative}.note-card:active{transform:scale(.99)}.note-card--plain{background:var(--note-plain);border:1px solid var(--line)}.note-card--paper{background:var(--note-paper)}.note-card--mint{background:var(--note-mint)}.note-card--blush{background:var(--note-blush)}.note-card--sky{background:var(--note-sky)}.note-card--sun{background:var(--note-sun)}.note-card--completed{opacity:.72}.note-card--completed .note-card__title{text-decoration:line-through;-webkit-text-decoration-color:var(--ink-faint);text-decoration-color:var(--ink-faint)}.note-card__pin{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--ink-faint);opacity:.55;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .16s,background .16s,color .16s;display:flex;position:absolute;top:2px;right:2px}.note-card__pin:hover,.note-card__pin:focus-visible{opacity:1;background:color-mix(in srgb, var(--ink) 6%, transparent)}.note-card__pin--active{color:var(--brand);opacity:1}.note-card__thumb{border-radius:var(--r-sm);width:100%;max-height:96px;margin-bottom:2px;overflow:hidden}.note-card__thumb img{object-fit:cover;width:100%;height:96px}.note-card__workspace{border:1px solid var(--line);color:var(--ink-faint);font:500 10px/1 var(--font-body);letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-self:flex-start;margin-bottom:6px;padding:4px 8px;display:inline-block}.note-card__repeat{color:var(--ink-faint);display:inline-flex}.note-card__title-row{align-items:flex-start;gap:6px;display:flex}.note-card__priority-dot{border-radius:50%;flex:none;width:6px;height:6px;margin-top:6px}.note-card__priority-dot--high{background:var(--due-over)}.note-card__priority-dot--low{border:1.5px solid var(--ink-faint);background:0 0}.note-card__title{font-family:var(--font-display);color:var(--ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;padding-right:28px;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.note-card__preview{color:var(--ink-soft);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.note-card__preview--summary{align-items:flex-start;gap:5px;display:flex}.note-card__summary-icon{color:var(--accent);flex:none;margin-top:2px}.note-card__checklist{flex-direction:column;gap:4px;margin-top:2px;display:flex}.note-card__checklist-item{color:var(--ink);align-items:center;gap:7px;font-size:12.5px;display:flex}.note-card__checklist-item--done{color:var(--ink-faint);text-decoration:line-through}.note-card__checklist-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.note-card__checkbox{border:1.5px solid var(--ink-faint);border-radius:50%;flex:none;justify-content:center;align-items:center;width:14px;height:14px;display:flex}.note-card__checkbox-dot{background:var(--accent);border-radius:50%;width:7px;height:7px}.note-card__checkbox--interactive{cursor:pointer;margin:0;padding:0;position:relative}.note-card__checkbox--interactive:before{content:"";position:absolute;inset:-8px}.note-card__checkbox--interactive:hover{border-color:var(--accent)}.note-card__checkbox--interactive:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.note-card__checklist-more{color:var(--ink-faint);padding-left:21px;font-size:12px}.note-card__link-chip{color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:3px 8px;font-size:11.5px;display:inline-flex}.note-card__tags{flex-wrap:wrap;gap:6px;display:flex}.note-card__tag{color:var(--accent);font-size:11.5px}.note-card__footer{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.note-card__footer-left,.note-card__footer-right{align-items:center;gap:6px;display:flex}.note-card__footer-right{color:var(--ink-faint)}.note-card__due{border-radius:999px;align-items:center;gap:3px;min-height:28px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.note-card__due--over{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--due-over)}.note-card__due--today{background:var(--status-pending-soft);color:var(--status-pending)}.note-card__due--future{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink-faint)}.note-card__status{cursor:pointer;border:none;border-radius:999px;min-height:32px;padding:6px 12px;font-size:11.5px;font-weight:600}.note-card__status--pending{background:var(--status-pending-soft);color:var(--status-pending)}.note-card__status--in-progress{background:var(--status-progress-soft);color:var(--status-progress)}.note-card__status--completed{background:var(--status-done-soft);color:var(--status-done)}.note-card__date{color:var(--ink-faint);font-size:11px}.note-grid{columns:2;column-gap:12px;width:100%}.note-grid>*{break-inside:avoid;width:100%;margin-bottom:12px;display:inline-block}@media (width>=700px){.note-grid{columns:3}}@media (width>=1024px){.note-grid{columns:4}}@media (width>=1440px){.note-grid{columns:5}}@media (width>=1800px){.note-grid{columns:6}}.status-tabs{scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.status-tabs::-webkit-scrollbar{display:none}.status-tabs__pill{border:1px solid var(--line);min-height:44px;color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.status-tabs__pill--active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.status-tabs__badge{background:color-mix(in srgb, var(--ink) 8%, transparent);min-width:18px;height:18px;color:inherit;border-radius:999px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex}.status-tabs__pill--active .status-tabs__badge{background:color-mix(in srgb, var(--brand-ink) 22%, transparent)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:64px 24px;display:flex}.empty-state__illustration{margin-bottom:12px}.empty-state__title{color:var(--ink);font-size:18px;font-weight:600}.empty-state__subtitle{color:var(--ink-soft);max-width:280px;font-size:13.5px;line-height:1.5}.empty-state__cta{border:1px dashed var(--accent);min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;margin-top:18px;padding:0 22px;font-size:14px;font-weight:600;transition:background .16s}.empty-state__cta:hover{background:var(--accent-soft)}.editor-overlay{z-index:40;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.editor{background:var(--card);flex-direction:column;width:100%;animation:.26s cubic-bezier(.2,.9,.3,1) editor-rise;display:flex}@media (width>=700px){.editor-overlay{padding:4vh 16px}.editor{border-radius:var(--r-lg);max-width:640px;box-shadow:var(--shadow-float);overflow:hidden}}@keyframes editor-rise{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.editor{animation:none}}.editor--plain{background:var(--note-plain)}.editor--paper{background:var(--note-paper)}.editor--mint{background:var(--note-mint)}.editor--blush{background:var(--note-blush)}.editor--sky{background:var(--note-sky)}.editor--sun{background:var(--note-sun)}.editor__bar{padding:10px 12px 4px;padding-top:max(10px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex}.editor__bar-actions{align-items:center;gap:4px;display:flex}.editor__done{background:var(--brand);color:var(--brand-ink);font:600 14px/1 var(--font-body);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;margin-left:6px;padding:12px 18px;display:inline-flex}.danger-pill{border:1px solid var(--danger);color:var(--danger);font:600 12px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:12px 14px;animation:.2s cubic-bezier(.2,.9,.3,1) pop-in;display:inline-flex}.danger-pill:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}.editor__palette{gap:10px;padding:8px 16px;display:flex}.swatch{border:1px solid var(--line);cursor:pointer;border-radius:50%;width:32px;height:32px;transition:transform .14s}.swatch--active{outline:2px solid var(--accent);outline-offset:2px;transform:scale(1.08)}.swatch--plain{background:var(--note-plain)}.swatch--paper{background:var(--note-paper)}.swatch--mint{background:var(--note-mint)}.swatch--blush{background:var(--note-blush)}.swatch--sky{background:var(--note-sky)}.swatch--sun{background:var(--note-sun)}.editor__scroll{flex-direction:column;flex:1;gap:12px;padding:4px 20px 20px;display:flex;overflow-y:auto}.editor__title{font:600 24px/1.25 var(--font-display);color:var(--ink);background:0 0;border:0;padding:4px 0}.editor__title::placeholder{color:var(--ink-faint)}.editor__title:focus{outline:none}.editor__status{gap:8px;display:flex}.status-pill{border:1px solid var(--line);color:var(--ink-soft);font:500 12px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;padding:9px 14px;transition:all .16s}.status-pill--active.status-pill--pending{background:var(--status-pending-soft);color:var(--status-pending);border-color:currentColor}.status-pill--active.status-pill--in-progress{background:var(--status-progress-soft);color:var(--status-progress);border-color:currentColor}.status-pill--active.status-pill--completed{background:var(--status-done-soft);color:var(--status-done);border-color:currentColor}.editor__plan{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editor__plan-group{align-items:center;display:flex}.plan-pill{border:1px solid var(--line);color:var(--ink-soft);font:500 12px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:9px 12px;transition:all .16s;display:inline-flex}.plan-pill--add:hover{border-color:var(--accent);color:var(--brand)}.plan-pill--due{gap:2px;padding:4px 4px 4px 12px}.plan-pill--overdue{border-color:var(--danger);color:var(--danger)}.plan-pill__label{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:5px 2px;display:inline-flex}.plan-pill__clear{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.plan-pill__clear:hover{background:color-mix(in srgb, var(--ink) 8%, transparent)}.due-presets{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.due-preset-chip{border:1px solid var(--line);color:var(--ink-soft);font:500 12px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:9px 12px;transition:all .16s;display:inline-flex}.due-preset-chip:hover{border-color:var(--accent);color:var(--brand)}.due-preset-chip--cancel{color:var(--ink-faint);padding:9px}.editor__due-input{border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb, var(--card) 70%, transparent);font:400 13px/1 var(--font-body);color:var(--ink);padding:9px 10px}.editor__priority{border:1px solid var(--line);border-radius:999px;gap:2px;padding:2px;display:inline-flex}.priority-pill{color:var(--ink-soft);font:500 11.5px/1 var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:7px 10px;transition:all .16s}.priority-pill--active.priority-pill--low{background:color-mix(in srgb, var(--ink-faint) 18%, transparent);color:var(--ink-soft)}.priority-pill--active.priority-pill--normal{background:var(--accent-soft);color:var(--brand)}.priority-pill--active.priority-pill--high{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.editor__goal-select{border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb, var(--card) 70%, transparent);font:400 13px/1 var(--font-body);color:var(--ink);max-width:100%;padding:9px 10px}.editor__already-done{background:var(--status-done-soft);border:1px solid var(--status-done);color:var(--status-done);font:500 12px/1.5 var(--font-body);border-radius:var(--r-sm);flex-wrap:wrap;align-self:flex-start;align-items:center;gap:6px;padding:8px 12px;animation:.24s cubic-bezier(.2,.9,.3,1) pop-in;display:inline-flex}.editor__already-done button{color:var(--status-done);font:600 12px/1 var(--font-body);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:4px;text-decoration:underline}.editor__summary{background:color-mix(in srgb, var(--card) 65%, transparent);border:1px solid var(--line);border-radius:var(--r-sm);padding:10px 12px;position:relative}.editor__summary-head{font:600 11px/1 var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;display:inline-flex}.editor__summary textarea{resize:vertical;width:100%;font:400 14px/1.5 var(--font-body);color:var(--ink);background:0 0;border:0;margin-top:6px}.editor__summary textarea:focus{outline:none}.editor__summary-clear{color:var(--ink-faint);font:500 12px/1 var(--font-body);cursor:pointer;background:0 0;border:0;padding:4px 0 0}.editor__body{resize:none;font:400 16px/1.6 var(--font-body);color:var(--ink);background:0 0;border:0;min-height:96px}.editor__body::placeholder{color:var(--ink-faint)}.editor__body:focus{outline:none}.editor__listening{font:500 13px/1.4 var(--font-body);color:var(--accent);align-items:center;gap:8px;display:flex}.editor__listening em{color:var(--ink-soft);font-style:italic}.pulse-dot{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5;transform:scale(1.6)}}.editor__checklist{flex-direction:column;gap:4px;list-style:none;display:flex}.editor__checklist li{align-items:center;gap:10px;display:flex}.polish-toggle{border:1px solid var(--line);color:var(--ink-faint);font:500 11px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;margin-left:auto;padding:8px 10px;transition:all .14s;display:inline-flex}.polish-toggle--on{border-color:var(--accent);background:var(--accent-soft);color:var(--brand)}.editor__polish-chip{background:var(--accent-soft);border:1px solid var(--accent);color:var(--brand);font:500 12px/1 var(--font-body);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:8px 12px;animation:.24s cubic-bezier(.2,.9,.3,1) pop-in;display:inline-flex}.editor__polish-chip button{color:var(--accent);font:600 12px/1 var(--font-body);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:4px;text-decoration:underline}.editor__checklist input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex-shrink:0}.editor__checklist input[type=text]{font:400 15px/1.5 var(--font-body);color:var(--ink);background:0 0;border:0;border-bottom:1px solid #0000;flex:1;padding:8px 0}.editor__checklist input[type=text]:focus{border-bottom-color:var(--line);outline:none}.editor__checklist input[type=text].done{color:var(--ink-faint);text-decoration:line-through}.editor__media{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.editor__media figure{border-radius:var(--r-sm);position:relative;overflow:hidden}.editor__media img{object-fit:cover;width:100%;height:120px;display:block}.editor__media-remove{position:absolute;top:6px;right:6px;color:#fff!important;background:#0000008c!important}.editor__links{flex-direction:column;gap:6px;list-style:none;display:flex}.editor__links li{color:var(--ink-soft);align-items:center;gap:8px;font-size:14px;display:flex}.editor__links a{color:var(--brand);text-underline-offset:3px;overflow-wrap:anywhere;flex:1;text-decoration:underline}.editor__inline-add{gap:8px;display:flex}.editor__inline-add input{border:1px solid var(--line);border-radius:var(--r-sm);background:color-mix(in srgb, var(--card) 70%, transparent);font:400 14px/1 var(--font-body);flex:1;padding:10px 12px}.editor__inline-add button{background:var(--brand);color:var(--brand-ink);border-radius:var(--r-sm);font:600 13px/1 var(--font-body);cursor:pointer;border:0;padding:0 16px}.editor__tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-chip{background:color-mix(in srgb, var(--brand) 8%, transparent);color:var(--brand);font:500 12px/1 var(--font-body);border-radius:999px;align-items:center;gap:4px;padding:7px 10px;display:inline-flex}.tag-chip button{color:inherit;cursor:pointer;background:0 0;border:0;padding:2px;display:inline-flex}.editor__tags>input{font:400 13px/1 var(--font-body);color:var(--ink);background:0 0;border:0;min-width:80px;padding:8px 4px}.editor__tags>input:focus{outline:none}.editor__hint{font:400 13px/1.5 var(--font-body);color:var(--ink-soft);align-items:center;gap:6px;display:flex}.editor__hint--error{color:var(--danger)}.editor__toolbar{padding:8px 12px;padding-bottom:max(8px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb, var(--card) 55%, transparent);align-items:center;gap:2px;display:flex}.editor__toolbar-gap{flex:1}.icon-btn{width:44px;height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;transition:background .14s,color .14s;display:inline-flex}.icon-btn:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn--sm{width:32px;height:32px}.icon-btn--live{background:var(--accent);color:#fff;animation:1.4s ease-in-out infinite pulse}.icon-btn--live:hover{background:var(--accent);color:#fff}.ai-btn{border:1px solid var(--accent);background:var(--accent-soft);color:var(--brand);font:600 12px/1 var(--font-body);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:11px 12px;transition:filter .14s;display:inline-flex}.ai-btn:hover{filter:brightness(.97)}.ai-btn:disabled{opacity:.45;cursor:not-allowed}.ws-chips{scrollbar-width:none;-ms-overflow-style:none;align-items:center;gap:8px;padding:2px;display:flex;overflow-x:auto}.ws-chips::-webkit-scrollbar{display:none}.ws-chip{border:1px solid var(--line);min-height:44px;color:var(--ink-soft);font:600 13px/1 var(--font-body);cursor:pointer;white-space:nowrap;background:0 0;border-radius:999px;flex:none;align-items:center;gap:8px;padding:8px 14px;transition:background .16s,color .16s,border-color .16s;display:inline-flex}.ws-chip--active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.ws-chip__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.ws-chip__dot--green{background:var(--ws-green)}.ws-chip__dot--amber{background:var(--ws-amber)}.ws-chip__dot--blue{background:var(--ws-blue)}.ws-chip__dot--rose{background:var(--ws-rose)}.ws-chip__dot--violet{background:var(--ws-violet)}.ws-chip__dot--slate{background:var(--ws-slate)}.ws-chip__name{text-overflow:ellipsis;max-width:140px;overflow:hidden}.ws-chip__edit{background:color-mix(in srgb, var(--brand-ink) 20%, transparent);width:28px;height:28px;color:inherit;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:-6px -6px -6px 0;transition:background .14s;display:inline-flex}.ws-chip__edit:hover{background:color-mix(in srgb, var(--brand-ink) 35%, transparent)}.ws-chip--add{border-style:dashed;border-color:var(--accent);color:var(--accent);gap:0;padding:8px 12px}.ws-chip:focus-visible,.ws-chip__edit:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ws-sheet-overlay{z-index:40;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.ws-sheet{background:var(--card);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:640px;padding:20px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:var(--shadow-float);flex-direction:column;gap:16px;animation:.22s cubic-bezier(.2,.9,.3,1) ws-sheet-rise;display:flex}@media (width>=700px){.ws-sheet-overlay{align-items:center}.ws-sheet{border-radius:var(--r-lg)}}@keyframes ws-sheet-rise{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.ws-sheet{animation:none}}.ws-sheet__heading{font:700 20px/1.2 var(--font-display);color:var(--ink)}.ws-sheet__name{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);height:48px;font:400 16px/1 var(--font-body);color:var(--ink);padding:0 14px}.ws-sheet__name:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.ws-sheet__name::placeholder{color:var(--ink-faint)}.ws-sheet__colors{flex-wrap:wrap;gap:12px;display:flex}.ws-swatch{border:1px solid var(--line);cursor:pointer;border-radius:50%;width:32px;height:32px;transition:transform .14s}.ws-swatch--active{outline:2px solid var(--accent);outline-offset:2px;transform:scale(1.08)}.ws-swatch--green{background:var(--ws-green)}.ws-swatch--amber{background:var(--ws-amber)}.ws-swatch--blue{background:var(--ws-blue)}.ws-swatch--rose{background:var(--ws-rose)}.ws-swatch--violet{background:var(--ws-violet)}.ws-swatch--slate{background:var(--ws-slate)}.ws-sheet__save{background:var(--brand);min-height:48px;color:var(--brand-ink);font:600 15px/1 var(--font-body);cursor:pointer;border:0;border-radius:999px;width:100%}.ws-sheet__save:disabled{opacity:.45;cursor:not-allowed}.ws-sheet__delete{border:1px solid var(--danger);min-height:44px;color:var(--danger);font:600 14px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px}.ws-sheet__caption{font:400 13px/1.4 var(--font-body);color:var(--ink-faint);text-align:center}.ws-sheet__confirm{flex-direction:column;gap:10px;display:flex}.ws-sheet__confirm p{font:400 13px/1.4 var(--font-body);color:var(--ink-soft)}.ws-sheet__confirm-actions{gap:10px;display:flex}.ws-sheet__cancel{border:1px solid var(--line);min-height:44px;color:var(--ink);font:600 14px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;flex:1}.ws-sheet__delete-confirm{background:var(--danger);color:#fff;min-height:44px;font:600 14px/1 var(--font-body);cursor:pointer;border:0;border-radius:999px;flex:1}.ws-sheet__name:focus-visible,.ws-swatch:focus-visible,.ws-sheet__save:focus-visible,.ws-sheet__delete:focus-visible,.ws-sheet__cancel:focus-visible,.ws-sheet__delete-confirm:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.today-view{flex-direction:column;gap:20px;padding-bottom:12px;display:flex}.today-briefing{background:var(--accent-soft);border-radius:var(--r-lg);align-items:flex-start;gap:10px;padding:16px 18px;display:flex}.today-briefing__icon{color:var(--brand);flex:none;margin-top:2px}.today-briefing__text{color:var(--brand);font-size:14.5px;font-weight:500;line-height:1.5}.today-list{flex-direction:column;gap:10px;display:flex}.today-item{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer;box-shadow:var(--shadow-card);align-items:center;gap:14px;padding:12px 14px;transition:box-shadow .16s,transform .16s;display:flex}.today-item:active{transform:scale(.99)}.today-item__ordinal{font-family:var(--font-display);color:var(--accent);flex:none;min-width:38px;font-size:22px;font-weight:700}.today-item__body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.today-item__title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.today-item__reasons{flex-wrap:wrap;gap:6px;display:flex}.today-item__reason{color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:999px;padding:3px 8px;font-size:11px}.today-item__actions{flex:none;align-items:center;gap:4px;display:flex}.today-item__snooze{color:var(--ink-faint);cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;padding:6px;font-size:11px;font-weight:600}.today-item__snooze:hover,.today-item__snooze:focus-visible{color:var(--accent)}.today-item__complete{border:1.5px solid var(--accent);width:44px;height:44px;color:var(--accent);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background .16s,color .16s;display:flex}.today-item__complete:hover,.today-item__complete:focus-visible{background:var(--accent);color:#fff}.today-empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:48px 24px;display:flex}.today-empty__sun{margin-bottom:8px}.today-empty__title{color:var(--ink);font-size:17px;font-weight:600}.today-empty__subtitle{color:var(--ink-soft);font-size:13.5px}.today-later__heading{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-size:12.5px;font-weight:700}.today-later__list{flex-direction:column;gap:2px;display:flex}.today-later__row{border-radius:var(--r-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:44px;padding:8px 10px;transition:background .14s;display:flex}.today-later__row:hover,.today-later__row:focus-visible{background:color-mix(in srgb, var(--ink) 5%, transparent)}.today-later__when{color:var(--ink-faint);flex:none;min-width:96px;font-size:12px}.today-later__title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.goal-sheet-overlay{z-index:40;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.goal-sheet{background:var(--card);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:640px;padding:20px 20px calc(20px + env(safe-area-inset-bottom));box-shadow:var(--shadow-float);flex-direction:column;gap:16px;animation:.22s cubic-bezier(.2,.9,.3,1) goal-sheet-rise;display:flex}@media (width>=700px){.goal-sheet-overlay{align-items:center}.goal-sheet{border-radius:var(--r-lg)}}@keyframes goal-sheet-rise{0%{opacity:0;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.goal-sheet{animation:none}}.goal-sheet__heading{font:700 20px/1.2 var(--font-display);color:var(--ink)}.goal-sheet__input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);height:48px;font:400 16px/1 var(--font-body);color:var(--ink);padding:0 14px}.goal-sheet__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.goal-sheet__input::placeholder{color:var(--ink-faint)}.goal-sheet__field{font:600 12.5px/1 var(--font-body);color:var(--ink-soft);flex-direction:column;gap:6px;display:flex}.goal-sheet__date,.goal-sheet__select{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);height:48px;font:400 15px/1 var(--font-body);color:var(--ink);padding:0 14px}.goal-sheet__date:focus,.goal-sheet__select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.goal-sheet__save{background:var(--brand);min-height:48px;color:var(--brand-ink);font:600 15px/1 var(--font-body);cursor:pointer;border:0;border-radius:999px;width:100%}.goal-sheet__save:disabled{opacity:.45;cursor:not-allowed}.goal-sheet__input:focus-visible,.goal-sheet__date:focus-visible,.goal-sheet__select:focus-visible,.goal-sheet__save:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.goals-view{flex-direction:column;gap:18px;padding-bottom:12px;display:flex}.goals-view__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.goals-view__heading{font:700 22px/1.2 var(--font-display);color:var(--ink)}.goals-view__add{background:var(--brand);min-height:44px;color:var(--brand-ink);font:600 13.5px/1 var(--font-body);cursor:pointer;border:0;border-radius:999px;flex:none;padding:0 16px;transition:transform .14s}.goals-view__add:hover{transform:translateY(-1px)}.goals-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.goals-empty__title{color:var(--ink);font-size:17px;font-weight:600}.goals-empty__subtitle{color:var(--ink-soft);max-width:260px;font-size:13.5px;line-height:1.5}.goals-empty__cta{border:1px dashed var(--accent);min-height:44px;color:var(--accent);cursor:pointer;background:0 0;border-radius:999px;margin-top:10px;padding:0 22px;font-size:14px;font-weight:600;transition:background .16s}.goals-empty__cta:hover{background:var(--accent-soft)}.goals-list{flex-direction:column;gap:12px;display:flex}.goal-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);overflow:hidden}.goal-card__header{text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:10px;width:100%;padding:14px 16px;display:flex}.goal-card__title-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.goal-card__title{font-family:var(--font-display);color:var(--ink);align-items:center;gap:6px;font-size:15.5px;font-weight:600;display:flex}.goal-card__ws-chip{color:var(--ink-soft);background:color-mix(in srgb, var(--ink) 6%, transparent);white-space:nowrap;border-radius:999px;flex:none;padding:4px 9px;font-size:11px;font-weight:600}.goal-card__progress-track{background:color-mix(in srgb, var(--ink) 8%, transparent);border-radius:999px;width:100%;height:6px;overflow:hidden}.goal-card__progress-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .22s}.goal-card__meta{color:var(--ink-faint);justify-content:space-between;align-items:center;font-size:12px;display:flex}.goal-card__countdown{color:var(--ink-soft);font-weight:600}.goal-card__countdown--overdue{color:var(--danger)}.goal-card__detail{border-top:1px solid var(--line);flex-direction:column;gap:12px;padding:12px 16px 16px;display:flex}.goal-card__notes{flex-direction:column;gap:2px;display:flex}.goal-card__note{text-align:left;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 4px;transition:background .14s;display:flex}.goal-card__note:hover,.goal-card__note:focus-visible{background:color-mix(in srgb, var(--ink) 5%, transparent)}.goal-card__note-dot{border-radius:50%;flex:none;width:8px;height:8px}.goal-card__note-dot--pending{background:var(--status-pending)}.goal-card__note-dot--in-progress{background:var(--status-progress)}.goal-card__note-dot--completed{background:var(--status-done)}.goal-card__note-title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;overflow:hidden}.goal-card__no-notes{color:var(--ink-faint);font-size:13px}.goal-card__actions{flex-wrap:wrap;gap:8px;display:flex}.goal-card__action{border:1px solid var(--line);min-height:40px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;transition:background .14s,color .14s,border-color .14s;display:inline-flex}.goal-card__action:hover{border-color:var(--accent);color:var(--accent)}.goal-card__action--danger:hover{border-color:var(--danger);color:var(--danger)}.goal-card__confirm{color:var(--ink-soft);flex-direction:column;gap:10px;font-size:13px;display:flex}.goal-card__confirm-actions{gap:10px;display:flex}.goal-card__confirm-cancel,.goal-card__confirm-delete{min-height:40px;font:600 13px/1 var(--font-body);cursor:pointer;border-radius:999px;flex:1}.goal-card__confirm-cancel{border:1px solid var(--line);color:var(--ink);background:0 0}.goal-card__confirm-delete{background:var(--danger);color:#fff;border:0}.goal-card--achieved{opacity:.6;box-shadow:none}.goal-card--achieved .goal-card__title-row{padding:14px 16px}.goal-card__achieved-check{color:var(--accent);flex:none}.goals-archived{flex-direction:column;gap:12px;display:flex}.goals-archived__toggle{min-height:40px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0 4px;font-size:13px;font-weight:600}.goals-archived__toggle:hover{color:var(--accent)}.goals-view__add:focus-visible,.goals-empty__cta:focus-visible,.goal-card__header:focus-visible,.goal-card__note:focus-visible,.goal-card__action:focus-visible,.goal-card__confirm-cancel:focus-visible,.goal-card__confirm-delete:focus-visible,.goals-archived__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reports-view{flex-direction:column;gap:20px;padding-bottom:12px;display:flex}.reports-period{scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.reports-period::-webkit-scrollbar{display:none}.reports-period__pill{border:1px solid var(--line);min-height:44px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:8px 16px;font-size:13px;font-weight:600;transition:background .16s,color .16s,border-color .16s}.reports-period__pill--active{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.reports-stats{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.reports-stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-card);flex-direction:column;gap:4px;padding:16px;display:flex}.reports-stat__value{font-family:var(--font-display);color:var(--ink);font-size:28px;font-weight:700;line-height:1.1}.reports-stat__value--streak{align-items:center;gap:6px;font-size:22px;display:flex}.reports-stat__flame{flex:none}.reports-stat__label{color:var(--ink-faint);font-size:12px;font-weight:500}.reports-narrative{background:var(--accent-soft);border-radius:var(--r-lg);align-items:flex-start;gap:10px;padding:16px 18px;display:flex}.reports-narrative__icon{color:var(--brand);flex:none;margin-top:2px}.reports-narrative__text{color:var(--brand);font-size:14px;font-weight:500;line-height:1.5}.reports-chart-wrap{overflow-x:auto}.reports-chart{align-items:flex-end;gap:14px;min-height:130px;padding:8px 4px 0;display:flex}.reports-bar{flex-direction:column;flex:none;align-items:center;gap:6px;width:32px;display:flex}.reports-bar__track{justify-content:center;align-items:flex-end;width:16px;height:96px;display:flex;position:relative}.reports-bar__created{background:var(--accent-soft);border-radius:6px;width:16px;position:absolute;bottom:0}.reports-bar__completed{background:var(--accent);border-radius:5px;width:10px;position:absolute;bottom:0}.reports-bar__label{color:var(--ink-faint);white-space:nowrap;font-size:10.5px}.reports-section{flex-direction:column;gap:10px;display:flex}.reports-section__heading{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:700}.reports-ws-list{flex-direction:column;gap:12px;display:flex}.reports-ws-row{flex-direction:column;gap:6px;display:flex}.reports-ws-row__top{justify-content:space-between;align-items:center;font-size:13px;display:flex}.reports-ws-row__name{color:var(--ink);font-weight:600}.reports-ws-row__count{color:var(--ink-faint);font-size:12px}.reports-ws-row__track{background:color-mix(in srgb, var(--ink) 8%, transparent);border-radius:999px;height:6px;overflow:hidden}.reports-ws-row__fill{background:var(--accent);border-radius:999px;height:100%;transition:width .22s}.reports-tags{flex-wrap:wrap;gap:8px;display:flex}.reports-tag{color:var(--accent);background:var(--accent-soft);border-radius:999px;align-items:center;gap:5px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.reports-tag__count{color:var(--brand);font-weight:700}.reports-goals{flex-direction:column;gap:8px;display:flex}.reports-goal-row{background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;display:flex}.reports-goal-row__title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.reports-goal-row__pct{color:var(--accent);flex:none;font-weight:700}.reports-period__pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reminder-toasts{left:50%;bottom:calc(76px + env(safe-area-inset-bottom));z-index:35;pointer-events:none;flex-direction:column;gap:8px;width:min(420px,100vw - 24px);display:flex;position:fixed;transform:translate(-50%)}.reminder-toast{pointer-events:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-float);flex-direction:column;gap:10px;padding:12px 14px;animation:.22s cubic-bezier(.2,.9,.3,1) pop-in;display:flex;position:relative}@media (prefers-reduced-motion:reduce){.reminder-toast{animation:none}}.reminder-toast__dismiss{width:28px;height:28px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;transition:background .14s,color .14s;display:flex;position:absolute;top:6px;right:6px}.reminder-toast__dismiss:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.reminder-toast__body{color:var(--accent);align-items:center;gap:8px;padding-right:24px;display:flex}.reminder-toast__text{font:600 13.5px/1.4 var(--font-body);color:var(--ink)}.reminder-toast__actions{flex-wrap:wrap;gap:6px;display:flex}.reminder-toast__btn{border:1px solid var(--line);color:var(--ink-soft);font:600 12px/1 var(--font-body);cursor:pointer;background:0 0;border-radius:999px;padding:8px 12px;transition:filter .14s}.reminder-toast__btn:hover{filter:brightness(.97)}.reminder-toast__btn--accent{border-color:var(--accent);background:var(--accent);color:#fff}.group-suggest{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--r-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;padding:12px 14px;animation:.22s cubic-bezier(.2,.9,.3,1) pop-in;display:flex}@media (prefers-reduced-motion:reduce){.group-suggest{animation:none}}.group-suggest__text{font:500 13.5px/1.4 var(--font-body);color:var(--brand)}.group-suggest__actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.group-suggest__accept{background:var(--brand);color:var(--brand-ink);font:600 12.5px/1 var(--font-body);cursor:pointer;border:0;border-radius:999px;padding:10px 14px}.group-suggest__dismiss{color:var(--ink-soft);font:500 12.5px/1 var(--font-body);cursor:pointer;background:0 0;border:0;padding:10px}.tour-overlay{z-index:45;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tour-card{background:var(--card);border-radius:var(--r-lg);width:100%;max-width:360px;box-shadow:var(--shadow-float);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 24px 20px;animation:.24s cubic-bezier(.2,.9,.3,1) pop-in;display:flex}@media (prefers-reduced-motion:reduce){.tour-card{animation:none}}.tour-card__icon{background:var(--accent-soft);width:56px;height:56px;color:var(--brand);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.tour-card__title{font:600 20px/1.3 var(--font-display);color:var(--ink);text-wrap:balance}.tour-card__body{font:400 14px/1.55 var(--font-body);color:var(--ink-soft);text-wrap:pretty}.tour-card__dots{gap:6px;margin-top:4px;display:flex}.tour-dot{background:var(--line);border-radius:50%;width:7px;height:7px;transition:background .16s}.tour-dot--active{background:var(--accent)}.tour-card__actions{justify-content:space-between;align-items:center;width:100%;margin-top:8px;display:flex}.tour-skip{color:var(--ink-faint);font:500 13px/1 var(--font-body);cursor:pointer;background:0 0;border:0;padding:12px}.tour-next{background:var(--brand);color:var(--brand-ink);font:600 14px/1 var(--font-body);cursor:pointer;border:0;border-radius:999px;padding:13px 22px;transition:filter .14s}.tour-next:hover{filter:brightness(1.1)}@keyframes pwa-pop-in{0%{opacity:0;transform:translate(-50%,-8px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes pwa-slide-up{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.pwa-banner{z-index:15;background:var(--card);width:min(480px,100% - 32px);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 16px;animation:.22s cubic-bezier(.2,.9,.3,1) pwa-pop-in;display:flex;position:fixed;left:50%;transform:translate(-50%)}.pwa-banner__text{font:500 13px/1.3 var(--font-body);color:var(--ink)}.pwa-banner__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.pwa-toast{left:50%;bottom:calc(100px + env(safe-area-inset-bottom));z-index:30;background:var(--brand);width:min(420px,100% - 32px);color:var(--brand-ink);box-shadow:var(--shadow-float);border-radius:999px;justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 18px;animation:.22s cubic-bezier(.2,.9,.3,1) pwa-slide-up;display:flex;position:fixed;transform:translate(-50%)}.pwa-toast__text{font:500 13px/1.3 var(--font-body)}.pwa-toast__actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.pwa-pill{font:600 13px/1 var(--font-body);background:var(--brand);color:var(--brand-ink);cursor:pointer;border:0;border-radius:999px;padding:8px 16px;transition:transform .16s,opacity .16s}.pwa-toast .pwa-pill{background:var(--accent);color:var(--brand-ink)}.pwa-pill:hover{transform:translateY(-1px)}.pwa-pill:active{transform:scale(.96)}.pwa-banner__dismiss,.pwa-toast__dismiss{width:28px;height:28px;color:inherit;cursor:pointer;opacity:.6;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:opacity .16s,background .16s;display:inline-flex}.pwa-banner__dismiss:hover,.pwa-toast__dismiss:hover{opacity:1;background:color-mix(in srgb, currentColor 12%, transparent)}@media (prefers-reduced-motion:reduce){.pwa-banner,.pwa-toast{animation:none}}.account{position:relative}.account__avatar{border:1px solid var(--line);background:var(--card);width:44px;height:44px;color:var(--ink-soft);font:600 16px/1 var(--font-display);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .14s;display:inline-flex}.account__avatar--in{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.account__menu{z-index:30;background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);min-width:230px;box-shadow:var(--shadow-float);flex-direction:column;padding:8px;animation:.2s cubic-bezier(.2,.9,.3,1) pop-in;display:flex;position:absolute;top:calc(100% + 8px);right:0}.account__email{font:600 13px/1.4 var(--font-body);color:var(--ink);overflow-wrap:anywhere;padding:8px 10px 2px}.account__sync{font:400 12px/1.4 var(--font-body);color:var(--ink-soft);align-items:center;gap:6px;padding:2px 10px 6px;display:flex}.account__dot{background:var(--accent);border-radius:50%;width:8px;height:8px}.account__sync--offline .account__dot,.account__sync--error .account__dot{background:var(--status-pending)}.account__sync--syncing .account__dot{animation:1.2s ease-in-out infinite pulse}.account__theme{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:2px;padding:8px 10px 6px;display:flex}.account__theme-label{font:600 11px/1 var(--font-body);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-faint)}.account__theme-options{background:var(--surface);border:1px solid var(--line);border-radius:999px;gap:2px;padding:3px;display:flex}.account__menu .account__theme-btn{color:var(--ink-soft);font:600 12px/1 var(--font-body);text-align:center;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:1;padding:8px 0;transition:background .14s,color .14s}.account__menu .account__theme-btn--active{background:var(--brand);color:var(--brand-ink)}.account__menu .account__theme-btn:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.account__menu .account__theme-btn--active:hover{background:var(--brand)}.account__menu button{text-align:left;font:500 14px/1 var(--font-body);color:var(--ink);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:0;padding:12px 10px}.account__menu button:hover{background:var(--surface)}.auth-overlay{z-index:50;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}@media (width>=700px){.auth-overlay{align-items:center;padding:24px}}.auth-card{background:var(--card);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-width:420px;padding:28px 24px;padding-bottom:max(28px, env(safe-area-inset-bottom));flex-direction:column;gap:14px;animation:.26s cubic-bezier(.2,.9,.3,1) editor-rise;display:flex;position:relative}@media (width>=700px){.auth-card{border-radius:var(--r-lg);box-shadow:var(--shadow-float)}}@media (prefers-reduced-motion:reduce){.auth-card{animation:none}}.auth-card__close{width:44px;height:44px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:10px;right:10px}.auth-card__title{font:700 30px/1 var(--font-display);color:var(--brand);letter-spacing:-.02em}.auth-card__title span{color:var(--accent)}.auth-card__sub{font:400 14px/1.5 var(--font-body);color:var(--ink-soft);text-wrap:balance}.auth-google{border:1px solid var(--line);background:var(--card);color:var(--ink);font:600 14px/1 var(--font-body);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:14px;transition:background .14s;display:flex}.auth-google:hover{background:var(--surface)}.auth-google:disabled{opacity:.5}.auth-divider{color:var(--ink-faint);font:400 12px/1 var(--font-body);align-items:center;gap:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.auth-form{flex-direction:column;gap:10px;display:flex}.auth-form input{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font:400 15px/1 var(--font-body);color:var(--ink);padding:13px 14px;transition:border-color .14s,box-shadow .14s}.auth-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.auth-error{color:var(--danger);font:500 13px/1.4 var(--font-body)}.auth-submit{background:var(--brand);color:var(--brand-ink);font:600 15px/1 var(--font-body);cursor:pointer;border:0;border-radius:999px;padding:15px;transition:filter .14s}.auth-submit:hover{filter:brightness(1.1)}.auth-submit:disabled{opacity:.6}.auth-switch,.auth-skip{font:500 13px/1 var(--font-body);cursor:pointer;background:0 0;border:0;padding:10px}.auth-switch{color:var(--brand);text-underline-offset:3px;text-decoration:underline}.auth-skip{color:var(--ink-faint)}.bottom-nav{z-index:25;padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);justify-content:space-around;align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{min-height:56px;color:var(--ink-faint);cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px 8px;transition:color .16s;display:flex;position:relative}.bottom-nav__icon{transition:transform .16s cubic-bezier(.2,.9,.3,1)}.bottom-nav__label{font-size:11px;font-weight:600;line-height:1}.bottom-nav__item--active{color:var(--brand)}.bottom-nav__item--active .bottom-nav__icon{transform:translateY(-1px)}.bottom-nav__dot{background:var(--brand);border-radius:50%;width:4px;height:4px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.bottom-nav__item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (prefers-reduced-motion:reduce){.bottom-nav__icon{transition:none}}@media (width>=1024px){.bottom-nav{background:var(--card);border-top:0;border-right:1px solid var(--line);flex-direction:column;justify-content:flex-start;gap:8px;width:88px;padding:96px 0 0;top:0;bottom:0;right:auto}.bottom-nav__item{border-radius:var(--r-md);flex:none;width:72px;min-height:60px;margin:0 auto;transition:color .16s,background .16s}.bottom-nav__item:hover{background:color-mix(in srgb, var(--ink) 5%, transparent)}.bottom-nav__item--active{background:var(--accent-soft)}.bottom-nav__dot{display:none}}.app{max-width:1100px;min-height:100dvh;padding:0 16px calc(170px + env(safe-area-inset-bottom));margin:0 auto}.app__header{z-index:10;padding:14px 0 12px;padding-top:max(14px, env(safe-area-inset-top));background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;gap:12px;display:flex;position:sticky;top:0}.app__brand{justify-content:space-between;align-items:center;display:flex}.app__brand-side{align-items:center;gap:12px;display:flex}.app__wordmark{font:700 28px/1 var(--font-display);color:var(--brand);letter-spacing:-.02em}.app__wordmark span{color:var(--accent)}.app__date{font:500 12px/1 var(--font-body);color:var(--ink-faint)}.app__search{background:var(--card);border:1px solid var(--line);height:46px;color:var(--ink-faint);border-radius:999px;align-items:center;gap:10px;padding:0 16px;transition:border-color .16s,box-shadow .16s;display:flex}.app__search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);color:var(--accent)}.app__search input{font:400 15px/1 var(--font-body);color:var(--ink);background:0 0;border:0;flex:1;height:100%}.app__search input:focus{outline:none}.app__search input::placeholder{color:var(--ink-faint)}.app__main{padding-top:12px}.app__fabs{right:20px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:20;flex-direction:column;align-items:center;gap:12px;display:flex;position:fixed}.fab{background:var(--brand);width:60px;height:60px;color:var(--brand-ink);box-shadow:var(--shadow-float);cursor:pointer;border:0;border-radius:22px;justify-content:center;align-items:center;transition:transform .16s cubic-bezier(.2,.9,.3,1),background .16s;display:inline-flex}.fab:hover{transform:translateY(-2px)scale(1.04)}.fab:active{transform:scale(.96)}.search-scope{border:1px solid var(--line);background:var(--surface);color:var(--ink-soft);font:600 11px/1 var(--font-body);cursor:pointer;border-radius:999px;flex-shrink:0;padding:8px 10px;transition:all .14s}.search-scope--all{border-color:var(--accent);background:var(--accent-soft);color:var(--brand)}.reauth-banner{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:36;background:var(--card);border:1px solid var(--status-pending);color:var(--ink);font:500 13px/1.4 var(--font-body);border-radius:var(--r-md);box-shadow:var(--shadow-float);align-items:center;gap:14px;max-width:min(92vw,420px);padding:12px 16px;animation:.2s cubic-bezier(.2,.9,.3,1) pop-in;display:flex;position:fixed;transform:translate(-50%)}.reauth-banner button{background:var(--brand);color:var(--brand-ink);font:600 13px/1 var(--font-body);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;padding:10px 14px}@media (width>=1024px){.app{max-width:none;margin:0 0 0 88px;padding-bottom:40px;padding-left:40px;padding-right:40px}.app__fabs,.undo-snackbar,.reauth-banner{bottom:24px}.app__search{max-width:720px}.today-view,.goals-view,.reports-view{max-width:900px;margin-inline:auto}}.undo-snackbar{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:36;background:var(--ink);color:var(--card);font:500 14px/1 var(--font-body);box-shadow:var(--shadow-float);border-radius:999px;align-items:center;gap:16px;padding:14px 18px;animation:.2s cubic-bezier(.2,.9,.3,1) pop-in;display:flex;position:fixed;transform:translate(-50%)}.undo-snackbar button{color:var(--accent-soft);font:700 14px/1 var(--font-body);cursor:pointer;background:0 0;border:0;padding:4px}.fab--secondary{background:var(--card);width:48px;height:48px;color:var(--brand);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:18px}
