:root{color:#12343b;background:#f4f8f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;--ink: #12343b;--muted: #63777b;--primary: #087f91;--primary-dark: #075e6b;--primary-soft: #dff4f4;--active-bg: #086b79;--active-text: #ffffff;--success: #087a61;--success-soft: #e2f5ee;--danger: #b44646;--danger-soft: #fff0ed;--surface: #ffffff;--surface-muted: #edf4f2;--border: #d8e5e2;--shadow: 0 12px 32px rgb(24 69 72 / 8%);--radius-lg: 24px;--radius-md: 17px}*{box-sizing:border-box}html{background:#e6efed}body{margin:0;min-width:320px;min-height:100vh;overscroll-behavior:contain;background:radial-gradient(circle at 50% -10%,rgb(195 237 235 / 55%),transparent 340px),#f4f8f7}button,input,select{font:inherit}button{touch-action:manipulation}button:not(:disabled){cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgb(8 145 178 / 28%);outline-offset:2px}.shell{position:relative;width:min(100%,560px);min-height:100vh;margin:0 auto;padding:max(28px,env(safe-area-inset-top)) 20px calc(112px + env(safe-area-inset-bottom))}header{display:flex;min-height:90px;align-items:flex-start;margin-bottom:20px}.eyebrow{margin:0 0 6px;color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}h1{margin:0;color:var(--ink);font-size:clamp(32px,8vw,42px);line-height:1.02;letter-spacing:-.045em}.page-date{margin:8px 0 0;color:var(--muted);font-size:14px;text-transform:capitalize}.settings-button{position:fixed;z-index:5;top:max(24px,env(safe-area-inset-top));right:max(20px,calc((100vw - 560px)/2 + 20px));display:grid;width:46px;height:46px;place-items:center;border:1px solid var(--border);border-radius:15px;color:var(--primary-dark);background:#ffffffe0;box-shadow:0 8px 20px #18454814;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:border-color .18s ease,background .18s ease,color .18s ease}.settings-button:hover{border-color:#afd0cc;background:var(--surface);color:var(--primary)}nav{position:fixed;z-index:4;right:max(12px,calc((100vw - 560px)/2 + 12px));bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,calc((100vw - 560px)/2 + 12px));display:grid;grid-template-columns:repeat(4,1fr);padding:8px;gap:4px;border:1px solid rgb(216 229 226 / 86%);border-radius:23px;background:#ffffffeb;box-shadow:0 16px 42px #18454824;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}nav button{display:grid;min-width:0;min-height:58px;padding:7px 3px 5px;place-items:center;align-content:center;gap:3px;border:0;border-radius:16px;color:#718386;background:transparent;font-size:10px;font-weight:700;transition:background .18s ease,color .18s ease}nav button svg{width:21px;height:21px}nav button:hover{color:var(--primary-dark);background:#f0f7f5}nav button.active{color:var(--active-text);background:var(--active-bg)}.progress-card{position:relative;padding:22px;overflow:hidden;border-radius:var(--radius-lg);color:#eafcfc;background:var(--primary-dark)}.progress-card:after{position:absolute;top:-55px;right:-45px;width:150px;height:150px;border:30px solid rgb(255 255 255 / 6%);border-radius:50%;content:""}.progress-card>div:first-child{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between}.progress-card>div:first-child>div{display:grid;gap:4px}.progress-card span{color:#bce2df;font-size:13px;font-weight:650}.progress-card strong{color:#fff;font-size:38px;line-height:1;letter-spacing:-.04em}.progress-track{position:relative;z-index:1;height:8px;margin-top:20px;overflow:hidden;border-radius:99px;background:#ffffff24}.progress-track i{display:block;height:100%;border-radius:inherit;background:#73e0c0;transition:width .25s ease}.task-group{margin-top:28px}.task-group h2{display:flex;align-items:center;gap:8px;margin:0 2px 11px;color:#4d6569;font-size:13px;font-weight:750}.task-group h2 span{display:grid;min-width:22px;height:22px;padding:0 6px;place-items:center;border-radius:99px;color:var(--active-text);background:var(--active-bg);font-size:11px}.task-card{display:flex;min-height:78px;margin-bottom:10px;padding:13px 12px 13px 13px;align-items:center;gap:13px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color .18s ease,background .18s ease}.task-card:hover{border-color:#b9d5d1}.task-icon,.routine-icon{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border-radius:15px;background:var(--surface-muted);font-size:21px}.task-copy{min-width:0;flex:1}.task-copy h3,.routine-card h3{margin:0 0 4px;overflow:hidden;color:var(--ink);font-size:15px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.task-copy p,.routine-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.4}.task-card>button{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border:0;border-radius:15px;color:#fff;background:var(--success);transition:background .18s ease}.task-card>button:hover{background:#05654f}.task-card button:disabled{cursor:wait;opacity:.5}.status-done{background:#f8fbfa;opacity:.78}.status-done .task-copy h3{text-decoration:line-through;text-decoration-color:#9bb0ac}.done-mark,.muted-mark,.missed-mark{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border-radius:15px}.done-mark{color:var(--success);background:var(--success-soft)}.muted-mark{color:#728284;background:var(--surface-muted)}.missed-mark{color:var(--danger);background:var(--danger-soft)}.state,.error,.success{margin:20px 0;padding:20px;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);text-align:center;background:var(--surface)}.error{border-color:#f0ceca;color:#963e3e;background:var(--danger-soft)}.success{border-color:#bfe5d8;color:#08705a;background:var(--success-soft)}.section-heading{display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;padding-right:52px}.section-heading h1{font-size:34px}.heading-actions{display:flex;align-items:center;gap:8px}.add-button,.category-button,.calendar-heading button{min-width:46px;min-height:46px;border-radius:15px;transition:background .18s ease,border-color .18s ease,color .18s ease}.add-button{display:grid;width:46px;padding:0;place-items:center;border:0;color:#fff;background:var(--primary)}.add-button:hover{background:var(--primary-dark)}.category-button{padding:0 14px;border:1px solid var(--border);color:var(--primary-dark);background:var(--surface);font-size:12px;font-weight:750}.category-button:hover{border-color:#aed0cc;background:var(--primary-soft)}.routine-list{display:grid;gap:10px}.routine-card{display:flex;min-height:78px;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);transition:border-color .18s ease}.routine-card:hover{border-color:#b9d5d1}.routine-edit{display:flex;min-width:0;padding:13px;flex:1;align-items:center;gap:13px;border:0;border-radius:inherit;color:inherit;background:transparent;text-align:left}.routine-edit>div{min-width:0;flex:1}.routine-archive{display:grid;width:50px;margin:10px 6px 10px 0;place-items:center;border:0;border-radius:13px;color:#9b5a5a;background:transparent}.routine-archive:hover,.category-archive:hover{color:var(--danger);background:var(--danger-soft)}.sheet-backdrop{position:fixed;z-index:10;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-top:24px;background:#071f2385;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.task-sheet{width:min(100%,560px);max-height:94vh;padding:10px 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;border-radius:28px 28px 0 0;color:var(--ink);background:#f8fbfa;box-shadow:0 -20px 60px #071f232e}.sheet-handle{width:42px;height:5px;margin:0 auto 20px;border-radius:99px;background:#c0cfcc}.task-sheet h2{margin:0 0 22px;font-size:25px;letter-spacing:-.025em}.task-sheet h3{margin:22px 0 12px;font-size:15px}.task-sheet label,.settings-card label{display:grid;gap:7px;margin-bottom:16px;color:#4f686b;font-size:12px;font-weight:750}.task-sheet input,.task-sheet select,.settings-card input,.settings-card select,.time-row input{width:100%;min-height:48px;padding:10px 13px;border:1px solid #cadbd8;border-radius:13px;color:var(--ink);background:var(--surface);transition:border-color .18s ease,box-shadow .18s ease}.task-sheet input:hover,.task-sheet select:hover,.settings-card input:hover,.settings-card select:hover{border-color:#9fc8c3}.field-row{display:grid;grid-template-columns:minmax(90px,1fr) 2fr;gap:10px}.weekday-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:18px}.weekday-picker button{min-width:0;height:44px;padding:0;border:1px solid var(--border);border-radius:12px;color:var(--muted);background:var(--surface);font-size:11px}.weekday-picker button.selected{border-color:var(--active-bg);color:var(--active-text);background:var(--active-bg)}.time-row{display:flex;gap:8px;margin-bottom:8px}.time-row button{width:48px;min-height:48px;border:0;border-radius:13px;color:var(--danger);background:var(--danger-soft)}.text-button{min-height:44px;padding:0;border:0;color:var(--primary);background:transparent;font-size:12px;font-weight:750;text-align:left}.text-button:hover{color:var(--primary-dark)}.hint{padding:14px;border-radius:14px;color:#526b6e;background:var(--surface-muted);font-size:12px;line-height:1.5}.primary-button{width:100%;min-height:52px;margin-top:8px;padding:0 18px;border:0;border-radius:15px;color:#fff;background:var(--primary);font-weight:800;transition:background .18s ease}.primary-button:hover{background:var(--primary-dark)}.primary-button:disabled{cursor:not-allowed;opacity:.45}.task-sheet small,.settings-card small{color:var(--muted);font-weight:450;line-height:1.45}.category-list{max-height:34vh;overflow-y:auto}.category-list article{display:flex;margin-bottom:8px;align-items:center;border:1px solid var(--border);border-radius:14px;background:var(--surface)}.category-edit{display:flex;min-width:0;min-height:54px;padding:10px 12px;flex:1;align-items:center;gap:10px;border:0;color:inherit;background:transparent;text-align:left}.category-edit span{font-size:20px}.category-archive{display:grid;width:44px;height:44px;margin-right:5px;place-items:center;border:0;border-radius:12px;color:#9b5a5a;background:transparent;font-size:20px}.category-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.category-actions .primary-button{width:auto;min-width:130px}.calendar-heading{padding-right:0}.calendar-heading h1{font-size:24px;text-align:center;text-transform:capitalize}.calendar-heading button{display:grid;width:46px;padding:0;place-items:center;border:1px solid var(--border);color:var(--primary-dark);background:var(--surface)}.calendar-heading button:hover{border-color:#aed0cc;background:var(--primary-soft)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.calendar-grid>b{padding:3px 0 8px;color:#718386;text-align:center;font-size:10px}.calendar-grid>button{position:relative;min-width:0;min-height:48px;padding:7px 2px;overflow:hidden;border:1px solid transparent;border-radius:12px;color:var(--ink);background:#f5f9f8}.calendar-grid>button:before{position:absolute;right:0;bottom:0;left:0;height:var(--completion);content:"";background:#b8eadb;opacity:.72}.calendar-grid>button:hover{border-color:#aad0cb}.calendar-grid>button.selected{border:2px solid var(--active-bg);color:var(--active-text);background:var(--active-bg)}.calendar-grid span,.calendar-grid small{position:relative;z-index:1;display:block}.calendar-grid span{font-size:13px;font-weight:800}.calendar-grid small{margin-top:3px;color:#667b7e;font-size:8px}.day-history{margin-top:28px}.day-history h2{font-size:18px;text-transform:capitalize}.history-row{display:flex;min-height:68px;margin-bottom:8px;padding:11px 12px;align-items:center;gap:10px;border:1px solid var(--border);border-radius:15px;background:var(--surface)}.history-status{display:grid;min-width:54px;min-height:34px;padding:5px 7px;place-items:center;border-radius:10px;color:var(--muted);background:var(--surface-muted);font-size:9px;font-weight:800;text-align:center}.history-status-done{color:var(--success);background:var(--success-soft)}.history-status-missed{color:var(--danger);background:var(--danger-soft)}.history-row>div{display:grid;min-width:0;flex:1;gap:3px}.history-row small{color:var(--muted)}.history-row button{min-height:44px;padding:0 12px;border:0;border-radius:12px;color:#fff;background:var(--success);font-size:11px;font-weight:750}.period-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:20px;padding:5px;border-radius:15px;background:#e5efed}.period-picker button{min-height:42px;padding:8px;border:0;border-radius:11px;color:#5c7275;background:transparent;font-size:12px;font-weight:750}.period-picker button.selected{color:var(--active-text);background:var(--active-bg);box-shadow:0 3px 10px #18454814}.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.metric-grid article{display:grid;min-height:102px;padding:16px;align-content:space-between;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.metric-grid article.metric-primary{grid-column:1 / -1;min-height:132px;color:#fff;background:var(--primary-dark);border-color:var(--primary-dark)}.metric-grid span{color:var(--muted);font-size:11px;font-weight:700}.metric-grid .metric-primary span{color:#bce2df}.metric-grid strong{color:var(--ink);font-size:28px;letter-spacing:-.03em}.metric-grid .metric-primary strong{color:#fff;font-size:42px}.analytics-block{margin-top:28px}.analytics-block h2{margin:0 0 11px;color:var(--ink);font-size:15px}.snooze-summary{display:grid;grid-template-columns:repeat(3,1fr);padding:15px;gap:8px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.snooze-summary span{display:grid;gap:6px;color:var(--muted);font-size:9px;line-height:1.35}.snooze-summary b{color:var(--ink);font-size:18px}.analytics-row{display:grid;grid-template-columns:1fr auto;min-height:54px;margin-bottom:7px;padding:11px 13px;align-items:center;border:1px solid var(--border);border-radius:14px;background:var(--surface);font-size:13px}.analytics-row small{grid-column:1 / -1;margin-top:4px;color:var(--muted)}.habit-matrix{padding:14px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.matrix-dates,.matrix-row{display:grid;width:max-content;align-items:center;gap:4px}.matrix-row{margin-top:6px}.matrix-dates small{color:#718386;text-align:center;font-size:8px}.matrix-row span{overflow:hidden;color:#456064;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.matrix-row i{width:17px;height:17px;border-radius:5px;background:var(--success)}.matrix-row i.empty{opacity:1!important;background:#e5eeec}.matrix-row i.skipped{border:2px solid #819294;background:transparent}.settings-card{padding:20px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.settings-back{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border:1px solid var(--border);border-radius:15px;color:var(--primary-dark);background:var(--surface)}.settings-back:hover{border-color:#aed0cc;background:var(--primary-soft)}.settings-heading-copy{min-width:0;flex:1}.browser-timezone{margin:-10px 0 16px}@media(max-width:390px){.shell{padding-right:14px;padding-left:14px}.settings-button{right:14px}.section-heading{padding-right:50px}.section-heading h1{font-size:31px}.calendar-heading{padding-right:0}.calendar-grid{gap:3px;padding:10px}.calendar-grid>button{min-height:44px}.category-button{max-width:80px;padding:0 9px;overflow:hidden;text-overflow:ellipsis}.field-row{grid-template-columns:1fr}}@media(min-width:700px){body{background:#e8f0ee}.shell{min-height:calc(100vh - 32px);margin-top:16px;margin-bottom:16px;border-radius:32px;background:#f4f8f7;box-shadow:var(--shadow)}}@media(prefers-color-scheme:dark){:root{color:#e9f3f1;background:#0d1718;--ink: #ecf7f5;--muted: #9db1b2;--primary: #32b6c7;--primary-dark: #153f46;--primary-soft: #17383d;--active-bg: #0f6e7c;--active-text: #ffffff;--success: #2ca987;--success-soft: #173c33;--danger: #ee8c87;--danger-soft: #402526;--surface: #162224;--surface-muted: #202e30;--border: #2a3b3d}html,body{background:#091214}body{background:radial-gradient(circle at 50% -10%,rgb(24 76 80 / 45%),transparent 340px),#0d1718}.shell{background:#0d1718}.settings-button,nav{border-color:var(--border);color:#b9d3d2;background:#162224eb}nav button:hover{color:#d9fbff;background:#202f31}.progress-card,.metric-grid article.metric-primary{background:#0d515d;border-color:#0d515d}.task-card,.routine-card,.calendar-grid,.history-row,.metric-grid article,.analytics-row,.snooze-summary,.habit-matrix,.settings-card,.category-list article,.state{background:var(--surface)}.status-done{background:#132022}.task-sheet{background:#101b1d}.task-sheet input,.task-sheet select,.settings-card input,.settings-card select,.time-row input{color:var(--ink);background:#172426}.period-picker{background:#172426}.period-picker button.selected{color:var(--active-text);background:var(--active-bg)}.calendar-grid>button{background:#1b292b}.calendar-grid>button:before{background:#23715e}.matrix-row i.empty{background:#29383a}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
