.tabbar{z-index:2;padding:10px max(16px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--color-surface);border-top:1px solid var(--color-line);justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-tab{min-width:60px;min-height:var(--tap);color:var(--color-muted);font-size:var(--text-label);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;padding:0;font-weight:800;display:flex}.tabbar-tab[aria-current=page]{color:var(--color-text)}.tabbar-icon{height:20px;font-family:var(--font-emoji);filter:grayscale();opacity:.6;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex}.tabbar-icon .tree{margin:-4px 0 -2px}.tabbar-tab[aria-current=page] .tabbar-icon{filter:none;opacity:1}.sheet-layer{z-index:10;position:fixed;inset:0}.sheet-scrim{background:var(--color-scrim);animation:.2s sheet-fade;position:absolute;inset:0}.sheet{overscroll-behavior:contain;max-width:560px;max-height:92dvh;padding:10px max(var(--gutter), env(safe-area-inset-right)) max(30px, env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));background:var(--color-surface);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;animation:sheet-up var(--dur-sheet) ease;scrollbar-width:none;margin:0 auto;position:absolute;bottom:0;left:0;right:0;overflow-y:auto}.sheet::-webkit-scrollbar{display:none}.sheet:focus{outline:none}.sheet-grab{background:var(--color-line);border-radius:3px;width:40px;height:5px;margin:0 auto 12px}.sheet-layer[data-closing] .sheet{animation:sheet-down var(--dur-sheet) ease forwards}.sheet-layer[data-closing] .sheet-scrim{animation:.2s forwards sheet-fade-out}@keyframes sheet-up{0%{transform:translateY(105%)}}@keyframes sheet-down{to{transform:translateY(105%)}}@keyframes sheet-fade{0%{opacity:0}}@keyframes sheet-fade-out{to{opacity:0}}.sheet-title{font-size:1.375rem;line-height:inherit;margin:0 0 2px}.sheet-hint{color:var(--color-muted);font-size:var(--text-small);margin:0}.field{width:100%;font:700 1.0625rem var(--font-body);color:var(--color-text);background:var(--color-bg);border:2px solid var(--color-line);border-radius:var(--radius-2);outline:none;margin-top:8px;padding:11px 13px;display:block}.field:focus{border-color:var(--color-accent)}textarea.field{resize:none;min-height:76px;font-size:1rem;font-weight:600;line-height:1.4}.field-label{color:var(--color-muted);font-size:var(--text-label);letter-spacing:.04em;text-transform:uppercase;margin:14px 0 6px;font-weight:800}.field-label+.field{margin-top:0}.field-label i{letter-spacing:0;text-transform:none;font-style:normal;font-weight:600}.choice-row{flex-wrap:wrap;gap:6px;display:flex}.chip{min-height:var(--tap);border-radius:var(--radius-pill);background:var(--color-surface-2);font-size:var(--text-small);cursor:pointer;border:none;align-items:center;gap:5px;padding:6px 12px;font-weight:800;display:inline-flex;position:relative}.chip-on{background:var(--color-accent);color:var(--color-on-accent)}.chip-overlay{opacity:0;cursor:pointer;border:none;width:100%;height:100%;position:absolute;inset:0}.icon-choice{width:var(--tap);height:var(--tap);border-radius:var(--radius-2);background:var(--color-surface-2);cursor:pointer;border:none;font-size:1.25rem}.icon-choice[aria-pressed=true]{background:var(--t);box-shadow:inset 0 0 0 2.5px var(--d)}.swatch{width:var(--tap);height:var(--tap);background:var(--t);cursor:pointer;border:none;border-radius:50%}.swatch[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--d)}.sheet-error{color:var(--color-now);font-size:var(--text-small);margin:12px 0 0;font-weight:800}.sheet-actions{gap:8px;margin-top:18px;display:flex}.sheet-actions button{border-radius:var(--radius-2);min-height:52px;font-size:var(--text-body);cursor:pointer;border:none;flex:1;padding:4px 10px;font-weight:900;line-height:1.2}.sheet-actions .btn-primary{background:var(--color-accent);color:var(--color-on-accent)}.sheet-actions .btn-primary:disabled{opacity:.4;cursor:default}.sheet-actions .btn-ghost{background:var(--color-surface-2);flex:0 0 96px}.sheet-actions .btn-danger{box-shadow:inset 0 0 0 2px var(--color-line);color:var(--color-now);background:0 0;flex:0 0 96px}.chip[aria-pressed=true]{background:var(--color-accent);color:var(--color-on-accent)}.weekday-row{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.weekday-row .chip{width:var(--tap);justify-content:center;padding:0}.segmented{background:var(--color-surface-2);border-radius:12px;padding:3px;display:flex}.segmented button{min-height:var(--tap);color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;padding:8px;font-size:.875rem;font-weight:800}.segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text)}.switch{border-radius:var(--radius-2);background:var(--color-bg);text-align:left;cursor:pointer;border:none;align-items:center;gap:12px;width:100%;margin-top:8px;padding:10px 12px;display:flex}.switch-text{flex:1;font-size:.875rem;font-weight:800}.switch-text span{color:var(--color-muted);font-size:var(--text-label);font-weight:600;display:block}.switch-track{border-radius:var(--radius-pill);background:var(--color-surface-2);width:48px;height:28px;box-shadow:inset 0 0 0 2px var(--color-line);flex:none;position:relative}.switch-track:after{content:"";background:var(--color-surface);width:22px;height:22px;box-shadow:var(--shadow-knob);border-radius:50%;transition:left .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true] .switch-track{background:var(--color-accent);box-shadow:none}.switch[aria-checked=true] .switch-track:after{left:23px}.sheet-warning{color:var(--color-now);font-size:var(--text-small);margin:6px 0 0;font-weight:600}.swatch-row{gap:5px}.toast{left:var(--gutter);right:var(--gutter);bottom:calc(100px + max(0px, env(safe-area-inset-bottom) - 28px));z-index:11;border-radius:var(--radius-2);background:var(--color-text);max-width:524px;color:var(--color-bg);opacity:0;visibility:hidden;pointer-events:none;margin:0 auto;transition:opacity .2s,transform .2s,visibility 0s .2s;position:fixed;transform:translateY(8px)}.toast[data-shown]{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s,transform .2s;transform:none}.toast-text{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:12px 14px;font-size:.875rem;font-weight:800;display:block}.goal-map{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px;display:grid}.map-tile{background:var(--t);text-align:left;cursor:pointer;border:none;border-radius:16px;flex-direction:column;justify-content:space-between;align-items:stretch;min-width:0;height:108px;padding:9px;display:flex}.map-tile-icon{font-size:1.25rem;line-height:1}.map-tile-name{font-size:var(--text-small);overflow-wrap:anywhere;font-weight:900;line-height:1.15;display:block}.map-tile-goal{font-size:var(--text-tiny);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:700;line-height:1.2;display:-webkit-box;overflow:hidden}.map-goal{background:var(--color-accent);color:var(--color-on-accent);text-align:center;justify-content:center;align-items:center;gap:4px}.map-goal-title{font-family:var(--font-heading);font-size:var(--text-body);overflow-wrap:anywhere;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-weight:700;line-height:1.15;display:-webkit-box;overflow:hidden}.map-goal-by{font-size:var(--text-tiny);opacity:.9;font-weight:800}.map-add{box-shadow:inset 0 0 0 2px var(--color-line);color:var(--color-muted);font-size:var(--text-small);background:0 0;justify-content:center;align-items:center;gap:2px;font-weight:800}.map-add-plus{font-size:1.375rem;font-weight:900}.why-card{border-radius:var(--radius-3);background:var(--color-surface);text-align:left;cursor:pointer;border:none;width:100%;margin-top:12px;padding:12px 14px;display:block}.why-card-label{color:var(--color-muted);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;font-weight:800;display:block}.why-card-text{font-size:var(--text-body);white-space:pre-line;margin-top:2px;font-weight:700;display:block}.backup-button{border-radius:var(--radius-2);background:var(--color-accent);width:100%;min-height:52px;color:var(--color-on-accent);font-size:var(--text-body);cursor:pointer;border:none;margin-top:10px;padding:4px 10px;font-weight:900;display:block}.backup-button:disabled{opacity:.4;cursor:default}.meter{border-radius:var(--radius-pill);background:var(--color-surface-2);height:10px;margin:8px 0 4px;overflow:hidden}.meter span{border-radius:var(--radius-pill);background:var(--color-accent);height:100%;display:block}.in-use-note{color:var(--color-muted);margin:4px 0 0;font-size:.78125rem;font-weight:700}.zoom{z-index:1;background:var(--color-bg);animation:zoom-in var(--dur-sheet) ease;flex-direction:column;display:flex;position:fixed;inset:0}.zoom:focus{outline:none}.zoom[data-closing]{animation:zoom-out var(--dur-sheet) ease forwards}@keyframes zoom-in{0%{transform:translate(100%)}}@keyframes zoom-out{to{transform:translate(100%)}}.zoom-back{width:100%;min-height:var(--tap);padding:calc(8px + env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right), calc((100% - 560px) / 2 + var(--gutter))) 8px max(var(--gutter), env(safe-area-inset-left), calc((100% - 560px) / 2 + var(--gutter)));color:var(--color-accent);text-align:left;cursor:pointer;background:0 0;border:none;flex:none;font-size:1rem;font-weight:900}.zoom-scroll{overscroll-behavior:contain;scrollbar-width:none;flex:1;overflow-y:auto}.zoom-scroll::-webkit-scrollbar{display:none}.zoom-inner{max-width:560px;padding:4px max(var(--gutter), env(safe-area-inset-right)) calc(110px + max(0px, env(safe-area-inset-bottom) - 28px)) max(var(--gutter), env(safe-area-inset-left));margin:0 auto}.zoom-head{align-items:center;gap:10px;display:flex}.zoom-icon{background:var(--t);border-radius:16px;flex:none;place-items:center;width:48px;height:48px;font-size:1.5rem;display:grid}.zoom-head-text{min-width:0}.zoom-name{overflow-wrap:anywhere;font-size:1.625rem}.zoom-edit{min-height:var(--tap);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:inset 0 0 0 2px var(--color-line);font-size:var(--text-small);cursor:pointer;border:none;flex:none;margin-left:auto;padding:8px 14px;font-weight:800}.zoom-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px;display:grid}.zoom-cell{border-radius:var(--radius-2);background:var(--color-surface);text-align:center;cursor:pointer;border:none;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;height:128px;padding:6px 6px 7px;display:flex}.zoom-art{height:46px;display:block}.zoom-title{font-size:var(--text-label);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:800;line-height:1.15;display:-webkit-box;overflow:hidden}.zoom-kind{color:var(--d);letter-spacing:.05em;text-transform:uppercase;font-size:.65625rem;font-weight:900}.zoom-cell.is-routine{box-shadow:inset 0 0 0 2px var(--d)}.zoom-cell.is-resting,.zoom-cell.is-new{box-shadow:inset 0 0 0 2px var(--color-line);background:0 0}.zoom-cell.is-resting .zoom-art,.zoom-cell.is-new .zoom-art{opacity:.45;filter:saturate(.4)}.zoom-cell.is-done .zoom-title{color:var(--color-muted);text-decoration:line-through}.zoom-center{background:var(--t)}.zoom-center .zoom-title{font-family:var(--font-heading);font-size:var(--text-body);font-weight:700}.zoom-goal{font-size:var(--text-tiny);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-weight:700;display:-webkit-box;overflow:hidden}.zoom-empty{box-shadow:inset 0 0 0 2px var(--color-line);color:var(--color-muted);font-size:var(--text-small);background:0 0;font-weight:800}.zoom .card{margin-top:12px}.zoom .card-label{margin-bottom:6px}.tick-adds{margin:4px 0 0;font-size:.84375rem;font-weight:700}.restore-button{min-height:var(--tap);border-radius:var(--radius-2);color:var(--color-muted);font-size:var(--text-small);cursor:pointer;place-items:center;margin-top:4px;font-weight:800;display:grid;position:relative}.restore-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.restore-button:has(input:focus-visible){outline:3px solid var(--color-accent);outline-offset:2px}.restore-button[data-busy]{opacity:.4}.week{text-align:center;grid-template-columns:repeat(7,1fr);margin-top:12px;display:grid}.week-day{min-height:var(--tap);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;padding:2px 0;display:flex}.week-day:disabled{cursor:default}.week-day[data-later]{opacity:.55}.week-letter{color:var(--color-muted);font-size:var(--text-label);font-weight:700}.week-date{width:34px;height:34px;font-size:var(--text-body);border-radius:50%;place-items:center;margin:2px auto 4px;font-weight:800;display:grid}.week-day[data-today] .week-date{box-shadow:inset 0 0 0 2.5px var(--color-accent);color:var(--color-accent)}.week-day[aria-pressed=true] .week-date{background:var(--color-accent);box-shadow:none;color:var(--color-on-accent)}.week-dots{grid-template-columns:repeat(3,5px);justify-content:center;gap:3px;display:grid}.week-dots i{background:var(--color-surface-2);border-radius:50%;width:5px;height:5px}.week-dots i[data-on]{background:var(--color-accent)}.look-back{border-radius:var(--radius-3);background:var(--color-surface-2);align-items:center;gap:10px;margin-top:14px;padding:10px 12px;display:flex}.look-back-text{font-size:var(--text-small);flex:1;font-weight:700;line-height:1.3}.look-back button{border-radius:var(--radius-pill);background:var(--color-accent);min-height:40px;color:var(--color-on-accent);font-size:var(--text-small);white-space:nowrap;cursor:pointer;border:none;padding:8px 14px;font-weight:800}.routines{grid-template-columns:repeat(6,1fr);gap:4px;display:grid}.routine{min-width:0;min-height:var(--tap);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:0;display:flex}.routine:disabled{cursor:default}.routine-ball{background:var(--t);border-radius:50%;place-items:center;width:50px;height:50px;display:grid;position:relative}.routine-ball[data-pop]{animation:pop .45s var(--ease-pop)}.routine[data-done] .routine-ball{box-shadow:inset 0 0 0 3px var(--d)}.routine[data-missed] .routine-ball{opacity:.45}.routine-badge{border:2px solid var(--color-bg);background:var(--d);width:20px;height:20px;color:var(--color-on-deep);font-size:var(--text-label);border-radius:50%;place-items:center;font-weight:900;display:none;position:absolute;bottom:-3px;right:-3px}.routine[data-done] .routine-badge{display:grid}.routine-label{max-width:100%;font-size:var(--text-tiny);text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-weight:700;line-height:1.15}.routine[data-done] .routine-label{color:var(--color-muted)}.pushed{z-index:1;background:var(--color-bg);animation:pushed-in var(--dur-sheet) ease;flex-direction:column;display:flex;position:fixed;inset:0}.pushed:focus{outline:none}.pushed[data-closing]{animation:pushed-out var(--dur-sheet) ease forwards}@keyframes pushed-in{0%{transform:translate(100%)}}@keyframes pushed-out{to{transform:translate(100%)}}.pushed-back{width:100%;min-height:var(--tap);padding:calc(8px + env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right), calc((100% - 560px) / 2 + var(--gutter))) 8px max(var(--gutter), env(safe-area-inset-left), calc((100% - 560px) / 2 + var(--gutter)));color:var(--color-accent);text-align:left;cursor:pointer;background:0 0;border:none;flex:none;font-size:1rem;font-weight:900}.pushed-scroll{overscroll-behavior:contain;scrollbar-width:none;flex:1;overflow-y:auto}.pushed-scroll::-webkit-scrollbar{display:none}.pushed-inner{max-width:560px;padding:4px max(var(--gutter), env(safe-area-inset-right)) calc(110px + max(0px, env(safe-area-inset-bottom) - 28px)) max(var(--gutter), env(safe-area-inset-left));margin:0 auto}.garden{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.garden-tile,.garden-goal,.garden-blank{text-align:center;border:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;height:140px;padding:8px;display:flex}.garden-tile{background:var(--t);cursor:pointer}.garden-tree{margin:-6px 0 -2px}.garden-name{overflow-wrap:break-word;max-width:100%;font-size:.78125rem;font-weight:900;line-height:1.15}.garden-hours{font-size:var(--text-tiny);font-weight:800}.garden-bar{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--d) 22%, transparent);width:64%;height:5px;margin-top:4px;display:block;overflow:hidden}.garden-bar i{border-radius:var(--radius-pill);background:var(--d);height:100%;display:block}.garden-tile.is-empty{box-shadow:inset 0 0 0 2px var(--color-line);background:0 0}.garden-tile.is-empty .garden-hours{color:var(--color-muted);font-weight:700}.garden-plus{color:var(--color-muted);font-size:1.5rem;font-weight:900}.garden-goal{background:var(--color-accent);color:var(--color-on-accent)}.garden-goal-title{max-width:100%;font-family:var(--font-heading);overflow-wrap:break-word;font-size:.875rem;font-weight:700;line-height:1.15}.garden-goal-by{font-size:var(--text-tiny);opacity:.9;margin-top:4px;font-weight:800}.garden-blank{box-shadow:inset 0 0 0 2px var(--color-line)}.week-nav{align-items:center;gap:6px;display:flex}.week-nav span{color:var(--color-muted);font-size:var(--text-small);text-align:center;flex:1;font-weight:700}.round-nav{background:var(--color-surface-2);cursor:pointer;border:none;border-radius:50%;flex:none;width:36px;height:36px;font-size:1.0625rem;font-weight:900}.round-nav:disabled{opacity:.35;cursor:default}.check{border-radius:var(--radius-3);background:var(--color-surface);touch-action:pan-y;margin-top:8px;padding:8px 8px 4px}.check-row{grid-template-columns:minmax(0,1fr) repeat(7,25px);align-items:center;gap:3px;min-height:48px;display:grid}.check-row+.check-row:not(.is-head){border-top:1px solid var(--color-line)}.check-row.is-head{min-height:30px}.check-row.is-head div{color:var(--color-muted);font-size:var(--text-tiny);text-align:center;font-weight:800;line-height:1.1}.check-row.is-head div[data-today]{color:var(--color-accent)}.check-who{min-width:0;min-height:var(--tap);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:7px;padding:4px 0;display:flex}.check-dot{background:var(--t);width:28px;height:28px;font-size:var(--text-body);border-radius:50%;flex:none;place-items:center;display:grid}.check-text{min-width:0}.check-name{font-size:var(--text-small);text-overflow:ellipsis;white-space:nowrap;font-weight:800;display:block;overflow:hidden}.check-hours{color:var(--color-muted);font-size:var(--text-tiny);white-space:nowrap;font-weight:700;display:block}.check-cell{border-radius:var(--radius-1);width:25px;height:25px;font-size:var(--text-small);background:0 0;border:none;place-items:center;padding:0;font-weight:900;display:grid;position:relative}button.check-cell{cursor:pointer}button.check-cell:before{content:"";position:absolute;inset:-10px -9px}.check-cell[data-mark=done]{background:var(--d);color:var(--color-on-deep)}button.check-cell[data-pop]{animation:pop .45s var(--ease-pop)}.check-cell[data-mark=missed]{box-shadow:inset 0 0 0 2px var(--color-line)}.check-cell[data-mark=open]{box-shadow:inset 0 0 0 2px var(--d);outline:2px dashed var(--color-surface);outline-offset:-2px}.check-cell[data-mark=off]:after{content:"";background:var(--color-line);border-radius:50%;width:5px;height:5px}.legend.is-small{gap:4px 12px;margin:8px 2px 0;font-size:.71875rem}.swatch{vertical-align:-2px;border-radius:4px;width:12px;height:12px;margin-right:4px;display:inline-block}.swatch[data-mark=done]{background:var(--d,var(--color-accent))}.swatch[data-mark=missed]{box-shadow:inset 0 0 0 2px var(--color-line)}.swatch[data-mark=off]{background:radial-gradient(circle, var(--color-line) 0 2.5px, transparent 3px)}.pillar-title{font-size:1.75rem}.choose{border-radius:var(--radius-2);background:var(--color-surface);color:var(--color-muted);align-items:center;gap:10px;margin-top:12px;padding:8px 8px 8px 12px;font-size:.78125rem;font-weight:700;display:flex}.choose span{flex:1}.choose[data-on]{background:var(--color-surface-2);color:var(--color-text)}.mini{border-radius:var(--radius-pill);background:var(--color-surface-2);min-height:36px;font-size:var(--text-small);cursor:pointer;border:none;flex:none;padding:6px 12px;font-weight:800}.choose[data-on] .mini{background:var(--color-surface)}.pillar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.action-cell{background:var(--color-surface);text-align:center;border:none;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;height:132px;padding:6px;display:flex;position:relative}button.action-cell{cursor:pointer}.action-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.71875rem;font-weight:800;line-height:1.15;display:-webkit-box;overflow:hidden}.action-name.is-big{font-family:var(--font-heading);font-size:var(--text-body);font-weight:700}.action-meta{color:var(--color-muted);margin-top:1px;font-size:.65625rem;font-weight:700}.action-cell.is-center{background:var(--t)}.action-cell.is-center .action-meta{color:var(--color-text)}.action-cell.is-routine[data-state=in]{box-shadow:inset 0 0 0 2px var(--d)}.action-cell.is-routine[data-state=rest],.action-cell.is-routine[data-state=new]{box-shadow:inset 0 0 0 2px var(--color-line);background:0 0}.action-cell[data-state=rest] .action-tree,.action-cell[data-state=new] .action-tree{opacity:.45;filter:saturate(.4)}.action-cell.is-once[data-done] .action-name{color:var(--color-muted);text-decoration:line-through}.action-cell.is-empty{box-shadow:inset 0 0 0 2px var(--color-line);background:0 0}.pillar-grid[data-choosing] .is-once,.pillar-grid[data-choosing] .is-empty{opacity:.4}.use-badge{border-radius:var(--radius-pill);background:var(--color-surface-2);color:var(--color-muted);padding:2px 7px;font-size:.625rem;font-weight:900;position:absolute;top:6px;right:6px}.use-badge[data-on]{background:var(--color-accent);color:var(--color-on-accent)}.projection{margin-top:12px;font-size:.84375rem;font-weight:700;line-height:1.4}.projection b{font-weight:900}.routine-head{align-items:center;gap:12px;display:flex}.routine-big{background:var(--t);border-radius:50%;flex:none;place-items:center;width:64px;height:64px;display:grid}.routine-title{font-size:var(--text-heading)}.hours-card{align-items:center;gap:14px;margin-top:14px;display:flex}.hours-card b{font-family:var(--font-heading);white-space:nowrap;font-size:2.125rem;line-height:1}.hours-card span{color:var(--color-muted);font-size:var(--text-small);font-weight:700}.month-head{align-items:center;gap:6px;display:flex}.month-head b{font-size:var(--text-body);flex:1;font-weight:900}.month{grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px;display:grid}.month-letter{color:var(--color-muted);font-size:var(--text-tiny);text-align:center;font-weight:800}.month-day{aspect-ratio:1;min-height:36px;box-shadow:inset 0 0 0 2px var(--color-line);font-size:var(--text-small);border-radius:10px;place-items:center;font-weight:800;display:grid}.month-day[data-mark=done]{background:var(--d);box-shadow:none;color:var(--color-on-deep)}.month-day[data-mark=open]{box-shadow:inset 0 0 0 2px var(--d)}.month-day[data-mark=none],.month-day[data-mark=off],.month-day[data-mark=later]{box-shadow:none;color:var(--color-muted);opacity:.5}.caption{color:var(--color-muted);margin-top:8px;font-size:.78125rem;font-weight:700}.app{min-height:100dvh}.app-main{max-width:560px;padding:calc(4px + env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) calc(110px + max(0px, env(safe-area-inset-bottom) - 28px)) max(var(--gutter), env(safe-area-inset-left));margin:0 auto}.screen-title{margin-top:var(--space-1);font-size:var(--text-title)}.screen-title-accent{color:var(--color-accent)}.screen-sub{color:var(--color-muted);font-size:var(--text-small);margin:2px 0 0;font-weight:700}.update-banner{top:max(var(--space-2), env(safe-area-inset-top));left:var(--gutter);right:var(--gutter);z-index:20;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-2);background:var(--color-text);color:var(--color-bg);font-weight:800;display:flex;position:fixed}.update-banner button{min-height:var(--tap);padding:0 var(--space-4);border-radius:var(--radius-1);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;border:none;font-weight:900}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2)format("woff2-variations")}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.woff2)format("woff2-variations")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-bg:#f3f0e4;--color-surface:#fffdf5;--color-surface-2:#e6e4d0;--color-text:#24342a;--color-muted:#56665a;--color-line:#d3d1ba;--color-accent:#3b7a4b;--color-on-accent:#fff;--color-on-deep:#fff;--color-now:#a2532b;--color-scrim:#00000059;--color-urgent:#fbe3e1;--color-urgent-edge:#b4505e;--color-urgent-chip:#f6cfd0;--color-urgent-ink:#8e3442;--color-late-chip:#f7d5b8;--color-late-ink:#874515;--color-event:#dce5d2;--color-event-edge:#4e6b52;--pillar-sky:#bcdde4;--pillar-sky-deep:#2f6f7c;--pillar-sage:#c3dbb4;--pillar-sage-deep:#4a7a3b;--pillar-honey:#f2dd98;--pillar-honey-deep:#806510;--pillar-apricot:#f0c6a8;--pillar-apricot-deep:#a2532b;--pillar-rose:#f3c5cc;--pillar-rose-deep:#a4475a;--pillar-lilac:#d7c5e2;--pillar-lilac-deep:#765891;--pillar-mint:#a9d3c0;--pillar-mint-deep:#2d7559;--pillar-sand:#dccbb5;--pillar-sand-deep:#775c3b;--pillar-none:#e6e4d0;--pillar-none-deep:#56665a;--tree-leaf:#4e8a3e;--tree-leaf-2:#7db565;--tree-leaf-3:#36652b;--tree-trunk:#8a5a36;--tree-petal:#f6c9d3;--tree-petal-core:#d9668a;--font-heading:"Fraunces Variable", Georgia, "Times New Roman", serif;--font-body:"Nunito Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-emoji:"Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;--text-title:2rem;--text-heading:1.5rem;--text-body:.9375rem;--text-small:.8125rem;--text-label:.75rem;--text-tiny:.6875rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--gutter:18px;--radius-1:8px;--radius-2:14px;--radius-3:18px;--radius-sheet:26px;--radius-pill:999px;--tap:44px;--shadow-fab:0 6px 18px #00000038;--shadow-lifted:0 10px 26px #00000038;--shadow-knob:0 1px 3px #00000040;--ease-pop:cubic-bezier(.2, 1.6, .4, 1);--dur-sheet:.25s}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--color-bg:#141d17;--color-surface:#1d2921;--color-surface-2:#2b3a30;--color-text:#e9f0e3;--color-muted:#a7b7a6;--color-line:#34473a;--color-accent:#8fd093;--color-on-accent:#12301a;--color-on-deep:#141d17;--color-now:#e8a27e;--color-scrim:#00000059;--color-urgent:#3a2528;--color-urgent-edge:#eba0ae;--color-urgent-chip:#55313a;--color-urgent-ink:#f4c3cb;--color-late-chip:#5a3a24;--color-late-ink:#f4c7a6;--color-event:#2a3a2e;--color-event-edge:#a9c9a3;--pillar-sky:#2c5560;--pillar-sky-deep:#8ccad6;--pillar-sage:#3a5a30;--pillar-sage-deep:#9ccb8a;--pillar-honey:#6a5820;--pillar-honey-deep:#e2c25c;--pillar-apricot:#6e412a;--pillar-apricot-deep:#e8a27e;--pillar-rose:#6e3542;--pillar-rose-deep:#eba0ae;--pillar-lilac:#4e3f66;--pillar-lilac-deep:#c3a6da;--pillar-mint:#2a5a47;--pillar-mint-deep:#86cfaf;--pillar-sand:#5a4732;--pillar-sand-deep:#cdb08a;--pillar-none:#2b3a30;--pillar-none-deep:#a7b7a6;--tree-leaf:#7fc06a;--tree-leaf-2:#b2de98;--tree-leaf-3:#4f8f42;--tree-trunk:#b98658;--tree-petal:#f3b8c8;--tree-petal-core:#c9547a}}:root[data-theme=dark]{--color-bg:#141d17;--color-surface:#1d2921;--color-surface-2:#2b3a30;--color-text:#e9f0e3;--color-muted:#a7b7a6;--color-line:#34473a;--color-accent:#8fd093;--color-on-accent:#12301a;--color-on-deep:#141d17;--color-now:#e8a27e;--color-scrim:#00000059;--color-urgent:#3a2528;--color-urgent-edge:#eba0ae;--color-urgent-chip:#55313a;--color-urgent-ink:#f4c3cb;--color-late-chip:#5a3a24;--color-late-ink:#f4c7a6;--color-event:#2a3a2e;--color-event-edge:#a9c9a3;--pillar-sky:#2c5560;--pillar-sky-deep:#8ccad6;--pillar-sage:#3a5a30;--pillar-sage-deep:#9ccb8a;--pillar-honey:#6a5820;--pillar-honey-deep:#e2c25c;--pillar-apricot:#6e412a;--pillar-apricot-deep:#e8a27e;--pillar-rose:#6e3542;--pillar-rose-deep:#eba0ae;--pillar-lilac:#4e3f66;--pillar-lilac-deep:#c3a6da;--pillar-mint:#2a5a47;--pillar-mint-deep:#86cfaf;--pillar-sand:#5a4732;--pillar-sand-deep:#cdb08a;--pillar-none:#2b3a30;--pillar-none-deep:#a7b7a6;--tree-leaf:#7fc06a;--tree-leaf-2:#b2de98;--tree-leaf-3:#4f8f42;--tree-trunk:#b98658;--tree-petal:#f3b8c8;--tree-petal-core:#c9547a}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;font-weight:600;line-height:1.55}h1,h2,h3{font-family:var(--font-heading);margin:0;font-weight:700;line-height:1.1}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.tree{display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.emoji{font-family:var(--font-emoji)}.glyph{font-family:var(--font-body);font-weight:800}.legend{color:var(--color-muted);font-size:var(--text-label);flex-wrap:wrap;gap:6px 14px;margin:10px 0 0;font-weight:700;display:flex}.card{border-radius:var(--radius-3);background:var(--color-surface);margin-top:8px;padding:12px 14px}.card-label{color:var(--color-muted);font-family:var(--font-body);line-height:inherit;font-size:var(--text-small);letter-spacing:.06em;text-transform:uppercase;font-weight:800}.card-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.card-head span{color:var(--color-muted);font-size:var(--text-small);font-weight:700}.section-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);margin:20px 0 8px;display:flex}.section-head h2{color:var(--color-muted);font-family:var(--font-body);font-size:var(--text-small);font-weight:800;line-height:inherit;letter-spacing:.06em;text-transform:uppercase}.section-head span{color:var(--color-muted);font-size:var(--text-small);font-weight:700}.empty{color:var(--color-muted);margin:4px;font-size:.875rem;font-weight:700}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.18)}to{transform:scale(1)}}
