:root{--ink:#1e2220;--ink-muted:#6b726e;--paper:#f6f5f0;--surface:#fdfcf9;--mint:#bfe6d3;--mint-soft:#e3f2ea;--mint-mid:#a6dbc2;--mint-deep:#86c9aa;--line:#1e222014;--radius-lg:24px;--radius-md:16px;--radius-pill:999px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--paper);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none}button:disabled{opacity:.4;cursor:not-allowed}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}.app{max-width:520px;min-height:100dvh;margin:0 auto}.app-main{padding:max(24px, env(safe-area-inset-top)) 16px calc(88px + env(safe-area-inset-bottom));gap:20px;display:grid}.tabbar{padding:8px max(12px, calc((100% - 520px) / 2 + 12px)) calc(8px + env(safe-area-inset-bottom));background:var(--ink);z-index:10;justify-content:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{text-align:center;border-radius:var(--radius-pill);color:#fdfcf999;flex:1;padding:10px 8px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.tab.active{background:var(--mint);color:var(--ink);font-weight:600}.today{gap:20px;display:grid}.today-header h1{font-size:1.6rem}.eyebrow{color:var(--ink-muted);margin:0 0 4px;font-size:.9rem}.timer{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);justify-content:space-between;align-items:center;gap:16px;padding:20px;display:flex}.timer-running{background:var(--ink);border-color:var(--ink);color:var(--surface)}.timer-text{gap:2px;min-width:0;display:grid}.timer-label{color:var(--ink-muted);font-size:.8rem}.timer-running .timer-label{color:var(--mint)}.timer-task{text-overflow:ellipsis;font-weight:600;overflow:hidden}.timer:not(.timer-running) .timer-task{color:var(--ink-muted);font-size:.9rem;font-weight:400}.timer-clock{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-top:6px;font-size:2.2rem;font-weight:600}.timer:not(.timer-running) .timer-clock{color:#1e222040}.timer-button{background:var(--mint);width:84px;height:84px;color:var(--ink);border-radius:50%;flex-shrink:0;font-weight:600;transition:transform .1s}.timer-button:active{transform:scale(.96)}.today-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.today-stats>div{background:var(--mint-soft);border-radius:var(--radius-md);padding:14px 16px;display:grid}.stat-value{font-size:1.15rem;font-weight:600}.stat-label{color:var(--ink-muted);font-size:.8rem}.tasks{gap:12px;display:grid}.tasks h2{font-size:1.15rem}.task-add{gap:8px;display:flex}.task-add input,.task-add select{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);height:48px;padding:0 14px}.task-add input{flex:1;min-width:0}.task-add select{appearance:none;text-align:center;flex-shrink:0}.task-add input:focus,.task-add select:focus{outline:2px solid var(--mint);outline-offset:0}.task-add button{border-radius:var(--radius-md);background:var(--ink);width:48px;height:48px;color:var(--surface);flex-shrink:0;font-size:1.4rem}.task-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.task{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.task-active{border-color:var(--ink);box-shadow:inset 4px 0 0 var(--mint)}.task-check{border:1.5px solid #1e22204d;border-radius:50%;flex-shrink:0;width:26px;height:26px;font-size:.8rem;font-weight:600}.task-check.is-checked{background:var(--mint);border-color:var(--mint)}.task-body{flex:1;min-width:0;display:grid}.task-title{overflow-wrap:anywhere}.task-meta{color:var(--ink-muted);font-size:.8rem}.task-play{background:var(--mint-soft);border-radius:50%;flex-shrink:0;width:40px;height:40px;font-size:.8rem}.task-play.is-running{background:var(--ink);color:var(--mint)}.task-done .task-title{color:var(--ink-muted);text-decoration:line-through}.task-delete{width:32px;height:32px;color:var(--ink-muted);font-size:1.2rem}.done{gap:8px;display:grid}.done-toggle{color:var(--ink-muted);justify-self:start;padding:4px 0;font-size:.9rem}.empty{text-align:center;color:var(--ink-muted);border-radius:var(--radius-md);border:1px dashed #1e222026;margin:0;padding:20px}.app-main,.today,.tasks,.task-list,.entries,.entry-list,.done,.cal,.month,.week,.week-days,.unscheduled,.ideas,.notes,.note-list,.focus,.sheet{grid-template-columns:minmax(0,1fr)}.app-main>*,.today>*,.cal>*,.week>*{min-width:0}.app-main h2{font-size:1.3rem}.app-main textarea{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);resize:vertical;width:100%;min-height:96px;padding:12px 14px}.app-main ul{margin:0;padding:0;list-style:none}.form-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.form-actions button,button.primary,button.secondary{border-radius:var(--radius-pill);background:var(--ink);color:var(--surface);padding:12px 20px;font-weight:600}button.primary{background:var(--mint);color:var(--ink)}.form-actions .secondary,button.secondary{background:var(--mint-soft);color:var(--ink)}.focus{gap:20px;display:grid}.focus h1{font-size:1.6rem}.focus-intro{color:var(--ink-muted);margin:0}.focus-choices{grid-template-columns:1fr 1fr;gap:16px;display:grid}.focus-ball{aspect-ratio:1;color:var(--ink);border-radius:50%;place-content:center;transition:transform .1s;display:grid}.focus-ball:active{transform:scale(.96)}.focus-num{letter-spacing:-.02em;font-size:2.2rem;font-weight:600;line-height:1}.focus-unit{color:#1e2220a6;font-size:.85rem}.tone-1{background:var(--mint-soft)}.tone-2{background:var(--mint)}.tone-3{background:var(--mint-mid)}.tone-4{background:var(--mint-deep)}.focus-active{background:var(--ink);color:var(--surface);border-radius:var(--radius-lg);justify-items:center;gap:12px;padding:32px 20px;display:grid}.focus-label{color:var(--mint);margin:0;font-size:.9rem}.focus-active .timer-value{font-variant-numeric:tabular-nums;font-size:3.5rem;font-weight:600}.cal{gap:20px;display:grid}.segmented{background:var(--mint-soft);border-radius:var(--radius-pill);justify-self:center;padding:4px;display:flex}.segmented button{border-radius:var(--radius-pill);color:var(--ink-muted);padding:8px 20px;font-size:.9rem;font-weight:500}.segmented button.active{background:var(--ink);color:var(--surface);font-weight:600}.cal-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.cal-head h1{text-align:center;font-size:1.6rem;display:grid}.cal-head h1>span:not(.cal-sub){color:var(--ink-muted);font-weight:400;display:inline}.month .cal-head h1{display:block}.cal-sub{color:var(--ink-muted);letter-spacing:0;font-size:.85rem;font-weight:400}.cal-arrow{background:var(--surface);border:1px solid var(--line);border-radius:50%;width:40px;height:40px;font-size:1.3rem;line-height:1}.cal-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.cal-stats>div{background:var(--mint-soft);border-radius:var(--radius-md);padding:12px 14px;display:grid}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:16px;display:grid}.month-weekday{text-align:center;color:var(--ink-muted);padding-bottom:2px;font-size:.75rem}.month-day{aspect-ratio:1/1.15;background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;justify-content:space-between;align-items:center;padding:6px 2px 5px;display:flex;position:relative;overflow:hidden}.month-fill{background:var(--mint);transition:height .25s;position:absolute;bottom:0;left:0;right:0}.month-num,.month-hours{position:relative}.month-num{border-radius:50%;place-items:center;width:26px;height:26px;font-size:.95rem;font-weight:500;display:grid}.month-hours{font-size:.65rem;font-weight:600}.month-day.is-weekend{background:0 0}.month-day.is-outside{opacity:.35}.month-day.is-today .month-num{background:var(--ink);color:var(--surface);font-weight:600}.week{gap:16px;display:grid}.week-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.strip-day{color:var(--ink);border-radius:14px;justify-items:center;gap:4px;padding:8px 0;text-decoration:none;display:grid}.strip-day.is-today{background:var(--ink);color:var(--surface)}.strip-label{opacity:.7;font-size:.7rem}.strip-num{font-weight:600}.strip-bar{background:var(--line);border-radius:2px;width:70%;height:4px;overflow:hidden}.strip-day.is-today .strip-bar{background:#fdfcf933}.strip-bar span{background:var(--mint);height:100%;display:block}.unscheduled{background:var(--mint-soft);border-radius:var(--radius-lg);gap:8px;padding:16px;display:grid}.unscheduled h2{font-size:.95rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--surface);border-radius:var(--radius-pill);text-align:left;align-items:baseline;gap:6px;padding:8px 12px;font-size:.85rem;display:inline-flex}.chip span{color:var(--ink-muted);font-size:.75rem}.week-days{gap:10px;display:grid}.day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px 14px 10px 16px;scroll-margin-top:16px}.day.is-today{border-color:var(--ink)}.day-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.day-head h3{font-size:1rem}.day-head h3 span{color:var(--ink-muted);font-weight:400}.day-meta{color:var(--ink-muted);margin:0;font-size:.8rem}.day-add{background:var(--mint-soft);border-radius:50%;flex-shrink:0;width:36px;height:36px;font-size:1.2rem}.blocks{gap:6px;margin:12px 0 0;list-style:none;display:grid;padding:0!important}.block{align-items:stretch;gap:10px;display:flex}.block-time{font-variant-numeric:tabular-nums;flex-shrink:0;align-content:start;width:44px;padding-top:8px;font-size:.8rem;font-weight:600;display:grid}.block-time small{color:var(--ink-muted);font-weight:400}.block-body{background:var(--mint-soft);border-left:3px solid var(--mint);border-radius:4px 12px 12px 4px;flex:1;align-content:start;min-width:0;padding:8px 12px;display:grid}.block-title{overflow-wrap:anywhere;font-weight:500}.block-len{color:var(--ink-muted);font-size:.75rem}.block-delete{width:28px;height:28px;color:var(--ink-muted);flex-shrink:0;align-self:center;font-size:1.1rem}.sheet-backdrop{z-index:20;background:#1e222059;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:520px;padding:24px 16px calc(24px + env(safe-area-inset-bottom));background:var(--paper);border-radius:var(--radius-lg) var(--radius-lg) 0 0;gap:14px;display:grid}.field{gap:4px;min-width:0;display:grid}.field span{color:var(--ink-muted);font-size:.8rem}.field input,.field select{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);width:100%;height:48px;padding:0 14px}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sheet-actions{justify-content:flex-end;gap:8px;display:flex}.ideas{gap:20px;display:grid}.ideas h1{font-size:1.6rem}.dictate{background:var(--mint-soft);border-radius:var(--radius-lg);text-align:center;justify-items:center;gap:10px;padding:24px 16px;display:grid}.mic{background:var(--ink);width:88px;height:88px;color:var(--mint);border-radius:50%;place-items:center;transition:transform .1s;display:grid}.mic:active{transform:scale(.96)}.dictate.is-listening .mic{background:var(--mint);color:var(--ink);animation:1.6s ease-out infinite mic-pulse}@keyframes mic-pulse{0%{box-shadow:0 0 #1e222040}to{box-shadow:0 0 0 22px #1e222000}}.dictate-hint{color:var(--ink-muted);margin:0;font-size:.9rem}.dictate-error{margin:0;font-size:.85rem;font-weight:500}.note-editor .form-actions{margin-top:10px}.notes{gap:10px;display:grid}.notes h2{font-size:1.15rem}.note-list{gap:8px;margin:0;list-style:none;display:grid;padding:0!important}.note{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:14px 16px}.note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px}.note-foot{color:var(--ink-muted);justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.note-foot button{color:var(--ink-muted);font-size:.8rem;text-decoration:underline}.entries{gap:10px;display:grid}.entries h2{font-size:1.15rem}.entry-list{gap:6px;margin:0;list-style:none;display:grid;padding:0!important}.entry{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.entry-main{min-width:0;display:grid}.entry-desc{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entry-desc.is-empty{color:var(--ink-muted)}.entry-meta{color:var(--ink-muted);font-size:.8rem}.entry-dur{font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.entry-sheet-head{display:grid}.entry-sheet-head h2{font-variant-numeric:tabular-nums;font-size:2rem}.entry-sheet-head span{color:var(--ink-muted);font-size:.85rem}.sheet .chip{background:var(--surface);border:1px solid var(--line)}.sheet .chip.is-selected{background:var(--ink);border-color:var(--ink);color:var(--surface)}.chip-add{color:var(--ink-muted)}.field .chips+input{margin-top:6px}.text-button{color:var(--ink-muted);margin-right:auto;padding:12px 4px;font-size:.9rem;text-decoration:underline}.billable-toggle{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;align-items:center;gap:12px;padding:12px 14px;display:flex}.switch{border-radius:var(--radius-pill);background:#1e222026;flex-shrink:0;width:46px;height:28px;transition:background .15s;position:relative}.switch span{background:var(--surface);border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #1e222033}.billable-toggle.is-on .switch{background:var(--ink)}.billable-toggle.is-on .switch span{background:var(--mint);transform:translate(18px)}.billable-text{display:grid}.billable-text strong{font-weight:700}.billable-text small{color:var(--ink-muted);font-size:.8rem}.entry-side{flex-shrink:0;align-items:center;gap:8px;display:flex}.entry-billable{background:var(--mint);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.75rem;font-weight:600;display:grid}.field input[type=date],.field input[type=time]{appearance:none;align-items:center;min-width:0;display:flex}.auth-screen{background:var(--paper);place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);text-align:center;gap:16px;width:100%;max-width:360px;padding:32px 24px;display:grid}.auth-card h1{margin:0;font-size:1.8rem}.auth-lead{color:var(--ink-muted);margin:0}.auth-google{border-radius:var(--radius-pill);background:var(--ink);color:var(--surface);padding:14px 20px;font-weight:600}.auth-error{color:#b3261e;margin:0;font-size:.9rem}.account-link{color:var(--ink-muted);text-align:left;background:0 0;margin-top:4px;padding:0;font-size:.8rem}.day-toggle{background:var(--mint-soft);border-radius:50%;flex-shrink:0;width:36px;height:36px;font-size:1.2rem;transition:transform .15s,background .15s}.day.is-open .day-toggle{background:var(--mint);transform:rotate(45deg)}.day-body{gap:10px;margin-top:4px;display:grid}.day-body .day-add{border-radius:var(--radius-pill);justify-self:start;width:auto;height:auto;padding:8px 14px;font-size:.85rem;font-weight:600}
