:root{--accent:oklch(48% .1 95);--accent-soft:oklch(93% .035 95);--accent-ring:oklch(72% .09 95);--ink:#2b2823;--ink-on-dark:#fbfaf7;--bg:#fbfaf7;--card:#fff;--hairline:#ede9e2;--hairline-strong:#e7e3dc;--border-interactive:#e1dcd3;--border-dashed:#d8d2c8;--text-primary:var(--ink);--text-secondary:#6e6961;--text-tertiary:#8a847b;--text-quaternary:#a29c93;--text-faint:#b5afa5;--text-faintest:#c4bdb3;--row-divider:#f2efe9;--row-divider-alt:#f5f2ec;--value-chip:#f6f3ed;--scrim:#33302a;--destructive:oklch(55% .15 30);--cell-completed-fill:oklch(48% .1 95);--cell-completed-border:oklch(48% .1 95);--cell-today-fill:oklch(95% .028 95);--cell-today-border:oklch(48% .1 95);--cell-past-fill:oklch(96.5% .02 95);--cell-past-border:oklch(93% .03 95);--cell-future-fill:oklch(97.5% .014 95);--cell-future-border:oklch(95% .02 95);--cell-unassigned-border:#ede8df;--radius-card:16px;--radius-card-lg:18px;--radius-card-xl:22px;--radius-control:14px;--radius-cell:8px;--radius-cell-tablet:11px;--radius-tile:12px;--radius-tile-tablet:15px;--radius-chip:9px;--radius-sheet:28px;--font-family:"Public Sans", -apple-system, system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-family);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}#root{min-height:100dvh}button,input{color:inherit;font-family:inherit}input{font-variant-numeric:tabular-nums}button{-webkit-tap-highlight-color:transparent}.tabular{font-variant-numeric:tabular-nums}.screen{box-sizing:border-box;background:var(--bg);min-height:100dvh;padding-top:calc(env(safe-area-inset-top,0px) + 26px);flex-direction:column;display:flex}.screen-dark{background:var(--ink)}.content-column{box-sizing:border-box;width:100%;max-width:660px;margin:0 auto}::-webkit-scrollbar{width:0;height:0}@keyframes pulseDot{0%,to{opacity:.35}50%{opacity:1}}@keyframes riseIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes confettiFall{0%{opacity:0;transform:translateY(0)rotate(0)}8%{opacity:1}88%{opacity:1}to{opacity:0;transform:translateY(940px)rotate(680deg)}}@keyframes popIn{0%{opacity:0;transform:scale(.72)}62%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}@keyframes ringOut{0%{opacity:.45;transform:scale(.5)}to{opacity:0;transform:scale(2.6)}}
