:root{--rt-page:#0a0a0a;--rt-header:#000;--rt-body:#fff;--rt-ink:#0d0d0d;--rt-ink-soft:#3a3a3a;--rt-red:#ff4d2d;--rt-gold:#e0a020;--rt-green:#34a853;--rt-blue:#3a86d6;--rt-purple:#7a5cd6;--rt-red-text:#d63a1c;--rt-gold-text:#a06800;--rt-muted:#b4b4b4;--rt-muted-strong:#8c8c8c;--rt-meta-label:#a6a6a6;--rt-hairline:#0d0d0d12;--rt-dim-opacity:.26;--rt-pad-x:20px;--rt-gutter:30px;--rt-header-height:56px;--rt-row-height:40px;--rt-footer-height:64px;--rt-canvas-max-width:420px;--rt-canvas-max-height:900px;--rt-radius:30px;--rt-ease-out:cubic-bezier(.22, 1, .36, 1);--rt-ease-sheet:cubic-bezier(.32, .72, 0, 1);--rt-dur-press:.11s;--rt-dur-color:.16s;--rt-dur-move:.24s;color:var(--rt-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box;scrollbar-width:none}::-webkit-scrollbar{display:none}html,body{background:var(--rt-page);touch-action:manipulation;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;height:100%;margin:0}body{position:fixed;inset:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0}.appPage{background:var(--rt-page);place-items:center;width:100%;height:100dvh;display:grid}.phoneCanvas{background:var(--rt-body);isolation:isolate;flex-direction:column;width:100%;height:100dvh;display:flex;position:relative;overflow:hidden}@media (min-width:481px){.phoneCanvas{width:var(--rt-canvas-max-width);height:min(100dvh - 48px, var(--rt-canvas-max-height));border-radius:var(--rt-radius);box-shadow:inset 0 1px #ffffff0a,0 40px 90px #0000008c,0 12px 30px #0006}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.appHeader{height:var(--rt-header-height);padding:0 var(--rt-pad-x);padding-top:env(safe-area-inset-top);height:calc(var(--rt-header-height) + env(safe-area-inset-top));background:var(--rt-header);color:#fff;-webkit-user-select:none;user-select:none;flex:none;justify-content:space-between;align-items:center;display:flex}.appWordmark{letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:14px;font-weight:800}.headerActions{align-items:center;gap:8px;display:flex}.headerButton{color:#ffffffd1;width:44px;height:44px;transition:background var(--rt-dur-color) ease, color var(--rt-dur-color) ease, transform var(--rt-dur-press) ease;border-radius:999px;place-items:center;display:grid}.headerButton:hover{color:#fff}.headerButton:active{transform:scale(.9)}.headerButtonActive{color:#fff;background:#ffffff29}.headerButton:focus-visible{outline-offset:2px;outline:2px solid #fff}.headerIcon{fill:currentColor;width:21px;height:21px;display:block}
.appBody{background:var(--rt-body);flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.routineScroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:14px 0 10px;overflow-y:auto;-webkit-mask-image:linear-gradient(#000 calc(100% - 28px),#0000);mask-image:linear-gradient(#000 calc(100% - 28px),#0000)}.todayPanel{margin:4px var(--rt-pad-x) 16px;color:#fff;background:#111;border-radius:24px;padding:16px 17px 15px;box-shadow:0 18px 40px #00000024}.todayKicker{letter-spacing:.14em;text-transform:uppercase;color:#ffffff85;margin:0 0 5px;font-size:10px;font-weight:800}.todayTitle{letter-spacing:-.04em;margin:0;font-size:25px;line-height:1}.todaySubcopy{color:#ffffffc7;max-width:29ch;margin:8px 0 0;font-size:12px;font-weight:650;line-height:1.35}.todayStats{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.todayStats span{letter-spacing:.05em;text-transform:uppercase;color:#ffffffbf;border:1px solid #ffffff1f;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:800}.area+.area{margin-top:18px}.areaHeader{grid-template-columns:var(--rt-gutter) 1fr;height:var(--rt-row-height);padding:0 var(--rt-pad-x);transition:opacity var(--rt-dur-move) var(--rt-ease-out);align-items:center;display:grid}.areaFolderIcon{width:16px;height:16px;fill:var(--rt-ink)}.areaName{letter-spacing:.11em;text-transform:uppercase;color:var(--rt-ink);margin:0;font-size:13px;font-weight:800}.routineList{margin:0;padding:0;list-style:none}.routineItem{transition:opacity var(--rt-dur-move) var(--rt-ease-out)}.routineScroll[data-focus=true] .areaHeader,.routineScroll[data-focus=true] .routineItem:not([data-open=true]){opacity:var(--rt-dim-opacity)}.routineScroll[data-focus=true] .routineItem:not([data-open=true]):has(.routineRow:focus-visible){opacity:1}.routineRowShell{min-height:var(--rt-row-height);grid-template-columns:1fr auto;align-items:center;display:grid}.routineRow{grid-template-columns:var(--rt-gutter) 1fr auto;width:100%;height:var(--rt-row-height);padding:0 var(--rt-pad-x);text-align:left;transition:transform var(--rt-dur-press) ease;align-items:center;display:grid}.routineRow:active{transform:scale(.992)}.routineRow:focus-visible{outline:2px solid var(--rt-blue);outline-offset:-3px;border-radius:8px}.routineDelete{margin-right:var(--rt-pad-x);letter-spacing:.09em;text-transform:uppercase;color:var(--rt-red-text);opacity:.75;padding:7px 0 7px 10px;font-size:10px;font-weight:800}.routineDelete:active{opacity:.45}.routineDelete:focus-visible{outline:2px solid var(--rt-red);outline-offset:2px;border-radius:6px}.routineDue{font-variant-numeric:tabular-nums;color:var(--rt-muted);transition:color var(--rt-dur-color) ease;font-size:13px;font-weight:700}.routineDue[data-active=true]{color:var(--rt-red-text)}.routineName{letter-spacing:.06em;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--rt-ink);font-size:13px;font-weight:800;overflow:hidden}.routineCounts{font-variant-numeric:tabular-nums;grid-template-columns:auto auto;place-items:baseline end;gap:11px;padding-left:14px;display:grid}.countGold{text-align:right;color:var(--rt-gold-text);font-size:13px;font-weight:800}.countMuted{text-align:right;color:var(--rt-muted);font-size:13px;font-weight:600}.areaEmpty{padding:8px var(--rt-pad-x) 4px;padding-left:calc(var(--rt-pad-x) + var(--rt-gutter));letter-spacing:.04em;color:var(--rt-muted);font-size:12px;font-weight:600}.routineEmpty{margin:0;padding-top:10px}
.taskList{margin:2px 0 6px;padding:0;list-style:none;overflow:hidden}.routineDetail{padding-bottom:6px}.taskItem{grid-template-columns:var(--rt-gutter) 1fr auto;padding:9px var(--rt-pad-x) 9px var(--rt-pad-x);align-items:start;column-gap:0;display:grid;position:relative}.taskGrip{background:#111;border-radius:999px;width:13px;height:13px;position:absolute;top:16px;left:-5px}.taskCheck{border:2px solid var(--task-color,var(--rt-muted-strong));color:#fff;width:19px;height:19px;transition:background var(--rt-dur-color) ease, transform var(--rt-dur-press) ease, border-color var(--rt-dur-color) ease;border-radius:999px;place-items:center;margin-top:1px;display:grid;position:relative}.taskCheck:before{content:"";position:absolute;inset:-13px}.taskCheck:active{transform:scale(.86)}.taskCheck:focus-visible{outline:2px solid var(--task-color,var(--rt-blue));outline-offset:2px}.taskCheck[data-done=true]{background:var(--task-color,var(--rt-muted-strong))}.taskCheckIcon{fill:#fff;width:13px;height:13px;display:block}.taskContent{min-width:0;padding-right:8px}.taskNameLine{align-items:center;gap:8px;min-width:0;display:flex}.taskName{letter-spacing:-.01em;min-width:0;color:var(--rt-ink);text-overflow:ellipsis;transition:color var(--rt-dur-color) ease;font-size:14px;font-weight:600;line-height:1.25;overflow:hidden}.taskName[data-done=true]{color:var(--rt-muted-strong);text-decoration:line-through;-webkit-text-decoration-color:var(--rt-muted);text-decoration-color:var(--rt-muted)}.taskStatus{letter-spacing:.08em;text-transform:uppercase;color:var(--rt-muted-strong);background:#0d0d0d0f;border-radius:999px;flex:none;padding:2px 6px;font-size:9px;font-weight:900}.taskStatus[data-status=due]{background:color-mix(in srgb, var(--task-color,var(--rt-red)) 16%, transparent);color:var(--rt-ink)}.taskStatus[data-status=done]{background:color-mix(in srgb, var(--rt-green) 18%, transparent);color:#176b32}.taskMeta{color:var(--rt-ink-soft);margin-top:3px;font-size:10px;line-height:1.5}.taskMetaStats{gap:14px;display:flex}.metaLabel{letter-spacing:.08em;text-transform:uppercase;color:var(--rt-meta-label);margin-right:5px;font-weight:700}.metaValue{color:var(--rt-ink-soft);font-weight:700}.taskMetaWhen{margin-top:1px}.taskDelete{width:26px;height:26px;color:var(--rt-muted);transition:color var(--rt-dur-color) ease, background var(--rt-dur-color) ease, transform var(--rt-dur-press) ease;border-radius:999px;place-items:center;margin-top:-2px;font-size:18px;line-height:1;display:grid}.taskDelete:active{transform:scale(.86)}.taskDelete:hover,.taskDelete:focus-visible{color:var(--rt-red-text);background:#ff4d2d14}.taskComposerAdd{margin:4px 0 8px calc(var(--rt-pad-x) + var(--rt-gutter));letter-spacing:.12em;text-transform:uppercase;color:var(--rt-ink);padding:8px 0;font-size:11px;font-weight:900}.taskComposerAdd:focus-visible{outline:2px solid var(--rt-blue);outline-offset:3px;border-radius:7px}.taskComposer{margin:8px var(--rt-pad-x) 12px;margin-left:calc(var(--rt-pad-x) + var(--rt-gutter));background:#0d0d0d09;border:1px solid #0d0d0d14;border-radius:18px;padding:11px 12px 12px}.taskComposerInput{width:100%;height:30px;font:inherit;color:var(--rt-ink);background:0 0;border:0;border-bottom:1px solid #0d0d0d14;font-size:14px;font-weight:650;display:block}.taskComposerInput:focus{border-bottom-color:#0d0d0d47;outline:none}.taskComposerWhen{margin-top:4px;font-size:12px;font-weight:600}.taskComposerMeta{align-items:center;gap:8px;margin-top:11px;display:flex}.taskComposerSelectLabel{letter-spacing:.08em;text-transform:uppercase;color:var(--rt-muted-strong);align-items:center;gap:5px;font-size:10px;font-weight:900;display:flex}.taskComposerSelect{height:26px;font:inherit;color:var(--rt-ink);background:#fff;border:1px solid #0d0d0d1a;border-radius:999px;padding:0 8px;font-size:11px;font-weight:800}.taskComposerColors{gap:5px;margin-left:auto;display:flex}.taskColorButton{border:2px solid #fff;border-radius:999px;width:18px;height:18px;box-shadow:0 0 0 1px #0d0d0d1f}.taskColorButton[data-color=red]{background:var(--rt-red)}.taskColorButton[data-color=gold]{background:var(--rt-gold)}.taskColorButton[data-color=green]{background:var(--rt-green)}.taskColorButton[data-color=blue]{background:var(--rt-blue)}.taskColorButton[data-color=purple]{background:var(--rt-purple)}.taskColorButton[data-selected=true]{box-shadow:0 0 0 2px #111}.taskComposerSubmit{color:#fff;background:#111;border-radius:999px;flex:none;place-items:center;width:28px;height:28px;display:grid}
.composer{min-height:var(--rt-footer-height);padding:8px var(--rt-pad-x);padding-bottom:calc(8px + env(safe-area-inset-bottom));background:var(--rt-body);-webkit-user-select:none;user-select:none;flex:none;align-items:center;display:flex}.composerAdd{letter-spacing:.11em;text-transform:uppercase;color:var(--rt-ink);transition:opacity var(--rt-dur-color) ease, transform var(--rt-dur-press) ease;font-size:13px;font-weight:800}.composerAdd:active{opacity:.7;transform:scale(.97)}.composerAdd:focus-visible{outline:2px solid var(--rt-blue);outline-offset:4px;border-radius:6px}.composerForm{align-items:center;gap:10px;width:100%;display:flex}.composerInput{letter-spacing:-.01em;min-width:0;height:30px;color:var(--rt-ink);caret-color:var(--rt-ink);-webkit-user-select:text;user-select:text;background:0 0;border:0;flex:auto;padding:0;font-size:15px;font-weight:600}.composerInput::placeholder{color:var(--rt-muted);font-weight:600}.composerInput:focus{outline:none}.composerSubmit{color:#fff;width:30px;height:30px;transition:transform var(--rt-dur-press) ease, background var(--rt-dur-color) ease;background:#111;border-radius:999px;flex:none;place-items:center;display:grid;position:relative}.composerSubmit:before{content:"";position:absolute;inset:-7px}.composerSubmit:active{transform:scale(.88)}.composerSubmit:focus-visible{outline:2px solid var(--rt-ink);outline-offset:3px}.composerSubmitIcon{fill:#fff;width:16px;height:16px;display:block}
.sheetScrim{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000006b;position:absolute;inset:0}.sheet{z-index:21;padding:8px var(--rt-pad-x) calc(20px + env(safe-area-inset-bottom));background:var(--rt-body);border-radius:22px 22px 0 0;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -18px 50px #00000038}.sheet:focus{outline:none}.sheetHandle{background:var(--rt-hairline);border-radius:999px;width:38px;height:4px;margin:6px auto 14px}.sheetTitle{letter-spacing:.12em;text-transform:uppercase;color:var(--rt-muted-strong);margin:0 0 10px;font-size:12px;font-weight:800}.sheetStats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.sheetStats span{letter-spacing:.09em;text-align:center;text-transform:uppercase;color:var(--rt-muted-strong);background:#0d0d0d0b;border-radius:16px;gap:3px;padding:11px 10px;font-size:9px;font-weight:900;display:grid}.sheetStats strong{color:var(--rt-ink);font-size:22px;line-height:1}.sheetRow{border-top:1px solid var(--rt-hairline);text-align:left;width:100%;color:var(--rt-ink);transition:opacity var(--rt-dur-press) ease;justify-content:space-between;align-items:center;padding:14px 0;font-size:15px;font-weight:600;display:flex}.sheetRow:active{opacity:.55}.sheetRowDanger{color:var(--rt-red)}.sheetRowValue{font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:48%;color:var(--rt-muted-strong);font-size:13px;font-weight:600;overflow:hidden}.sheetRow:focus-visible{outline:2px solid var(--rt-blue);outline-offset:2px;border-radius:8px}
@media (max-width:360px){:root{--rt-pad-x:16px;--rt-gutter:28px}}@media (min-width:481px){.appPage{padding:24px}}

